<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tech-Market | AkitaOnRails.com</title><link>https://akitaonrails.github.io/en/tags/tech-market/</link><description>Fabio Akita's blog — tech, career, and assorted geek topics. English edition.</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Mon, 19 Oct 2026 23:20:52 +0000</lastBuildDate><atom:link href="https://akitaonrails.github.io/en/tags/tech-market/index.xml" rel="self" type="application/rss+xml"/><item><title>Digital David and Goliath: Understanding MegaLag vs Honey/PayPal</title><link>https://akitaonrails.github.io/en/2026/08/12/digital-david-and-goliath-understanding-megalag-vs-honey-paypal/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2026/08/12/digital-david-and-goliath-understanding-megalag-vs-honey-paypal/</guid><pubDate>Wed, 12 Aug 2026 11:00:00 -0300</pubDate><description>&lt;p&gt;Anyone who makes content for a living knows: affiliate commission pays real bills. You test a product, record the review, drop the link in the description. Someone watches, clicks, buys days later, and a slice of the sale lands in your account. That&amp;rsquo;s how a good chunk of independent YouTube funded itself over the last decade.&lt;/p&gt;
&lt;p&gt;Now imagine finding out that one of your sponsors was planted at your viewers&amp;rsquo; checkout, swapping your tag for theirs and pocketing those commissions. Millions of times. For years.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Anyone who makes content for a living knows: affiliate commission pays real bills. You test a product, record the review, drop the link in the description. Someone watches, clicks, buys days later, and a slice of the sale lands in your account. That&rsquo;s how a good chunk of independent YouTube funded itself over the last decade.</p>
<p>Now imagine finding out that one of your sponsors was planted at your viewers&rsquo; checkout, swapping your tag for theirs and pocketing those commissions. Millions of times. For years.</p>
<p>That&rsquo;s what MegaLag showed in December 2024, exposing the practices of Honey, the coupon extension PayPal bought for $4 billion that promised to <em>&ldquo;find every coupon code on the internet&rdquo;</em> for you. I&rsquo;ve followed his channel since that video and became an instant fan: this is technical journalism with live demos, code, and packet captures, not just loud accusations.</p>
<p>A year and a half later, the story has only gotten thicker: PayPal tried to dismiss it all as fake news, MegaLag came back with irrefutable technical evidence, Rakuten and other affiliate networks publicly cut Honey off, and the whole thing became a class action that just survived a motion to dismiss.</p>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/vc4yL3YTwWk"
    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>
  </iframe>
</div>

<p>The video timeline, since these are the primary sources for this article:</p>
<ol>
<li><a href="https://www.youtube.com/watch?v=vc4yL3YTwWk"target="_blank" rel="noopener">Exposing the Honey Influencer Scam</a>, December 21, 2024</li>
<li><a href="https://www.youtube.com/watch?v=wwB3FmbcC88"target="_blank" rel="noopener">Exposing Honey&rsquo;s Evil Business Model (PART 2)</a>, December 22, 2025</li>
<li><a href="https://www.youtube.com/watch?v=qCGT_CKGgFE"target="_blank" rel="noopener">The Honey Scam is Worse Than I Thought</a>, December 30, 2025</li>
<li><a href="https://www.youtube.com/watch?v=EXDemfGNGz0"target="_blank" rel="noopener">Honey Gets Terminated as Lawsuits Proceed</a>, August 11, 2026 (yesterday)</li>
</ol>
<p>I&rsquo;m telling this story in three acts: the last-click trick against creators, the extortion model against stores, and the defeat device that fooled the networks&rsquo; auditors. The technical core, the part that matters to us developers, is in the third act. But without the first two it makes no sense.</p>
<h2>What Honey was supposed to be<span class="hx:absolute hx:-mt-20" id="what-honey-was-supposed-to-be"></span>
    <a href="#what-honey-was-supposed-to-be" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The consumer pitch was irresistible: a free extension that, right at checkout, tries every known coupon code and applies the best one to your cart. <em>&ldquo;It&rsquo;s literally free money.&rdquo;</em> And no, they swore, they didn&rsquo;t sell your data.</p>
<p>For content creators, Honey was a generous sponsor. MegaLag mapped roughly 5,000 sponsored videos across more than 1,000 channels, adding up to nearly 8 billion views. MrBeast was the first big name, and former Honey president Joanne Bradford bragged: <em>&ldquo;every kid in America knows what Honey is.&rdquo;</em></p>
<p>Creators got easy money for recommending a tool that seemed useful. The irony, which the first video exposes in exquisite detail: those same creators were installing on their audiences, the audiences most likely to click their affiliate links, the tool that was stealing those very commissions.</p>
<p>For stores and marketplaces, Honey sold itself as a conversion tool: less cart abandonment, higher average order value. And there was an extra, shadier pitch, right in the partner FAQ and on Honey&rsquo;s own podcast: the store controlled which coupons went live. So the consumer story was <em>&ldquo;we find every code,&rdquo;</em> while the merchant story was <em>&ldquo;you keep consumers from finding your good codes.&rdquo;</em> Both stories were official.</p>
<h2>Affiliate marketing in 30 seconds<span class="hx:absolute hx:-mt-20" id="affiliate-marketing-in-30-seconds"></span>
    <a href="#affiliate-marketing-in-30-seconds" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>To understand the crime, you need to understand the victim. Affiliate marketing works like this: a creator posts a link with a tracking tag (like <code>?tag=shortcircuit</code> on a Newegg link). You click, the store drops a cookie good for about 30 days, and if you buy anything in that window, the commission goes to whoever generated that click.</p>
<p>MegaLag has a good analogy for this: it&rsquo;s like the department-store salesman who helps you, hands you a referral card with his name on it, and the cashier knows whose sale it was. The affiliate cookie is the digital version of that card.</p>
<p>The industry standard is <strong>last-click attribution</strong>: the last click takes everything. Not the fairest system in the world, but the simplest to implement. And here&rsquo;s where the trouble lives: whoever shows up in the final second before payment always wins. And who shows up in the final second? A browser extension that wakes up exactly on the checkout screen. It&rsquo;s as if a second salesman, one who never helped you at all, snatched the card from your hand in the checkout line and handed over his own instead.</p>
<h2>What Honey actually did<span class="hx:absolute hx:-mt-20" id="what-honey-actually-did"></span>
    <a href="#what-honey-actually-did" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The first video documents the scenarios, all variations on the same trick:</p>
<ul>
<li><strong>The coupon popup</strong>: you click &ldquo;apply discounts,&rdquo; Honey opens a tiny hidden tab that simulates an affiliate click with PayPal&rsquo;s tag, then closes itself. Your creator&rsquo;s cookie gets overwritten. Commission stolen, even when Honey finds no coupon at all.</li>
<li><strong>Honey Gold</strong>: when there&rsquo;s no coupon, up pops an offer for cashback points. Click it, same thing: last click, PayPal&rsquo;s commission.</li>
<li><strong>The empty popup</strong>: no coupon, no cashback, Honey still pops up so you&rsquo;ll click &ldquo;got it.&rdquo; Clicked to dismiss? Too late, the click counted.</li>
<li><strong>The PayPal button</strong>: at a checkout that already offers PayPal, Honey shows a &ldquo;check out with PayPal&rdquo; button. Any excuse works to grab that last click.</li>
</ul>
<p>MegaLag&rsquo;s NordVPN experiment makes it concrete: a 40% commission program. Two purchases made through his own affiliate link. Without Honey: $35 in commission. With Honey Gold activated: $0. His cut, as the &ldquo;consumer,&rdquo; of the loot stolen from himself? 89 points, or <strong>89 cents</strong>. Honey kept 97.5% of what was rightfully his.</p>
<blockquote>
  <p><strong>Remember this:</strong> even when you click the creator&rsquo;s affiliate link, the commission goes to PayPal if Honey shows up at checkout. In the NordVPN test, out of $35 in commission, the &ldquo;benefit&rdquo; left for the user was 89 cents.</p>

</blockquote>
<p>And this was no hypothesis, it was happening at industrial scale. The first video&rsquo;s central example uses Linus Tech Tips&rsquo; affiliate tag on Newegg: Linus Media Group promoted Honey for years, across something like 160 sponsored segments, and ended the partnership in 2022 after noticing Honey overwrote their affiliate link <em>even when it found no discount at all</em>. Notice the demographic trap: whoever installs a coupon extension is exactly the viewer who hunts prices and clicks affiliate links. Honey paid the sponsorship once and went on taxing the creator&rsquo;s future commissions forever.</p>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/wwB3FmbcC88"
    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>
  </iframe>
</div>

<p>So far, the victim was the creator. The second video shows the other side of the counter: the stores.</p>
<h2>The business model against the stores<span class="hx:absolute hx:-mt-20" id="the-business-model-against-the-stores"></span>
    <a href="#the-business-model-against-the-stores" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The extension&rsquo;s <code>supported domains</code> file listed over 180,000 stores, against &ldquo;30,000 participating&rdquo; in the marketing. The spreadsheet analysis (a developer crawled the whole thing and published it) showed 146,000 stores with no relationship at all, included presumably without consent.</p>
<p>There&rsquo;s more: a coupon typed manually at checkout was sent to Honey&rsquo;s servers <em>before</em> asking for consent. And private codes leaked into the public database: military discounts, employee codes, a $75-off code with no minimum order that meant unlimited free merchandise.</p>
<p>The damage was measurable. One store owner reported a $100,000 loss after the exclusive code from the podcast he sponsored leaked into Honey&rsquo;s database, and he only noticed months later, long after the podcast&rsquo;s affiliate commission had evaporated. Chip, the CEO of Made In Cookware, summed up the effect: <em>&ldquo;if Honey is going to take 10% of your revenue all the time, at the end of the day you&rsquo;re forced to raise prices.&rdquo;</em></p>
<p>And when a store owner asked to be removed, the official answer was <em>&ldquo;we typically do not remove codes unless we have a working relationship,&rdquo;</em> which MegaLag accurately calls economic extortion: <strong>stores don&rsquo;t pay to get in, they pay to get out</strong>.</p>
<h2>Stand down: the rule Honey pretended to follow<span class="hx:absolute hx:-mt-20" id="stand-down-the-rule-honey-pretended-to-follow"></span>
    <a href="#stand-down-the-rule-honey-pretended-to-follow" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Against all of this, PayPal&rsquo;s defense was always the same: <em>&ldquo;Honey follows industry rules and practices, including last-click attribution.&rdquo;</em> A clever rhetorical exit, because you can argue about whether last-click is fair. What comes next is different in nature: proof that Honey knew it was in the wrong and built a system to avoid getting caught.</p>
<p>Some context first. Affiliate networks (Rakuten Advertising, CJ, Impact, Awin) have known since 2002 that browser extensions are natural parasites in this ecosystem. So they created a contractual rule called <strong>stand down</strong>: if the user already arrived at the store through another affiliate&rsquo;s link, the extension must deactivate itself and not interfere. Period. It&rsquo;s written into the contracts. Rakuten&rsquo;s policy, for instance, says the publisher must <em>&ldquo;stand down and not display any forms of sliders or pop-ups&rdquo;</em> when another affiliate has already referred the user, and <em>&ldquo;must not force clicks or cookie stuff.&rdquo;</em></p>
<p>And Honey complied. Technically. When tested.</p>
<p>Which brings us to the heart of the third video, what MegaLag calls Cookie Gate, and his analogy is exact: Volkswagen&rsquo;s Dieselgate. VW programmed its cars to lower emissions only during lab tests. Honey programmed its extension to respect stand down only when it detected the user was probably an auditor.</p>
<blockquote>
  <p><strong>Remember this:</strong> stand down has been a contractual obligation since 2002, not a courtesy. If the user arrived at the store through another affiliate&rsquo;s link, the extension must back off. Honey backed off only when the user smelled like an auditor.</p>

</blockquote>
<h2>The evidence: ssd.json, line by line<span class="hx:absolute hx:-mt-20" id="the-evidence-ssdjson-line-by-line"></span>
    <a href="#the-evidence-ssdjson-line-by-line" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>After PayPal bought Honey, the extension was rewritten and the rules started arriving in plain text from a server. That let MegaLag expose the entire mechanism, and let Ben Edelman, the security researcher who worked the eBay affiliate-fraud case in the 2000s, verify all of it independently (<a href="https://www.benedelman.org/honey-detecting-testers/"target="_blank" rel="noopener">his full analysis here</a>).</p>
<p>First architectural point: <strong>the stand-down rules live in the cloud, not in the extension</strong>. The extension fetches two JSON files from Honey&rsquo;s servers and checks for updates every hour: <code>standdown-rules.json</code> (the normal rules) and <code>ssd.json</code> (the <em>selective stand-down</em> rules). Meaning: PayPal could change the behavior of ~14 million users within an hour, with no extension update, no Chrome Web Store review, no one watching.</p>
<p>Second: the normal rules were already a joke. The stand-down timer, how long Honey respects the original affiliate&rsquo;s cookie, was 3,600 seconds. One hour. Clicked your favorite YouTuber&rsquo;s link in the morning, bought in the afternoon, Honey could act again. And a 2023 Wayback Machine capture shows it was once <strong>360 seconds. Six minutes</strong>. As MegaLag says, it takes him more than six minutes just to type in his credit card. No affiliate network defines any such expiry. Honey made one up.</p>
<p>Third, the main course. This is the <code>ssd.json</code> captured on October 22, 2025 (comments are mine):</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span><span class="nt">&#34;ssd&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;base&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;gca&#34;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>      <span class="c1">// check for affiliate console cookies
</span></span></span><span class="line"><span class="cl">    <span class="nt">&#34;bl&#34;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>       <span class="c1">// check the server-side blacklist
</span></span></span><span class="line"><span class="cl">    <span class="nt">&#34;uP&#34;</span><span class="p">:</span> <span class="mi">65000</span><span class="p">,</span>   <span class="c1">// minimum points to IGNORE stand down
</span></span></span><span class="line"><span class="cl">    <span class="nt">&#34;adb&#34;</span><span class="p">:</span> <span class="mi">26298469858850</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="c1">// domains where &#34;industry insider&#34; cookies get checked:
</span></span></span><span class="line"><span class="cl">  <span class="nt">&#34;affiliates&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;https://www.cj.com&#34;</span><span class="p">,</span> <span class="s2">&#34;https://www.linkshare&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">                 <span class="s2">&#34;https://www.rakuten.com&#34;</span><span class="p">,</span> <span class="s2">&#34;https://ui.awin.com&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">                 <span class="s2">&#34;https://www.swagbucks.com&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;LS&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;uP&#34;</span><span class="p">:</span> <span class="mi">5001</span> <span class="p">},</span>  <span class="c1">// Rakuten exception (formerly LinkShare)
</span></span></span><span class="line"><span class="cl">  <span class="nt">&#34;PAYPAL&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;uL&#34;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="nt">&#34;uP&#34;</span><span class="p">:</span> <span class="mi">5000001</span><span class="p">,</span> <span class="nt">&#34;adb&#34;</span><span class="p">:</span> <span class="mi">26298469858850</span> <span class="p">}</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;ex&#34;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1">// per-store exceptions (Honey internal IDs)
</span></span></span><span class="line"><span class="cl">    <span class="nt">&#34;7555272277853494990&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;uP&#34;</span><span class="p">:</span> <span class="mi">5001</span> <span class="p">},</span>                         <span class="c1">// TJ Maxx
</span></span></span><span class="line"><span class="cl">    <span class="nt">&#34;7394089402903213168&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;uL&#34;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="nt">&#34;adb&#34;</span><span class="p">:</span> <span class="mi">120000</span><span class="p">,</span> <span class="nt">&#34;uP&#34;</span><span class="p">:</span> <span class="mi">1001</span> <span class="p">},</span> <span class="c1">// Booking.com
</span></span></span><span class="line"><span class="cl">    <span class="nt">&#34;243862338372998182&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;uL&#34;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="nt">&#34;uP&#34;</span><span class="p">:</span> <span class="mi">100000</span> <span class="p">},</span>               <span class="c1">// Kayo Sports
</span></span></span><span class="line"><span class="cl">    <span class="c1">// cookies to look for, in the SAME ORDER as the domains above:
</span></span></span><span class="line"><span class="cl">    <span class="nt">&#34;GA&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;CONTID&#34;</span><span class="p">,</span> <span class="s2">&#34;s_vi&#34;</span><span class="p">,</span> <span class="s2">&#34;_ga&#34;</span><span class="p">,</span> <span class="s2">&#34;networkGroup&#34;</span><span class="p">,</span> <span class="s2">&#34;_gid&#34;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">  <span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>How it works: when the extension detects you clicked an affiliate link, it consults these rules before deciding whether to honor stand down:</p>
<ul>
<li><strong><code>uL</code></strong> (user logged in): you must be logged into a Honey account.</li>
<li><strong><code>uA</code></strong> (user account age): your account must be a minimum age, 30 days, in milliseconds, <em>&ldquo;for whatever reason,&rdquo;</em> as MegaLag notes. A brand-new account is the signature of someone testing the extension for an audit.</li>
<li><strong><code>uP</code></strong> (user points): you must have accumulated a minimum of cashback points. In the current config: 65,000 points. Since 1,000 points redeem for $10 in gift cards, that&rsquo;s $650 in lifetime earnings, which rules out virtually every real user and certainly every auditor on a test account.</li>
<li><strong><code>bl</code></strong> (blacklist): the server can flag your ID, cookie, or IP (anyone who ever complained about Honey, say) and treat you as &ldquo;high risk.&rdquo;</li>
<li><strong><code>gca</code></strong>: the most incriminating of all, and it gets its own paragraph.</li>
</ul>
<p>If you pass every filter, the system classifies you as a legitimate consumer and Honey <strong>ignores stand down</strong> and takes the commission. Fail any one, it classifies you as a possible auditor and Honey behaves impeccably. Edelman sums it up: <em>&ldquo;Honey stands down, but only sometimes. And the sometimes is predictable.&rdquo;</em> Deterministic, actually: same conditions, same result, reproducible.</p>
<h3>The gca: checking your pockets for an inspector&rsquo;s badge<span class="hx:absolute hx:-mt-20" id="the-gca-checking-your-pockets-for-an-inspectors-badge"></span>
    <a href="#the-gca-checking-your-pockets-for-an-inspectors-badge" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>The <code>gca</code> is the digital equivalent of patting you down for a regulator&rsquo;s badge. The <code>affiliates</code> and <code>GA</code> lists are positionally paired: on the <code>cj.com</code> domain, look for the <code>CONTID</code> cookie; on <code>linkshare</code>, <code>s_vi</code>; on <code>ui.awin.com</code>, <code>networkGroup</code>. The code, recovered via <code>sourceMappingURL</code> from the iOS app that leaked practically unobfuscated:</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="cl"><span class="nx">m</span> <span class="o">=</span> <span class="nx">p</span><span class="p">.</span><span class="nx">ex</span> <span class="o">&amp;&amp;</span> <span class="nx">p</span><span class="p">.</span><span class="nx">ex</span><span class="p">.</span><span class="nx">GA</span> <span class="o">||</span> <span class="p">[]</span>
</span></span><span class="line"><span class="cl"><span class="nx">g</span> <span class="o">=</span> <span class="nx">i</span><span class="p">().</span><span class="nx">map</span><span class="p">(</span><span class="nx">p</span><span class="p">.</span><span class="nx">ssd</span> <span class="o">&amp;&amp;</span> <span class="nx">p</span><span class="p">.</span><span class="nx">ssd</span><span class="p">.</span><span class="nx">affiliates</span><span class="p">,</span> <span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="nx">f</span> <span class="o">+=</span> <span class="mi">1</span><span class="p">,</span> <span class="nx">u</span><span class="p">.</span><span class="nx">A</span><span class="p">.</span><span class="nx">get</span><span class="p">({</span>
</span></span><span class="line"><span class="cl">        <span class="nx">name</span><span class="o">:</span> <span class="nx">m</span><span class="p">[</span><span class="nx">f</span><span class="p">],</span> <span class="c1">// cookie name from the GA array
</span></span></span><span class="line"><span class="cl">        <span class="nx">url</span><span class="o">:</span> <span class="nx">e</span>      <span class="c1">// domain to check
</span></span></span><span class="line"><span class="cl">    <span class="p">}).</span><span class="nx">then</span><span class="p">((</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="nx">e</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nx">o</span><span class="p">.</span><span class="nx">gca</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="c1">// cookie found: gca = 0, enter compliance mode
</span></span></span><span class="line"><span class="cl">    <span class="p">}))</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>If you carry a login cookie from the CJ, Rakuten, or Awin affiliate dashboards, that is, if you work in the industry, Honey honors stand down on everything, always, no matter the link. MegaLag discovered this by accident while testing his own extension (Cookie Guard): he logged into his CJ affiliate account in another tab, and suddenly Honey turned into an angel.</p>
<p>And notice the cynical design detail: domains and cookie names sit in two separate lists instead of name-value pairs. As Edelman points out, the effect is to make the relationship between them harder to spot for anyone skimming the file.</p>
<p>Edelman is categorical about what this means: there is no legitimate reason for a coupon extension to check whether you logged into an affiliate dashboard. The only function is hiding from the people who enforce the rules. And whoever hides knows they&rsquo;re doing something prohibited.</p>
<h3>The other tricks: the &ldquo;test&rdquo; email, the killswitch, and eBay<span class="hx:absolute hx:-mt-20" id="the-other-tricks-the-test-email-the-killswitch-and-ebay"></span>
    <a href="#the-other-tricks-the-test-email-the-killswitch-and-ebay" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>Two more gems in the code. The extension scans your email address for the word &ldquo;test&rdquo;. Found it, compliance mode:</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="cl"><span class="k">if</span> <span class="p">(</span><span class="nx">r</span><span class="p">.</span><span class="nx">email</span> <span class="o">&amp;&amp;</span> <span class="nx">r</span><span class="p">.</span><span class="nx">email</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="s2">&#34;test&#34;</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nx">o</span><span class="p">.</span><span class="nx">bl</span> <span class="o">=</span> <span class="mi">0</span><span class="p">),</span> <span class="o">!</span><span class="nx">r</span><span class="p">.</span><span class="nx">isLoggedIn</span> <span class="o">||</span> <span class="nx">t</span><span class="p">)</span> <span class="p">{</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>And there&rsquo;s a master killswitch on the server: the extension periodically fetches a URL, and depending on the response the entire SSD system turns on or off:</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="cl"><span class="k">return</span> <span class="nx">e</span><span class="p">.</span><span class="nx">next</span> <span class="o">=</span> <span class="mi">7</span><span class="p">,</span> <span class="nx">fetch</span><span class="p">(</span><span class="s2">&#34;&#34;</span><span class="p">.</span><span class="nx">concat</span><span class="p">(</span><span class="s2">&#34;https://s.joinhoney.com&#34;</span><span class="p">,</span> <span class="s2">&#34;/ck/alive&#34;</span><span class="p">));</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="cl"><span class="nx">c</span> <span class="o">=</span> <span class="nx">S</span><span class="p">().</span><span class="nx">then</span><span class="p">((</span><span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nx">e</span> <span class="o">&amp;&amp;</span> <span class="s2">&#34;alive&#34;</span> <span class="o">===</span> <span class="nx">e</span><span class="p">.</span><span class="nx">is</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nx">o</span><span class="p">.</span><span class="nx">bl</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">}))</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>One flip on the server and 14 million extensions go into compliance mode instantly. Handy, say, on the day a big audit gets announced.</p>
<p>And eBay? eBay gets VIP treatment, straight in the code: while normal stand down lasts one hour, eBay&rsquo;s lasts 86,400 seconds (24 hours), and the SSD logic is explicitly disabled for eBay domains:</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="cl"><span class="s2">&#34;regex&#34;</span><span class="o">:</span> <span class="s2">&#34;^https?\\:\\/\\/rover\\.ebay((?![\\?\\&amp;]pub=5575133559).)*$&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"><span class="s2">&#34;provider&#34;</span><span class="o">:</span> <span class="s2">&#34;LS&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"><span class="s2">&#34;overrideBl&#34;</span><span class="o">:</span> <span class="kc">true</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"><span class="s2">&#34;ttl&#34;</span><span class="o">:</span> <span class="mi">86400</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="cl"><span class="nx">a</span> <span class="o">=</span> <span class="s2">&#34;ssd&#34;</span> <span class="o">===</span> <span class="nx">r</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="sr">/ebay/</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">p</span><span class="p">);</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>Why? Because in 2008 eBay brought civil and criminal charges against its two biggest affiliates, Shawn Hogan and Brian Dunning, who collected over $20 million in 18 months running cookie-stuffing schemes, and both went to jail. Edelman himself helped catch them. Honey knew exactly who not to mess with. The rest of the market, apparently, was fair game.</p>
<h3>Telemetry: the evidence that documents itself<span class="hx:absolute hx:-mt-20" id="telemetry-the-evidence-that-documents-itself"></span>
    <a href="#telemetry-the-evidence-that-documents-itself" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>The part that made my jaw drop: from day one, the defeat device <strong>logged every decision it made</strong>. When the extension decides to honor stand down, it sends telemetry with <code>&quot;method&quot;:&quot;suspend&quot;</code> and a <code>state</code> saying exactly which rule fired, <code>&quot;uP:5001&quot;</code>, <code>&quot;gca&quot;</code>, <code>&quot;ssd&quot;</code>, along with the original affiliate link, which frequently contains the stiffed affiliate&rsquo;s ID and sometimes their name.</p>
<p>Somewhere on PayPal&rsquo;s servers sits a detailed record of every commission this system helped steal. MegaLag closes the fourth video urging the networks to demand that data and claw the money back. Hard to argue with that.</p>
<h3>How MegaLag proved it on the public extension<span class="hx:absolute hx:-mt-20" id="how-megalag-proved-it-on-the-public-extension"></span>
    <a href="#how-megalag-proved-it-on-the-public-extension" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>One bit of engineering that deserves respect. After the first video, PayPal raised the base threshold to 65,000 points, effectively switching the mechanism off for nearly everyone and narrowing the sketchy behavior. Except whoever edited the <code>ssd.json</code> forgot the Rakuten exception: <code>&quot;LS&quot;: {&quot;uP&quot;: 5001}</code>.</p>
<p>MegaLag went on what he calls a <em>&ldquo;painfully expensive shopping spree&rdquo;</em> until he crossed 5,000 points, and reproduced the fraud on the public extension, untouched, without modifying a single line. (Edelman did it the easy way: he intercepted the server&rsquo;s response with Fiddler and lied about his own points balance. His code is in the article linked above.)</p>
<h2>The PayPal rewrite<span class="hx:absolute hx:-mt-20" id="the-paypal-rewrite"></span>
    <a href="#the-paypal-rewrite" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The system&rsquo;s genealogy, reconstructed by MegaLag from ~300 archived extension builds going back to 2014:</p>
<ul>
<li><strong>October 2017</strong>: the SSD first appears, in version 10.5.2, still under founders Ryan Hudson and George Ruan, but encrypted, scrambled, unreadable to anyone who stumbled on it. Researcher Wladimir Palant had already documented in 2020 that Honey concealed chunks of its own code.</li>
<li><strong>March 2021</strong>: under PayPal, version 13.1.0, <strong>the entire system was rebuilt</strong>. The rules were restructured into a new format and started living in plain text on PayPal&rsquo;s servers. That careless rewrite is what exposed everything.</li>
</ul>
<p>Hold that thought and compare it with PayPal&rsquo;s official statement after the roof caved in:</p>
<blockquote>
  <p><em>&ldquo;The code causing this behavior has been identified and no longer has an impact. The code was implemented prior to PayPal&rsquo;s acquisition and appears to affect less than 0.1% of Honey&rsquo;s traffic.&rdquo;</em></p>
<p>— PayPal to Hello Partner, January 2026</p>

</blockquote>
<p>MegaLag calls that what it is: a lie. You don&rsquo;t rebuild a system from scratch, tune its rules year after year, and then claim you had no idea it existed.</p>
<p>The timeline gives it away: MegaLag asked PayPal for comment on December 18, 2025; they called the accusations <em>&ldquo;not accurate&rdquo;</em> and sent the lawyers after him. Rakuten cut Honey from its network on January 12, 2026. The defeat device was deactivated on January 13, one day later, almost a month after the warning. And &ldquo;0.1% of traffic&rdquo; is empty rhetoric: the rules live on the server, so the targeting was always remotely tunable. Under the 2023 rules, the target was practically everyone.</p>
<h2>The fallout<span class="hx:absolute hx:-mt-20" id="the-fallout"></span>
    <a href="#the-fallout" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>After Cookie Gate, things moved:</p>
<ul>
<li><strong>Rakuten Advertising</strong> (January 12, 2026): terminated Honey from the entire network, more than 2,000 stores, including Walmart, Lego, Sephora, Newegg, Uniqlo, and Samsung. The sordid detail: internal emails that surfaced in the litigation show Rakuten knew about stand-down violations as early as July 2020 and kept Honey anyway, and PayPal even replied that Rakuten&rsquo;s stand-down policies were <em>&ldquo;overreach.&rdquo;</em> In May 2026 Rakuten quietly let Honey back in, after publishing an <a href="https://github.com/rakutenrewards/PublisherStandown-SDK"target="_blank" rel="noopener">open-source stand-down SDK</a> that Honey implemented.</li>
<li><strong>Impact</strong> (January 16): removed Honey from its discovery marketplace and suspended the account, confirming a breach of <em>&ldquo;universal stand-down requirements.&rdquo;</em></li>
<li><strong>Awin</strong> (January 21): the biggest network affected, with over 16,000 merchants. Confirmed <em>&ldquo;breaches of our publisher policies,&rdquo;</em> suspended payments, and imposed a remediation plan that includes <strong>giving the networks access to Honey&rsquo;s source code</strong>.</li>
<li><strong>Google</strong>: in March 2025 the Chrome Web Store started requiring a <em>&ldquo;direct and transparent user benefit&rdquo;</em> for any extension injecting affiliate links. Honey&rsquo;s workaround was switching on 0.1% to 1% cashback at nearly every partner store. Technically a benefit, practically loose change.</li>
<li><strong>The market responded</strong>: Honey lost about 7 million users (from 20 million to 14), over 7,000 stores (from ~35,000 to ~28,000), and the coupon database shrank from ~90,000 to ~50,000 codes. Apple, which alone generated more monetizable traffic than the bottom 27,000 stores combined, walked.</li>
</ul>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/EXDemfGNGz0"
    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>
  </iframe>
</div>

<h2>The class action<span class="hx:absolute hx:-mt-20" id="the-class-action"></span>
    <a href="#the-class-action" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Here&rsquo;s where David meets Goliath in court. Days after the first video, on December 29, 2024, Wendover Productions (Sam Denby&rsquo;s company) filed the first suit; Devin Stone of LegalEagle, an actual attorney, organized the effort, and some twenty firms filed similar complaints across several states, with GamersNexus as lead plaintiff in one of them. The cases were consolidated in the Northern District of California: <em>In re PayPal Honey Browser Extension Litigation</em>, case 5:24-cv-09470-BLF, Judge Beth Labson Freeman.</p>
<p>The claims in the current complaint: unjust enrichment, intentional interference with contractual relations and with prospective economic advantage, violations of the Computer Fraud and Abuse Act (the American anti-hacking law), California&rsquo;s computer data access and fraud statute, and the unfair competition laws of California and Washington.</p>
<p>The procedural timeline is a soap opera:</p>
<ul>
<li><strong>November 2025</strong>: PayPal tried to force arbitration and lost. Weeks later, Judge Freeman dismissed the first complaint, with leave to amend, because the affiliate contracts were with the merchants, not PayPal, and the Monte Carlo simulation the plaintiffs used to estimate damages didn&rsquo;t persuade her. Ryan Hudson tweeted <em>&ldquo;Case dismissed&rdquo;</em> and did a little victory lap. Hello Partner, the industry trade publication that had Honey as premier sponsor of its flagship conference, rushed out a piece on <em>&ldquo;what MegaLag got wrong.&rdquo;</em></li>
<li><strong>January 2026</strong>: the second complaint arrived at 101 pages, ten named plaintiffs, the actual merchant contracts, test-purchase evidence and, crucially, the Cookie Gate findings baked in. Page 65 describes the defeat device in detail: <em>&ldquo;PayPal devised several methods to ignore or circumvent stand down protocols,&rdquo;</em> including detecting visits to affiliate network websites, which the complaint calls <em>&ldquo;arguably the most glaring reveal of PayPal&rsquo;s bad intent.&rdquo;</em></li>
<li><strong>June 4, 2026</strong>: second hearing. The judge warned PayPal&rsquo;s attorney, Richard Jacobson, the same lawyer who signed the cease-and-desist against MegaLag, that he had <em>&ldquo;an uphill battle.&rdquo;</em> When the defense argued that affiliate IDs are <em>&ldquo;just short strings of numbers and letters&rdquo;</em> with no intrinsic value, the judge replied that you could say the same thing about a dollar bill. Jacobson: <em>&ldquo;I don&rsquo;t know how to respond to that.&rdquo;</em></li>
<li><strong>June 22, 2026</strong>: the motion to dismiss was <strong>denied in full</strong>. Every claim survived. The case now moves into discovery: internal documents, communications, depositions, possibly of the founders and PayPal&rsquo;s own engineers. Trial, if it happens, late 2027. MegaLag&rsquo;s guess, and mine too: PayPal will try to settle to bury those depositions.</li>
</ul>
<p>Worth noting: a parallel UK consumer suit over the misleading <em>&ldquo;best coupons&rdquo;</em> advertising was dismissed in June 2026. And Capital One Shopping, sued over a similar scheme, settled in September 2025 denying liability.</p>
<h2>Conclusion<span class="hx:absolute hx:-mt-20" id="conclusion"></span>
    <a href="#conclusion" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>What gets me about this whole story is PayPal&rsquo;s behavior at every step. Accused with video and live demonstrations, they called it fake news. Confronted with the code, they sent a cease-and-desist and tried to get the video pulled from Patreon with a copyright claim. Formally alerted about the defeat device, they called it <em>&ldquo;not accurate&rdquo;</em> and waited for Rakuten to act before switching it off. Caught, they announced they&rsquo;d <em>&ldquo;recently discovered&rdquo;</em> a system the company itself rebuilt in 2021.</p>
<p>At every rung, the choice was deny, threaten, minimize, until the evidence made the position untenable; then retreat half a step pretending surprise.</p>
<p>Honey, as a product, is a lost cause. Even if you don&rsquo;t care about the ethics of skimming creators&rsquo; commissions, remember what Amazon warned back in 2020: this is an extension with permission to read and modify your data on any website, one that scans your cookies, logs your browsing history with geolocation, and applied knowingly expired coupons just to keep the numbers up. Uninstall it. No coupon is worth that.</p>
<p>And there&rsquo;s an inspiring side to this: one motivated developer from New Zealand, armed with a packet sniffer, a test account, and patience, did what billion-dollar networks with compliance teams couldn&rsquo;t do in eight years. His weapon was a plain-text JSON file and a few dozen lines of JavaScript that PayPal itself served to anyone who bothered to look. The line that closes the fourth video sums up the arrogance he brought down:</p>
<blockquote>
  <p><em>&ldquo;When I&rsquo;m wrong, I&rsquo;m MegaLag. When I&rsquo;m right, I&rsquo;m just an industry commentator.&rdquo;</em></p>

</blockquote>
<p>Well, now he&rsquo;s a de facto technical witness in a federal case. David won this round. And it was beautiful to watch.</p>
]]></content:encoded><category>security</category><category>tech-market</category></item><item><title>[Off-Topic] Why are we all moving away from Apple?</title><link>https://akitaonrails.github.io/en/2017/01/12/off-topic-why-are-we-all-moving-away-from-apple/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2017/01/12/off-topic-why-are-we-all-moving-away-from-apple/</guid><pubDate>Thu, 12 Jan 2017 11:37:00 -0200</pubDate><description>&lt;p&gt;&amp;ldquo;Anyone that is someone has been following Apple for the past couple of decades. Love them, or hate them, the only thing you can&amp;rsquo;t do is ignore them.&amp;rdquo; - that was always the general thought.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Creative&amp;rdquo; professionals (as if &amp;ldquo;creative&amp;rdquo; were restricted to painters and illustrators) have always been the most loyal Apple followers, for good reason. It was the cradle of essential tools like Photoshop, QuarkXPress, PostScript, PDF, and QuickTime. Apple set the standards for media creation, and anyone that was someone used those tools.&lt;/p&gt;</description><content:encoded><![CDATA[<p>&ldquo;Anyone that is someone has been following Apple for the past couple of decades. Love them, or hate them, the only thing you can&rsquo;t do is ignore them.&rdquo; - that was always the general thought.</p>
<p>&ldquo;Creative&rdquo; professionals (as if &ldquo;creative&rdquo; were restricted to painters and illustrators) have always been the most loyal Apple followers, for good reason. It was the cradle of essential tools like Photoshop, QuarkXPress, PostScript, PDF, and QuickTime. Apple set the standards for media creation, and anyone that was someone used those tools.</p>
<p>Microsoft focused on the corporate market, not on the creatives. Linux was still in its infancy, and most developers didn&rsquo;t even know the difference between CMYK and RGB. They were content with a crude bitmap on the screen.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/587/918d80cb21131a7a62e6ccaf71229960.jpg" alt="Old Macintosh"  loading="lazy" /></p>
<p>I have this theory that we took technology for granted in the late 90&rsquo;s, thinking we were at the top of the world. That came from the Dotcom Bubble of the late 90&rsquo;s, which burst together with 9/11. The depression made us waste the next 3 to 4 years trying to figure out what we would do next.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/588/1dot.jpg" alt="Dotcom burst"  loading="lazy" /></p>
<p>Apple had the luck to dodge the burst. They were already at the rock bottom since 1997. The cleaning up of their hardware lineup and the release of the iPod created their own small bubble. Steve Jobs was back and he brought good developers that made OS X a joy to use not only for creatives, but developers as well.</p>
<p>The Microsoft Antitrust case of 2000, the Dotcom Bubble burst in 2001, the release of the iPod in 2001, the switch from System 9 to OS X/BSD in 1999, the switch from PowerPC to Intel in 2005, the release of the ultra desirable Titanium PowerBook G4 in 2001. All of those contributed to give Apple the edge. And while everybody was down, it made them feel even larger than life.</p>
<p><a href="http://www.economist.com/node/2535519"target="_blank" rel="noopener"><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/589/Microsoft.gif" alt="Microsoft Antitrust"  loading="lazy" /></a></p>
<p>Then in 2007/2008 they had a new push: the iPhone, the App Store, and the need to use Xcode, available only on Apple computers. Unlike being forced onto Windows because of Visual Studio, using Xcode was actually an extra reason to buy a Mac.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/590/SteveJobsUnveilsiPhone.jpg" alt="iPhone announcement"  loading="lazy" /></p>
<p>Linux distros were still struggling. Back then, we were stuck with the <a href="https://www.youtube.com/watch?v=RIctzAQOe44"target="_blank" rel="noopener">stupid X11</a>. If a Linux-based OS was cutting edge, X11 on top of it was the worst of both worlds. Apple was smart enough not to adopt it and built Quartz from scratch, improving it with each new OS X release. It took five years to fully stabilize. Only now, in 2017, are we finally moving from X to Wayland/Weston.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/591/steve-ballmer.jpg" alt="Steve Ballmer"  loading="lazy" /></p>
<p>Microsoft also struggled after Bill Gates handed the reins to Steve Ballmer. The road from XP to Windows 10 ran through the disasters of Vista, Windows 8, and Windows Mobile, plus the endless attempts to revive the dominant but defunct Internet Explorer, the largest Walking Dead ever in technology. The Ballmer era was a disaster.</p>
<p>Then the iPad got released and Steve Jobs died.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/592/hi-steve-jobs-memorial-0139.jpg" alt="Jobs Dies"  loading="lazy" /></p>
<h3>Apple is stuck in 2010.<span class="hx:absolute hx:-mt-20" id="apple-is-stuck-in-2010"></span>
    <a href="#apple-is-stuck-in-2010" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>And so are we.</p>
<p>Major Linux distros, Microsoft, PC hardware manufacturers, big industry turnarounds (Nokia, Blackberry, Motorola) the dawn of the GPU era, the end of Moore&rsquo;s Law speed clock wars into parallel computing, the dawn of ARM. It took 10 years for all the smoke to finally settle, and it took having Apple standing still for 6 years for everybody to finally catch up.</p>
<p>Ballmer left the reins to Satya Nadella. Microsoft acquired Xamarin, made huge strides into open source, and even <a href="/en/2016/07/26/the-year-of-linux-on-the-desktop-it-s-usable/">Ubuntu now runs natively on top of Windows 10</a>.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/593/THE_END_TIMES_ARE_HERE-399de53540c79757ac9af535579cdad9.jpg" alt="Satya Nadella"  loading="lazy" /></p>
<p>And the Asians. Samsung, LG, Huawei, the South Koreans and the Chinese all forced the North Americans to push harder.</p>
<p>One last legacy of the Steve Jobs era was both killing Adobe Flash (finally!) and pushing HTML 5 technologies forward, an acceleration of 10 years in 5. It was because of the iPhone that we have the Web as it is.</p>
<p><a href="https://web.archive.org/web/20170114150212/http://www.apple.com/hotnews/thoughts-on-flash/"target="_blank" rel="noopener"><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/594/flash-dead.jpg" alt="HTML 5 kills Flash"  loading="lazy" /></a></p>
<p>Google jumped in, took over the ball that Internet Explorer left behind. WebKit became the quintessential web browser reference. Javascript became the new application platform, pushed by the many evolving Social Networks.</p>
<p>For better or worse, the social networks forced the new dawn of complex and interactive Web Applications. We got the example of Gmail and Web 2.0 and with the new mobile environment, everything converged into making cross-platform, ubiquitous apps.</p>
<p>It&rsquo;s now easier than ever to switch between desktop OSes because we made it easy to jump around between the desktop and mobile devices already.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/599/alldevices.jpg" alt="All devices"  loading="lazy" /></p>
<p>Why is it easy now to move between macOS or Windows or Linux distros? Or between macOS and iOS, or between Linux and Android? Because most of the software is in &ldquo;the cloud&rdquo;. Linux dominates the Cloud world that Amazon debuted in 2006 with S3 and EC2, now closely followed by Google Cloud and Microsoft Azure and other smaller competitors.</p>
<p>Because there is at least a good Chrome browser in every platform.</p>
<p>Because the apps we use are mostly web enabled: Gmail, Spotify, Slack, Hangout, Twitter, Facebook, YouTube, Netflix, Amazon. The other half are all available natively under iOS or Android: Whatsapp, Waze, Swarm, Snapchat, Instagram.</p>
<p>10 years ago, with the release of the iPhone, the technology industry finally started to put their shit together.</p>
<p>It was a cat and mouse chase until at least 5 years ago, then everybody started to settle.</p>
<p>After Jobs died we still had expectations that Apple would keep pushing forward, albeit at a slower pace without Jobs&rsquo; whip.</p>
<p>It didn&rsquo;t happen. They made bad decision after bad decision and we keep feeling that we are back in the early 90&rsquo;s, under Scully, Spindler or Amelio.</p>
<p><a href="https://web.archive.org/web/20170116083256/http://uk.businessinsider.com/wired-1997-save-apple-predictions-pray-2015-5"target="_blank" rel="noopener"><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/595/wired_cover.jpg" alt="Apple, Prey"  loading="lazy" /></a></p>
<p>But now, there are fallbacks readily available: Windows 10 Anniversary Edition is finally a competent Windows, bringing back the glory days of the mid-90&rsquo;s. And major Linux distros are cohesive, requiring little to no nerdy tweaking into obscure config files, pushed by Canonical, for better or worse.</p>
<p>And most of the apps we use in our routines are available. Heck, you can find a good web-based cross platform text editor in the form of Atom nowadays.</p>
<p>Apple also left the legacy of ubiquitous cross platform compilation readily available in the form of <a href="https://www.infoq.com/br/presentations/novas-linguagens-o-que-vem-depois-do-ruby"target="_blank" rel="noopener">LLVM</a> (in Portuguese). It served their own needs to have Objective-C available on PowerPC, Intel, ARM and Apple Ax processors. But LLVM is now the best backbone to enable languages such as Rust, RubyMotion, Crystal to exist and easily create fast binaries on multiple platforms.</p>
<p><a href="https://www.tesla.com/blog/welcome-chris-lattner"target="_blank" rel="noopener"><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/596/11-1484116910-chris-lattner-01.jpg" alt="Chris Lattner leaves Apple to Tesla"  loading="lazy" /></a></p>
<p>&ldquo;Apple&rsquo;s current board of directors need to go&rdquo;. &ldquo;Tim Cook needs to step down&rdquo;. I am sure many are crying out loud like this, but there is no Steve Jobs waiting to return. Apple is so big that the inertia alone will keep them going a few more years, but they are in danger of falling into irrelevance.</p>
<p>Other industries such as energy, health, genetics, are evolving in their own ways, but computer technology is in a dangerous standstill.</p>
<p>Computer Languages stopped evolving in the mid-90&rsquo;s. All &ldquo;new&rdquo; languages are amalgams of language features that were already there since the 70&rsquo;s and 80&rsquo;s. CPU processors are stuck into just making transistors smaller and more energy efficient. And we are already there: <a href="https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer"target="_blank" rel="noopener">$9 computers</a> are good enough for trivial tasks such as web browsing. So much that we are putting them everywhere: even a bluetooth toothbrush that keeps track of your brushing sessions.</p>
<p><a href="https://www.dezeen.com/2017/01/06/ara-first-toothbrush-artifical-intelligence-kolibree-ces/"target="_blank" rel="noopener"><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/597/smart-video-toothbrush-ces.jpg" alt="Bluetooth Toothbrush"  loading="lazy" /></a></p>
<p>Did you see CES 2017 products? Pillows and beds that track your sleep and sync data to an app. Washing machines. Vacuum cleaners. Fitness devices. Health devices. Personal assistants such as Alexa. Everything takes data from you and syncs it into &ldquo;the cloud&rdquo;.</p>
<p>&ldquo;The cloud&rdquo; has also peaked. It&rsquo;s ubiquitous, accessible, and downright cheap. Technology in general is dirt cheap nowadays.</p>
<p>Wearables and VR are good gimmicks, but even if they become ubiquitous, they stay just an extension of the use cases that the iPhone revolution bootstrapped.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/600/3017180-inline-mg5205.jpg" alt="Baby monitor"  loading="lazy" /></p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/601/iswimband-drowning-prevention-510px.jpg" alt="iSwimband"  loading="lazy" /></p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/602/6e752109eac4d37830078517b2aefd583d52722a.jpg" alt="mobile"  loading="lazy" /></p>
<p>Mobile, wearables, and social networks only made people more anxious. Giving everyone a &ldquo;voice&rdquo; online didn&rsquo;t improve things, it just raised the overall anxiety. Opinions are in such large supply that they are worth less and less.</p>
<p>Every person online is now a source of terabytes of useless information to generate pseudo-statistics that are useless for the most part. <a href="http://www.techrepublic.com/article/the-dark-side-of-wearables-how-theyre-secretly-jeopardizing-your-security-and-privacy/"target="_blank" rel="noopener">Every person is now defined by a bunch of data in the cloud</a>.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/603/donald-trump-twitter-president.jpg" alt="Trump"  loading="lazy" /></p>
<p>I have no idea where we go from here. As a witness of history, I have to say I miss the excitement of exploring new frontiers. We had it from the mid-90&rsquo;s onward. We took a small break after the Dotcom burst, then got it back full blown in 2004. We lost it after 2010.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/598/20150824-bill-gates-microsoft-windows-95-launch.0.jpg" alt="Windows 95 launch"  loading="lazy" /></p>
<p>2010 has been the longest year I&rsquo;ve ever seen. Maybe settling down is a good thing. Who knows?</p>
]]></content:encoded><category>apple</category><category>tech-market</category><category>personal</category><category>off-topic</category></item><item><title>War is Over, or is it? A New Dawn for Microsoft</title><link>https://akitaonrails.github.io/en/2016/03/31/war-is-over-or-is-it-a-new-dawn-for-microsoft/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2016/03/31/war-is-over-or-is-it-a-new-dawn-for-microsoft/</guid><pubDate>Thu, 31 Mar 2016 18:02:00 -0300</pubDate><description>&lt;p&gt;Update 04/07: &lt;a href="http://thehackernews.com/2016/04/how-to-run-ubuntu-on-windows-10.html"target="_blank" rel="noopener"&gt;the preview is already out&lt;/a&gt; ahead of the June release. If you&amp;rsquo;re an Insider member, try it. Leave your impressions in the comments.&lt;/p&gt;
&lt;p&gt;Yesterday was a historic day for Microsoft. From my personal perspective, it may have been a watershed. Ever since, I&amp;rsquo;ve been trying to figure out how to register the moment for posterity.&lt;/p&gt;
&lt;h3&gt;Prologue - 1995 to 2005, the 1st Decade&lt;span class="hx:absolute hx:-mt-20" id="prologue---1995-to-2005-the-1st-decade"&gt;&lt;/span&gt;
&lt;a href="#prologue---1995-to-2005-the-1st-decade" class="subheading-anchor" aria-label="Permalink for this section"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;I mean this for us, software developers. We&amp;rsquo;ve been through moments like this before: the release of Turbo Pascal in 1983, Visual Basic in 1991, Java in 1995, the first Linux distros like Slackware from 1993 on, the release of OS X in 2000, and the PowerPC-to-Intel transition in 2005.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Update 04/07: <a href="http://thehackernews.com/2016/04/how-to-run-ubuntu-on-windows-10.html"target="_blank" rel="noopener">the preview is already out</a> ahead of the June release. If you&rsquo;re an Insider member, try it. Leave your impressions in the comments.</p>
<p>Yesterday was a historic day for Microsoft. From my personal perspective, it may have been a watershed. Ever since, I&rsquo;ve been trying to figure out how to register the moment for posterity.</p>
<h3>Prologue - 1995 to 2005, the 1st Decade<span class="hx:absolute hx:-mt-20" id="prologue---1995-to-2005-the-1st-decade"></span>
    <a href="#prologue---1995-to-2005-the-1st-decade" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>I mean this for us, software developers. We&rsquo;ve been through moments like this before: the release of Turbo Pascal in 1983, Visual Basic in 1991, Java in 1995, the first Linux distros like Slackware from 1993 on, the release of OS X in 2000, and the PowerPC-to-Intel transition in 2005.</p>
<p>The 80s and 90s were convoluted, an era of accelerated growth where everything went obsolete fast. In one decade, from 1989 to 1999, I went from Basic to dBase, Clipper, Fox Pro, Visual Basic, Delphi, Java, multimedia (Flash, Director/Shockwave), and the Internet (HTML, Javascript, ASP, PHP, Perl). I&rsquo;ve never seen a decade move so fast. I went from a 4 MHz XT to a Pentium III at almost 1 GHz in those ten years.</p>
<p>We reached the end of the century at the peak of the Internet Bubble, had 9/11 in 2001 and the crash. But the Internet came to stay, and personal devices started showing up with the Palms and iPods. In 2001 Microsoft launched Windows XP and would spend the next decade carrying that legacy on its back.</p>
<p>A year earlier, the small Apple had started its comeback with the new iMac, iBook, and iPod, plus the BSD-UNIX-based OS X. One step at a time, it was building a system meant for both consumers and developers, the NeXT promise taking shape a decade after its inception.</p>
<p>Then, in 2005, Apple forged an alliance with one of Microsoft&rsquo;s oldest partners, Intel, and Macs would finally run on the same processor as Windows, a stratospheric leap in adoption. And that opened another door: since OS X was built processor-agnostic, it was a matter of time before it ran on smaller, more efficient ARM chips. That&rsquo;s what happened in 2007 with the iPhone. The rest is history.</p>
<h3>2005 to 2015 - 2nd Decade<span class="hx:absolute hx:-mt-20" id="2005-to-2015---2nd-decade"></span>
    <a href="#2005-to-2015---2nd-decade" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>Meanwhile, Microsoft fell behind. It failed the Windows Vista promise, shipped a competent Windows 7, and followed it with the controversial Windows 8. Only with Windows 10, unveiled at the end of 2014, did things start to change. And the effects of Steve Jobs&rsquo;s death, at the end of 2011, were getting more obvious: Apple had stopped.</p>
<p>From 2011 to today, all we got were new versions. Nothing significant, nothing new. The last big iPhone was the 5, from 2012. The last big OS X feline was Mountain Lion, from 2011. In the meantime Google pulled ahead in mobile when KitKat shipped in 2013, in my view the first Android release on equal footing with iOS.</p>
<p>From 1999 to 2005, broadly, the enterprise software developer had two options: Java and .NET. PHP had solid adoption, but mostly for customizing Wordpress and Magento, far from the same league as Java or .NET; the rest was niche. From 2006 on, a new generation of developers rose for the so-called Web 2.0, the post-Google world of SEO, UX, fast iterations, and Agility with a capital &ldquo;A&rdquo;. That&rsquo;s where Ruby, Python, and then Node took off exponentially.</p>
<p>From 2010, the mobile world sped up, and one kind of integrated development in particular: the &ldquo;Cloud&rdquo; variety, where a native &ldquo;app&rdquo; talks to services on remote servers, mostly Amazon AWS, which had debuted not long before, in 2006.</p>
<p>Microsoft stayed out of that move and spent the next ten years playing catch-up, nursing the Vista hangover. It kept its lead in purely enterprise markets, with SQL Server and Office licenses, but on the margins of cutting-edge software development.</p>
<p>Actually, I&rsquo;d say the watershed came in 2013, with <a href="http://web.archive.org/web/20160404073120/http://olhardigital.uol.com.br/pro/noticia/mercado-reage-bem-a-saida-de-ballmer-da-microsoft/36992"target="_blank" rel="noopener">Ballmer&rsquo;s exit</a> and the end of the &ldquo;Extended Gates Era&rdquo;, opening the door for <a href="http://www.businessinsider.com/microsoft-year-in-review-2015-12"target="_blank" rel="noopener">Satya Nadella to step in</a>. Microsoft is a giant, plenty of its brains had been researching this for years, and a lot of it only surfaced now. But I mean &ldquo;Eras&rdquo; in a symbolic sense: the end of Microsoft&rsquo;s Highlander culture, the &ldquo;there can only be one&rdquo;.</p>
<p>The <a href="http://1995blog.com/2015/05/24/the-internet-tidal-wave-20-years-on/"target="_blank" rel="noopener">1995 prophecy</a> that the Internet would destroy the Windows hegemony came true. And we reached the post-Moore world, where computing became accessible and ubiquitous. Think about it: in 1995, having a cluster of &ldquo;super&rdquo; computers for high-throughput distributed computing was for universities or big corporations. Today, you spin up a cluster of as many dozens of machines as you want on EC2 for a month at the price of a video game console.</p>
<p>I was a DOS user from 1988, switched to Windows 95 as soon as it launched, and spent almost ten years developing primarily on Windows, in the corporate world. I went from Visual Basic to ASP to .NET while also doing Java and PHP. But I wanted to run Perl, PHP, Python, and Ruby native on Linux, without giving up Office and Photoshop.</p>
<p>The answer we were waiting for was OS X. With the release of Tiger, things got serious. I tried it myself on a Mac Mini G4 in 2004. It was exceptional to have usability far better than Windows XP and access to all the UNIX I wanted on a single machine.</p>
<p>When Intel launched the Core Duo and then the 64-bit Core 2 Duo, and Tiger started running on Intel in 2005, there was nothing to think about: it was time to migrate. I&rsquo;d spend the next decade in a pure OS X environment, developing on a different kind of platform, with different tools and a different culture. That was my whole story with Ruby and OS X over these ten years, which you know well if you follow this blog.</p>
<h3>2015 on forward, Epilogue<span class="hx:absolute hx:-mt-20" id="2015-on-forward-epilogue"></span>
    <a href="#2015-on-forward-epilogue" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>2015 arrived, four years after Steve Jobs&rsquo;s death. It was an important gap, because it gave the non-Mac platforms time to catch up and surpass OS X in many areas. We&rsquo;re firmly in the Software as a Service Era. We don&rsquo;t &ldquo;buy&rdquo; anything anymore, we &ldquo;subscribe&rdquo; to services.</p>
<p>We&rsquo;re past the Post-PC Era. We&rsquo;re past the Smartphone Era. We&rsquo;re in the Services Era, where everything is a service. Our identity is a Facebook profile, our voice is WhatsApp, and everything we do generates data. We&rsquo;re in the Big Data Era, a pile of useless data that no SQL Server in the world can keep up with.</p>
<p>We need new things to handle this paradigm: Cassandra, Riak, Hadoop, HBase, Spark, Elasticsearch, Go, Rust, Elixir. They all &ldquo;run&rdquo; on Windows, but someone has to spend time doing ports, writing compatibility patches, and packaging installers. And the main thing: most of the developers behind these technologies are on Linux or OS X, almost nobody builds this new generation of tools inside Windows. They all use Emacs, Vim, or Sublime Text, hardly anyone wants Visual Studio.</p>
<p>And this brings me back to the start of the post: it&rsquo;s a new Era for Microsoft. It spent the last ten years playing catch-up and, for the first time, it looks like it has a real shot at turning things around and becoming relevant to the non-.NET developer again.</p>
<p>For that, two things happened yesterday.</p>
<h3>2016 - The Year of Linux on the Desktop<span class="hx:absolute hx:-mt-20" id="2016---the-year-of-linux-on-the-desktop"></span>
    <a href="#2016---the-year-of-linux-on-the-desktop" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>First, the announcement that <a href="http://thehackernews.com/2016/03/ubuntu-on-windows-10.html"target="_blank" rel="noopener">&ldquo;Bash is coming to Windows&rdquo;</a>. Which in practice is much more than Bash: it&rsquo;s a partnership with Canonical, one that had been taking shape since the announcement of <a href="http://web.archive.org/web/20160415160138/http://www.microsoft.com/en/server-cloud/sql-server-on-linux.aspx"target="_blank" rel="noopener">SQL Server running on Linux</a>. In practice, it&rsquo;s a <a href="http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html"target="_blank" rel="noopener">Linux subsystem</a> running alongside the Windows kernel, translating Linux syscalls into Windows syscalls.</p>
<p>The original idea came from the deceased Project Astoria, or Windows Bridge for Android, which back then wanted to let Android apps run on Windows. Technically, Android is a flavor of Linux, so the jump to yesterday was a short one.</p>
<p>So it&rsquo;ll be possible to take a binary built for Ubuntu and run it on Windows without changing a thing.</p>
<p>Ever since we started developing with Ruby, a lot of Windows users wanted to run Ruby natively. There&rsquo;s a <a href="http://rubyinstaller.org/"target="_blank" rel="noopener">distribution</a>, but it&rsquo;s not good, and that&rsquo;s not the maintainers&rsquo; fault. Ruby, like Python and PHP, was built to work on Linux.</p>
<p>To port it to Windows you have to write &ldquo;wrappers&rdquo;, and you still lack an environment with compilers like GCC to build extension packages. All of that is trivial on Linux and a headache on Windows. It wasn&rsquo;t worth the trouble, so the only way out was to run a virtual machine (like VirtualBox) with something like Vagrant to make it easier and use the real Linux Ruby.</p>
<p>Everything from Linux that &ldquo;works&rdquo; on Windows, whether Python or PHP, never worked 100%, and we just got used to it.</p>
<p>What Microsoft is shipping in the Anniversary Update is a very thin translation layer at the lowest level, and not a virtual machine or a hypervisor: from a &ldquo;virtual&rdquo; Linux kernel to the Windows kernel. Everything will think it&rsquo;s running on Linux. It&rsquo;s what the Wine project tries to do to run Windows applications on Linux, only in reverse. It&rsquo;s also different from Cygwin, which requires recompiling everything from Linux to get a semi-Linux environment on top of Windows.</p>
<p>There probably won&rsquo;t be a secondary graphical environment at first, so no X, no GNOME or KDE. And there&rsquo;s no need: we&rsquo;re in a Web world, our graphical environment now is HTML and Javascript, and Chrome and Firefox already run native on Windows. For things like compiling gems with native extensions, even GCC will work. It&rsquo;s the exact same binary, in the same environment, with everything we&rsquo;re used to on UNIX. Having Bash and SSH on Windows is just the tip of the iceberg.</p>
<p>The second announcement is the <a href="http://techcrunch.com/2016/03/31/thanks-to-microsoft-small-teams-can-now-get-xamarins-ide-and-core-tools-for-free"target="_blank" rel="noopener">release of the Xamarin tools for free and as open source</a>! Microsoft acquired Xamarin, Miguel de Icaza&rsquo;s company, not long ago. They built open-source .NET through pure reverse engineering, reimplementing everything as open source, and now Microsoft did the smart thing: on top of buying them, it opened the tools. The last thing still keeping a developer on the Mac was needing Xcode, which ships with OS X, to develop for iOS. Now you can do that on Windows for free.</p>
<p>So the math got much simpler. Windows 10 is the first respectable Windows version since the brief window of 7. Let&rsquo;s forget Windows 8 existed, the same way we already forgot Vista. XP is finally dead, it took over a decade, along with the hideous Internet Explorer 6, 7, and 8. Google did us the favor of making Chrome ubiquitous, and services like Facebook forced users to migrate faster.</p>
<p>With the <a href="http://arstechnica.com/information-technology/2016/03/windows-10-270-million-users-binbash-supporting-anniversary-update-coming-summer/"target="_blank" rel="noopener">Windows 10 Anniversary Update</a>, we&rsquo;ll probably be able to do:</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><pre><code>apt-get install build-essential
\curl -sSL https://get.rvm.io | bash
rvm install 2.3.0
bundle install</code></pre></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>And it should just work.</p>
<p>In the same environment, we&rsquo;ll still be able to use Xamarin Studio and, with a little effort to jog the C# muscle memory, build iOS and Android apps. We&rsquo;ll be able to use native Office 365, all the latest Adobe CS6 tools, and even play The Division, all on the same machine.</p>
<p>In one shot, Windows 10 becomes the best value choice: convenience of use, development options, and competent hardware in the form of the Surface Book, Lenovo Yoga 3, and Razer Blade Stealth, which finally caught up to and passed the legendary finish of the MacBook.</p>
<p>2016 is finally the infamous Year of Linux on the Desktop, just not the way the Free Software crowd wanted. You can&rsquo;t have everything.</p>
]]></content:encoded><category>microsoft</category><category>developer-tools</category><category>tech-market</category><category>off-topic</category></item><item><title>[Off-Topic] Tech Startups, B2C overcrowding. Boring.</title><link>https://akitaonrails.github.io/en/2013/11/14/off-topic-tech-startups-superlotacao-de-b2c-boring/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/11/14/off-topic-tech-startups-superlotacao-de-b2c-boring/</guid><pubDate>Thu, 14 Nov 2013 14:29:00 -0200</pubDate><description>&lt;p&gt;When &lt;a href="http://www.akitaonrails.com/2012/11/05/viagem-a-sao-francisco-parte-1-techcrunch-disrupt"target="_blank" rel="noopener"&gt;I was in San Francisco in 2012&lt;/a&gt;, I attended Techcrunch Disrupt (personally, &lt;em&gt;boring&lt;/em&gt;). Among the few things I remember, one was a comment from &lt;a href="http://techcrunch.com/2012/09/10/reid-hoffman-next-wave-of-tech-ipos-will-be-enterprise-with-consumer-flare-arrington-yawns/"target="_blank" rel="noopener"&gt;Reid Hoffman&lt;/a&gt;, founder of LinkedIn. I don&amp;rsquo;t remember the exact phrase, but in summary it went something like this:&lt;/p&gt;
&lt;blockquote&gt;
"Everyone's doing B2C startups, almost no one is solving the 'Enterprise' problem, the billion-dollar B2B market."
&lt;/blockquote&gt;
&lt;p&gt;Let me simplify. I&amp;rsquo;m treating &amp;ldquo;B2C,&amp;rdquo; business to consumer, as all the common sites we see today: social networks, instant messaging, content management, everything whose final target audience is the mass of individual consumers. And &amp;ldquo;B2B,&amp;rdquo; business to business, as the software solutions that solve both a corporation&amp;rsquo;s internal problems and problems that connect multiple corporations, where the target audience is legal entities. It&amp;rsquo;s a simplification, but it serves my purpose.&lt;/p&gt;</description><content:encoded><![CDATA[<p>When <a href="http://www.akitaonrails.com/2012/11/05/viagem-a-sao-francisco-parte-1-techcrunch-disrupt"target="_blank" rel="noopener">I was in San Francisco in 2012</a>, I attended Techcrunch Disrupt (personally, <em>boring</em>). Among the few things I remember, one was a comment from <a href="http://techcrunch.com/2012/09/10/reid-hoffman-next-wave-of-tech-ipos-will-be-enterprise-with-consumer-flare-arrington-yawns/"target="_blank" rel="noopener">Reid Hoffman</a>, founder of LinkedIn. I don&rsquo;t remember the exact phrase, but in summary it went something like this:</p>
<blockquote>
"Everyone's doing B2C startups, almost no one is solving the 'Enterprise' problem, the billion-dollar B2B market."
</blockquote>
<p>Let me simplify. I&rsquo;m treating &ldquo;B2C,&rdquo; business to consumer, as all the common sites we see today: social networks, instant messaging, content management, everything whose final target audience is the mass of individual consumers. And &ldquo;B2B,&rdquo; business to business, as the software solutions that solve both a corporation&rsquo;s internal problems and problems that connect multiple corporations, where the target audience is legal entities. It&rsquo;s a simplification, but it serves my purpose.</p>
<p>I&rsquo;ll repeat something I tweeted recently: &ldquo;entrepreneur&rdquo; is a state, not a career or a profession. Any person, individual or legal entity, by definition, is entrepreneuring. Even a student is, building their own knowledge to solve some problem in the future. A house cleaner is an entrepreneur, and today some even earn at scale by subcontracting others and distributing services.</p>
<p>So it&rsquo;s not only software developers who, by chance, won this &ldquo;privilege.&rdquo; In practice, there&rsquo;s nothing special about being an entrepreneur, you just have to not be a procrastinator.</p>
<p>Many young people, many not even in college yet, are dazzled by the false &ldquo;glamour&rdquo; of this short period, which could well be a bubble, or at least a temporary market anomaly. If you&rsquo;re in this group, I recommend my previous article, the translation of Alex Payne&rsquo;s post, <a href="/en/2013/10/31/traducao-carta-para-um-jovem-programador-considerando-uma-startup">Letter to a Young Programmer Considering a Startup</a>.</p>
<p>The exercise here is simple. Why do you think the overwhelming majority of tech startups invest in B2C web applications? And why are almost all of them so similar to each other? Basically, if you swap the logo, the name, and a few colors, many of them come out practically identical. Ecommerces are obvious. Vertical social networks. Mix a network-of-acquaintances component with verticals like jobs, classifieds, transportation (taxi), exercise and health.</p>
<p>The answer is frighteningly simple: it&rsquo;s all an inexperienced person knows. Their day-to-day boils down to using Facebook, Instagram, Medium, and Tumblr. To taking the bus and the subway. To going to an emergency room or getting some exams. To going to the gym. To attending a university. And all of it from the consumer&rsquo;s point of view, never the provider&rsquo;s or producer&rsquo;s. That&rsquo;s why everything comes out more or less the same.</p>
<h2>The Corporate World Is Very Boring<span class="hx:absolute hx:-mt-20" id="the-corporate-world-is-very-boring"></span>
    <a href="#the-corporate-world-is-very-boring" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The most frightening side effect is that &ldquo;tech startups&rdquo; and the pseudo-career of &ldquo;entrepreneur&rdquo; come as the salvation of whoever read blogs, tweets, and Facebook posts about how &lsquo;horrendous&rsquo; the life of a worker at an agency, at a big company, at a corporation is. The bureaucracy, the politicking, the hierarchical structure. All of it painted as if getting a job were walking down death row, and as if being employed at a corporation were being tortured daily in cruel ways.</p>
<p>And worst of all: most young, inexperienced people believe it. <a href="http://www.urbandictionary.com/define.php?term=tl%3Bdr"target="_blank" rel="noopener">TL;DR</a>: it isn&rsquo;t entirely true.</p>
<p>To make it worse, <a href="/en/2008/10/09/off-topic-entendendo-a-crise-econ-mica">Black Swans</a> really do show up along the way. Facebook, Tumblr, Snapchat, Twitter. That gives the impression the feat can be repeated. Not understanding the <a href="http://pt.wikipedia.org/wiki/Lei_dos_grandes_n%c3%bameros"target="_blank" rel="noopener">Law of Large Numbers</a> can be fatal.</p>
<p>In short: given millions of people trying to win the lottery, one eventually wins. But there&rsquo;s no repeatable process that gets you there. It&rsquo;s a dead-end of randomness. Thank Bernoulli and Poisson for warning us about it, even though few know it today.</p>
<p>I&rsquo;m not saying there&rsquo;s no value in B2C. Of course there is, just far more limited than people imagine. The other side of the coin, the corporate world, is almost immune to startups. We know the big names: SAP, Oracle, Microsoft, Totvs. On the purely technical side, this is very low-quality software that, &lsquo;magically&rsquo; for some, moves billions of dollars. And it&rsquo;s a market that has seen little or almost no disruption in decades.</p>
<p>The reason is simple: few have stopped to understand how this world works. Think about someone trying to break into ecommerce. The shallow understanding is that an ecommerce is a &ldquo;virtual store.&rdquo; I see it differently: I understand ecommerce as one more <a href="http://www.investopedia.com/terms/d/distribution-channel.asp"target="_blank" rel="noopener">distribution channel</a>.</p>
<p>Behind it there are countless consolidated processes that anyone who has worked in <a href="http://en.wikipedia.org/wiki/Retail"target="_blank" rel="noopener">retail</a> knows well. Distribution centers, Supply Chain, pricing strategies, taxation and material transport, purchase approval, inventory and warehouse management. Familiar territory for anyone who has worked with Sales and Distribution. Alien to everyone else.</p>
<p>Job sites. Few grasp what that means, but it&rsquo;s a small leg of the area known as HR, Human Resources. It means understanding labor law, labor liability, benefits, recruitment and selection, training, payroll, timesheets, travel.</p>
<p>Understand this: you have no chance of offering anything to the corporate market without having actively taken part in it. To someone who has never been there, a corporation is a black box. And most immediatist people tend to back away from what they don&rsquo;t understand instead of exploring it. A &ldquo;hacker&rdquo; does the opposite: cracks black boxes open. Whoever just consumes stays a script kid thinking they&rsquo;re more than they are.</p>
<p>When you pass through several companies, several contexts and situations, different processes at different stages, only then do you start to understand the problem domain. Do this a few times and maybe you start to see how to improve or, better yet, &ldquo;innovate&rdquo; in this segment.</p>
<p>Innovation in the corporate market starts with simple process optimization, and can end in the complete replacement of an old process or the creation of an entirely new vertical. But innovation, on its own, is a process, with stages that have to be cleared one by one. And the first stage is invariably acquiring knowledge.</p>
<p>There are no shortcuts. Even in B2C it amazes me to see someone try to build a product for the masses without understanding the persuasion techniques accumulated in the body of knowledge called &ldquo;marketing.&rdquo;</p>
<p>The shortcut of building copy-cat tech startups, blindly believing in a nonexistent promise, is raising a generation that&rsquo;s ignorant of the processes that govern this enormous market. And some things are time-dependent. I took advantage of that by entering the market early, aiming to figure out how its gears work.</p>
<p>When you&rsquo;re the youngest, mistakes weigh less and wins are overvalued. Once you&rsquo;re past that age, mistakes become intolerable and wins are treated as the expected norm. And the later it gets, the less chance you have of understanding how the world works, with more and more doors closed.</p>
<p>Obviously I&rsquo;m generalizing. There are exceptional cases where this works differently, but if you don&rsquo;t yet know whether you&rsquo;re an exceptional case, the odds are that you aren&rsquo;t.</p>
<p><a href="http://en.wikipedia.org/wiki/Serendipity"target="_blank" rel="noopener">Serendipity</a> only happens when you expose yourself to the widest possible variety of situations, creating opportunities. In a single startup, a single product, a single unproven idea, the chances of serendipity collapse.</p>
<p>The advantage of an SAP, over its several decades of existence, was accumulating the knowledge of every process, of every industry, sweeping through nearly everything important in the corporate world. And even so there are areas it still can&rsquo;t quite touch, which opens room for a Salesforce.com to stand out. Now picture whoever is artificially limiting themselves.</p>
<p>More than that: with no knowledge at all and the illusion that &ldquo;mistakes&rdquo; are good because they turn into learning, we forget the obvious. Erring is human. Erring at what is already notoriously wrong is stupidity, pure and simple.</p>
<p>Charging a client without having signed a contract first, then calling them dishonest for not paying in full, shows the stupidity of whoever didn&rsquo;t sign the contract. Spending the money up front as &ldquo;investment&rdquo; and then running into payroll trouble is amateurism from someone who ignores the basics of cash flow.</p>
<p>Rewriting entire systems without knowing what it will cost in development hours, user training, integrations, data migration, and opportunity cost is another huge blunder from someone who can&rsquo;t do basic cost analysis. All of this is plain stupidity, you don&rsquo;t need to err to learn it. Seeing it happen once was enough: every company does this, for decades, long before you were born.</p>
<p>This is inexperience, which is normal, nobody is born knowing everything. That&rsquo;s why acquiring experience matters so much. Without it you&rsquo;re always at a disadvantage, because you wanted a shortcut you thought would save 5 years and it&rsquo;ll leave you 10 years behind.</p>
<p>The B2C world is over-saturated. The B2B world will stay free of important startups for a few more years, since this generation is also wasting time and effort in inefficient ways, throwing away everything we&rsquo;ve known for years. And remember: avoiding waste, as I recall, is the pillar of &ldquo;Lean.&rdquo;</p>
]]></content:encoded><category>startups</category><category>business</category><category>tech-market</category><category>off-topic</category></item><item><title>[Off-Topic] Comfort Zone: Taking to the Streets Isn't the Only Solution</title><link>https://akitaonrails.github.io/en/2013/07/23/off-topic-zona-de-conforto-sair-as-ruas-nao-e-a-unica-solucao/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2013/07/23/off-topic-zona-de-conforto-sair-as-ruas-nao-e-a-unica-solucao/</guid><pubDate>Tue, 23 Jul 2013 14:20:00 -0300</pubDate><description>&lt;p&gt;First published on &lt;a href="http://web.archive.org/web/20150404181526/http://startupi.com.br/2013/07/zona-de-conforto-sair-as-ruas-nao-e-a-unica-solucao/"target="_blank" rel="noopener"&gt;2013-07-23T09:17:20+00:00&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Taking to the streets isn&amp;rsquo;t the only solution.&lt;/p&gt;
&lt;blockquote&gt;"Never in the history of the world has anyone ever achieved anything good and valuable by means of prayers and supplications" – J.P. Morgan&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/509/34strikebloody-thursday-fighting.jpg" alt="" loading="lazy" /&gt;&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t want to judge or analyze the #vemprarua (&amp;ldquo;come to the streets&amp;rdquo;) movements that took over the country&amp;rsquo;s streets in the recent past. It&amp;rsquo;s a tangle I&amp;rsquo;ll leave for political scientists and historians to untangle. What I want to elaborate on is a mindset that comes out of this kind of movement and shows up in our day-to-day: &lt;em&gt;&amp;ldquo;claiming,&amp;rdquo;&lt;/em&gt; the act of &lt;em&gt;&amp;ldquo;complaining, demanding.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;</description><content:encoded><![CDATA[<p>First published on <a href="http://web.archive.org/web/20150404181526/http://startupi.com.br/2013/07/zona-de-conforto-sair-as-ruas-nao-e-a-unica-solucao/"target="_blank" rel="noopener">2013-07-23T09:17:20+00:00</a></p>
<p>Taking to the streets isn&rsquo;t the only solution.</p>
<blockquote>"Never in the history of the world has anyone ever achieved anything good and valuable by means of prayers and supplications" – J.P. Morgan</blockquote>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/509/34strikebloody-thursday-fighting.jpg" alt=""  loading="lazy" /></p>
<p>I don&rsquo;t want to judge or analyze the #vemprarua (&ldquo;come to the streets&rdquo;) movements that took over the country&rsquo;s streets in the recent past. It&rsquo;s a tangle I&rsquo;ll leave for political scientists and historians to untangle. What I want to elaborate on is a mindset that comes out of this kind of movement and shows up in our day-to-day: <em>&ldquo;claiming,&rdquo;</em> the act of <em>&ldquo;complaining, demanding.&rdquo;</em></p>
<p>It&rsquo;s very common for this new generation to fall into the trap of thinking that demanding is the best solution to problems. They&rsquo;re wrong. Barring extreme cases, that&rsquo;s always the worst possible solution. In the daily life of the common man, demanding is just a declaration of your own incompetence.</p>
<p>Let&rsquo;s consider our tech market in general:</p>
<ul>
<li>Demanding better working conditions: nobody works anymore in dirty, smoky factories, alongside rats and sewage. Come on, nobody even works 8 hours a day nonstop, at most 4 hours stretched over 8.</li>
<li>Demanding better salaries: it&rsquo;s a free market, with dozens of tech companies of all sizes and categories. Mobility is easy. Of course, only someone with the ability to do it manages to move from one company to another for more money. Whoever stays put, unhappy, and only knows how to &ldquo;demand&rdquo; a raise is already showing their low character.</li>
<li>Demanding investments: it seems startup &rsquo;entrepreneurs&rsquo; today are turning into &lsquo;professional beggars,&rsquo; convinced they can only move forward once an investor hands them money.</li>
</ul>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/508/10.jpg" alt=""  loading="lazy" /></p>
<p>The &ldquo;demanding&rdquo; mindset leads to another one, the &ldquo;cheap complainer,&rdquo; the person who blames everyone but themselves.</p>
<ul>
<li>&ldquo;What they&rsquo;re asking is impossible to do in this time and cost.&rdquo; The thinking behind it: &ldquo;I can&rsquo;t picture a way, so it must be impossible.&rdquo;</li>
<li>&ldquo;The product&rsquo;s users are stupid, the problem isn&rsquo;t the product.&rdquo; The thinking: &ldquo;if I made it, it can only be good; if they&rsquo;re complaining, they&rsquo;re the stupid ones.&rdquo;</li>
<li>&ldquo;The market is unfair: I know more and earn less than I should.&rdquo; The thinking: &ldquo;I know I&rsquo;m really good, so why don&rsquo;t they pay me what I want?&rdquo;</li>
<li>&ldquo;They only criticize me, and what about the other guy who also didn&rsquo;t do it?&rdquo; Nobody likes being criticized, but without criticism there&rsquo;s no progress. Worse still when the first reaction to criticism is to compare it with someone else&rsquo;s mistake or to justify it by blaming others. That profile will never go far. Praise doesn&rsquo;t help anyone evolve, cheap praise least of all.</li>
</ul>
<p>The &ldquo;Me me me&rdquo; Generation is the most sensitive I&rsquo;ve ever seen. It should be called the &ldquo;Porcelain Generation,&rdquo; because it breaks way too easily.</p>
<p>In the Industrial Revolution people were literally hard as iron. There was no option: many died in the factories, and the concept of &ldquo;working conditions&rdquo; didn&rsquo;t even exist. In the agricultural era, people worked from sunrise to sunset, earning very little and carrying tons on their backs.</p>
<p>Now this digital era has a stereotypically Emo resilience (nothing to do with the origins of hardcore punk): scratch a fingernail and they panic. Adolescence is being stretched, and adulthood only shows up after 30 (back in the day, 16 was a good age to take on an adult role).</p>
<p>That should actually be a good thing, because it means we&rsquo;ve raised comfort to a level never seen in millennia of human history. But there&rsquo;s a side effect: the new generation grew up without understanding how hard it was to get here.</p>
<p>All of this can lead to a question: &ldquo;so I&rsquo;m supposed to swallow everything I don&rsquo;t like?&rdquo; Not at all. And here&rsquo;s a hook back to my previous article <a href="http://www.akitaonrails.com/2013/04/01/off-topic-restricoes-sao-libertadoras-menos-e-mais"target="_blank" rel="noopener">&ldquo;Constraints are Liberating: less is more&rdquo;</a>.</p>
<p>Always assume this premise: nobody is ever going to give you what you want or need, much less anything beyond that. If you haven&rsquo;t earned it, you don&rsquo;t deserve what you&rsquo;re asking for, and nobody has any obligation even to listen to what you have to say. It&rsquo;s on you, and only you, to solve your own problem, with your own sweat and your own tears.</p>
<p>To me, the difference between a child and an adult is simple: an adult solves their own problems with their own hands and never expects them to be solved for free. And &ldquo;solving&rdquo; means actually solving, without blaming others, without demanding, without sweeping the problem under the rug.</p>
<p><img src="https://akitaonrails.s3.amazonaws.com/assets/image_asset/image/507/340857.jpg" alt=""  loading="lazy" /></p>
<p>And when the problem looks &ldquo;impossible&rdquo; is exactly when you get the best chance to innovate. Innovation comes precisely out of an impossible situation. A thing is impossible when you can&rsquo;t pull it off with what we know today. You can only solve it down a different path, one nobody knows yet.</p>
<p>The teenagers graduating from colleges today see this trendy &ldquo;Startup&rdquo; wave and want to be &ldquo;entrepreneurs.&rdquo; All they learn to do is put together PowerPoints for Demo Days. They believe their &ldquo;education&rdquo; (which is thin, no matter the MBA or PhD) and their &ldquo;idea&rdquo; are enough to crown themselves &ldquo;entrepreneurs.&rdquo; That&rsquo;s little, extremely little.</p>
<p>An &ldquo;entrepreneur&rdquo; who takes low risk and makes low sacrifice is just an average employee with a fancy title. An &ldquo;idea&rdquo; and a possible investment solve very little.</p>
<p>First, go work in a real industry to learn how it works and, who knows, find a solution nobody has tried yet. Because here&rsquo;s another truth: whatever idea you have, someone has probably had it before and already tried it in all sorts of ways. The odds of you having a truly original idea are low.</p>
<p>Only when you land in an impossible situation, where everything has already been tried, does the chance to try something new and maybe innovative show up. As you try to solve it, you might end up finding a solution that already existed and discover that your &ldquo;impossible&rdquo; was just not knowing what was already known. Then you move on to the next problem.</p>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/gR7oHh-fXUw"
    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>
  </iframe>
</div>

<p>I was watching the History Channel series <a href="http://web.archive.org/web/20130717090520/http://www.seuhistory.com/programas/gigantes-da-industria.html"target="_blank" rel="noopener">&ldquo;The Men Who Built America&rdquo;</a>, which shows, in a romanticized way, part of the story of how the United States conquered and earned its place as the biggest economic power in the world. The story starts like ours: nobody gave them anything, everything had to be earned. It has some good examples I like to cite.</p>
<ul>
<li>It was impossible to transport goods across the entire country by horse or even by ship; it became more and more necessary to find ways to shorten that time. It was the railroads of <a href="http://pt.wikipedia.org/wiki/Cornelius_Vanderbilt"target="_blank" rel="noopener">Vanderbilt</a> that connected all the states of the country.</li>
<li>It was impossible to have a corporation as large and massive as <a href="http://en.wikipedia.org/wiki/Standard_Oil"target="_blank" rel="noopener">Standard Oil</a> once was, but Rockefeller innovated what we know today as corporate structures, many of his practices later deemed illegal. If you&rsquo;ve ever filled your tank at an Esso station here in Brazil, it&rsquo;s worth remembering where it all started.</li>
<li>It was impossible to cross the great Mississippi River with an iron bridge. Connecting the East and West of the country seemed impossible. It took an Andrew Carnegie to execute the idea of an affordable steel industry at large scale to solve this problem. <a href="http://en.wikipedia.org/wiki/Carnegie_Steel_Company"target="_blank" rel="noopener">Carnegie Steel</a> was formed, which would later become US Steel.</li>
<li>It was impossible to have electricity distributed to every home in the country. It literally took the <a href="https://en.wikipedia.org/wiki/War_of_Currents"target="_blank" rel="noopener">&ldquo;blood&rdquo;</a> of geniuses like Edison, Tesla, Westinghouse, and Morgan to reach this goal. Today we don&rsquo;t even think about it, because everyone assumes electricity is something &ldquo;natural.&rdquo; It wasn&rsquo;t.</li>
<li>It was impossible to improve the brutal working conditions in factories and have productivity at the same time. <a href="http://pt.wikipedia.org/wiki/Henry_Ford"target="_blank" rel="noopener">Henry Ford</a> changed that with the refinement of his production line. By the way, remember the model that made him famous was the Ford Model T; to get to &ldquo;T&rdquo; he started at model &ldquo;A.&rdquo;</li>
</ul>
<p>These and other <a href="http://en.wikipedia.org/wiki/Self-Made_Men"target="_blank" rel="noopener">&ldquo;self-made men&rdquo;</a> changed the world one way only: by solving one problem at a time, without claiming, complaining, or demanding. And the more &ldquo;impossible&rdquo; the problem was, the more &ldquo;revolutionary&rdquo; the solution turned out to be. That&rsquo;s how great entrepreneurs are made: solving their own problems with their own hands.</p>
<p>The opening quote of the article sums up its content, and the next one defines it:</p>
<blockquote>"Vision without execution is hallucination" – Thomas Edison</blockquote>
]]></content:encoded><category>career</category><category>startups</category><category>tech-market</category><category>off-topic</category></item><item><title>[Off-Topic] The Damn Regulation Law Is Back!</title><link>https://akitaonrails.github.io/en/2009/08/22/off-topic-maldita-lei-de-regulamenta-o-est-de-volta/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2009/08/22/off-topic-maldita-lei-de-regulamenta-o-est-de-volta/</guid><pubDate>Sat, 22 Aug 2009 17:01:00 -0300</pubDate><description>&lt;p&gt;&lt;strong&gt;Update 09/08/2009:&lt;/strong&gt; A brief mention in a &lt;a href="http://web.archive.org/web/20090919011125/http://br.noticias.yahoo.com:80/s/02092009/25/tecnologia-projeto-quer-exigir-diploma-profissao.html"target="_blank" rel="noopener"&gt;Yahoo! News&lt;/a&gt; story on this subject.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 08/26/2009:&lt;/strong&gt; Excellent historical analysis of a good legislative proposal that had already been rejected once, via &lt;a href="http://web.archive.org/web/20090828015946/http://www.gizmodo.com.br:80/conteudo/made-brazil-regulamentacao-de-analistas-de-sistemas-ja-foi-discutida-pelo-congresso-e-o-qu-0"target="_blank" rel="noopener"&gt;Gizmodo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update: 08/25/2009:&lt;/strong&gt; I just added a long argumentative text about the Law in this article.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s in the &lt;a href="http://web.archive.org/web/20090826104306/http://www.tiinside.com.br:80/News.aspx?ID=143390&amp;amp;C=265"target="_blank" rel="noopener"&gt;news&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The proposal that regulates the practice of the systems analyst profession was approved this Wednesday, the 19th, by the Senate&amp;rsquo;s Committee on Constitution, Justice and Citizenship (CCJ). The bill (&lt;a href="http://www.senado.gov.br/sf/atividade/Materia/Detalhes.asp?p_cod_mate=82918"target="_blank" rel="noopener"&gt;PLS 607/07&lt;/a&gt;), authored by Senator &lt;a href="http://www1.folha.uol.com.br/folha/brasil/ult96u582101.shtml"title="PR-RO"target="_blank" rel="noopener"&gt;Expedito Júnior&lt;/a&gt;, now goes to the Committee on Social Affairs (CAS) for a terminal decision.&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Update 09/08/2009:</strong> A brief mention in a <a href="http://web.archive.org/web/20090919011125/http://br.noticias.yahoo.com:80/s/02092009/25/tecnologia-projeto-quer-exigir-diploma-profissao.html"target="_blank" rel="noopener">Yahoo! News</a> story on this subject.</p>
<p><strong>Update 08/26/2009:</strong> Excellent historical analysis of a good legislative proposal that had already been rejected once, via <a href="http://web.archive.org/web/20090828015946/http://www.gizmodo.com.br:80/conteudo/made-brazil-regulamentacao-de-analistas-de-sistemas-ja-foi-discutida-pelo-congresso-e-o-qu-0"target="_blank" rel="noopener">Gizmodo</a></p>
<p><strong>Update: 08/25/2009:</strong> I just added a long argumentative text about the Law in this article.</p>
<p>It&rsquo;s in the <a href="http://web.archive.org/web/20090826104306/http://www.tiinside.com.br:80/News.aspx?ID=143390&amp;C=265"target="_blank" rel="noopener">news</a>:</p>
<blockquote>
  <p>The proposal that regulates the practice of the systems analyst profession was approved this Wednesday, the 19th, by the Senate&rsquo;s Committee on Constitution, Justice and Citizenship (CCJ). The bill (<a href="http://www.senado.gov.br/sf/atividade/Materia/Detalhes.asp?p_cod_mate=82918"target="_blank" rel="noopener">PLS 607/07</a>), authored by Senator <a href="http://www1.folha.uol.com.br/folha/brasil/ult96u582101.shtml"title="PR-RO"target="_blank" rel="noopener">Expedito Júnior</a>, now goes to the Committee on Social Affairs (CAS) for a terminal decision.</p>
<p>Under the substitute bill previously approved by the Committee on Science, Technology, Innovation, Communication and Information Technology (CCT) and adopted by the CCJ rapporteur, Senator <a href="http://g1.globo.com/Noticias/Politica/0,,MUL67360-5601,00.html"title="PSDB-GO"target="_blank" rel="noopener">Marconi Perillo</a>, only professionals with a university degree in systems analysis, computer science or data processing will be allowed to practice the systems analyst profession.</p>

</blockquote>
<p>I recommend everyone reread <a href="/en/2008/04/19/off-topic-vamos-todos-impedir-a-regulamenta-o-da-profiss-o-de-analista-de-sistema">my article from last year</a> on this topic. This law is a complete farce, created by this <a href="http://www1.folha.uol.com.br/folha/brasil/ult96u582101.shtml"title="PR-RO"target="_blank" rel="noopener">Expedito Júnior</a> and embraced by this <a href="http://g1.globo.com/Noticias/Politica/0,,MUL67360-5601,00.html"title="PSDB-GO"target="_blank" rel="noopener">Marconi Perillo</a>.</p>
<h2>The Text of the Proposed Law<span class="hx:absolute hx:-mt-20" id="the-text-of-the-proposed-law"></span>
    <a href="#the-text-of-the-proposed-law" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>I decided to go through the text more carefully. The original proposal was the failed Bill No. 1,947 of 2003 by Eduardo Paes, thankfully shelved. Not satisfied, Expedito Júnior introduced the <strong>disastrous</strong> Bill No. 607 of 2007. I recommend reading the original version first, available as a PDF <a href="http://www.senado.gov.br/sf/atividade/Materia/getTexto.asp?t=11569&amp;c=RTF"target="_blank" rel="noopener">at this link</a>.</p>
<p>The first review was by the Committee on Science, Technology, Innovation, Communication and Information Technology, published on <strong>03/05/2008</strong>. It isn&rsquo;t entirely bad, but it has several flawed points of interpretation, and I&rsquo;d rather not decide whether that comes down to bad faith or laziness. The report opens by citing the SBC, the Brazilian Computing Society:</p>
<blockquote>
  <p>According to information disclosed by the SBC itself, what matters in regulating the profession is the observance of certain principles such as the free exercise of activities related to the information technology field. Thus, no professional council should create any obstacle or restriction to the above principle, and the field should be self-regulated.</p>

</blockquote>
<p>That&rsquo;s correct, and I think everyone in the field agrees with it. But the very next paragraph gets the interpretation wrong, obviously written by someone from outside the field:</p>
<blockquote>
  <p>In this case, that is not the issue, because art. 2 establishes that professionals &ldquo;may&rdquo; practice the profession of Systems Analyst, Computer Science or Data Processing, which greatly expands the possibilities for professional classification, covering practically all university courses in the information technology field.</p>

</blockquote>
<p>To be clear, art. 2 states the following:</p>
<blockquote>
  <p>Art. 2. The following may practice the profession of Systems Analyst in the country:</p>
<p>I – holders of a university degree in Systems Analysis, Computer Science or Data Processing, issued by official or accredited schools;</p>
<p>II – graduates of foreign schools recognized by the laws of their country who have had their diplomas revalidated in accordance with current legislation;</p>
<p>III – those who, at the time this Law takes effect, can demonstrate that they have practiced the role of Systems Analyst for a minimum of five years</p>

</blockquote>
<p>In other words, the interpretation leaves out self-taught individuals and students who chose not to get a formal degree for various reasons (see my article <a href="/en/2009/04/17/off-topic-devo-fazer-faculdade">Should I Get a Degree?</a>). The article excludes a good chunk of the most qualified professionals.</p>
<p>Even item III doesn&rsquo;t spell out what &ldquo;demonstrated five or more years of practice&rdquo; means. Does an employment record count? Does an invoice for IT services billed to a client count? What are the criteria?</p>
<p>The analysis continues with the assertion:</p>
<blockquote>
  <p>Art. 4 of the bill, in establishing what the activities and attributions are, does not restrict the activities of other professionals. Nor is any exclusivity established or is it stated that any particular activity or attribution will be reserved for holders of degrees in the aforementioned professions.</p>

</blockquote>
<p>Article 4 defines activities such as definition, management and coordination of software projects, explicitly including &ldquo;coding.&rdquo; That is, everything project managers, architects, programmers and the like do. And the same article gives us:</p>
<blockquote>
  <p>Sole paragraph. Technical responsibility for projects and systems for data processing, information technology and automation, as well as the issuance of technical opinions, reports or assessments, are <strong>exclusive</strong> to the Systems Analyst.</p>

</blockquote>
<p>I may be misreading it, but that paragraph looks clearly exclusive to me and, once again, leaves out self-taught programmers. The analysis then falls back on some <a href="http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt"target="_blank" rel="noopener">FUD</a>:</p>
<blockquote>
  <p>One cannot imagine that the data processing center of a public body, financial system institutions, or even private companies could do without the technical accountability of a professional character, given the interface and synergy created with citizens, clients and consumers.</p>

</blockquote>
<p>This is the wrong justification behind most arguments in favor of the law: that a formally trained professional is always far superior to a more experienced self-taught one. It&rsquo;s the entire basis of my argument in <a href="/en/2008/04/19/off-topic-vamos-todos-impedir-a-regulamenta-o-da-profiss-o-de-analista-de-sistema">my article from last year</a>. I recommend reading it carefully.</p>
<p>To be fair to the analysis, it did at least suggest cutting the most serious parts:</p>
<ul>
<li>suppression of articles 7 through 33, which create the Federal Council and Regional Councils of Informatics;</li>
<li>exclusion, in item III of art. 2, of the clause &ldquo;… and who must register with the Regional Councils of Informatics&rdquo;;</li>
<li>exclusion, in item II of art. 3, of the clause &ldquo;… and who must register with the Regional Councils of Informatics&rdquo;;</li>
</ul>
<p>Which brings us to the latest mess: the approval in the Committee on Constitution, Justice and Citizenship, published on 08/19/2009. The proposal passed with all the modifications suggested by the Committee on Science and Technology listed above.</p>
<p>Fortunately, the suppression of articles 7 through 33 was maintained:</p>
<blockquote>
  <p>… there is <strong>unconstitutionality</strong> of a formal nature in the provisions dealing with the supervision and exercise of the profession, as well as the registration of professionals and the payment of fees … These articles are therefore tainted by unconstitutionality, since parliamentary initiative to create public bodies and assign them functions is prohibited, by virtue of the aforementioned provision of the Constitution …</p>

</blockquote>
<p>In plain terms, this <strong>removes</strong> the chapters that created the oversight bodies: the Federal Council of Informatics, the Regional Councils, professional registration and oversight, annual fees, emoluments and rates and, finally, infractions and penalties. Those would have been the most harmful parts if implemented. I really hope they stay out.</p>
<h2>The Seventh Element<span class="hx:absolute hx:-mt-20" id="the-seventh-element"></span>
    <a href="#the-seventh-element" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Since 08/20/2009 the substitute bill has been awaiting a rapporteur at the Committee on Social Affairs, where it can be approved or shelved. The way things are going, it looks like it&rsquo;ll pass without much trouble, which is <strong>terrible</strong>!</p>
<p>My arguments in the article <a href="http://www.akitaonrails.com/en/2008/04/19/off-topic-vamos-todos-impedir-a-regulamenta-o-da-profiss-o-de-analista-de-sistema"target="_blank" rel="noopener">Let&rsquo;s Stop the Regulation</a> from last year still hold. Even after giving up the articles that created the whole bureaucratic machine and the penalties, it&rsquo;s still a terrible law for the market. Worse: art. 7 of the current substitute bill makes me <strong>very</strong> uneasy:</p>
<blockquote>
  <p><strong>Art. 7.</strong> The Executive Branch will be responsible for supervising and overseeing the practice of the Systems Analyst profession, and for the registration of IT professionals.</p>

</blockquote>
<p>This single article replaces articles 7 through 33 without defining anything, leaving it open and arbitrary what the Executive will do about supervising and registering professionals. Deep down, everything that was removed is still implicitly valid.</p>
<p>This article didn&rsquo;t exist in the 2008 version from the Committee on Science and Technology. It was the only thing added in the version approved by the CCJ on 08/19/2009 and is, in my opinion, what made the text regress the most. The report reads:</p>
<blockquote>
  <p>On the other hand, to give viability to the objective of this initiative, we also wish to add an article aimed at delegating to the Executive Branch the function of deliberating on the matters dealt with in the articles suppressed herein. Thus, we accept the Substitute offered by the Committee on Science and Technology, with the addition of a provision.</p>

</blockquote>
<h2>Conclusion<span class="hx:absolute hx:-mt-20" id="conclusion"></span>
    <a href="#conclusion" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>If the Committee on Social Affairs approves this law, it will be an enormous setback for the national IT market. It has the potential to be even more destructive than the market-reservation laws for IT from the 1980s, which left us almost a decade behind the First World in modernization.</p>
<p>As the SBC itself pointed out, this market should be free and self-regulated, which it already is in practice. There&rsquo;s no need whatsoever for regulation of this kind.</p>
<p>I&rsquo;ve said before that we can discuss a more realistic text. But this particular one is far too harmful to be considered. It would need to be rewritten from scratch by experienced professionals active in the field, together with the entire new generation of developers.</p>
<p>I know of no parallel to this law anywhere in the world (if anyone does, please comment here). It restricts the activity by starting from the <strong>wrong premise</strong> that formally trained professionals are always better than self-taught ones, which, from personal experience, is very false. Some of the best people I&rsquo;ve worked with over these past 15 years had no degree.</p>
<p>Most people in favor fall into two groups: those who have read the bill and its proceedings, and those who haven&rsquo;t. Those who haven&rsquo;t simply don&rsquo;t know what they&rsquo;re talking about.</p>
<p>Those who have read it and still agree are exactly the bad professionals who can&rsquo;t compete with self-taught people and want to lean only on the force of &ldquo;credentials&rdquo; as the criterion. This market self-regulates as bad professionals get naturally pushed into lower-value activities.</p>
<p>There&rsquo;s also a confusion between the careers of &ldquo;coder&rdquo; and &ldquo;developer.&rdquo; The coder is a commodity, close to a typist, who just translates diagrams and requirements into code with no attention to quality. The developer is a born architect, with total control over their own creation. One is a commodity; the other is the &ldquo;cream of the crop,&rdquo; rising in the market through pure meritocracy and natural selection via networking. With some exceptions, I&rsquo;d say it&rsquo;s a reasonable implementation of <a href="http://en.wikipedia.org/wiki/Laissez-faire"target="_blank" rel="noopener">laissez-faire</a>.</p>
<p>Our field doesn&rsquo;t even have a consolidated working methodology. We&rsquo;re still moving from the Taylorist-Fordist Classical Software Engineering based on Waterfall to the post-Toyotist Agile movement of Lean, Scrum, XP and others. Our tools today and the ones from ten years ago are quite different, and the internet completely changed the course of the profession.</p>
<p>These changes are too sudden to try to regulate. In a scenario like this, the free market is the best way to deal with the problem.</p>
<p>For all of this, I remain vehemently opposed to this proposal and hope there are sensible people on the Committee on Social Affairs, with the good sense to ask society and us, the affected category, before shelving this text once and for all.</p>
]]></content:encoded><category>law-and-regulation</category><category>career</category><category>tech-market</category><category>off-topic</category></item></channel></rss>