The Guru College Recent content on The Guru College Hugo -- en-us Thu, 30 Nov 2017 09:00:00 -0500 Backups, Revisited Thu, 30 Nov 2017 09:00:00 -0500 <p>In the months since I <a href="">posted</a> about backups, I&rsquo;ve divested myself from CrashPlan and have been backing up the photo library with BackBlaze&rsquo;s B2 object storage service. I also upgraded my home internet connection to synchronous gigabit fiber, which meant I was able to backup the 3.6 TB of photos in my archive to the cloud in a little less than 3 days. The total cost so far is ~$18/month, which is very reasonable for what I&rsquo;m storing and how important it is.</p> <p></p> <p>It&rsquo;s been eye opening how much better the management of my data is now that I&rsquo;m controlling the tools and the files. Even using only the <code>b2</code> utility, I have far more freedom and control than I ever had with CrashPlan&rsquo;s client, and I&rsquo;m secure in the knowledge that my cron jobs work and work correctly.</p> <pre><code>#!/bin/bash /usr/bin/find /backups -type f &gt; /backups/contents.txt /usr/local/bin/b2 sync --noProgress --threads 30 \ --delete --excludeRegex &quot;^\.&quot; /backups \ b2://&lt;bucket_name&gt; </code></pre> <p>I&rsquo;m certain there&rsquo;s better ways to do this, but considering the time I&rsquo;ve put into this solution, and the ability to positively affirm it&rsquo;s working the way I want makes me happy.</p> Backups Sat, 26 Aug 2017 19:52:34 -0400 <p><a href="">Code 42</a>, the makers of <a href="">Crashplan</a>, recently announced they were <label for="mn-example" class="margin-toggle">&#8853;</label> <input type="checkbox" id="mn-example" class="margin-toggle"/> <span class="marginnote">Leaving aside the insane economics of letting users store as much as they can, from up to 10 computers, for $14 a month, and allowing network shares to be backed up, it appears that doing small business backups is a more profitable market.</span> planning to exit the consumer market. Current customers can continue using their subscriptions as long as they are valid, and they are being extended by 60 days in all cases to let people find the exit. As I&rsquo;m (or, I guess, was?) a Crashplan for Home customer - and have been since at least 2011 - this means I&rsquo;m in need of a new solution.</p> <p>As much as I&rsquo;m tempted by the idea of moving to yet another <em>unlimited at least until we discover the problem with that plan</em> provider, I&rsquo;m starting to seriously think about using something like <a href="">ARQ</a> to upload and preserve my datasets to pay-as-you-go cloud storage providers. The best known, of course, is Amazon S3, but there are many others, and ARQ supports a crazy list of them. If I go down this route, I&rsquo;d also look into something like <a href="">duplicity</a> or <a href="">borg</a> to backup my fileserver.</p> <p>I have something on the order of 6 TB of data I&rsquo;d like to preserve. The first 1TB is frequently changing data that is critical to be able to recover. The next TB is critical but changes very infrequently, and the rest is my photo archive, which never changes, and is only needed if my house burns down. The appealing part of using ARQ, borg, or duplicity (or tools like them) is the data can be tiered out and costed separately. Multiple versions for rapidly changing datasets in standard S3 buckets, and larger archives in either S3 Infrequent Access, S3 Glacier, or Backblaze B2 storage, as it costs far less, and my access pattern for that data is very different. It looks like I can get my costs to come in close to $35 per month, which is a bitter pill to swallow when compared with my old deal of $14/month, but it&rsquo;s not going to kill me.</p> <p>The best part about this plan is that there&rsquo;s no fear of the providers going away - at least not in the sense that Crashplan has. I&rsquo;m tempted to look at the Backblaze desktop client itself - $5/computer/month with <em>unlimited</em> data - but that <em>unlimited</em> part worries me. Internet history is littered with the remains of companies that have promised unlimited storage, and have had to either withdraw the plans or fold completely. I&rsquo;d much rather pay as I go, know where my storage lives, and know how to move it somewhere else when that time comes.</p> A Fool's Errand Sat, 12 Nov 2016 22:00:05 -0400 <p>After painstaking research, I have recently acquired a used commercial espresso machine. It&rsquo;s a beauty. A retired machine that was in service for an estimated 10 years is now sitting in my office, challenging me to learn All The Things about the machine, restore it and&hellip;</p> <p>For anyone who doesn&rsquo;t have perspective on what this machine is, here&rsquo;s it is, in all it&rsquo;s glory:</p> <figure class="fullwidth"> <label for="" class="margin-toggle">⊕</label> <input type="checkbox" id="" class="margin-toggle"> <span class="marginnote"> </span> <img src="" > </figure> <p></p> <p>A machine of this class has a certain set of challenges that you don&rsquo;t find in ordinary home appliances. It&rsquo;s 220v, and runs at a peak draw of 6325 watts - which means it needs a 30 amp circuit, but would be happier with 40 amps. It uses split-phase and doesn&rsquo;t touch 110v at all, which makes no sense to most people who deal primarily in 110v applications.<label for="mn-example" class="margin-toggle">&#8853;</label> <input type="checkbox" id="mn-example" class="margin-toggle"/> <span class="marginnote">In North America, at the service entrance to the house, the current from the pole is broken up into 110v legs that are distributed about the house. The normal execptions to this are the electric clothes dryer and the electric stove. These use <em>both</em> 220v and 110v at the same time, which causes no end of headache for everyone. Even worse, until 1996, it was considered code to use the neutral conductor as a floating ground for these appliances. Modern code states that you will use a four conductor cable with three active lines and a dedicated ground. Because, you know, house fires.</span> </p> <p>Armed with this, the next step is getting water into the machine. It relies on line pressure to fill the boiler before the heating element is energized, so that has to be dealt with, and you need to wire the pump as well. The boiler itself is 15 liters. The local big-box retailer sells a number of hot water heaters <em>smaller</em> than that. They have limited application, but it stands that they exist as a product that sells in enough quantity to make shelf space a priority.</p> <p>Further, to keep 4 gallons of water at 1.25 bar above atmospheric, for quick turnaround in a commercial environment, the machine has a 220v 6000W heating element. This may slightly outstrip a home user&rsquo;s espresso needs by a factor of 60. Even on a busy day, I don&rsquo;t pull 10 shots out of the La Pavoni, and this machine could easily pull 600 shots in a coffee shop during a work day. So I&rsquo;m probably going to insulate the boiler to reduce the duty cycle, and I&rsquo;ve started to look at ways to further reduce the load by adding telemetry to the mix.</p> <p>I&rsquo;ve been able to power the machine up to validate everything. Surprisingly, more worked than I expected. The pump is quiet, the sight glass is dirty but functional, both groupheads dispense hot water of correct proportion to the flowmeter settings (which means they are working correctly as well). Boiler auto-fill works, as does auto-cutoff. Anti-vacuum valve works. Steam arms work. Hot water dispenser works. Heating element works. Drains work, and the water comes out clean. Turns out the last user <em>did</em> drain the boiler when putting the machines away, which is good for me. There&rsquo;s also no sediment, gunk or anything else visible in the water coming out, and it doesn&rsquo;t have any odor.</p> <p>I have spent the better part of 12 hours removing the old grouphead gaskets, which were carbonized, and after a replacement, I&rsquo;ve been able to pull reasonable quality espresso from both heads. I still need to crack the boiler seal and visually inspect the scale buildup, but this machine has all the seriously expensive parts in working order.</p> <p>I guess the next steps are to decide where to actually install it and then call a plumber to help work out water and drain lines, and an electrician to put the right socket in the right place.</p> Speaking At SurgeCon 2016 Sat, 16 Jul 2016 12:59:55 -0400 <p>Earlier this year I submitted a talk proposal to <label for="mn-example" class="margin-toggle">&#8853;</label> <input type="checkbox" id="mn-example" class="margin-toggle"/> <span class="marginnote"><a href=""></a></span> SurgeCon, based on the work I have been doing scaling the log searching infrastructure at work. I was notified recently that my proposal has been accepted, and I&rsquo;m going to be <label for="mn-example" class="margin-toggle">&#8853;</label> <input type="checkbox" id="mn-example" class="margin-toggle"/> <span class="marginnote"><a href=""></a></span> speaking!</p> <p>It&rsquo;s been a long an interesting road going from 30,000 to 200,000+ logs per second, as well as replacing or upgrading almost every piece of the logging infrastructure from pipelines to data storage to presentation. There were some nasty bumps along the way, as when the index of logs is measured in the hundreds of billions scaling limitations come in to play quickly - and we&rsquo;re on track to be at or near a trillion logs in the search indexes in the coming months.</p> <p>Registration is open at the moment, but the early bird pricing goes away soon, so if you are interested, sign up!</p> I'm Never Sleeping Again Tue, 12 Jul 2016 22:00:00 -0400 <p>In the past few months, my morning routine has changed. Instead of firing up the kettle and grinding out ~25 grams of coarse coffee, I&rsquo;m find myself praying that my son has turned the rocker switch so I can begin the ritual of the manual espresso machine.</p> <p>My wonderful wife found, quite by accident, a La Pavoni Europiccola Millenium in almost mint condition for $20. These machines are quite picky about almost everything - the grind of the bean, distribution in the basket, the humidity of the air, the level of water in the boiler, and then of course the temperature of the boiler, grouphead, portafilter and cup. This is before we even get to steaming milk &ndash; and I&rsquo;ve skipped several important considerations that I won&rsquo;t bore you with now.</p> <p><a data-flickr-embed="true" href="" title="DSC_7033.jpg"><img src="" width="2048" height="1368" alt="DSC_7033.jpg"></a><script async src="//" charset="utf-8"></script></p> <p>I&rsquo;ve learned more in the last few months about the picky little details of espresso making than I ever thought I&rsquo;d know. I purchased a used espresso grinder for 10 times what we paid for the Pavoni, and it would still have been a deal at 2x the price. We&rsquo;re into gear (cups, steaming pitchers, tampers, you name it) up to our elbows, and we&rsquo;re <em>almost</em> where we need to be. Drinks are consistently good, at times rising to the level of actual excellence.</p> <p>I can&rsquo;t lie and say we&rsquo;re saving any money compared to our hipster pour over days. Before this I was drinking my coffee black, and the quality of the bean was far less important. Now, we run through a little over 3 gallons of milk and 2 pounds of coffee a week, considering our needs and the needs of our guests. But my latte&rsquo;s cost about a dollar ten a cup in consumables, and even when amortizing the cost of the hardware, we&rsquo;re looking at $1.50 a cup if we stopped tomorrow.</p> <p>And there&rsquo;s something that&rsquo;s just delightful about watching the syrupy caffeinated magic flow into a waiting cup.</p> Job Transitions and Loadbalancers Wed, 23 Mar 2016 20:27:04 -0400 <p>The most recent Practical Operations Podcast episodes are about <label for="mn-example" class="margin-toggle">&#8853;</label> <input type="checkbox" id="mn-example" class="margin-toggle"/> <span class="marginnote"><a href=""></a></span> job transitions and load balancers,<label for="mn-example" class="margin-toggle">&#8853;</label> <input type="checkbox" id="mn-example" class="margin-toggle"/> <span class="marginnote"><a href=""></a></span> both things near and dear to our hearts. Give a listen, let me know what you think! We&rsquo;d like to know what we should cover better - so topic ideas are always welcome - and what we&rsquo;ve covered poorly, so comments are encouraged.</p> XML feed Tue, 22 Mar 2016 15:59:04 -0400 <p>With the move from Wordpress to Hugo, the RSS feed for this site has changed to something more universally understood and common place: <a href=""></a> The old address of <a href=""></a> will still work for some time, but should go away soon.</p> Hugo Tue, 22 Mar 2016 14:44:27 -0400 <p>Switching this site from WordPress to Hugo,<label for="mn-example" class="margin-toggle">&#8853;</label> <input type="checkbox" id="mn-example" class="margin-toggle"/> <span class="marginnote"><a href=""></a></span> a static site generator written in Go. This is the first post written entirely in hugo and not imported from wordpress.</p> <p>The benefits of using a static site generator include not needing a database or complicated caching, as static files can be cached very effectively, and there are no round trips to a database for content. It also removes the two biggest security issues with WordPress - attacks on the database and on PHP functions on the pages. It is, however, more complicated to setup initially, and changing things means regenerating all the static pages in the site.</p> The Moment Sat, 02 Jan 2016 00:00:00 +0000 <p>I know the exact moment I decided to leave the job before last. I didn&rsquo;t know it at the time. It took months to figure it out. But I happened. Reading an article on Rands In Repose <label for="mn-example" class="margin-toggle">&#8853;</label> <input type="checkbox" id="mn-example" class="margin-toggle"/> <span class="marginnote"><a href=""></a></span> made me remember how distinctly that moment stands out as <em>the</em> moment. I was sitting in a 3 hour meeting with the senior management, and I was told that I wasn&rsquo;t part of the group that was making decisions. Even more so, my group was being explicitly excluded from that process. There was another team that was driving decisions, and we were simply there to implement and support them.</p> <p>In reflection, the next job I left was for a similar reason. At the time, I was happy with the work, my boss and my coworkers, but when an old colleague asked if I was interested in something bigger&#8230; I responded that I was interested. It wasn&rsquo;t until I was sitting in the interview itself with my new employer that I realized what it was about my current job that I was unhappy with &#8211; again, I was not being consulted on architecture and other forward-looking aspects of the stack. The work we were doing was fascinating and full of technology I was delighted to be learning more about. However, there were lots of legacy bits we held onto for Reasons, and the folks in charge of leading the platform had no context on how to production-ize the code they wrote.</p> <p>These are both jobs I loved. I learned a lot at them, I worked with amazing people, and I did what I felt was important work &#8211; not just helping post cat pictures to the internet. In the end, not having a sense of ownership of the stack can be a very discouraging thing to deal with &#8211; just as bad in many ways as having abusive coworkers, being underpaid or being bored.</p> The Practical Operations Podcast Mon, 30 Nov 2015 00:00:00 +0000 <p>Myself, Jack Neely and Jarod Watkins have started a podcast about system operations and engineering topics, called the <a href="">Practical Operations Podcast</a>. It&rsquo;s a weekly show where the three of us discuss pragmatic and practical topics in the field of operations. With the Thanksgiving holiday we were a little delayed releasing <a href="">the second episode</a> about the best approaches to get monitoring and alerting under control, and we&rsquo;ve already recorded episode 3.</p> <p>We are currently trying to do a weekly show, and we are trying to keep it to about 30 minutes per show.</p> <p>If you have questions or comments about the show, or would like to ask us to cover specific topics, please let us know via twitter <a href="">@operationsfm</a> or <a href=""></a></p> ttytter is dead, long live oysttyer! Sun, 29 Nov 2015 00:00:00 +0000 <p>My favorite command-line twitter client is dead. It&rsquo;s been replaced by the open source <a href="">oysttyer</a>, as the original author lost interest in twitter as a platform and decided to let the community run with it.</p> iCloud Photo Library Sat, 27 Jun 2015 00:00:00 +0000 <p><strong>An exciting tale about what happens when you max out your asymmetric upload.</strong></p> <p>A few weeks ago I decided to enable iCloud Photo Library and start using Photos for OS X. In the past, I&rsquo;ve had a patchy history with Apple&rsquo;s cloud services, especially the ones that shuffle photos from your device to your &#8220;real&#8221; computer and vice versa. After enabling the iCloud Photo Library on my phone and desktop, my internet connection crawled to a halt. I was uploading photos to Apple at a good clip, but nothing else worked. In the entire house. We couldn&rsquo;t stream Netflix, couldn&rsquo;t load reddit and couldn&rsquo;t use FaceTime while on WiFi. What had happened: due to the asymmetrical nature of most residential internet connections, the upload connection was saturated with photo uploads. This prevented any other inbound connection from ack&rsquo;ing traffic to it&rsquo;s source, which in plain terms meant nothing else worked.</p> <p>Luckily, I run a decent router, so I was able to put traffic limiting in place, and put in rules that no host could use more than 3mbps of the 5.5mbps we get from our provider. This kept part of the upstream open, and life went back to normal. Until last night, when I turned on iCloud Photo Library for my wife. And then imported a large chunk of photos from the DSLR on my computer. Each computer happily started using 3mbps of the connection, and all other traffic became unreasonably slow &#8211; bordering on failure conditions again.</p> <p>As I love data, here&rsquo;s the graph of my connection, and it&rsquo;s pretty clear when I started my DSLR import/upload and when I updated the traffic limiter:</p> <p><a href=""><img src="" alt="bandwidth-graph" width="300" height="293" class="aligncenter size-medium wp-image-3294" /></a></p> <p>Inside Photos for OS X, the only control you have is &#8220;Disable uploads for 24 hours&#8221;. Which is another way of saying &#8220;Please wait until this time tomorrow to destroy my connection once again.&#8221; I like iCloud Photo Library and Photos for OS X&#8230; but Apple needs to address this. A simple internal rate limiter, like the ones used by every other cloud sync or cloud backup provider would be sufficient.</p> A Great Week For the NSA Fri, 20 Feb 2015 00:00:00 +0000 <p>It&rsquo;s been a great week for the NSA. First, we get the news that they are (effectively) behind the hacker collective known as the Equation Group (which does insane things, like deploy malware into the firmware of hard drives, so it survives drive formatting). <a href="">Now we learn that they&rsquo;ve essentially pwned all cell phone SIM cards</a>.</p> <blockquote cite=""> <p>The bottom line is that people around the world, regardless of their nationality, should know that the United States is not spying on ordinary people who don’t threaten our national security and that we take their privacy concerns into account in our policies and procedures.</p> <footer>Barack Obama, Jan 17, 2014</footer> </blockquote> <p>Between this and the fact that the private key for the Lenovo adware/malware was cracked in 3 hours by a single man&#8230;</p> Superfish, or how to MITM everyone Thu, 19 Feb 2015 00:00:00 +0000 <p>Lenovo was just added to the list of companies I&rsquo;m hesitant to ever buy anything from ever again, in any capacity. As Ars Technica <a href="">reports</a>, the Superfish adware that was installed by default on Lenovo machines presents a self-signed root CA certificate in the Trusted Roots for the system&rsquo;s SSL keys. This certificate was also trivially cracked. This means, if you are running Windows as shipped on a Lenovo machine, you may well be subject to insane security breaches.</p> <p>Best bet: backup your personal data, return the Lenovo, and get a new laptop from a different vendor. And when you get the new machine, wipe the drive and reinstall your OS of choice from a vendor-supplied DVD. Only then should you put your data back on the machine.</p> <p>Oh, yeah, and never trust OEM supplied OS images, ever again.</p> Changes Tue, 30 Dec 2014 00:00:00 +0000 <p>New Year News: I will be posting more here and on <a href="">GitHub</a> in 2015. I have taken a new job, due to start in late January, which encourages open source project work. I will be working for a company called <a href="">42 Lines</a>, doing systems administration and Operations work.</p>