<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><description>Musings of a renegade developer</description><title>Peace, Love and C++</title><generator>Tumblr (3.0; @paultag)</generator><link>http://blog.pault.ag/</link><item><title>DNSync MAC Addresses</title><description>&lt;p&gt;I&amp;rsquo;ve been hacking on a project on and off for my LAN called &lt;a href="https://github.com/paultag/dnsync" target="_blank"&gt;DNSync&lt;/a&gt;. This will take a DNSMasq leases file and sync it to Amazon Route 53.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;ve added a new feature, which will create A reccords for each MAC address on the LAN.&lt;/p&gt;

&lt;p&gt;Since DNSync won&amp;rsquo;t touch CNAME records, I use CNAME records (manually) to point to the auto-synced A records for services on my LAN (such as my Projector, etc).&lt;/p&gt;

&lt;p&gt;Since It&amp;rsquo;s easy for two machines to have the same name, I&amp;rsquo;ve decided to add A records for each MAC as well as their client name. They take the fomm of something like &lt;code&gt;ab-cd-ef-ab-cd-ef.by-mac.paultag.house.&lt;/code&gt;, which is harder to accedentally collide.&lt;/p&gt;</description><link>http://blog.pault.ag/post/154359559628</link><guid>http://blog.pault.ag/post/154359559628</guid><pubDate>Sun, 11 Dec 2016 22:30:27 -0500</pubDate><category>route53</category><category>dnsync</category></item><item><title>DNSync</title><description>&lt;p&gt;While setting up my new network at my house, I figured I&amp;rsquo;d do things right and set up an IPSec VPN (and a few other fancy bits). One thing that became annoying when I wasn&amp;rsquo;t on my LAN was I&amp;rsquo;d have to fiddle with the DNS Resolver to resolve names of machines on the LAN.&lt;/p&gt;

&lt;p&gt;Since I hate fiddling with options when I need things to just work, the easiest way out was to make the DNS names actually resolve on the public internet.&lt;/p&gt;

&lt;p&gt;A day or two later, some Golang glue, and AWS Route 53, and I wrote code that would sit on my &lt;code&gt;dnsmasq.leases&lt;code&gt;, watch &lt;code&gt;inotify&lt;/code&gt; for &lt;code&gt;IN_MODIFY&lt;/code&gt; signals, and sync the records to AWS Route 53.&lt;/code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I pushed it up to my GitHub as &lt;a href="https://github.com/paultag/dnsync" target="_blank"&gt;DNSync&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;PRs welcome!&lt;/p&gt;</description><link>http://blog.pault.ag/post/150602026418</link><guid>http://blog.pault.ag/post/150602026418</guid><pubDate>Sun, 18 Sep 2016 17:00:08 -0400</pubDate><category>DNSync</category><category>Route 53</category><category>AWS</category><category>DNSMasq</category></item><item><title>go-haversine</title><description>&lt;p&gt;In the spirit of blogging about some of the code i&amp;rsquo;ve written in the past year or two, I wrote a small utility library called &lt;a href="https://github.com/paultag/go-haversine" target="_blank"&gt;go-haversine&lt;/a&gt;, which uses the &lt;a href="https://en.wikipedia.org/wiki/Haversine_formula" target="_blank"&gt;Haversine Forumla&lt;/a&gt; to compute the distance between two points.&lt;/p&gt;

&lt;p&gt;This is super helpful when working with GPS data - but remember, this assumes everything&amp;rsquo;s squarely on the face of the planet.&lt;/p&gt;</description><link>http://blog.pault.ag/post/149961211913</link><guid>http://blog.pault.ag/post/149961211913</guid><pubDate>Sun, 04 Sep 2016 22:52:41 -0400</pubDate></item><item><title>go-wmata - golang bindings to the DC metro system</title><description>&lt;p&gt;A few weeks ago, I hacked up &lt;a href="https://github.com/paultag/go-wmata" target="_blank"&gt;go-wmata&lt;/a&gt;, some golang bindings to the WMATA API. This is super handy if you are in the DC area, and want to interface to the WMATA data.&lt;/p&gt;

&lt;p&gt;As a proof of concept, I wrote a &lt;a href="http://justyo.co/" target="_blank"&gt;yo&lt;/a&gt; bot called &lt;code&gt;@WMATA&lt;/code&gt;, where it returns the closest station if you Yo it your location. For hilarity, feel free to &lt;code&gt;Yo&lt;/code&gt; it from outside DC.&lt;/p&gt;

&lt;p&gt;For added fun, and puns, I wrote a &lt;code&gt;dbus&lt;/code&gt; proxy for the API as weel, at &lt;a href="https://github.com/paultag/wmata-dbus/" target="_blank"&gt;wmata-dbus&lt;/a&gt;, so you can query the next train over dbus. One thought was to make a GNOME Shell extension to tell me when the next train is. I&amp;rsquo;d love help with this (or pointers on how to learn how to do this right).&lt;/p&gt;</description><link>http://blog.pault.ag/post/149299962228</link><guid>http://blog.pault.ag/post/149299962228</guid><pubDate>Sun, 21 Aug 2016 22:16:16 -0400</pubDate><category>wmata</category></item><item><title>Minica - lightweight TLS for everyone!</title><description>&lt;p&gt;A while back, I found myself in need of some TLS certificates set up and issued for a testing environment.&lt;/p&gt;

&lt;p&gt;I remembered there was some code for issuing TLS certs in Docker, so I yanked some of that code and made a sensable CLI API over it.&lt;/p&gt;

&lt;p&gt;Thus was born &lt;a href="https://github.com/paultag/minica" target="_blank"&gt;minica&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Something as simple as &lt;code&gt;minica tag@domain.tls domain.tld&lt;/code&gt; will issue two TLS certs (one with a Client EKU, and one server) issued from a single CA.&lt;/p&gt;

&lt;p&gt;Next time you&amp;rsquo;re in need of a few TLS keys (without having to worry about stuff like revocation or anything), this might be the quickest way out!&lt;/p&gt;</description><link>http://blog.pault.ag/post/148956352918</link><guid>http://blog.pault.ag/post/148956352918</guid><pubDate>Sun, 14 Aug 2016 20:40:28 -0400</pubDate><category>tls</category></item><item><title>HOPE 11</title><description>&lt;p&gt;I&amp;rsquo;ll be at HOPE 11 this year - if anyone else will be around, feel free to send me an email! I won&amp;rsquo;t have a phone on me (so texting only works if you use Signal!)&lt;/p&gt;

&lt;p&gt;Looking forward for a chance to see everyone soon!&lt;/p&gt;</description><link>http://blog.pault.ag/post/147794877863</link><guid>http://blog.pault.ag/post/147794877863</guid><pubDate>Fri, 22 Jul 2016 08:16:06 -0400</pubDate></item><item><title>SNIff</title><description>&lt;p&gt;A while back, I found myself in need of two webservers that would terminate TLS (with different rules). I wanted to run some custom code I&amp;rsquo;d written (which uses TLS peer authentication), and also nginx on port 443.&lt;/p&gt;

&lt;p&gt;The best way I figured out how to do this was to write a tool to sit on port 443, and parse TLS Client Hello packets, and dispatch to the correct backend depending on the SNI name.&lt;/p&gt;

&lt;p&gt;SNI, or Server Name Indication allows the client to announce (yes over cleartext!) what server it&amp;rsquo;s looking for, similar to the HTTP Host header. Sometimes, like in the case above, the Host header won&amp;rsquo;t work, since you&amp;rsquo;ve already done a TLS handshake by the time you figure out who they&amp;rsquo;re looking for.&lt;/p&gt;

&lt;p&gt;I also spun the Client Hello parser out into its own importable package, just in case someone else finds themselves in this same boat.&lt;/p&gt;

&lt;p&gt;The code&amp;rsquo;s up on &lt;a href="https://github.com/paultag/sniff" target="_blank"&gt;github.com/paultag/sniff&lt;/a&gt;!&lt;/p&gt;</description><link>http://blog.pault.ag/post/147187084743</link><guid>http://blog.pault.ag/post/147187084743</guid><pubDate>Sun, 10 Jul 2016 09:34:02 -0400</pubDate></item><item><title>Iron Blogger DC</title><description>&lt;p&gt;Back in 2014, &lt;a href="https://mako.cc" target="_blank"&gt;Mako&lt;/a&gt; ran a Boston Iron Blogger chapter, where you had to blog once a week, or you owed $5 into the pot. A while later, I ran it (along with &lt;a href="http://mmillions.wordpress.com" target="_blank"&gt;Molly&lt;/a&gt; and &lt;a href="http://journal.wjsullivan.net" target="_blank"&gt;Johns&lt;/a&gt;), and things were great.&lt;/p&gt;

&lt;p&gt;When I moved to DC, I had already talked with &lt;a href="https://tomlee.wtf/" target="_blank"&gt;Tom Lee&lt;/a&gt; and &lt;a href="https://konklone.com/" target="_blank"&gt;Eric Mill&lt;/a&gt; about running a DC Iron Blogger chapter, but it hasn&amp;rsquo;t happened in the year and a half I&amp;rsquo;ve been in DC.&lt;/p&gt;

&lt;p&gt;This week, I make good on that, with a fantastic group set up at &lt;a href="https://dc.iron-blogger.com/planet/" target="_blank"&gt;dc.iron-blogger.com&lt;/a&gt;; with more to come (I&amp;rsquo;m sure!).&lt;/p&gt;

&lt;p&gt;Looking forward to many parties and though provoking blog posts in my future. I&amp;rsquo;m also quite pleased I&amp;rsquo;ll be resuming my blogging. Hi, again, planet Debian!&lt;/p&gt;</description><link>http://blog.pault.ag/post/145182682418</link><guid>http://blog.pault.ag/post/145182682418</guid><pubDate>Mon, 30 May 2016 21:37:59 -0400</pubDate><category>iron blogger</category></item><item><title>Soylent Sherry Negroni</title><description>&lt;p&gt;&lt;a href="http://soylent.green/post/120400911662/soylent-sherry-negroni" class="tumblr_blog" target="_blank"&gt;paultagskitchen&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;div&gt;&lt;img src="http://i.imgur.com/cArBSzE.jpg" alt="DELICIOUS COCKTAIL PHOTO"/&gt;&lt;h1&gt;Ingredients&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;1 tsp soylent&lt;/li&gt;
  &lt;li&gt;1 tsp simple syrup&lt;/li&gt;
  &lt;li&gt;1 oz Palo Cortado sherry&lt;/li&gt;
  &lt;li&gt;½ oz Rosso Vermouth&lt;/li&gt;
  &lt;li&gt;½ oz Campari&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;Assembly&lt;/h1&gt;

&lt;p&gt;Combine Soylent and Simple Syrup. Create what I’m going to start to call “Soylent Syrup”. Enjoy that one, folks.&lt;/p&gt;

&lt;p&gt;Add ice to a rocks glass, pour Soylent Syrup over ice. Add Sherry, Vermouth and Campari. Stir. Garnish with an orange twist.&lt;/p&gt;

&lt;p&gt;Big thanks to &lt;a href="http://mjg59.dreamwidth.org/" target="_blank"&gt;Matthew Garrett&lt;/a&gt; for sparking this one.&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;</description><link>http://blog.pault.ag/post/120401049263</link><guid>http://blog.pault.ag/post/120401049263</guid><pubDate>Sun, 31 May 2015 21:21:37 -0400</pubDate></item><item><title>Oatmeal Raisin Cookies</title><description>&lt;a href="http://soylent.green/post/115264525077/oatmeal-raisin-cookies"&gt;Oatmeal Raisin Cookies&lt;/a&gt;: &lt;p&gt;&lt;a href="http://soylent.green/post/115264525077/oatmeal-raisin-cookies" class="tumblr_blog" target="_blank"&gt;paultagskitchen&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;div&gt;&lt;img src="http://i.imgur.com/Oq9vaSo.jpg" alt="DELICIOUS COOKIE PHOTO"/&gt;&lt;h1&gt;Ingredients&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;¾ cups soylent&lt;/li&gt; &lt;li&gt;1 ½ cups rolled oats&lt;/li&gt; &lt;li&gt;½ cup sugar (white &amp; dark brown)&lt;/li&gt; &lt;li&gt;¼ cup flour&lt;/li&gt; &lt;li&gt;¾ cup raisins&lt;/li&gt; &lt;li&gt;½ tsp baking soda &amp; powder&lt;/li&gt; &lt;li&gt;½ tsp salt&lt;/li&gt; &lt;li&gt;1 stick butter (roomtemp - NOT melted. Don’t even try that. Stop. You. I see you.)&lt;/li&gt; &lt;li&gt;1 egg&lt;/li&gt; &lt;li&gt;1 tsp vanilla&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;Assembly&lt;/h1&gt; &lt;p&gt;Combine butter,…&lt;/p&gt;
&lt;/div&gt;&lt;/blockquote&gt;</description><link>http://blog.pault.ag/post/115300085818</link><guid>http://blog.pault.ag/post/115300085818</guid><pubDate>Thu, 02 Apr 2015 10:54:00 -0400</pubDate></item><item><title>BOS -&gt; DC</title><description>&lt;p&gt;Hello, World&lt;/p&gt;

&lt;p&gt;Been a while since my last blog post - things have been a bit hectic lately, and I&amp;rsquo;ve not really had the time.&lt;/p&gt;

&lt;p&gt;Now that things have settled down a bit &amp;ndash; I&amp;rsquo;m in DC! I&amp;rsquo;ve moved down south to join the rest of my colleagues at &lt;a href="https://sunlightfoundation.com/" target="_blank"&gt;Sunlight&lt;/a&gt; to head up our State &amp;amp; Local team.&lt;/p&gt;

&lt;p&gt;Leaving behind the brilliant Free Software community in Boston won&amp;rsquo;t be easy, but I&amp;rsquo;m hoping to find a similar community here in DC.&lt;/p&gt;</description><link>http://blog.pault.ag/post/102836319628</link><guid>http://blog.pault.ag/post/102836319628</guid><pubDate>Sun, 16 Nov 2014 21:06:54 -0500</pubDate><category>life changes</category><category>move</category></item><item><title>On my way to DebConf 14</title><description>&lt;p&gt;Slowly, but I&amp;rsquo;ll be in by Tonight, PST (early morning EST!)&lt;/p&gt;

&lt;p&gt;Hope to see everyone soon!&lt;/p&gt;</description><link>http://blog.pault.ag/post/95465376443</link><guid>http://blog.pault.ag/post/95465376443</guid><pubDate>Fri, 22 Aug 2014 11:33:46 -0400</pubDate><category>debian</category><category>debconf</category><category>life</category></item><item><title>PyGotham 2014</title><description>&lt;p&gt;I&amp;rsquo;ll be there this year!&lt;/p&gt;

&lt;p&gt;Talks look amazing, I can&amp;rsquo;t wait to hit up all the talks. Looks really well organized! Talk schedule has a bunch that I want to hit, I hope they&amp;rsquo;re recorded to watch later!&lt;/p&gt;

&lt;p&gt;If anyone&amp;rsquo;s heading to PyGotham, let me know, I&amp;rsquo;ll be there both days, likely floating around the talks.&lt;/p&gt;</description><link>http://blog.pault.ag/post/94837704633</link><guid>http://blog.pault.ag/post/94837704633</guid><pubDate>Fri, 15 Aug 2014 14:54:19 -0400</pubDate><category>pygotham</category><category>python</category></item><item><title>DebConf 14</title><description>&lt;p&gt;I&amp;rsquo;ll be giving a short talk on Debian and Docker!&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;ll prepare some slides to give a brief talk about Debian and Docker, then open it up to have a normal session to talk over what Docker is and isn&amp;rsquo;t, and how we can use it in Debian better.&lt;/p&gt;

&lt;p&gt;Hope to see y'all in Portland!&lt;/p&gt;</description><link>http://blog.pault.ag/post/94387887653</link><guid>http://blog.pault.ag/post/94387887653</guid><pubDate>Sun, 10 Aug 2014 21:06:28 -0400</pubDate><category>debconf</category><category>debian</category><category>docker</category></item><item><title>Plymouth Bootsplashes</title><description>&lt;p&gt;Why oh why are they so hard to write?&lt;/p&gt;

&lt;p&gt;Even using the built in modules it is insanely hard to debug. Playing a bootsplash in X sucks and my machine boots too fast to test it on reboot.&lt;/p&gt;

&lt;p&gt;Basically, euch. All I wanted was a hackers zebra on boot :(&lt;/p&gt;</description><link>http://blog.pault.ag/post/92362711868</link><guid>http://blog.pault.ag/post/92362711868</guid><pubDate>Sun, 20 Jul 2014 17:02:53 -0400</pubDate></item><item><title>Satuday's the new Sunday</title><description>&lt;p&gt;Hello, World!&lt;/p&gt;

&lt;p&gt;For those of you who enforce my Sundays on me (keep doing that, thank you!), I&amp;rsquo;ll be changing my Saturdays with my Sundays.&lt;/p&gt;

&lt;p&gt;That&amp;rsquo;s right! In this new brave world, I&amp;rsquo;ll be taking Saturdays off, not Sundays. Feel free to pester me all day on Sunday, now!&lt;/p&gt;

&lt;p&gt;This means, as a logical result, I will not be around tomorrow, Saturday.&lt;/p&gt;

&lt;p&gt;Much love.&lt;/p&gt;</description><link>http://blog.pault.ag/post/91501261178</link><guid>http://blog.pault.ag/post/91501261178</guid><pubDate>Fri, 11 Jul 2014 20:41:26 -0400</pubDate><category>sundays</category><category>saturdays</category></item><item><title>Dell XPS 13</title><description>&lt;p&gt;More hardware adventures.&lt;/p&gt;

&lt;p&gt;I got my Dell XPS13. Amazing.&lt;/p&gt;

&lt;p&gt;The good news: This MacBook Air clone is &lt;b&gt;clearly&lt;/b&gt; an Air competitor, and easily slightly better in nearly every regard except for the battery.&lt;/p&gt;

&lt;p&gt;&lt;br/&gt;
The bad news is that the Intel Wireless card needs non-free (I&amp;rsquo;ll be replacing that shortly), and the touchpad&amp;rsquo;s driver isn&amp;rsquo;t totally implemented until Kernel 3.16. I&amp;rsquo;m currently building a 3.14 kernel with the patch to send to the kind Debian kernel people. We&amp;rsquo;ll see if that works. Ubuntu Trusty already has the patch, but it didn&amp;rsquo;t get upstreamed. That kinda sucks.&lt;/p&gt;

&lt;p&gt;It also shipped with UEFI disabled, and was defaulting to boot in &amp;lsquo;legacy&amp;rsquo; mode. It shipped with Ubuntu, a bit disappointed to not see Ubuntu keys on the machine.&lt;/p&gt;

&lt;p&gt;Touchscreen works; in short -stunning. I think I found my new travel buddy. Debian unstable runs great, stable had some issues.&lt;/p&gt;</description><link>http://blog.pault.ag/post/91313017593</link><guid>http://blog.pault.ag/post/91313017593</guid><pubDate>Wed, 09 Jul 2014 22:38:08 -0400</pubDate><category>debian</category><category>dell</category><category>xps13</category></item><item><title>Apple Hardware: Part II</title><description>&lt;p&gt;A few interesting things happened after I got a macbook air.
&lt;br/&gt;&lt;br/&gt;
Firstly, I got a lot of shit from my peers and friends about it. This was funny to me, nothing really bothered &lt;b&gt;me&lt;/b&gt; about it, but I can see this becoming really tiresome at events like hackathons or conferences.
&lt;br/&gt;&lt;br/&gt;
As a byproduct, there&amp;rsquo;s a strong feeling in the hardcore F/OSS world that Apple hardware is the incarnation of evil.
&lt;br/&gt;&lt;br/&gt;
As a result of both of the above, hardcore F/OSS (and Distro hackers) don&amp;rsquo;t buy apple hardware.
&lt;br/&gt;&lt;br/&gt;
Therefore, GNU/Linux is complete garbage on Apple hardware. Apple&amp;rsquo;s firmware bugs don&amp;rsquo;t help, but we&amp;rsquo;re &lt;b&gt;BAD&lt;/b&gt;.
&lt;br/&gt;&lt;br/&gt;
Some might ask why this is a big deal. The fact is, this is one of the most used platforms for Open Source development (note I used that term exactly).
&lt;br/&gt;&lt;br/&gt;
Are we to damn these users to a nonfree OS because we want to maintain our purity?
&lt;br/&gt;&lt;br/&gt;
I had to give back my Air, but I still have a Mac Mini that i&amp;rsquo;ve been using for testing bugs on OSX in code I have. Very soon, my Mac Mini will be used to help fix the common bugs in the install process.
&lt;br/&gt;&lt;br/&gt;
Some things you can do:

&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Consider not giving off an attitude to people with Apple hardware. Be welcoming.&lt;/li&gt;
  &lt;li&gt;Consider helping with supporting your favorate distro on Apple hardware. Props to Fedora for doing such a great job, in particular, &lt;a href="https://twitter.com/mjg59" target="_blank"&gt;mjg59&lt;/a&gt; and &lt;a href="http://blog.uncooperative.org/" target="_blank"&gt;Peter Jones&lt;/a&gt; for all they do with it.&lt;/li&gt;
  &lt;li&gt;Help me make Debian Apple installs one-click.&lt;/li&gt;
&lt;/ul&gt;</description><link>http://blog.pault.ag/post/90775152998</link><guid>http://blog.pault.ag/post/90775152998</guid><pubDate>Fri, 04 Jul 2014 14:05:00 -0400</pubDate><category>apple</category></item><item><title>Apple and Debian: A tragic love story</title><description>&lt;p&gt;One which ends in tears, I&amp;rsquo;m afraid.&lt;/p&gt;

&lt;p&gt;A week or so ago, I got an MacBook Air 13&amp;quot; (MacBook Air 6-2), to take with me when I head out to local hack sessions, and when I travel out of state for short lengths of time. My current Thinkpad T520i is an amazing machine, and will remain my daily driver for a while to come.&lt;/p&gt;

&lt;p&gt;After getting it, I unboxed the machine, and put in a Debian install USB key. I wiped OSX (without even booting into it) and put Debian on the drive.&lt;/p&gt;

&lt;p&gt;To my dismay, it didn&amp;rsquo;t boot up after install. Using the recovery mode of the disk, I chrooted in and attempted an upgrade (to ensure I had an up-to-date GRUB). I couldn&amp;rsquo;t dist-upgrade, the terminal went white. After C-c'ing the terminal, I saw something about systemd&amp;rsquo;s sysvinit shim, so I manually did a purge of sysvinit and install of systemd.&lt;/p&gt;

&lt;p&gt;I hear this has been resolved now. Thanks :)&lt;/p&gt;

&lt;p&gt;My machine still wasn&amp;rsquo;t booting, so I checked around. Turns out I needed to copy over the GRUB EFI blob to a different location to allow it to boot. After doing that, I could boot Debian whilst holding Alt.&lt;/p&gt;

&lt;p&gt;After booting, things went great! Until I shut my lid. After that point, my screen was either 0% bright (absolutely dark) or 100% (facemeltingly bright).&lt;/p&gt;

&lt;p&gt;I saw &lt;a href="https://github.com/patjak/mba6x_bl" target="_blank"&gt;mba6x_bl&lt;/a&gt;, which claims to fix it, and has many happy users. If you&amp;rsquo;re in a similar suggestion, I highly suggest looking at it.&lt;/p&gt;

&lt;p&gt;Unfortunately, this caused my machine to black out on boot and I couldn&amp;rsquo;t see the screen at all anymore. A rescue disk later, and I was back.&lt;/p&gt;

&lt;p&gt;Annoyingly, the bootup noise&amp;rsquo;s volume is stored in NVRAM, which gets written out by OSX when it shuts down. After consulting the inimitable&lt;a href="http://mjg59.dreamwidth.org/" target="_blank"&gt;Matthew Garrett&lt;/a&gt;, I was told the NVRAM can be hacked about with by mounting &lt;code&gt;efivarfs on /sys/firmware/efi/efivars type efivarfs&lt;/code&gt;. Win!&lt;/p&gt;

&lt;p&gt;After hitting enter, I got a kernel panic and some notes about hardware assertions failing.&lt;/p&gt;

&lt;p&gt;That&amp;rsquo;s when I returned my MacBook and got a Dell XPS 13.&lt;/p&gt;

&lt;p&gt;&lt;br/&gt;
This is a problem, folks.&lt;/p&gt;

&lt;p&gt;If &lt;b&gt;I&lt;/b&gt; can&amp;rsquo;t figure out how to make this work, how can we expect our users?&lt;/p&gt;

&lt;p&gt;Such a shame the most hardware on the planet gets no support, locking it&amp;rsquo;s users into even less freedom.&lt;/p&gt;</description><link>http://blog.pault.ag/post/90206131338</link><guid>http://blog.pault.ag/post/90206131338</guid><pubDate>Sat, 28 Jun 2014 21:22:33 -0400</pubDate><category>debian</category><category>macbook</category><category>air</category></item><item><title>Adventures in AsyncIO: Moxie</title><description>&lt;p&gt;This week, I started work on something I&amp;rsquo;m calling &lt;a href="https://github.com/paultag/moxie" target="_blank"&gt;moxie&lt;/a&gt;. Due to wanting to use my &lt;a href="https://github.com/paultag/aiodocker" target="_blank"&gt;aiodocker&lt;/a&gt; bindings on the backend, I decided to implement it in 100% AsyncIO Python 3.4.&lt;/p&gt;

&lt;p&gt;What pushed me over the edge was finding the &lt;a href="http://aiopg.readthedocs.org/en/0.2/" target="_blank"&gt;aiopg&lt;/a&gt; driver (postgres asyncio bindings), with very (let me stress - &lt;b&gt;very&lt;/b&gt;) immature SQLAlchemy support.&lt;br/&gt;&lt;br/&gt;
Unfortunately, no web frameworks support asyncio as a first-class member of the framework, so I was forced into writing a microframework. The resulting &amp;ldquo;app&amp;rdquo; looks &lt;a href="https://github.com/paultag/moxie/blob/master/moxie/app.py" target="_blank"&gt;pretty not bad&lt;/a&gt;, and likely easy to switch if Flask ever gets support for asyncio.&lt;/p&gt;

&lt;p&gt;One neat side-effect was that the framework can support stuff like &lt;a href="http://en.wikipedia.org/wiki/WebSocket" target="_blank"&gt;websockets&lt;/a&gt; as a first-class element of the framework, just like &lt;code&gt;GET&lt;/code&gt; requests.&lt;/p&gt;

&lt;p&gt;Moxie will be a tool to run periodic long-running jobs in a sane way using &lt;a href="http://docker.io/" target="_blank"&gt;docker.io&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;More soon!&lt;/p&gt;</description><link>http://blog.pault.ag/post/89569368153</link><guid>http://blog.pault.ag/post/89569368153</guid><pubDate>Sun, 22 Jun 2014 13:49:21 -0400</pubDate><category>aiodocker</category><category>aiopg</category><category>aiohttp</category><category>asyncio</category><category>moxie</category></item></channel></rss>
