<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Link-Post on WormBytes</title><link>https://www.wormbytes.ca/categories/link-post/</link><description>Recent content in Link-Post on WormBytes</description><generator>Hugo -- gohugo.io</generator><language>en-ca</language><managingEditor>Robert James Kaes</managingEditor><copyright>Robert James Kaes. All Rights Reserved.</copyright><lastBuildDate>Wed, 29 Oct 2025 09:12:07 -0400</lastBuildDate><atom:link href="https://www.wormbytes.ca/categories/link-post/index.xml" rel="self" type="application/rss+xml"/><item><title>The Biggest Lie in AI</title><link>https://www.wormbytes.ca/2025/10/29/the-biggest-lie-in-ai/</link><pubDate>Wed, 29 Oct 2025 09:12:07 -0400</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/2025/10/29/the-biggest-lie-in-ai/</guid><description>&lt;p&gt;Carl from &lt;a href="https://www.youtube.com/@InternetOfBugs"&gt;The Internet of Bugs&lt;/a&gt; made
a great video about &lt;a href="https://youtu.be/0Plo-zT8W9w?si=IUS8X4zPmpNCK7pw"&gt;The Biggest Lie in
A.I.&lt;/a&gt;&lt;/p&gt;
&lt;iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/0Plo-zT8W9w?si=OjVnuTcPTLICmsRV" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;A.I. companies repeat the claim that &amp;ldquo;this is the worst A.I. will ever be&amp;rdquo; and
that&amp;rsquo;s simply not true. As Carl notes in the video, with the release of
ChatGPT-5, it&amp;rsquo;s clear that it&amp;rsquo;s not an across the board improvement over
ChatGPT-4.5.&lt;/p&gt;
&lt;p&gt;Hardware tends to improve over time: gets faster, does more in parallel.&lt;/p&gt;
&lt;p&gt;But LLMs are software, and software doesn&amp;rsquo;t have that track record.&lt;/p&gt;
&lt;p&gt;As the old saying goes: &lt;a href="https://fixquotes.com/quotes/grove-giveth-and-gates-taketh-away-157830.htm"&gt;&amp;ldquo;Grove giveth and Gates taketh
away.&amp;rdquo;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Writing Code Like a Mathematical Proof</title><link>https://www.wormbytes.ca/link-post/writing-code-like-a-mathematical-proof/</link><pubDate>Tue, 12 Dec 2017 12:04:12 -0500</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/writing-code-like-a-mathematical-proof/</guid><description>&lt;p&gt;&lt;a href="https://hackernoon.com/@spiside"&gt;Spiro Sideris&lt;/a&gt; writes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To write understandable code, always ask the question of who your audience is. What level of experience do they have? What are the prerequisites they should know before reading this function? There are even differences in the semantics between programming languages, so knowing the best practices, and the language coding style, will ensure you are writing readable code for developers in that language.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://hackernoon.com/writing-code-like-a-mathematical-proof-f5838fc27382"&gt;Writing Code Like a Mathematical Proof&lt;/a&gt;</description></item><item><title>Rob Pikes 5 Rules of Programming</title><link>https://www.wormbytes.ca/link-post/rob-pikes-5-rules-of-programming/</link><pubDate>Tue, 12 Dec 2017 11:59:30 -0500</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/rob-pikes-5-rules-of-programming/</guid><description>&lt;p&gt;&lt;strong&gt;Rule 1.&lt;/strong&gt; You can&amp;rsquo;t tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don&amp;rsquo;t try to second guess and put in a speed hack until you&amp;rsquo;ve proven that&amp;rsquo;s where the bottleneck is.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rule 2.&lt;/strong&gt; Measure. Don&amp;rsquo;t tune for speed until you&amp;rsquo;ve measured, and even then don&amp;rsquo;t unless one part of the code overwhelms the rest.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rule 3.&lt;/strong&gt; Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don&amp;rsquo;t get fancy. (Even if n does get big, use Rule 2 first.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rule 4.&lt;/strong&gt; Fancy algorithms are buggier than simple ones, and they&amp;rsquo;re much harder to implement. Use simple algorithms as well as simple data structures.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rule 5.&lt;/strong&gt; Data dominates. If you&amp;rsquo;ve chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.&lt;/p&gt;
&lt;a class="link__link-post" href="http://users.ece.utexas.edu/~adnan/pike.html"&gt;Rob Pikes 5 Rules of Programming&lt;/a&gt;</description></item><item><title>Coding Principles Every Engineer Should Know</title><link>https://www.wormbytes.ca/link-post/coding-principles-every-engineer-should-know-sam-schillace-medium/</link><pubDate>Fri, 10 Nov 2017 11:34:02 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/coding-principles-every-engineer-should-know-sam-schillace-medium/</guid><description>&lt;p&gt;&lt;a href="https://medium.com/@sschillace"&gt;Sam Schillace&lt;/a&gt; writes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I was talking with the engineering team at Box about what I’ve learned along this journey, and what came out of that conversation were my personal engineering principals. These aren’t rules or engineering guidelines. They’re simply the principles that I pay attention to when I write and operate code.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;These include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Be paranoid.&lt;/li&gt;
&lt;li&gt;Don’t lie to the computer.&lt;/li&gt;
&lt;li&gt;Keep it simple.&lt;/li&gt;
&lt;li&gt;First rule of optimizing: don’t.&lt;/li&gt;
&lt;li&gt;Don’t just fix the bug; fix all possibility of it ever happening again.&lt;/li&gt;
&lt;li&gt;Question assumptions constantly.&lt;/li&gt;
&lt;li&gt;Think long term. Slow down, it goes faster.&lt;/li&gt;
&lt;li&gt;Care about your code.&lt;/li&gt;
&lt;li&gt;Cheap, fast, right — pick two.&lt;/li&gt;
&lt;li&gt;Conclusion: Be curious. Learn as much as you can, all the time.&lt;/li&gt;
&lt;/ul&gt;
&lt;a class="link__link-post" href="https://medium.com/@sschillace/coding-principles-every-engineer-should-know-b946b48cc946"&gt;Coding Principles Every Engineer Should Know&lt;/a&gt;</description></item><item><title>Feature Toggles are one of the worst kinds of Technical Debt</title><link>https://www.wormbytes.ca/link-post/feature-toggles-are-one-of-worst-kinds/</link><pubDate>Fri, 10 Nov 2017 11:28:21 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/feature-toggles-are-one-of-worst-kinds/</guid><description>&lt;p&gt;&lt;a href="https://www.blogger.com/profile/17371102366836131341"&gt;Jim Bird&lt;/a&gt; writes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Using run-time flags like this isn&amp;rsquo;t a new idea, certainly not invented at Flickr or Facebook. Using flags and conditional statements to offer different experiences to different users or to turn on code incrementally is something that many people have been practicing for a long time. And doing this in mainline code to avoid branching is in many ways a step back to the way that people built software 20+ years ago when we didn’t have reliable and easy to use code management systems.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://swreflections.blogspot.ca/2014/08/feature-toggles-are-one-of-worst-kinds.html"&gt;Feature Toggles are one of the worst kinds of Technical Debt&lt;/a&gt;</description></item><item><title>12 Ways To Instill Your Kid With An Entrepreneurial Mindset</title><link>https://www.wormbytes.ca/link-post/12-ways-instill-your-kid-with-entrepreneurial-mindset/</link><pubDate>Mon, 06 Nov 2017 09:55:29 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/12-ways-instill-your-kid-with-entrepreneurial-mindset/</guid><description>&lt;ol&gt;
&lt;li&gt;Never say: “Do as I say, don’t do as I do”&lt;/li&gt;
&lt;li&gt;Create An Environment Of Play&lt;/li&gt;
&lt;li&gt;Manage What They Consume&lt;/li&gt;
&lt;li&gt;Interrupt Negative Self-Talk&lt;/li&gt;
&lt;li&gt;Actively Remind them to be Grateful&lt;/li&gt;
&lt;li&gt;Make Rigid Routine Days Mandatory&lt;/li&gt;
&lt;li&gt;Encouraging Curiosity and Asking Questions&lt;/li&gt;
&lt;li&gt;Encourage Independence From Diaper Years&lt;/li&gt;
&lt;li&gt;Never Teach Them Ugly Ideas About Money&lt;/li&gt;
&lt;li&gt;Let Them Have A J.O.B.&lt;/li&gt;
&lt;li&gt;Answer Their Questions With A Question&lt;/li&gt;
&lt;li&gt;Pour On The Hugs and Kisses&lt;/li&gt;
&lt;/ol&gt;
&lt;a class="link__link-post" href="http://www.lifehack.org/297408/12-ways-instill-your-kid-with-entrepreneurial-mindset"&gt;12 Ways To Instill Your Kid With An Entrepreneurial Mindset&lt;/a&gt;</description></item><item><title>How Code Becomes Legacy</title><link>https://www.wormbytes.ca/link-post/how-code-becomes-legacy/</link><pubDate>Fri, 27 Oct 2017 10:59:39 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/how-code-becomes-legacy/</guid><description>&lt;p&gt;&lt;a href="https://medium.com/@bfil"&gt;Bruno Filippone&lt;/a&gt; writes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;One of the easiest tricks to ensure your software will live longer is avoiding to write code tightly coupled to libraries and frameworks. Reducing the number of dependencies of your codebase is always a no-brainer. Making sure the majority of the code you write does not rely on a gazillion third-party libraries should be a priority.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://medium.com/@bfil/how-code-becomes-legacy-2e6b58e839eb"&gt;How Code Becomes Legacy&lt;/a&gt;</description></item><item><title>Delete Your Code</title><link>https://www.wormbytes.ca/link-post/delete-your-code/</link><pubDate>Thu, 26 Oct 2017 13:05:17 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/delete-your-code/</guid><description>&lt;p&gt;&lt;a href="https://hackernoon.com/@ruairidhwm"&gt;Ruairidh Wynne-McHardy&lt;/a&gt; writes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We are all attached to the things that we create. From our relationships, to our work, to trivial things like the way we decorate our home — we don’t like to destroy things that we have put effort into.&lt;/p&gt;
&lt;p&gt;That’s why it’s even more important to delete your code.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Never be afraid to throw away code that&amp;rsquo;s not working when the requirements change.
You know more about the reguirements &lt;em&gt;now&lt;/em&gt; than you did when you first wrote
the code. Be brave.&lt;/p&gt;
&lt;a class="link__link-post" href="https://hackernoon.com/delete-your-code-c5d2dc59f1ff"&gt;Delete Your Code&lt;/a&gt;</description></item><item><title>12 Most Common Writing Mistakes You Want to Avoid at All Costs</title><link>https://www.wormbytes.ca/link-post/12-most-common-writing-mistakes-you-want-to-avoid-at-all-costs/</link><pubDate>Thu, 26 Oct 2017 13:02:26 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/12-most-common-writing-mistakes-you-want-to-avoid-at-all-costs/</guid><description>&lt;p&gt;&lt;a href="https://www.entrepreneur.com/"&gt;Entrepreneur&lt;/a&gt; has a list of their tweleve most
common writing mistakes. These mistakes are targetted to business style writing:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You use industry buzzwords that are hackneyed and phony.&lt;/li&gt;
&lt;li&gt;You assume the reader knows the acronyms or identity of the people you mention.&lt;/li&gt;
&lt;li&gt;You overuse CAPS and punctuation.&lt;/li&gt;
&lt;li&gt;You compose overly complicated, overly abstract or flowery writing.&lt;/li&gt;
&lt;li&gt;You mix single objects with plural pronouns or single subjects with plural verbs.&lt;/li&gt;
&lt;li&gt;You make one of these common mix-ups. (i.e., between/among, less/fewer, then/than, etc.)&lt;/li&gt;
&lt;li&gt;You make vague claims.&lt;/li&gt;
&lt;li&gt;You slip into slang.&lt;/li&gt;
&lt;li&gt;You use unprofessional-looking font.&lt;/li&gt;
&lt;li&gt;You make frequent and immature spelling mistakes.&lt;/li&gt;
&lt;li&gt;You use quotes incorrectly.&lt;/li&gt;
&lt;li&gt;You start a sentence with a numeral.&lt;/li&gt;
&lt;/ol&gt;
&lt;a class="link__link-post" href="https://www.entrepreneur.com/slideshow/302467"&gt;12 Most Common Writing Mistakes You Want to Avoid at All Costs&lt;/a&gt;</description></item><item><title>Have You Tried Rebooting?</title><link>https://www.wormbytes.ca/link-post/have-you-tried-rebooting/</link><pubDate>Thu, 26 Oct 2017 12:42:12 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/have-you-tried-rebooting/</guid><description>&lt;p&gt;&lt;a href="http://http://brettterpstra.com"&gt;Brett Terpstra&lt;/a&gt; explained how to perform a &amp;ldquo;safe mode&amp;rdquo; boot of MacOS.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Shut down the computer&lt;/li&gt;
&lt;li&gt;Hold down the Shift key as you press the power button&lt;/li&gt;
&lt;li&gt;Keep holding the shift key until after you hear the chime&lt;/li&gt;
&lt;li&gt;Wait for macOS to boot&lt;/li&gt;
&lt;li&gt;Shut down and start again without the Shift key&lt;/li&gt;
&lt;/ol&gt;
&lt;a class="link__link-post" href="http://brettterpstra.com/2017/10/20/have-you-tried-rebooting/"&gt;Have You Tried Rebooting?&lt;/a&gt;</description></item><item><title>Efficient pagination of a table with 100M records</title><link>https://www.wormbytes.ca/link-post/sql-scanning-large-tables/</link><pubDate>Wed, 18 Oct 2017 14:09:43 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/sql-scanning-large-tables/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This Chapter is focused on efficient scanning a large table using pagination
with offset on the primary key. This is also known as keyset pagination.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="http://allyouneedisbackend.com/blog/2017/09/24/the-sql-i-love-part-1-scanning-large-table/"&gt;Efficient pagination of a table with 100M records&lt;/a&gt;
&lt;p&gt;The key insight is to use the primary key as the offset to avoid missing records (if they&amp;rsquo;re deleted between invocations)
and to increase performance by using a &lt;em&gt;RANGE&lt;/em&gt; join type,
which is much faster (constant time.)&lt;/p&gt;
&lt;p&gt;Simplified algorithm:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;We get &lt;code&gt;PAGE_SIZE&lt;/code&gt; number of records from the table. Starting offset value is 0.&lt;/li&gt;
&lt;li&gt;Use the max returned value for the primary key (i.e., &lt;code&gt;user_id&lt;/code&gt;) in the batch as the offset for the next page.&lt;/li&gt;
&lt;li&gt;Get the next batch from the records which have the primary key (i.e., &lt;code&gt;user_id&lt;/code&gt;) value higher than current offset.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;SELECT user_id, external_id, name, metadata, date_created
FROM users
WHERE user_id &amp;gt; 51 234 123 --- value of user_id for 50 000 000th record
ORDER BY user_id ASC
LIMIT 10 000;
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Yes, That Web Project Should Be a PWA</title><link>https://www.wormbytes.ca/link-post/yes-that-web-project-should-be-a-pwa/</link><pubDate>Sun, 03 Sep 2017 11:25:08 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/yes-that-web-project-should-be-a-pwa/</guid><description>&lt;blockquote&gt;
&lt;p&gt;a PWA is a website with special powers. The term “app” in the “Progressive Web App” is not indicative of the sort of content or experience users should expect with a PWA. You shouldn’t get hung up on it; “Progressive Web App” is a marketing term. PWAs have the ability to connect with the operating system (and, thereby, its users) on a deeper level through installation and APIs offering capabilities like notifications, access to the address book, and more. Not all of these APIs require installation for access, but some do. It may help to think about a PWA as being a website++.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://alistapart.com/article/yes-that-web-project-should-be-a-pwa"&gt;Yes, That Web Project Should Be a PWA&lt;/a&gt;</description></item><item><title>How to launch a company when investors ain’t writing checks</title><link>https://www.wormbytes.ca/link-post/how-to-launch-a-company-when-investors-aint-writing-checks/</link><pubDate>Sun, 03 Sep 2017 11:24:02 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/how-to-launch-a-company-when-investors-aint-writing-checks/</guid><description>&lt;blockquote&gt;
&lt;p&gt;All we talk about in tech is unicorns, when we should be talking about zebras. Unlike unicorns, zebras are REAL. Zebra companies are black and white — they are profitable and socially conscious. They band together in groups to protect one another. They seek to share resources instead of hoarding them. And they are more concerned about user success than user acquisition.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://medium.com/black-brown-founders/how-to-launch-a-company-when-investors-aint-writing-checks-4ce7f8b9067c"&gt;How to launch a company when investors ain’t writing checks&lt;/a&gt;</description></item><item><title>Rolling your own private Ruby gem server on Google Cloud Platform</title><link>https://www.wormbytes.ca/link-post/rolling-your-own-private-ruby-gem-server-on-google-cloud-platform/</link><pubDate>Fri, 01 Sep 2017 11:06:45 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/rolling-your-own-private-ruby-gem-server-on-google-cloud-platform/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Great news, Rubyists! We recently released google-cloud-gemserver gem, making it possible to deploy a private gem server to Google Cloud Platform (GCP) with a single command&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://cloudplatform.googleblog.com/2017/08/rolling-your-own-private-Ruby-gem-server-on-Google-Cloud-Platform.html"&gt;Rolling your own private Ruby gem server on Google Cloud Platform&lt;/a&gt;</description></item><item><title>Ten Rules for Negotiating a Job Offer</title><link>https://www.wormbytes.ca/link-post/ten-rules-for-negotiating-a-job-offer/</link><pubDate>Fri, 01 Sep 2017 11:05:33 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/ten-rules-for-negotiating-a-job-offer/</guid><description>&lt;blockquote&gt;
&lt;p&gt;I thought to myself: why is there so little actionable advice out there about negotiation? I suspect it’s because deep down, many people believe that negotiation is inexplicable, that it’s something some people can do and others can’t, and that there’s no real way to break it down so anyone can learn it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div align="right"&gt;
&lt;a class="link__link-post" href="https://medium.freecodecamp.org/ten-rules-for-negotiating-a-job-offer-ee17cccbdab6"&gt;Ten Rules for Negotiating a Job Offer&lt;/a&gt;
&lt;a href="https://medium.freecodecamp.org/how-not-to-bomb-your-offer-negotiation-c46bb9bc7dea"&gt;How not to bomb your offer negotiation&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>One of the fathers of modern computing used this 6-step process to solve any problem</title><link>https://www.wormbytes.ca/link-post/one-of-the-fathers-of-modern/</link><pubDate>Fri, 01 Sep 2017 11:04:18 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/one-of-the-fathers-of-modern/</guid><description>&lt;blockquote&gt;
&lt;p&gt;And if this is the case for some of the simplest human activities, it&amp;rsquo;s far more true for the most complex ones — writing symphonies and novels, developing new technologies, inventing new scientific paradigms. Geniuses are rarely the best teachers, the best critics, or the best explainers. So it&amp;rsquo;s rare to come across a genius&amp;rsquo;s account of &amp;ldquo;how genius works.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;But such accounts do exist, and we were lucky enough to unearth one near the end of our research into the life of Claude Shannon (1916-2001), the intellectual architect of the information age.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://pagez.com/1928/one-of-the-fathers-of-modern"&gt;One of the fathers of modern computing used this 6-step process to solve any problem&lt;/a&gt;</description></item><item><title>Seven things I have learned about writing software</title><link>https://www.wormbytes.ca/link-post/seven-things-i-have-learned-about-writig-software/</link><pubDate>Fri, 01 Sep 2017 11:02:54 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/seven-things-i-have-learned-about-writig-software/</guid><description>&lt;blockquote&gt;
&lt;p&gt;It’s happening. Bit by bit, little by little, I’m morphing from an engineer into some kind of…manager. Oh, don’t get me wrong, I still write code every day; but I find myself spending more and more time in analysis and discussion, in meetings and calls, making higher-level decisions, trying to organize teams, and worrying about strategy rather than tactics.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://techcrunch.com/2017/08/27/one-morning-when-gregor-samsa-woke-from-troubled-reams-he-found-himself-transformed-in-his-bed-into-a-manager/"&gt;Seven things I have learned about writing software&lt;/a&gt;</description></item><item><title>Why Successful Startups Stumble at 40+ Employees</title><link>https://www.wormbytes.ca/link-post/why-successful-startups-stumble-at-40-employees/</link><pubDate>Fri, 01 Sep 2017 11:01:33 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/why-successful-startups-stumble-at-40-employees/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In the past, when venture-funded startups told their investors they’d found a profitable business model, the first thing VC’s would do is to start looking for an “operating exec” — usually an MBA who would act as the designated “adult” and take over the transition from Search to Build. The belief then was that most founders couldn’t acquire the skills rapidly enough to steer the company through this phase. The good news is that VC firms are beginning to appreciate the value of keeping the founder in place.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://thinkgrowth.org/why-successful-startups-stumble-at-40-employees-66312ac70fba"&gt;Why Successful Startups Stumble at 40&amp;#43; Employees&lt;/a&gt;</description></item><item><title>Certificate Authority Authorization</title><link>https://www.wormbytes.ca/link-post/certificate-authority-authorization/</link><pubDate>Mon, 28 Aug 2017 09:50:47 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/certificate-authority-authorization/</guid><description>&lt;blockquote&gt;
&lt;p&gt;CAA is a new mechanism that will allow site owners to specify which Certificate Authorities are authorised to issue certificates for their domain name. It&amp;rsquo;s a simple DNS record so setup is a breeze and SSL Labs is now checking for it, so it&amp;rsquo;s time to do it!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://scotthelme.co.uk/certificate-authority-authorization/"&gt;Certificate Authority Authorization&lt;/a&gt;</description></item><item><title>Web Font Optimization</title><link>https://www.wormbytes.ca/link-post/webfont-optimization/</link><pubDate>Mon, 28 Aug 2017 09:46:19 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/webfont-optimization/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Webfont optimization is a critical piece of the overall performance strategy. Each font is an additional resource, and some fonts may block rendering of the text, but just because the page is using webfonts doesn&amp;rsquo;t mean that it has to render slower. On the contrary, optimized fonts, combined with a judicious strategy for how they are loaded and applied on the page, can help reduce the total page size and improve page rendering times.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/webfont-optimization"&gt;Web Font Optimization&lt;/a&gt;</description></item><item><title>6 Lessons I learned while implementing technical RFCs as a management tool</title><link>https://www.wormbytes.ca/link-post/6-lessons-i-learned-while-implementing-technical-rfcs-as-a-management-tool/</link><pubDate>Thu, 24 Aug 2017 15:11:25 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/6-lessons-i-learned-while-implementing-technical-rfcs-as-a-management-tool/</guid><description>&lt;blockquote&gt;
&lt;p&gt;We weren’t the first people to encounter this problem, so we looked at how open source software projects dealt with these situations, and came to the conclusion that adopting the RFC process would help us make better decisions together.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://buriti.ca/6-lessons-i-learned-while-implementing-technical-rfcs-as-a-management-tool-34687dbf46cb"&gt;6 Lessons I learned while implementing technical RFCs as a management tool&lt;/a&gt;</description></item><item><title>Increase your Linux server Internet speed with TCP BBR congestion control</title><link>https://www.wormbytes.ca/link-post/increase-your-linux-server-internet-speed-with-tcp-bbr-congestion-control/</link><pubDate>Thu, 24 Aug 2017 15:08:41 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/increase-your-linux-server-internet-speed-with-tcp-bbr-congestion-control/</guid><description>&lt;blockquote&gt;
&lt;p&gt;recently read that TCP BBR has significantly increased throughput and reduced latency for connections on Google’s internal backbone networks and google.com and YouTube Web servers throughput by 4 percent on average globally – and by more than 14 percent in some countries. The TCP BBR patch needs to be applied to the Linux kernel. The first public release of BBR was here, in September 2016. The patch is available to any one to download and install. Another option is using Google Cloud Platform (GCP). GCP by default turned on to use a cutting-edge new congestion control algorithm named TCP BBR.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://www.cyberciti.biz/cloud-computing/increase-your-linux-server-internet-speed-with-tcp-bbr-congestion-control/"&gt;Increase your Linux server Internet speed with TCP BBR congestion control&lt;/a&gt;</description></item><item><title>You're Using Git Wrong</title><link>https://www.wormbytes.ca/link-post/youre-using-git-wrong/</link><pubDate>Thu, 24 Aug 2017 15:06:58 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/youre-using-git-wrong/</guid><description>&lt;blockquote&gt;
&lt;p&gt;TL;DR: Almost everyone seem to be using Git like CVS, while it was created to be used like in Linux kernel development.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://dpc.pw/blog/2017/08/youre-using-git-wrong/"&gt;You&amp;#39;re Using Git Wrong&lt;/a&gt;</description></item><item><title>How to turn your website into a PWA</title><link>https://www.wormbytes.ca/link-post/how-to-turn-your-website-into-a-pwa/</link><pubDate>Sun, 20 Aug 2017 12:12:21 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/how-to-turn-your-website-into-a-pwa/</guid><description>&lt;blockquote&gt;
&lt;p&gt;A Progressive Web App, or PWA, uses modern web capabilities to deliver an app-like user experience. Any website can be a PWA - here&amp;rsquo;s how to do it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://mxb.at/blog/how-to-turn-your-website-into-a-pwa/"&gt;How to turn your website into a PWA&lt;/a&gt;</description></item><item><title>Get Started with Rust, WebAssembly, and Webpack</title><link>https://www.wormbytes.ca/link-post/get-started-with-rust-webassembly-and-webpack/</link><pubDate>Sun, 20 Aug 2017 12:10:50 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/get-started-with-rust-webassembly-and-webpack/</guid><description>&lt;blockquote&gt;
&lt;p&gt;WebAssembly is a cool new binary format and compile target for the web. That means you can compile languages like C, C++, and Rust to .wasm files and execute that code in your browser. In most cases, the resulting code is significantly faster and smaller than Javascript.&lt;/p&gt;
&lt;p&gt;This guide will walk you through setting up Rust, WebAssembly, and Webpack in a typical JS web app. The goal is to be able to execute low-level Rust code in the browser alongside the Javascript you know and love (or hate).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://medium.com/@ianjsikes/get-started-with-rust-webassembly-and-webpack-58d28e219635"&gt;Get Started with Rust, WebAssembly, and Webpack&lt;/a&gt;</description></item><item><title>Two tests you should run against your Ruby project now</title><link>https://www.wormbytes.ca/link-post/two-tests-you-should-run-against-your-ruby-project-now/</link><pubDate>Sun, 20 Aug 2017 12:09:10 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/two-tests-you-should-run-against-your-ruby-project-now/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Whether there is a security vulnerability or an unlicensed project you could be subjecting yourself or your users to problems.&lt;/p&gt;
&lt;p&gt;It doesn’t take long to install and run these tools and I encourage you to do so too, they may save you from your dependencies. It takes a little longer, but it’s probably worth it, to add them to your CI setup too.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://philna.sh/blog/2017/07/12/two-tests-you-should-run-against-your-ruby-project-now/"&gt;Two tests you should run against your Ruby project now&lt;/a&gt;</description></item><item><title>Four Reasons Developers are Unproductive</title><link>https://www.wormbytes.ca/link-post/four-reasons-why-developers-are-unproductive/</link><pubDate>Thu, 17 Aug 2017 09:47:27 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/four-reasons-why-developers-are-unproductive/</guid><description>&lt;blockquote&gt;
&lt;p&gt;We all feel unproductive at times, and we can be sure that our bosses, clients, or co-workers feel we are being unproductive at times as well. And, because developer productivity is so hard to measure or talk about, it can feel frustrating to be in a situation where you are feeling or perceived to be unproductive. Rather than dwell on these feelings or postulate new broken ways to measure productivity, I want to talk about the reasons a developer might be unproductive. With some self-awareness, you can improve your situation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="http://naildrivin5.com/blog/2017/07/17/four-reasons-why-developers-are-unproductive.html"&gt;Four Reasons Developers are Unproductive&lt;/a&gt;</description></item><item><title>How to secure your server in 5 minutes</title><link>https://www.wormbytes.ca/link-post/secure-server-5-minutes/</link><pubDate>Thu, 17 Aug 2017 09:34:59 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/secure-server-5-minutes/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Security is one of the most important aspects of a server. Faulty security practices can pave the way for attackers to gain unauthorized access to your server. As a developer you need to take control of your server security – but since servers are messy and managing them is tough, it can be very frustrating. I’ve been there, learned some lessons the hard way, and found success. In this blog post, we will see an overview of basic steps that we can take to enhance the security of our server.
&lt;a class="link__link-post" href="https://blog.pusher.com/secure-server-5-minutes/"&gt;How to secure your server in 5 minutes&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Ruby Tricks, Idiomatic Ruby, Refactorings and Best Practices</title><link>https://www.wormbytes.ca/link-post/ruby-tricks-and-best-practices/</link><pubDate>Mon, 14 Aug 2017 14:20:46 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/ruby-tricks-and-best-practices/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This repository aims to help everyone to write a more idiomatic, clean and tricky ruby code and also try to join a bunch of good refactoring techniques. You can add your own technique or paste it from some website(do not forget the source, of course). All the tricks are in the /tricks folder.
&lt;a class="link__link-post" href="https://franzejr.github.io/best-ruby/"&gt;Ruby Tricks, Idiomatic Ruby, Refactorings and Best Practices&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Awesome Falsehoods Programmers Believe In</title><link>https://www.wormbytes.ca/link-post/awesome-falsehoods-programmers-believe-in/</link><pubDate>Mon, 14 Aug 2017 14:18:55 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/awesome-falsehoods-programmers-believe-in/</guid><description>&lt;blockquote&gt;
&lt;p&gt;A curated list of awesome falsehoods programmers believe in.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://github.com/kdeldycke/awesome-falsehood/blob/master/README.md"&gt;Awesome Falsehoods Programmers Believe In&lt;/a&gt;</description></item><item><title>Stop Auto-Play Videos from Annoying You in Your Browser on macOS</title><link>https://www.wormbytes.ca/link-post/stop-auto-play-videos-from-annoying-you-in-your-browser/</link><pubDate>Mon, 14 Aug 2017 14:16:33 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/stop-auto-play-videos-from-annoying-you-in-your-browser/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Auto-play videos suck. They use bandwidth, and their annoying sounds get in the way when you’re listening to music and open a web page. I happen to write for a website that uses them, and it annoys me to no end. (My editors have no control over those auto-play videos, alas.)&lt;/p&gt;
&lt;p&gt;But you can stop auto-play videos from playing on a Mac. If you use Chrome or Firefox, it’s pretty simple, and the plugins below work both on macOS and Windows; if you use Safari, it’s a bit more complex, but it’s not that hard.
&lt;a class="link__link-post" href="http://www.kirkville.com/stop-auto-play-videos-from-annoying-you-in-your-browser/"&gt;Stop Auto-Play Videos from Annoying You in Your Browser on macOS&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Why You Should Regenerate Your spec_helper</title><link>https://www.wormbytes.ca/link-post/why-you-should-regenerate-your-spec-helper/</link><pubDate>Mon, 14 Aug 2017 14:14:48 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/why-you-should-regenerate-your-spec-helper/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Modern rspec versions (as I’m writing this, the latest version is 3.5.4) have a lot of cool features that are not enabled by default, so as not to break backwards compatibility. What this means is that in practice, unless you turn them on, you’re missing out on a lot of goodies and cool features that could help you spot potential issues in your code and specs.
&lt;a class="link__link-post" href="https://ivoanjo.me/blog/2016/09/25/why-you-should-regenerate-your-spec-helper/"&gt;Why You Should Regenerate Your spec_helper&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>SSH ControlMaster: The Good, The Bad, The Ugly</title><link>https://www.wormbytes.ca/link-post/ssh-controlmaster-the-good-the-bad-the-ugly/</link><pubDate>Mon, 14 Aug 2017 14:12:03 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/ssh-controlmaster-the-good-the-bad-the-ugly/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Do you love SSH for the good it has done for mankind, but get annoyed by how long it takes to establish a connection over a high-latency connection? Perhaps you have a process that needs to make thousands of SSH connections, and you’d like a little extra speed from the whole thing. Either way, ControlMaster is your new best friend.
&lt;a class="link__link-post" href="http://www.anchor.com.au/blog/2010/02/ssh-controlmaster-the-good-the-bad-the-ugly/"&gt;SSH ControlMaster: The Good, The Bad, The Ugly&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Ruby on Rails Code Audits: 8 Steps to Review Your App</title><link>https://www.wormbytes.ca/link-post/ruby-on-rails-code-audits-8-steps-to-review-your-app/</link><pubDate>Mon, 14 Aug 2017 11:27:06 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/ruby-on-rails-code-audits-8-steps-to-review-your-app/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In this article, I’m going to share eight of those items (and the rationale behind them) that we check on when we begin auditing a code base. My aim is to help provide you with a list of things to check on and consider cleaning up as a way to tidy up some possible technical debt and/or oversights.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="http://blog.planetargon.com/entries/ruby-on-rails-code-audits-8-steps-to-review-your-app"&gt;Ruby on Rails Code Audits: 8 Steps to Review Your App&lt;/a&gt;</description></item><item><title>Best Websites a Programmer Should Visit</title><link>https://www.wormbytes.ca/link-post/best-websites-a-programmer-should-visit/</link><pubDate>Mon, 14 Aug 2017 11:09:36 +0000</pubDate><author>Robert James Kaes</author><guid>https://www.wormbytes.ca/link-post/best-websites-a-programmer-should-visit/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Some useful websites for programmers.&lt;/p&gt;
&lt;p&gt;When learning CS there are some useful sites you must know to get always
informed in order to do your technologies eve and learn new things. Here is
a non exhaustive list of some sites you should visit, this list will get
updated as soon as I can get another link, but you can also contribute by
adding those you know 😉&lt;/p&gt;
&lt;/blockquote&gt;
&lt;a class="link__link-post" href="https://github.com/sdmg15/Best-websites-a-programmer-should-visit#best-websites-a-programmer-should-visit"&gt;Best Websites a Programmer Should Visit&lt;/a&gt;</description></item></channel></rss>