<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Lobsters Planet</title>
    <link>https://lobsters-planet.thangqt.com</link>
    <description>Latest posts from Lobste.rs users&#39; personal sites.</description>
    <atom:link href="https://lobsters-planet.thangqt.com/feed.xml" rel="self" type="application/rss+xml"></atom:link>
    <lastBuildDate>Mon, 08 Jun 2026 20:36:39 +0000</lastBuildDate>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/27/1003448877519323242</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/27/1003448877519323242</guid>
      <description>And writing software feels like being Marge in that go-kart race. Work slow and steady for a year writing something neat that had never been brought to a platform before, but someone can hear about it and use Claude to whiz by you in a week and make something with 10 times the functionality.</description>
      <author>jcs</author>
      <pubDate>Thu, 28 May 2026 02:13:51 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/27/1003448877519323137</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/27/1003448877519323137</guid>
      <description>I have lost all enthusiasm for reading about new software projects, especially dealing with vintage computing. What would have sounded amazing a year or two ago and made me want to engage with the author, I now just assume was something AI spit out and feels hollow and boring so I skim past it.</description>
      <author>jcs</author>
      <pubDate>Thu, 28 May 2026 02:13:51 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/27/1003344849129705473</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/27/1003344849129705473</guid>
      <description>we all directly and indirectly live in the shade, but not the shadow, of colossus</description>
      <author>jcs</author>
      <pubDate>Wed, 27 May 2026 19:30:00 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/25/1002523565446606849</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/25/1002523565446606849</guid>
      <description>Franco . . . . . . Ordoñez, NPR News</description>
      <author>jcs</author>
      <pubDate>Mon, 25 May 2026 14:19:49 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/18/999938759773732865</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/18/999938759773732865</guid>
      <description>Another Pomera DM250 special release: the DM250XYZ in a translucent purple color Interesting that the keys aren&#39;t translucent like on the DM250X and DM250XY https://kingjim.com/products/dm250xyz</description>
      <author>jcs</author>
      <pubDate>Mon, 18 May 2026 15:10:54 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/15/998851089162711041</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/15/998851089162711041</guid>
      <description>What good is a laptop that can&#39;t go to sleep Your browser doesn&#39;t seem to support HTML video. You can download the video instead.</description>
      <author>jcs</author>
      <pubDate>Fri, 15 May 2026 16:43:15 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/10/997113530169065473</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/10/997113530169065473</guid>
      <author>jcs</author>
      <pubDate>Mon, 11 May 2026 00:21:52 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/09/996796827831476225</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/09/996796827831476225</guid>
      <description>well that&#39;s gonna cost some money</description>
      <author>jcs</author>
      <pubDate>Sun, 10 May 2026 04:00:12 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/08/996208116721344513</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/08/996208116721344513</guid>
      <description>has AI figured out how to put toothpaste back in the tube yet</description>
      <author>jcs</author>
      <pubDate>Fri, 08 May 2026 13:55:41 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/05/995089977752510465</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/05/995089977752510465</guid>
      <description>🚫 root ✅ privilegemaxxing</description>
      <author>jcs</author>
      <pubDate>Tue, 05 May 2026 13:37:06 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/04/994840285535244289</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/04/994840285535244289</guid>
      <description>they&#39;re good barrels brent</description>
      <author>jcs</author>
      <pubDate>Mon, 04 May 2026 21:28:04 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/05/01/993706938202320897</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/05/01/993706938202320897</guid>
      <description>CRT friends: how would you describe what is happening with the image on this?</description>
      <author>jcs</author>
      <pubDate>Fri, 01 May 2026 20:09:21 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/04/30/993283158047010817</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/04/30/993283158047010817</guid>
      <description>wow, has apple used their old rainbow logo on anything else since they switched to the flat one? https://www.motorsport.com/imsa/news/porsche-penske-motorsport-running-throwback-apple-computer-livery-at-laguna-seca/10816610/</description>
      <author>jcs</author>
      <pubDate>Thu, 30 Apr 2026 16:45:06 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/04/24/991113976213229569</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/04/24/991113976213229569</guid>
      <description>does anyone remember this</description>
      <author>jcs</author>
      <pubDate>Fri, 24 Apr 2026 20:27:33 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/04/22/990429869592092673</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/04/22/990429869592092673</guid>
      <description>me: hey bank can you move some of this money to my savings account over at that bank? you&#39;ve done it hundreds of times bank: sure, it&#39;ll get there in 2 days me: oh, can i pretend i&#39;m sending a zelle payment to myself? bank: sure, it&#39;ll be there in 2 seconds why is ach still so slow</description>
      <author>jcs</author>
      <pubDate>Thu, 23 Apr 2026 00:12:53 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/04/19/989170000941420545</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/04/19/989170000941420545</guid>
      <description>hello, cyberpals what are you working on lately?</description>
      <author>jcs</author>
      <pubDate>Sun, 19 Apr 2026 14:44:10 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/04/18/988807432787005441</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/04/18/988807432787005441</guid>
      <description>hello past me where does the time go</description>
      <author>jcs</author>
      <pubDate>Sat, 18 Apr 2026 15:17:18 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/04/17/988509061389520897</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/04/17/988509061389520897</guid>
      <description>Once a device can boot multiuser, compile its kernel, and has display and keyboard drivers, all further development for it must be done on the device itself Sorry, it&#39;s the law</description>
      <author>jcs</author>
      <pubDate>Fri, 17 Apr 2026 19:59:14 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/04/16/988077258429505537</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/04/16/988077258429505537</guid>
      <description>Eternal November https://sfconservancy.org/blog/2026/apr/15/eternal-november-generative-ai-llm/ (November 2025 was when Claude Opus 4.5 was released)</description>
      <author>jcs</author>
      <pubDate>Thu, 16 Apr 2026 16:03:41 +0000</pubDate>
    </item>
    <item>
      <title>joshua stein</title>
      <link>https://jcs.org/notes/2026/04/16/988044436086824961</link>
      <guid isPermaLink="false">https://jcs.org/notes/2026/04/16/988044436086824961</guid>
      <description>I over-use parentheses because I don&#39;t like having to think about the order of operations every time I glance at my code but from now on I&#39;m going to use this as my justification so I don&#39;t seem so dumb</description>
      <author>jcs</author>
      <pubDate>Thu, 16 Apr 2026 13:52:05 +0000</pubDate>
    </item>
    <item>
      <title>Installing OpenBSD on the Pomera DM250</title>
      <link>https://jcs.org/2026/04/09/openbsd-dm250#2026-04-15</link>
      <guid isPermaLink="false">https://jcs.org/2026/04/09/openbsd-dm250#2026-04-15</guid>
      <description>These are my notes and pre-built images for getting OpenBSD-current installed on the Pomera DM250, DM250X, DM250XY, and DM250US. Table of Contents Top Throat-clearing Making a backup Some DM250 hardware notes Making an OpenBSD installation SD card Installing OpenBSD Post-Installation Building a custom installation ramdisk Recovery Throat-clearing Much of my work has not yet been committed upstream so installation currently requires a custom kernel and U-Boot images which are provided here. OpenB…</description>
      <author>jcs</author>
      <pubDate>Thu, 09 Apr 2026 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Wallops 2.2 Released</title>
      <link>https://jcs.org/2026/02/02/wallops22</link>
      <guid isPermaLink="false">https://jcs.org/2026/02/02/wallops22</guid>
      <description>A new release of my Wallops IRC client is available: wallops-2.2.sit (StuffIt 3 archive) SHA256: adc2b473664ec096 0b5b028335566831 dd69f4a1de40f79e 22bf1337292cca88 SHA1: 603c5080c41a0d57 52cae49a08376db4 e18628b1 This update includes a number of new features and bugfixes: Auto-connect with the last saved settings on startup, if they are available, unless the Command key is held down Add support for sending Pushover notifications when the user&#39;s nick is mentioned or directly messaged, when a scr…</description>
      <author>jcs</author>
      <pubDate>Mon, 02 Feb 2026 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>an opinionated critique of duolingo</title>
      <link>https://agnishom.github.io/blog/2025/duolingo/</link>
      <guid isPermaLink="false">https://agnishom.github.io/blog/2025/duolingo</guid>
      <description>beyond the green owl, from streaks and potions to pedagogy and politics</description>
      <author>agnishom</author>
      <pubDate>Tue, 30 Sep 2025 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Python’s True Superpower</title>
      <link>https://hynek.me/talks/python-superpower/</link>
      <guid isPermaLink="false">https://hynek.me/talks/python-superpower/</guid>
      <description>Python appears to be everywhere nowadays! How did it happen, that a language that almost died in the Python 2 to 3 process is now the lingua franca a default choice when people talk about programming? There must be some secret superpower and I think I found it!</description>
      <author>hynek</author>
      <pubDate>Fri, 19 Sep 2025 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>BlueSCSI Wi-Fi Desk Accessory 1.4 Released</title>
      <link>https://jcs.org/2025/08/19/wifi_da14</link>
      <guid isPermaLink="false">https://jcs.org/2025/08/19/wifi_da14</guid>
      <description>BlueSCSI Wi-Fi Desk Accessory 1.4 has been released: wifi_da-1.4.sit (StuffIt 3 archive) SHA256: aed32aced3fc2cff 301a61930df654fc a641cd830aa21d8a 824dafde1b17e671 SHA1: 13f5c624598d9956 4922eb807d7231a3 631c995c This update fixes a bug that was breaking hidden SSID entry.</description>
      <author>jcs</author>
      <pubDate>Tue, 19 Aug 2025 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Video: C Programming on System 6 - VCFMW, CMaster</title>
      <link>https://jcs.org/2025/08/15/cmaster</link>
      <guid isPermaLink="false">https://jcs.org/2025/08/15/cmaster</guid>
      <description>I found a neat THINK C extension that I wanted to share, and I&#39;m going to have a table at the Vintage Computer Festival Midwest next month. Your browser doesn&#39;t seem to support HTML video. You can download the video (H.264/AAC format) instead. Video notes: Vintage Computer Festival Midwest THINK C 5.0.4 CMaster (I&#39;m using 1.2.5) Please contact me with any feedback or questions, view past videos in this series , and subscribe to my RSS feed to be notified about future videos and other posts. Join…</description>
      <author>jcs</author>
      <pubDate>Fri, 15 Aug 2025 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Design Pressure</title>
      <link>https://hynek.me/talks/design-pressure/</link>
      <guid isPermaLink="false">https://hynek.me/talks/design-pressure/</guid>
      <description>Ever had this weird gut feeling that something is off in your code, but couldn’t put the finger on why? Are you starting your projects with the best intentions, following all best practices, and still feel like your architecture turns weird eventually?</description>
      <author>hynek</author>
      <pubDate>Fri, 16 May 2025 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>how indian colleges casually violate human rights</title>
      <link>https://agnishom.github.io/blog/2025/indian-colleges/</link>
      <guid isPermaLink="false">https://agnishom.github.io/blog/2025/indian-colleges</guid>
      <description>some colleges keep students confined, in the name of safety</description>
      <author>agnishom</author>
      <pubDate>Mon, 05 May 2025 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Pomera DM250 Tinkering</title>
      <link>https://jcs.org/2025/03/14/dm250#2026-03-23</link>
      <guid isPermaLink="false">https://jcs.org/2025/03/14/dm250#2026-03-23</guid>
      <description>The KING JIM Pomera DM250 &#34;digital typewriter&#34; is a small Linux-powered ARM computer that boots up into a custom word processor application. I&#39;ve been tinkering with it to try to get OpenBSD booted on it. I&#39;d normally wait until the end and write up a proper article explaining everything, but this process is taking a lot longer than I expected so I figured I&#39;d document it all as I go. Background KING JIM has made a number of portable word processors starting with the DM5 , the DM10 and DM20 with…</description>
      <author>jcs</author>
      <pubDate>Fri, 14 Mar 2025 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>iMac G4(K)</title>
      <link>https://jcs.org/2025/02/26/imacg4k#2026-02-17</link>
      <guid isPermaLink="false">https://jcs.org/2025/02/26/imacg4k#2026-02-17</guid>
      <description>A year ago I tried using an M1 iMac for work duty but its 21&#34; screen took up too much room on my desk. After seeing Sean&#39;s video on Action Retro about putting an M4 Mac Mini inside an iMac G4 , I thought I&#39;d give it a try. Table of Contents Top Trying the Juicy Crumb DockLite G4 Color Banding iMac Screen Resolution Exposed Ports Screen Blanking Upgrading the Screen iMac Neck Mac Mini Mouting Remaining Issues Update: Speakers Trying the Juicy Crumb DockLite G4 The Juicy Crumb DockLite G4 replaces…</description>
      <author>jcs</author>
      <pubDate>Wed, 26 Feb 2025 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Adding Custom Sleep Screen Images to the Kindle Scribe</title>
      <link>https://jcs.org/2025/02/24/kindle</link>
      <guid isPermaLink="false">https://jcs.org/2025/02/24/kindle</guid>
      <description>Last year I upgraded my Kindle Paperwhite to a Kindle Scribe to be able to write notes and draw diagrams while programming to help visualize things. One thing that bothered me about the Scribe was that its sleep screen images were pretty boring and because I&#39;m now often reading PDFs or writing in a notebook, I couldn&#39;t benefit from the Kindle OS&#39;s new functionality that uses the cover of the book being read as the sleep screen image (which previously required a jailbreak and custom software). Si…</description>
      <author>jcs</author>
      <pubDate>Mon, 24 Feb 2025 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>BlueSCSI Wi-Fi Desk Accessory 1.3 Released</title>
      <link>https://jcs.org/2025/01/13/wifi_da13</link>
      <guid isPermaLink="false">https://jcs.org/2025/01/13/wifi_da13</guid>
      <description>BlueSCSI Wi-Fi Desk Accessory 1.3 has been released: wifi_da-1.3.sit (StuffIt 3 archive) SHA256: 40b49ef83b6512bd e571171aa42e9041 9a8577efa895cfae b19bf18a0c82d4de SHA1: b8fa941eb104c0f9 25436cc8fbc3018a 3ded5b96 This update brings internationalization support for Macs running non-English installations, and a number of bug fixes. Changes in this version: Fix a handful of bugs Add a log window that can be toggled by clicking on the signal icon Add localization for strings shown in the UI for Mac…</description>
      <author>jcs</author>
      <pubDate>Mon, 13 Jan 2025 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title></title>
      <link>https://jonbaer.com/post/771362791883948032</link>
      <guid isPermaLink="false">https://jonbaer.com/post/771362791883948032</guid>
      <author>jonbaer</author>
      <pubDate>Tue, 31 Dec 2024 07:08:03 +0000</pubDate>
    </item>
    <item>
      <title></title>
      <link>https://jonbaer.com/post/768809886231478272</link>
      <guid isPermaLink="false">https://jonbaer.com/post/768809886231478272</guid>
      <author>jonbaer</author>
      <pubDate>Tue, 03 Dec 2024 02:50:42 +0000</pubDate>
    </item>
    <item>
      <title>living car-free in houston</title>
      <link>https://agnishom.github.io/blog/2024/car-free-houston/</link>
      <guid isPermaLink="false">https://agnishom.github.io/blog/2024/car-free-houston</guid>
      <description>my experience of living in Houston without a car, and the North American obsession with them</description>
      <author>agnishom</author>
      <pubDate>Thu, 07 Nov 2024 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Wallops 2.1 Released</title>
      <link>https://jcs.org/2024/09/23/wallops21</link>
      <guid isPermaLink="false">https://jcs.org/2024/09/23/wallops21</guid>
      <description>Another update to Wallops building on the 2.0 release is available: wallops-2.1.sit (StuffIt 3 archive) SHA256: 7cb16046e076488e 1997e1232631cf2d c9737bac0a94f034 8caf5d183927f4a9 SHA1: fd1d7145aa4baaf5 322175f348644d10 57267a65 This update includes a number of new features and bugfixes: Implement tab completion in channels; by typing part of a user&#39;s nick and pressing tab, the input bar will show their completed nick with &#34;:&#34; after it Do UTF-8 to MacRoman conversion of incoming text, where poss…</description>
      <author>jcs</author>
      <pubDate>Mon, 23 Sep 2024 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>BlueSCSI Wi-Fi Desk Accessory 1.2 Released</title>
      <link>https://jcs.org/2024/09/23/wifi_da12</link>
      <guid isPermaLink="false">https://jcs.org/2024/09/23/wifi_da12</guid>
      <description>BlueSCSI Wi-Fi Desk Accessory 1.2 has been released: wifi_da-1.2.sit (StuffIt 3 archive) SHA256: 984935cc5e3e2510 2849cd41c52764cb 08060d183d48cfb4 9f9da3eead49aea8 SHA1: 980b17f58babb839 977b7d714f8556a8 2bf33c7e Changes in this version: Added an &#34;(Other Network)&#34; option to the SSID list to manually enter a hidden SSID</description>
      <author>jcs</author>
      <pubDate>Mon, 23 Sep 2024 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Wallops 2.0 Released</title>
      <link>https://jcs.org/2024/09/12/wallops2</link>
      <guid isPermaLink="false">https://jcs.org/2024/09/12/wallops2</guid>
      <description>Another large update to my Wallops IRC client is available: wallops-2.0.sit (StuffIt 3 archive, includes source code and THINK C 5 project file) SHA256: 532f6c72eadbb9e7 ce74dded1bfcd713 69a61d818f7c7716 0bb8a66d6f1ccf9c SHA1: c375a24e00900378 e84745c1e11d3d69 76ef749c This release features an overhaul of the interface bringing tabs allowing multiple channels and private message queries, including a number of other new features and bugfixes: Support window resizing, using an initial window size …</description>
      <author>jcs</author>
      <pubDate>Thu, 12 Sep 2024 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Why I Still Use Python Virtual Environments in Docker</title>
      <link>https://hynek.me/articles/docker-virtualenv/</link>
      <guid isPermaLink="false">https://hynek.me/articles/docker-virtualenv/</guid>
      <description>Whenever I publish something about my Python Docker workflows, I invariably get challenged about whether it makes sense to use virtual environments in Docker containers. As always, it’s a trade-off, and I err on the side of standards and predictability.</description>
      <author>hynek</author>
      <pubDate>Mon, 02 Sep 2024 11:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Production-ready Python Docker Containers with uv</title>
      <link>https://hynek.me/articles/docker-uv/</link>
      <guid isPermaLink="false">https://hynek.me/articles/docker-uv/</guid>
      <description>Starting with 0.3.0 , Astral’s uv brought many great features, including support for cross-platform lock files uv.lock . Together with subsequent fixes, it has become Python’s finest workflow tool for my (non-scientific) use cases. Here’s how I build production-ready containers, as fast as possible.</description>
      <author>hynek</author>
      <pubDate>Wed, 28 Aug 2024 11:00:00 +0000</pubDate>
    </item>
    <item>
      <title>the steam deck is not evil and thats why I like it</title>
      <link>https://agnishom.github.io/blog/2024/steam-deck/</link>
      <guid isPermaLink="false">https://agnishom.github.io/blog/2024/steam-deck</guid>
      <description>in an era where tech giants increasingly control our digital experiences, the Steam Deck stands as a beacon of user freedom</description>
      <author>agnishom</author>
      <pubDate>Sat, 03 Aug 2024 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Adding a USB Port to the ThinkPad X1 Nano (the Hard Way)</title>
      <link>https://jcs.org/2024/05/29/x1usb</link>
      <guid isPermaLink="false">https://jcs.org/2024/05/29/x1usb</guid>
      <description>I wanted to add an internal USB port to my ThinkPad X1 Nano which should have been a fairly easy thing to do, but it wasn&#39;t. Of course, if I were still using my Framework Laptop it would be as easy as plugging in a custom module but I&#39;ve been using my X1 Nano as my primary laptop for quite some time now. Table of Contents Top Logitech Mouse M.2 Firmware Hacking? Fingerprint Reader USB Power Designing a PCB 3D-Printed Shim Logitech Mouse As convenient as the TrackPoint is on my ThinkPad, having a…</description>
      <author>jcs</author>
      <pubDate>Wed, 29 May 2024 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Python Project-Local Virtualenv Management Redux</title>
      <link>https://hynek.me/articles/python-virtualenv-redux/</link>
      <guid isPermaLink="false">https://hynek.me/articles/python-virtualenv-redux/</guid>
      <description>One of my first TIL entries was about how you can imitate Node’s node_modules semantics in Python on UNIX-like operating systems. A lot has happened since then (to the better!) and it’s time for an update. direnv still rocks, though.</description>
      <author>hynek</author>
      <pubDate>Tue, 02 Apr 2024 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Video: C Programming on System 6 - Carl Update, Test Suite, Malloc Tracing</title>
      <link>https://jcs.org/2024/02/20/carl</link>
      <guid isPermaLink="false">https://jcs.org/2024/02/20/carl</guid>
      <description>I&#39;ve been working on Carl, my IMAP e-mail client, for the past few months. Your browser doesn&#39;t seem to support HTML video. You can download the video (H.264/AAC format) instead. I need to work on not saying &#34;like&#34; so much. Video notes: Remaining PowerBook 1xx Batteries Subtext 4 Kludge BBS on Mastodon IMAP4rev2 rev2 RFC Encoded-word RFC MicroBug and SM 0 A9F4 and G 0 MacsBug My stack walking code Stack layout showing A6 links: Please contact me with any feedback or questions, view past videos i…</description>
      <author>jcs</author>
      <pubDate>Tue, 20 Feb 2024 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Subtext 4.0 Released</title>
      <link>https://jcs.org/2024/02/19/subtext4</link>
      <guid isPermaLink="false">https://jcs.org/2024/02/19/subtext4</guid>
      <description>Subtext 4.0 has been released: subtext-4.0.sit (StuffIt 3 archive, includes source code and THINK C 5 project file) SHA256: c33a6abe15e7f071 59a18d936dce7c43 5d9619f80d6c53d1 cdd26fabf06712f7 SHA1: 0f4bdcd08b57b568 125d8ddcab5ad97f 1f5dd586 ipdb-2023-11.db (Free IP Geolocation from DB-IP , converted to Subtext IPdb format) Changes in this version: Move views out of database to flat files in a &#34;views&#34; directory, allowing them to be edited by other text editors and backed up; views are cached at s…</description>
      <author>jcs</author>
      <pubDate>Mon, 19 Feb 2024 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Don’t Start Pull Requests from Your Main Branch</title>
      <link>https://hynek.me/articles/pull-requests-branch/</link>
      <guid isPermaLink="false">https://hynek.me/articles/pull-requests-branch/</guid>
      <description>When contributing to other users’ repositories, always start a new branch in your fork.</description>
      <author>hynek</author>
      <pubDate>Thu, 21 Dec 2023 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Two Ways to Turbo-Charge tox</title>
      <link>https://hynek.me/articles/turbo-charge-tox/</link>
      <guid isPermaLink="false">https://hynek.me/articles/turbo-charge-tox/</guid>
      <description>No, it’s not (just) run-parallel – let’s cut the local tox runtime by 75%!</description>
      <author>hynek</author>
      <pubDate>Mon, 26 Jun 2023 14:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Subclassing, Composition, Python, and You</title>
      <link>https://hynek.me/talks/subclassing/</link>
      <guid isPermaLink="false">https://hynek.me/talks/subclassing/</guid>
      <description>Ever seen a code base where understanding a simple method meant jumping through tangled class hierarchies? We all have! And while “Favor composition over inheritance!” is almost as old as object-oriented programming, strictly avoiding all types of subclassing leads to verbose, un-Pythonic code. So, what to do?</description>
      <author>hynek</author>
      <pubDate>Sat, 22 Apr 2023 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Photo</title>
      <link>https://jonbaer.com/post/711888195396288512</link>
      <guid isPermaLink="false">https://jonbaer.com/post/711888195396288512</guid>
      <author>jonbaer</author>
      <pubDate>Wed, 15 Mar 2023 19:44:48 +0000</pubDate>
    </item>
    <item>
      <title>Photo</title>
      <link>https://jonbaer.com/post/711805762588049408</link>
      <guid isPermaLink="false">https://jonbaer.com/post/711805762588049408</guid>
      <author>jonbaer</author>
      <pubDate>Tue, 14 Mar 2023 21:54:34 +0000</pubDate>
    </item>
    <item>
      <title>&#34;Geo-economics by contrast is a game that is played by countries that have already ruled out any...&#34;</title>
      <link>https://jonbaer.com/post/711805577602400256</link>
      <guid isPermaLink="false">https://jonbaer.com/post/711805577602400256</guid>
      <description>“Geo-economics by contrast is a game that is played by countries that have already ruled out any warfare at all among themselves. Supercomputers kept out by import barriers cannot be forcibly delivered by airborne assault to the banks or universities that might buy them, nor can competition in the world automobile market be pursued by sinking the car ferries of competitors on the high seas. Armed force has thus entirely lost the dominant role it once had in the age of mercantilism — as an ad…</description>
      <author>jonbaer</author>
      <pubDate>Tue, 14 Mar 2023 21:51:37 +0000</pubDate>
    </item>
    <item>
      <title>Why I Like Nox</title>
      <link>https://hynek.me/articles/why-i-like-nox/</link>
      <guid isPermaLink="false">https://hynek.me/articles/why-i-like-nox/</guid>
      <description>Ever since I got involved with open-source Python projects, tox has been vital for testing packages across Python versions (and other factors). However, lately, I’ve been increasingly using Nox for my projects instead. Since I’ve been asked why repeatedly, I’ll sum up my thoughts.</description>
      <author>hynek</author>
      <pubDate>Wed, 18 Jan 2023 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Surprising Consequences of macOS’s Environment Variable Sanitization</title>
      <link>https://hynek.me/articles/macos-dyld-env/</link>
      <guid isPermaLink="false">https://hynek.me/articles/macos-dyld-env/</guid>
      <description>Why does DYLD_LIBRARY_PATH keep disappearing!?</description>
      <author>hynek</author>
      <pubDate>Mon, 09 Jan 2023 08:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Photo</title>
      <link>https://jonbaer.com/post/705674078747508736</link>
      <guid isPermaLink="false">https://jonbaer.com/post/705674078747508736</guid>
      <author>jonbaer</author>
      <pubDate>Fri, 06 Jan 2023 05:34:04 +0000</pubDate>
    </item>
    <item>
      <title>How I’m a Productive Programmer With a Memory of a Fruit Fly</title>
      <link>https://hynek.me/articles/productive-fruit-fly-programmer/</link>
      <guid isPermaLink="false">https://hynek.me/articles/productive-fruit-fly-programmer/</guid>
      <description>A love letter to tools that changed everything for me.</description>
      <author>hynek</author>
      <pubDate>Mon, 19 Sep 2022 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Recursive Optional Dependencies in Python</title>
      <link>https://hynek.me/articles/python-recursive-optional-dependencies/</link>
      <guid isPermaLink="false">https://hynek.me/articles/python-recursive-optional-dependencies/</guid>
      <description>One of my (slowly evaporating) reasons why I like putting packaging metadata into an executable setup.py is the ability to have optional dependencies that are combinations of others. As of pip 21.2, this is possible without running code.</description>
      <author>hynek</author>
      <pubDate>Fri, 29 Jul 2022 06:00:00 +0000</pubDate>
    </item>
    <item>
      <title>“Don’t Mock What You Don’t Own” in 5 Minutes</title>
      <link>https://hynek.me/articles/what-to-mock-in-5-mins/</link>
      <guid isPermaLink="false">https://hynek.me/articles/what-to-mock-in-5-mins/</guid>
      <description>A common issue when writing tests for real-world software is how to deal with third-party dependencies. Let’s examine an old, but counter-intuitive principle.</description>
      <author>hynek</author>
      <pubDate>Tue, 21 Jun 2022 09:00:00 +0000</pubDate>
    </item>
    <item>
      <title>on the philosophy of rating systems</title>
      <link>https://agnishom.github.io/blog/2022/rating-systems/</link>
      <guid isPermaLink="false">https://agnishom.github.io/blog/2022/rating-systems</guid>
      <description>what makes an appropriate rating system and how to rate</description>
      <author>agnishom</author>
      <pubDate>Sun, 06 Feb 2022 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>import attrs</title>
      <link>https://hynek.me/articles/import-attrs/</link>
      <guid isPermaLink="false">https://hynek.me/articles/import-attrs/</guid>
      <description>An attempt at catharsis. This is a deeply personal blog post about the most influential project I’ve ever created: attrs , the progenitor of modern Python class utilities. I’m retelling its history from my perspective, how it begot dataclasses , and how I’m leading it into the future.</description>
      <author>hynek</author>
      <pubDate>Tue, 28 Dec 2021 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>How to Ditch Codecov for Python Projects</title>
      <link>https://hynek.me/articles/ditch-codecov-python/</link>
      <guid isPermaLink="false">https://hynek.me/articles/ditch-codecov-python/</guid>
      <description>Codecov’s unreliability breaking CI on my open source projects has been a constant source of frustration for me for years. I have found a way to enforce coverage over a whole GitHub Actions build matrix that doesn’t rely on third-party services.</description>
      <author>hynek</author>
      <pubDate>Thu, 18 Nov 2021 08:00:00 +0000</pubDate>
    </item>
    <item>
      <title>&#34;While they wrestle with the immediate danger posed by hackers today, US government officials are...&#34;</title>
      <link>https://jonbaer.com/post/667274095277342720</link>
      <guid isPermaLink="false">https://jonbaer.com/post/667274095277342720</guid>
      <description>“While they wrestle with the immediate danger posed by hackers today, US government officials are preparing for another, longer-term threat: attackers who are collecting sensitive, encrypted data now in the hope that they’ll be able to unlock it at some point in the future.” - Hackers are stealing data today so quantum computers can crack it in a decade | MIT Technology Review</description>
      <author>jonbaer</author>
      <pubDate>Mon, 08 Nov 2021 09:02:46 +0000</pubDate>
    </item>
    <item>
      <title>Two of World’s Biggest Quantum Computers Made in China</title>
      <link>https://jonbaer.com/post/667273971241205760</link>
      <guid isPermaLink="false">https://jonbaer.com/post/667273971241205760</guid>
      <description>Two of World’s Biggest Quantum Computers Made in China : Two of the most powerful quantum computers in the world to date now both come from China, and new experiments with them re-ignite the controversy over what kinds of problems might be quantum computationally solvable that couldn’t begin to be solved by a conventional supercomputer.</description>
      <author>jonbaer</author>
      <pubDate>Mon, 08 Nov 2021 09:00:47 +0000</pubDate>
    </item>
    <item>
      <title>Announcing a New Section: TIL</title>
      <link>https://hynek.me/articles/til/</link>
      <guid isPermaLink="false">https://hynek.me/articles/til/</guid>
      <description>Trying out something new: today I’m launching my own Today I Learned section. In this essay I will sum up what my plans and hopes are.</description>
      <author>hynek</author>
      <pubDate>Wed, 25 Aug 2021 12:00:00 +0000</pubDate>
    </item>
    <item>
      <title>a post with diagrams</title>
      <link>https://agnishom.github.io/blog/2021/diagrams/</link>
      <guid isPermaLink="false">https://agnishom.github.io/blog/2021/diagrams</guid>
      <description>an example of a blog post with diagrams</description>
      <author>agnishom</author>
      <pubDate>Sun, 04 Jul 2021 17:39:00 +0000</pubDate>
    </item>
    <item>
      <title>Subclassing in Python Redux</title>
      <link>https://hynek.me/articles/python-subclassing-redux/</link>
      <guid isPermaLink="false">https://hynek.me/articles/python-subclassing-redux/</guid>
      <description>The conflict between subclassing and composition is as old as object-oriented programming. The latest crop of languages like Go or Rust prove that you don’t need subclassing to successfully write code. But what’s a pragmatic approach to subclassing in Python, specifically?</description>
      <author>hynek</author>
      <pubDate>Tue, 22 Jun 2021 15:00:00 +0000</pubDate>
    </item>
    <item>
      <title>a distill-style blog post</title>
      <link>https://agnishom.github.io/blog/2021/distill/</link>
      <guid isPermaLink="false">https://agnishom.github.io/blog/2021/distill</guid>
      <description>an example of a distill-style blog post and main elements</description>
      <author>agnishom</author>
      <pubDate>Sat, 22 May 2021 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Canonical SEO Failure</title>
      <link>https://hynek.me/articles/canonical-seo-fail/</link>
      <guid isPermaLink="false">https://hynek.me/articles/canonical-seo-fail/</guid>
      <description>This post is less about teaching and more about schadenfreude amusement for you, and catharsis for me. It’s the story of how one unfortunate HTML tag kicked me off almost all search engines and my months-long way back. And why it didn’t matter in the end.</description>
      <author>hynek</author>
      <pubDate>Wed, 28 Apr 2021 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Photo</title>
      <link>https://jonbaer.com/post/645835801710804992</link>
      <guid isPermaLink="false">https://jonbaer.com/post/645835801710804992</guid>
      <author>jonbaer</author>
      <pubDate>Tue, 16 Mar 2021 17:50:16 +0000</pubDate>
    </item>
    <item>
      <title>Semantic Versioning Will Not Save You</title>
      <link>https://hynek.me/articles/semver-will-not-save-you/</link>
      <guid isPermaLink="false">https://hynek.me/articles/semver-will-not-save-you/</guid>
      <description>The widely used Python package cryptography changed their build system to use Rust for low-level code, which caused an emotional GitHub thread. Enthusiasts of 32-bit hardware from the 1990s aside, a vocal faction stipulated adherence to Semantic Versioning from the maintainers, claiming it would’ve prevented all grief. I will show you not only why this is wrong but also how relying on Semantic Versioning hurts you – the user.</description>
      <author>hynek</author>
      <pubDate>Tue, 02 Mar 2021 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Lie vs Lay</title>
      <link>https://hynek.me/articles/lie-vs-lay/</link>
      <guid isPermaLink="false">https://hynek.me/articles/lie-vs-lay/</guid>
      <description>Lie and lay are infamously confusing to non-native speakers. It’s so bad that it sparked a cottage industry of click-baity articles full of sketchy ads. Since English is my third language, I stumbled a lot myself until I wrote this cheatsheet.</description>
      <author>hynek</author>
      <pubDate>Wed, 03 Feb 2021 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>OpenBSD on the Lenovo ThinkPad X1 Nano (1st Gen)</title>
      <link>https://jcs.org/2021/01/27/x1nano#2024-06-25</link>
      <guid isPermaLink="false">https://jcs.org/2021/01/27/x1nano#2024-06-25</guid>
      <description>Lenovo has finally made a smaller version of its X1 Carbon , something I&#39;ve been looking forward to for years. Table of Contents Top Hardware Firmware Current OpenBSD Support Summary Updates Hardware The X1 Nano is basically a 13&#34; version of the 14&#34; X1 Carbon, reducing its footprint, thickness, and weight. Availability in the US has been fairly limited (and expensive) at the moment, offering no WWAN or any customizable options, and Core i7 models are not shipping out for months. I purchased the …</description>
      <author>jcs</author>
      <pubDate>Wed, 27 Jan 2021 05:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Photo</title>
      <link>https://jonbaer.com/post/637629431339433984</link>
      <guid isPermaLink="false">https://jonbaer.com/post/637629431339433984</guid>
      <author>jonbaer</author>
      <pubDate>Wed, 16 Dec 2020 03:53:32 +0000</pubDate>
    </item>
    <item>
      <title>Photo</title>
      <link>https://jonbaer.com/post/635701192599748608</link>
      <guid isPermaLink="false">https://jonbaer.com/post/635701192599748608</guid>
      <author>jonbaer</author>
      <pubDate>Tue, 24 Nov 2020 21:05:00 +0000</pubDate>
    </item>
    <item>
      <title>a post with github metadata</title>
      <link>https://agnishom.github.io/blog/2020/github-metadata/</link>
      <guid isPermaLink="false">https://agnishom.github.io/blog/2020/github-metadata</guid>
      <description>a quick run down on accessing github metadata.</description>
      <author>agnishom</author>
      <pubDate>Mon, 28 Sep 2020 21:01:00 +0000</pubDate>
    </item>
    <item>
      <title>a post with twitter</title>
      <link>https://agnishom.github.io/blog/2020/twitter/</link>
      <guid isPermaLink="false">https://agnishom.github.io/blog/2020/twitter</guid>
      <description>an example of a blog post with twitter</description>
      <author>agnishom</author>
      <pubDate>Mon, 28 Sep 2020 15:12:00 +0000</pubDate>
    </item>
    <item>
      <title>‘Quantum secret sharing’ scheme allows 10 parties to communicate securely – Physics World</title>
      <link>https://jonbaer.com/post/626131603871186945</link>
      <guid isPermaLink="false">https://jonbaer.com/post/626131603871186945</guid>
      <description>‘Quantum secret sharing’ scheme allows 10 parties to communicate securely – Physics World : A “quantum secret sharing” scheme that allows 10 parties share information securely – the highest number so far – has been developed and demonstrated by researchers in South Africa. The protocol involves each party performing quantum operations on the photon without measuring its state and the team says it could help increase both the rate at which data is shared on secure quantum networks a…</description>
      <author>jonbaer</author>
      <pubDate>Tue, 11 Aug 2020 06:00:28 +0000</pubDate>
    </item>
    <item>
      <title>Photo</title>
      <link>https://jonbaer.com/post/626130641411571712</link>
      <guid isPermaLink="false">https://jonbaer.com/post/626130641411571712</guid>
      <author>jonbaer</author>
      <pubDate>Tue, 11 Aug 2020 05:45:11 +0000</pubDate>
    </item>
    <item>
      <title>Photo</title>
      <link>https://jonbaer.com/post/622793151737905152</link>
      <guid isPermaLink="false">https://jonbaer.com/post/622793151737905152</guid>
      <author>jonbaer</author>
      <pubDate>Sun, 05 Jul 2020 09:37:13 +0000</pubDate>
    </item>
    <item>
      <title>Photo</title>
      <link>https://jonbaer.com/post/620222200853774336</link>
      <guid isPermaLink="false">https://jonbaer.com/post/620222200853774336</guid>
      <author>jonbaer</author>
      <pubDate>Sun, 07 Jun 2020 00:33:03 +0000</pubDate>
    </item>
    <item>
      <title>Waiting in asyncio</title>
      <link>https://hynek.me/articles/waiting-in-asyncio/</link>
      <guid isPermaLink="false">https://hynek.me/articles/waiting-in-asyncio/</guid>
      <description>One of the main appeals of using Python’s asyncio is being able to fire off many coroutines and run them concurrently. How many ways do you know for waiting for their results?</description>
      <author>hynek</author>
      <pubDate>Thu, 21 May 2020 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Classy Abstractions</title>
      <link>https://hynek.me/talks/abstractions/</link>
      <guid isPermaLink="false">https://hynek.me/talks/abstractions/</guid>
      <description>Let’s talk about abstractions and Pythonic code.</description>
      <author>hynek</author>
      <pubDate>Mon, 18 May 2020 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Why You Should Document Your Tests</title>
      <link>https://hynek.me/articles/document-your-tests/</link>
      <guid isPermaLink="false">https://hynek.me/articles/document-your-tests/</guid>
      <description>Some projects have the policy that all tests must have an explanatory comment – including all of mine. At first, I found that baffling. If that’s you right now, this article is for you.</description>
      <author>hynek</author>
      <pubDate>Mon, 04 May 2020 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>John Horton Conway (26 December 1937 – 11 April 2020)</title>
      <link>https://jonbaer.com/post/615150273431814144</link>
      <guid isPermaLink="false">https://jonbaer.com/post/615150273431814144</guid>
      <description>John Horton Conway (26 December 1937 – 11 April 2020)</description>
      <author>jonbaer</author>
      <pubDate>Sun, 12 Apr 2020 00:56:56 +0000</pubDate>
    </item>
    <item>
      <title>Python in GitHub Actions</title>
      <link>https://hynek.me/articles/python-github-actions/</link>
      <guid isPermaLink="false">https://hynek.me/articles/python-github-actions/</guid>
      <description>GitHub’s own CI called GitHub Actions has been out of closed beta for a while and offers generous free quotas and a seamless integration with the rest of the site. Let’s have a look at how to use it for an open source Python package.</description>
      <author>hynek</author>
      <pubDate>Mon, 09 Mar 2020 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Python in Production</title>
      <link>https://hynek.me/articles/python-in-production/</link>
      <guid isPermaLink="false">https://hynek.me/articles/python-in-production/</guid>
      <description>I’m missing a key part from the public Python discourse and I would like to help to change that.</description>
      <author>hynek</author>
      <pubDate>Sun, 23 Feb 2020 16:45:00 +0000</pubDate>
    </item>
    <item>
      <title>Python Packaging Metadata</title>
      <link>https://hynek.me/articles/packaging-metadata/</link>
      <guid isPermaLink="false">https://hynek.me/articles/packaging-metadata/</guid>
      <description>Since this topic keeps coming up, I’d like to briefly share my thoughts on Python package metadata because it’s – as always – more complex than it seems.</description>
      <author>hynek</author>
      <pubDate>Fri, 14 Feb 2020 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Photo</title>
      <link>https://jonbaer.com/post/189890847341</link>
      <guid isPermaLink="false">https://jonbaer.com/post/189890847341</guid>
      <author>jonbaer</author>
      <pubDate>Fri, 27 Dec 2019 01:24:10 +0000</pubDate>
    </item>
    <item>
      <title>Photo</title>
      <link>https://jonbaer.com/post/189564054026</link>
      <guid isPermaLink="false">https://jonbaer.com/post/189564054026</guid>
      <author>jonbaer</author>
      <pubDate>Mon, 09 Dec 2019 03:31:08 +0000</pubDate>
    </item>
    <item>
      <title>Books That Changed My Life</title>
      <link>https://hynek.me/articles/books-that-changed-my-life/</link>
      <guid isPermaLink="false">https://hynek.me/articles/books-that-changed-my-life/</guid>
      <description>People always ask for book recommendations, so here’s my list of books that changed my life in one way or another. None of them is related to tech or programming, but all affect how I think and work.</description>
      <author>hynek</author>
      <pubDate>Mon, 23 Sep 2019 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Every transistor has a unique quantum fingerprint—but can it be used as a form of ID?</title>
      <link>https://jonbaer.com/post/186689297541</link>
      <guid isPermaLink="false">https://jonbaer.com/post/186689297541</guid>
      <description>Every transistor has a unique quantum fingerprint—but can it be used as a form of ID? : As trap sites are basically tiny defects that are randomly distributed in an uncontrollable way during fabrication, the number, location, and energy levels of trap sites differ for every transistor. As a result, single-electron effects lead to a unique modification in the current-voltage characteristics, effectively giving each transistor a unique “fingerprint.”</description>
      <author>jonbaer</author>
      <pubDate>Thu, 01 Aug 2019 01:21:42 +0000</pubDate>
    </item>
    <item>
      <title>Illinois Physics Researchers Awarded DoE Grants to Advance Quantum Information Science</title>
      <link>https://jonbaer.com/post/186689276716</link>
      <guid isPermaLink="false">https://jonbaer.com/post/186689276716</guid>
      <description>Illinois Physics Researchers Awarded DoE Grants to Advance Quantum Information Science : Physics Professors Bryan Clark and Taylor Hughes of the University of Illinois at Urbana-Champaign have been awarded US Department of Energy (DOE) grants to develop new quantum computing capabilities. The awards are part of a $37-million DOE initiative supporting research that will lay the groundwork for the development of new quantum information systems and that will use current quantum information capabili…</description>
      <author>jonbaer</author>
      <pubDate>Thu, 01 Aug 2019 01:20:27 +0000</pubDate>
    </item>
    <item>
      <title>Python in Azure Pipelines, Step by Step</title>
      <link>https://hynek.me/articles/simple-python-azure-pipelines/</link>
      <guid isPermaLink="false">https://hynek.me/articles/simple-python-azure-pipelines/</guid>
      <description>Since the acquisition of Travis CI , the future of their free offering is unclear. Azure Pipelines has a generous free tier, but the examples I found are discouragingly complex and take advantage of features like templating that most projects don’t need. To close that gap, this article shows you how to move a Python project with simple CI needs from Travis CI to Azure Pipelines.</description>
      <author>hynek</author>
      <pubDate>Mon, 03 Jun 2019 09:14:00 +0000</pubDate>
    </item>
    <item>
      <title>The Price of the Hallway Track</title>
      <link>https://hynek.me/articles/hallway-track/</link>
      <guid isPermaLink="false">https://hynek.me/articles/hallway-track/</guid>
      <description>There are many good reasons not to go to every talk possible when attending conferences. However, increasingly, it became hip to boast about avoiding going to talks – encouraging others to follow suit. That rubs me the wrong way as a speaker, and I’ll try to explain why.</description>
      <author>hynek</author>
      <pubDate>Wed, 15 May 2019 18:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Maintaining a Python Project When It’s Not Your Job</title>
      <link>https://hynek.me/talks/python-foss/</link>
      <guid isPermaLink="false">https://hynek.me/talks/python-foss/</guid>
      <description>PyPI is a gold mine of great packages but those packages have to be written first. More often than not, projects that millions of people depend on are written and maintained by only one person. If you’re unlucky, that person is you! This talk tries to lighten the burden by giving you useful tools and approaches.</description>
      <author>hynek</author>
      <pubDate>Fri, 03 May 2019 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Python Application Dependency Management</title>
      <link>https://hynek.me/articles/python-app-deps-2018/</link>
      <guid isPermaLink="false">https://hynek.me/articles/python-app-deps-2018/</guid>
      <description>We have more ways to manage dependencies in Python applications than ever. But how do they fare in production? Unfortunately this topic turned out to be quite polarizing and was at the center of a lot of heated debates. This is my attempt at an opinionated review through a DevOps lens.</description>
      <author>hynek</author>
      <pubDate>Thu, 29 Nov 2018 17:00:00 +0000</pubDate>
    </item>
    <item>
      <title>How to Write Deployment-friendly Applications</title>
      <link>https://hynek.me/talks/deploy-friendly/</link>
      <guid isPermaLink="false">https://hynek.me/talks/deploy-friendly/</guid>
      <description>The DevOps movement gave us many ways to put Python applications into production. But how can you practically structure and configure your applications to make them indifferent to the environment they run in? How do secrets fit into the picture? And where do you put that log file?</description>
      <author>hynek</author>
      <pubDate>Sat, 12 May 2018 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Python Hashes and Equality</title>
      <link>https://hynek.me/articles/hashes-and-equality/</link>
      <guid isPermaLink="false">https://hynek.me/articles/hashes-and-equality/</guid>
      <description>Most Python programmers don’t spend a lot of time thinking about how equality and hashing works. It usually just works. However there’s quite a bit of gotchas and edge cases that can lead to subtle and frustrating bugs once one starts to customize their behavior – especially if the rules on how they interact aren’t understood.</description>
      <author>hynek</author>
      <pubDate>Mon, 20 Nov 2017 06:45:00 +0000</pubDate>
    </item>
    <item>
      <title>Why Your Dockerized Application Isn’t Receiving Signals</title>
      <link>https://hynek.me/articles/docker-signals/</link>
      <guid isPermaLink="false">https://hynek.me/articles/docker-signals/</guid>
      <description>Proper cleanup when terminating your application isn’t less important when it’s running inside of a Docker container. Although it only comes down to making sure signals reach your application and handling them, there’s a bunch of things that can go wrong.</description>
      <author>hynek</author>
      <pubDate>Mon, 19 Jun 2017 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>On Conference Speaking</title>
      <link>https://hynek.me/articles/speaking/</link>
      <guid isPermaLink="false">https://hynek.me/articles/speaking/</guid>
      <description>I’ve seen quite a bit of the world thanks to being invited to speak at conferences. Since some people are under the impression that serial conference speakers possess some special talents, I’d like to demystify my process by walking you through my latest talk from start to finish.</description>
      <author>hynek</author>
      <pubDate>Tue, 30 May 2017 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Solid Snakes or: How to Take 5 Weeks of Vacation</title>
      <link>https://hynek.me/talks/reliability/</link>
      <guid isPermaLink="false">https://hynek.me/talks/reliability/</guid>
      <description>No matter whether you run a web app, search for gravitational waves, or maintain a backup script: reliability of your systems make the difference between sweet dreams and production nightmares at 4am.</description>
      <author>hynek</author>
      <pubDate>Fri, 19 May 2017 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Components á la carte</title>
      <link>http://darrennewton.com/2016/12/21/components-a-la-carte/</link>
      <guid isPermaLink="false">urn:uuid:5d2b4e70-b1ed-5b60-a540-1ede0e4c0515</guid>
      <description>TL;DR - By exploiting Webpack’s async loading feature you can roll a feature-gating mechanism in your JavaScript app that only loads the code your end user is supposed to see. This is great for beta testing features and making smaller initial loads. You probably don’t need to do this in your application.</description>
      <author>d_run</author>
      <pubDate>Wed, 21 Dec 2016 08:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Identicons with ClojureScript</title>
      <link>http://darrennewton.com/2016/12/17/identicons-with-clojurescript/</link>
      <guid isPermaLink="false">urn:uuid:6e914559-e3ec-566e-82d6-f409c6fca05f</guid>
      <description>A while back I put together a little graphics package written in Racket for generating identicons. This summer someone at work stumbled across it and asked if I could generate some of those identicons in the browser. I decided to give it a shot and whipped up a small subset of the original package in ClojureScript: identikon-cljs</description>
      <author>d_run</author>
      <pubDate>Sat, 17 Dec 2016 14:56:00 +0000</pubDate>
    </item>
    <item>
      <title>Better Python Object Serialization</title>
      <link>https://hynek.me/articles/serialization/</link>
      <guid isPermaLink="false">https://hynek.me/articles/serialization/</guid>
      <description>The Python standard library is full of underappreciated gems. One of them allows for simple and elegant function dispatching based on argument types . This makes it perfect for serialization of arbitrary objects – for example to JSON in web APIs and structured logs.</description>
      <author>hynek</author>
      <pubDate>Mon, 22 Aug 2016 12:30:00 +0000</pubDate>
    </item>
    <item>
      <title>Please Fix Your Decorators</title>
      <link>https://hynek.me/articles/decorators/</link>
      <guid isPermaLink="false">https://hynek.me/articles/decorators/</guid>
      <description>If your Python decorator unintentionally changes the signatures of my callables or doesn’t work with class methods, it’s broken and should be fixed. Sadly most decorators are broken because the web is full of bad advice.</description>
      <author>hynek</author>
      <pubDate>Mon, 01 Aug 2016 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Get Instrumented: How Prometheus Can Unify Your Metrics</title>
      <link>https://hynek.me/talks/prometheus/</link>
      <guid isPermaLink="false">https://hynek.me/talks/prometheus/</guid>
      <description>To get real time insight into running applications you need to instrument them and collect metrics: count events, measure times, expose numbers. That used to be a clusterfuck of technologies and approaches. Prometheus changes that.</description>
      <author>hynek</author>
      <pubDate>Tue, 31 May 2016 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Conditional Python Dependencies</title>
      <link>https://hynek.me/articles/conditional-python-dependencies/</link>
      <guid isPermaLink="false">https://hynek.me/articles/conditional-python-dependencies/</guid>
      <description>Since the inception of wheels that install Python packages without executing arbitrary code, we need a static way to encode conditional dependencies for our packages. Thanks to PEP 508 we do have a blessed way but sadly the prevalence of old setuptools and pip versions make it a minefield to use.</description>
      <author>hynek</author>
      <pubDate>Thu, 19 May 2016 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Python 3 in 2016</title>
      <link>https://hynek.me/articles/python3-2016/</link>
      <guid isPermaLink="false">https://hynek.me/articles/python3-2016/</guid>
      <description>My completely anecdotal view on the state of Python 3 in 2016. Based on my own recent experience, observations, and exchanges with other members of the Python community.</description>
      <author>hynek</author>
      <pubDate>Wed, 17 Feb 2016 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>hasattr() – A Dangerous Misnomer</title>
      <link>https://hynek.me/articles/hasattr/</link>
      <guid isPermaLink="false">https://hynek.me/articles/hasattr/</guid>
      <description>Don’t use Python’s hasattr() unless you’re writing Python 3- only code and understand how it works.</description>
      <author>hynek</author>
      <pubDate>Wed, 13 Jan 2016 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Storing Passwords in a Highly Parallelized World</title>
      <link>https://hynek.me/articles/storing-passwords/</link>
      <guid isPermaLink="false">https://hynek.me/articles/storing-passwords/</guid>
      <description>Why “Use bcrypt .” is not the best recommendation (anymore).</description>
      <author>hynek</author>
      <pubDate>Wed, 06 Jan 2016 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>a post with comments</title>
      <link>https://agnishom.github.io/blog/2015/comments/</link>
      <guid isPermaLink="false">https://agnishom.github.io/blog/2015/comments</guid>
      <description>an example of a blog post with comments</description>
      <author>agnishom</author>
      <pubDate>Tue, 20 Oct 2015 15:59:00 +0000</pubDate>
    </item>
    <item>
      <title>Testing &amp; Packaging</title>
      <link>https://hynek.me/articles/testing-packaging/</link>
      <guid isPermaLink="false">https://hynek.me/articles/testing-packaging/</guid>
      <description>How to ensure that your tests run code that you think they are running, and how to measure your coverage over multiple tox runs (in parallel!).</description>
      <author>hynek</author>
      <pubDate>Mon, 19 Oct 2015 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Beyond grep: Practical Logging and Metrics</title>
      <link>https://hynek.me/talks/beyond-grep/</link>
      <guid isPermaLink="false">https://hynek.me/talks/beyond-grep/</guid>
      <description>Your Python applications are running but you’re wondering what they are doing? The only clue about their current state is the server load after ssh -ing into the servers? Let’s change that!</description>
      <author>hynek</author>
      <pubDate>Sun, 12 Apr 2015 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Sour Mash: getting your Clojure into a JAR</title>
      <link>http://darrennewton.com/2015/03/08/sour-mash-getting-your-clojure-into-a-jar/</link>
      <guid isPermaLink="false">urn:uuid:fe51b3b6-28a3-57d8-8abf-0cf83d2bcede</guid>
      <description>This weekend I decided to finally bite the bullet and deploy one of my Clojure apps as a JAR. “Certainly” I thought to myself, “there are great tutorials for this online”. Yes, yes there are, except none of them worked for me and in fact did lead to the consumption of some rye whiskey. Caveats: Every Clojure app is different, and the details of your app will determine the steps necessary to build a JAR. None of the information I found online specifically addressed the problems I had, so …</description>
      <author>d_run</author>
      <pubDate>Sun, 08 Mar 2015 19:09:00 +0000</pubDate>
    </item>
    <item>
      <title>Deterministic Pixels</title>
      <link>http://darrennewton.com/2015/01/04/deterministic-pixels/</link>
      <guid isPermaLink="false">urn:uuid:fb953db8-aec6-5a31-becd-b4e98ae7ff79</guid>
      <description>I’ve always liked identicons, which WordPress and GitHub have used to great effect. The premise is simple: take a user identifier such as an IP or email address and deterministically convert it into an image based on a simple algorithm. To that I end I started hacking on Identikon - a little Racket program that generates different types of identicons based on rules modules.</description>
      <author>d_run</author>
      <pubDate>Sun, 04 Jan 2015 17:17:00 +0000</pubDate>
    </item>
    <item>
      <title>virtualenv Lives!</title>
      <link>https://hynek.me/articles/virtualenv-lives/</link>
      <guid isPermaLink="false">https://hynek.me/articles/virtualenv-lives/</guid>
      <description>Setting up Python to the point to be able install packages from PyPI can be annoying and time-intensive. Even worse are OS-provided installations that start throwing cryptic error messages. Especially desktops are prone to that but it’s possible to break the whole toolchain of a server by installing some shiny package you heard about on reddit .</description>
      <author>hynek</author>
      <pubDate>Mon, 15 Sep 2014 15:00:00 +0000</pubDate>
    </item>
    <item>
      <title>The Sorry State Of SSL</title>
      <link>https://hynek.me/talks/tls/</link>
      <guid isPermaLink="false">https://hynek.me/talks/tls/</guid>
      <description>TLS is the best technology we have for securing our communications. It comes with many sharp edges though. This talk tries to jumpstart a rough understanding and these links should help you to complete the picture.</description>
      <author>hynek</author>
      <pubDate>Sat, 12 Apr 2014 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Apple OpenSSL Verification Surprises</title>
      <link>https://hynek.me/articles/apple-openssl-verification-surprises/</link>
      <guid isPermaLink="false">https://hynek.me/articles/apple-openssl-verification-surprises/</guid>
      <description>Apple ships a patched version of OpenSSL with macOS. If no precautions are taken, their changes rob you of the power to choose your trusted certificate authorities (CAs) and break the semantics of a callback that can be used for custom checks and verifications in client software.</description>
      <author>hynek</author>
      <pubDate>Mon, 03 Mar 2014 15:30:00 +0000</pubDate>
    </item>
    <item>
      <title>EventedArray: a JavaScript conveyor belt</title>
      <link>http://darrennewton.com/2013/11/16/evented-arrays-a-javascript-conveyor-belt/</link>
      <guid isPermaLink="false">urn:uuid:fd998589-4fe3-5067-8353-83bd8e8b5092</guid>
      <description>This post takes a quick look at EventedArray, a small Array-like JavaScript data structure (written in CoffeeScript) that allows you to register callbacks on accessor/mutator operations and also create fixed size buffers. All examples are in JavaScript.</description>
      <author>d_run</author>
      <pubDate>Sat, 16 Nov 2013 09:30:00 +0000</pubDate>
    </item>
    <item>
      <title>Sharing Your Labor of Love: PyPI Quick and Dirty</title>
      <link>https://hynek.me/articles/sharing-your-labor-of-love-pypi-quick-and-dirty/</link>
      <guid isPermaLink="false">https://hynek.me/articles/sharing-your-labor-of-love-pypi-quick-and-dirty/</guid>
      <description>A completely incomplete guide to packaging a Python module and sharing it with the world on PyPI.</description>
      <author>hynek</author>
      <pubDate>Mon, 29 Jul 2013 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Life after Google Reader</title>
      <link>https://hynek.me/articles/life-after-google-reader/</link>
      <guid isPermaLink="false">https://hynek.me/articles/life-after-google-reader/</guid>
      <description>Google killed its Reader and my beloved Reeder for Mac and iPad officially won’t get updated in time. I think to have found an adequate setup to replace both.</description>
      <author>hynek</author>
      <pubDate>Thu, 27 Jun 2013 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>A Short Summary on Sybase SQL Anywhere and Python</title>
      <link>https://hynek.me/articles/a-short-summary-on-sybase-sql-anywhere-python/</link>
      <guid isPermaLink="false">https://hynek.me/articles/a-short-summary-on-sybase-sql-anywhere-python/</guid>
      <description>As some of my older rage-filled articles indicated, we’re still running some services on SAP’s SQL Anywhere . Since it cost me many hours and sanity wrangling, I think it may be helpful to others to summarize the current situation for Python developers.</description>
      <author>hynek</author>
      <pubDate>Wed, 29 May 2013 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Know Your Models</title>
      <link>https://hynek.me/articles/know-your-models/</link>
      <guid isPermaLink="false">https://hynek.me/articles/know-your-models/</guid>
      <description>In web development, we have an unfortunate double meaning for the word models . As evident as the separation of those two seems to seasoned developers, it shows again and again that it’s not as apparent to beginners.</description>
      <author>hynek</author>
      <pubDate>Wed, 15 May 2013 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Get Functional with Underscore-Contrib</title>
      <link>http://darrennewton.com/2013/05/05/get-functional-with-underscore-contrib/</link>
      <guid isPermaLink="false">urn:uuid:d7124fe7-0b08-5a50-9220-8d7dcfb6bd35</guid>
      <description>TL;DR - Fogus and Jeremy Ashkenas published the underscore-contrib repo recently which is loaded with functional JavaScript goodness based on the popular underscore library. I walk through a few examples of how I use it in the hopes you’ll get interested in working out new ways to solve your own day-to-day issues.</description>
      <author>d_run</author>
      <pubDate>Sun, 05 May 2013 09:09:00 +0000</pubDate>
    </item>
    <item>
      <title>Solid Python Deployments for Everybody</title>
      <link>https://hynek.me/talks/python-deployments/</link>
      <guid isPermaLink="false">https://hynek.me/talks/python-deployments/</guid>
      <description>Without orientation, deployments of Python applications can be tiresome and even painful. This talk attempts to replace anxiety and pain through informed annoyance.</description>
      <author>hynek</author>
      <pubDate>Sat, 16 Mar 2013 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Taking Some Pain out of Python Logging</title>
      <link>https://hynek.me/articles/taking-some-pain-out-of-python-logging/</link>
      <guid isPermaLink="false">https://hynek.me/articles/taking-some-pain-out-of-python-logging/</guid>
      <description>Even the best of us hate logging in Python sometimes. And while a lot of its problems are actually just bad docs and terrible defaults in the past, there is some pain that can be avoided.</description>
      <author>hynek</author>
      <pubDate>Wed, 06 Mar 2013 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Hardening Your Web Server’s SSL Ciphers</title>
      <link>https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/</link>
      <guid isPermaLink="false">https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/</guid>
      <description>There are many wordy articles on configuring your web server’s TLS ciphers. This is not one of them. Instead, I will share a configuration that scores a straight “ A ” on Qualys’s SSL Server Test in 2023.</description>
      <author>hynek</author>
      <pubDate>Tue, 05 Feb 2013 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Hacking up sites with Middleman</title>
      <link>http://darrennewton.com/2012/09/16/hacking-up-sites-with-middleman/</link>
      <guid isPermaLink="false">urn:uuid:89d26709-b68f-5ff9-b4d7-d31927b03505</guid>
      <description>TL;DR - I’m going to walk through how I rebuilt this blog using a static site generator. In the first half I walk through my decision for moving to a static site. You can skip down to the tech talk if you want.</description>
      <author>d_run</author>
      <pubDate>Sun, 16 Sep 2012 12:14:00 +0000</pubDate>
    </item>
    <item>
      <title>Using Celery with Pyramid</title>
      <link>https://hynek.me/articles/using-celery-with-pyramid/</link>
      <guid isPermaLink="false">https://hynek.me/articles/using-celery-with-pyramid/</guid>
      <description>This one falls under: “I knew there has to be an easy way!”</description>
      <author>hynek</author>
      <pubDate>Fri, 20 Jul 2012 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>How I Stopped Worrying and Started Loving PyLadies</title>
      <link>https://hynek.me/articles/how-i-stopped-worrying-and-started-loving-pyladies/</link>
      <guid isPermaLink="false">https://hynek.me/articles/how-i-stopped-worrying-and-started-loving-pyladies/</guid>
      <description>When I read about PyLadies for the first time, my thoughts were a common knee-jerk: “separation is bad, dividing the community, …”. Like many of my privileged peers, I was pro-diversity but I thought this is the wrong way. My views changed over time and I filed it under “lessons learned”. Unfortunately, my old thinking patterns don’t cease to pop up in discussions, so I decided to share my perspective.</description>
      <author>hynek</author>
      <pubDate>Fri, 13 Jul 2012 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Heroku and your demo: It&#39;s great till it isn&#39;t</title>
      <link>http://darrennewton.com/2012/07/08/heroku-and-your-demo/</link>
      <guid isPermaLink="false">urn:uuid:0dd849b2-a7ed-52db-a7c8-952d38432c7c</guid>
      <description>In my previous blog post I linked to a demo application hosted on Heroku. Heroku is great, as you can use their free hosting to quickly get your demo up online using a variety of technologies. Unfortunately I ran into a few issues related to traffic spikes and bad weather. The cloud is great, until it’s not.</description>
      <author>d_run</author>
      <pubDate>Sun, 08 Jul 2012 12:14:00 +0000</pubDate>
    </item>
    <item>
      <title>Backbone.js and You</title>
      <link>http://darrennewton.com/2012/06/24/backbonejs-and-you/</link>
      <guid isPermaLink="false">urn:uuid:fff06686-e951-5872-af27-5ff181d33596</guid>
      <description>I’m currently working with the amazing folks at Arc90 on a pretty hefty project. It’s a great working environment that really stresses collaboration and learning, with weekly code and design reviews. We’re starting to use Backbone.js on a number of projects, so a quick talk was organized to explain the ins and outs to everyone. Since I had worked on some previous projects using Backbone, they asked me to do an intro.</description>
      <author>d_run</author>
      <pubDate>Sun, 24 Jun 2012 09:11:00 +0000</pubDate>
    </item>
    <item>
      <title>My Road to the Python Commit Bit</title>
      <link>https://hynek.me/articles/my-road-to-the-python-commit-bit/</link>
      <guid isPermaLink="false">https://hynek.me/articles/my-road-to-the-python-commit-bit/</guid>
      <description>Like many OSS fans, I always wanted to be an active part of the movement. My last big project was for the Amiga in the past millennium though. Nowadays I’m happy that after years of small-scale dabbling on various projects I’ve found my haven. I’d like to share my way to my recent gain of push privileges on the Python project and hope to inspire some of you to do the same.</description>
      <author>hynek</author>
      <pubDate>Sat, 19 May 2012 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Python Application Deployment with Native Packages</title>
      <link>https://hynek.me/articles/python-app-deployment-with-native-packages/</link>
      <guid isPermaLink="false">https://hynek.me/articles/python-app-deployment-with-native-packages/</guid>
      <description>Speed , reproducibility , easy rollbacks , and predictability is what we strive for when deploying our diverse Python applications. And that’s what we achieved by leveraging virtual environments and Linux system packages.</description>
      <author>hynek</author>
      <pubDate>Thu, 03 May 2012 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Python Deployment Anti-Patterns</title>
      <link>https://hynek.me/articles/python-deployment-anti-patterns/</link>
      <guid isPermaLink="false">https://hynek.me/articles/python-deployment-anti-patterns/</guid>
      <description>Deploying web applications is hard. No shiny continuous deployment talk and no DevOps coolness can change that. Or to use DevOps Borat’s words : “Is all fun and game until you are need of put it in production.“ There are some mistakes I see people doing again and again so I’d like to address them here.</description>
      <author>hynek</author>
      <pubDate>Mon, 23 Apr 2012 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Celery and Sybase SQL Anywhere</title>
      <link>https://hynek.me/articles/celery-and-sybase/</link>
      <guid isPermaLink="false">https://hynek.me/articles/celery-and-sybase/</guid>
      <description>In our newest installation of “why you should not use Sybase SQL Anywhere” I’d like to report the latest problem I had to solve: for some reason, I couldn’t connect using sqlanydb from Celery tasks.</description>
      <author>hynek</author>
      <pubDate>Sat, 25 Feb 2012 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Fleeing from Gmail</title>
      <link>https://hynek.me/articles/fleeing-from-gmail/</link>
      <guid isPermaLink="false">https://hynek.me/articles/fleeing-from-gmail/</guid>
      <description>So you came to the same conclusion as I: Google is actually evil indeed . That makes it kind of uncomfortable to have all your emails over there, doesn’t it? I for one decided that it’s time to leave and will show you how to do the same using an UNIX based OS.</description>
      <author>hynek</author>
      <pubDate>Thu, 26 Jan 2012 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>My 2011</title>
      <link>https://hynek.me/articles/my-2011/</link>
      <guid isPermaLink="false">https://hynek.me/articles/my-2011/</guid>
      <description>I never did a retrospective but 2011 deserves one.</description>
      <author>hynek</author>
      <pubDate>Sat, 31 Dec 2011 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Dead Simple Connection Pooling with Twisted</title>
      <link>https://hynek.me/articles/dead-simple-connection-pooling-with-twisted/</link>
      <guid isPermaLink="false">https://hynek.me/articles/dead-simple-connection-pooling-with-twisted/</guid>
      <description>There is this common notion, that asynchronous IO is hard and that writing a custom connection pool is even harder. The nice thing however is, that in reality asynchronous IO is just “weird” in the beginning – and that a connection pool using async IO is so simple it hurts.</description>
      <author>hynek</author>
      <pubDate>Wed, 14 Dec 2011 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Protip: URL Parameters with Nginx &amp; PHP</title>
      <link>http://darrennewton.com/2011/12/08/protip-url-parameters-with-nginx-and-php/</link>
      <guid isPermaLink="false">urn:uuid:170972b3-d572-5b2f-aa39-388abf8adc9f</guid>
      <description>If you’re using nginx as your webserver and need to pass URL parameters to your PHP front controller then some adjustments to your configuration file are necessary:</description>
      <author>d_run</author>
      <pubDate>Thu, 08 Dec 2011 09:11:00 +0000</pubDate>
    </item>
    <item>
      <title>MacVim and the Clipboard</title>
      <link>https://hynek.me/articles/macvim-and-the-clipboard/</link>
      <guid isPermaLink="false">https://hynek.me/articles/macvim-and-the-clipboard/</guid>
      <description>After switching to the Mac, I had one big itch that spoiled all the bliss: MacVim sometimes simply refused to cooperate with the system clipboard. As you can imagine, an editor that can’t exchange text with other software is a rather painful thing.</description>
      <author>hynek</author>
      <pubDate>Tue, 06 Dec 2011 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>For Programmers: The Best of edw519</title>
      <link>http://darrennewton.com/2011/11/19/for-programmers-the-best-of-edw519/</link>
      <guid isPermaLink="false">urn:uuid:fc15fc5c-c22e-58fd-8c4a-682a0cc3e9f0</guid>
      <description>A while back on Hacker News, a.k.a Ed Weissman posted his collection of tips and advice for programmers. It was amazing stuff.</description>
      <author>d_run</author>
      <pubDate>Sat, 19 Nov 2011 11:35:00 +0000</pubDate>
    </item>
    <item>
      <title>My little friend z</title>
      <link>http://darrennewton.com/2011/11/06/my-little-friend-z/</link>
      <guid isPermaLink="false">urn:uuid:6a87c51d-bdd6-52de-9877-04c64b6f04f0</guid>
      <description>I’m a command line interface kind of guy, which is funny since I do everything on Macs. Then again, I first embraced PCs with an Apple IIe, which was a CLI only experience. One little tool I’ve had installed for a while is z by Rupa. It’s a nice little shell script that keeps tabs on the directories you’ve been cding in and out of and then lets you quickjump to them using a simple regex. So instead of remembering a long path like:</description>
      <author>d_run</author>
      <pubDate>Sun, 06 Nov 2011 16:50:00 +0000</pubDate>
    </item>
    <item>
      <title>Occupy Wall Street - Design Edition</title>
      <link>http://darrennewton.com/2011/11/05/occupy-wall-street-design-edition/</link>
      <guid isPermaLink="false">urn:uuid:fb34858a-460f-5f4e-98dc-947c23cc4114</guid>
      <description>My fellow worker bees over at Gabardine.com decided to flex their design chops by lending a hand to the folks downtown at Liberty Square. While Occupy Wall Street gives us a much needed civics lesson, and the 1% continues to skim the cream off your bank accounts, Scott Grant took some of the DIY signs from the occupation and re-made them as snappy posters.</description>
      <author>d_run</author>
      <pubDate>Sat, 05 Nov 2011 14:23:00 +0000</pubDate>
    </item>
    <item>
      <title>How to: Convert site to PDF with wkhtmltopdf and wget</title>
      <link>http://darrennewton.com/2011/10/30/mirror-site-and-convert-to-pdf/</link>
      <guid isPermaLink="false">urn:uuid:fa4775c5-3868-500d-9df5-4358b6bdb7e9</guid>
      <description>A friend of mine emailed me the other day with a quick question: “What’s an easy way to convert an entire site to PDF? Are there tools for this?” Why yes, yes there are. In fact, it’s pretty easy to do if you’re on a Mac or Linux OS using wget and wkhtmltopdf:</description>
      <author>d_run</author>
      <pubDate>Sun, 30 Oct 2011 18:29:00 +0000</pubDate>
    </item>
    <item>
      <title>Darth Small</title>
      <link>http://darrennewton.com/2011/10/29/darth-small/</link>
      <guid isPermaLink="false">urn:uuid:cc62fb32-aa28-51a3-bed5-d9c58ca24a81</guid>
      <author>d_run</author>
      <pubDate>Sat, 29 Oct 2011 20:23:00 +0000</pubDate>
    </item>
    <item>
      <title>Why Tomatoes Are Awesome</title>
      <link>https://hynek.me/articles/why-tomatoes-are-awesome/</link>
      <guid isPermaLink="false">https://hynek.me/articles/why-tomatoes-are-awesome/</guid>
      <description>No, this isn’t going to be a smug post about nutrition. These tomatoes I’m going to talk about aren’t for eating but for kicking my ass to be more productive. I’m talking about the Pomodoro Technique of course.</description>
      <author>hynek</author>
      <pubDate>Sat, 01 Oct 2011 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Introducing Phrap</title>
      <link>http://darrennewton.com/2011/08/28/phrap-php-pdo-wrapper/</link>
      <guid isPermaLink="false">urn:uuid:3c263ce9-d75a-5fb7-9f7a-ff0755bdef8d</guid>
      <description>Phrap is a super-light PHP database wrapper using PDO for basic CRUD operations with MySQL. If that doesn’t sound sexy, well, that’s because it isn’t.</description>
      <author>d_run</author>
      <pubDate>Sun, 28 Aug 2011 19:46:00 +0000</pubDate>
    </item>
    <item>
      <title>My mutt and Gmail Setup</title>
      <link>https://hynek.me/articles/my-mutt-gmail-setup/</link>
      <guid isPermaLink="false">https://hynek.me/articles/my-mutt-gmail-setup/</guid>
      <description>So you want quick offline access to your mails using mutt to fully exploit your SSD and yet still have everything nicely working in Google’s web interface? Additionally, you would like to have access to your Google Contacts just like in your phone and everywhere else? I’ll show you how!</description>
      <author>hynek</author>
      <pubDate>Mon, 22 Aug 2011 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Solarized – Love on First Sight</title>
      <link>https://hynek.me/articles/solarized-love-on-first-sight/</link>
      <guid isPermaLink="false">https://hynek.me/articles/solarized-love-on-first-sight/</guid>
      <description>There’s one thing hackers are opinionated about as about the right editor: The right color scheme.</description>
      <author>hynek</author>
      <pubDate>Sun, 10 Jul 2011 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Mercurial to Git</title>
      <link>https://hynek.me/articles/mercurial-to-git/</link>
      <guid isPermaLink="false">https://hynek.me/articles/mercurial-to-git/</guid>
      <description>Mostly a note to myself as I forget it regularly.</description>
      <author>hynek</author>
      <pubDate>Tue, 10 May 2011 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Twisted Sybase SQL Anywhere</title>
      <link>https://hynek.me/articles/twisted-sybase/</link>
      <guid isPermaLink="false">https://hynek.me/articles/twisted-sybase/</guid>
      <description>Using the official sqlanydb driver for Python together with Twisted’s adbapi produces not-so-occasional crashes as of today (sqlanydb 1.0.2, Twisted 11.0.0). Apparently, the official SQL Anywhere drivers aren’t thread-safe. It cost me several days to figure out because I was searching the fault in my code so I hope to spare you some pain.</description>
      <author>hynek</author>
      <pubDate>Wed, 27 Apr 2011 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Django &amp; Postgres &amp; SSL</title>
      <link>https://hynek.me/articles/django-postgres-ssl/</link>
      <guid isPermaLink="false">https://hynek.me/articles/django-postgres-ssl/</guid>
      <description>I’d thought something like this is a FAQ but the database docs on postgres don’t write a bit about forcing Django to connect using SSL to the database server.</description>
      <author>hynek</author>
      <pubDate>Tue, 12 Apr 2011 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Information Diet</title>
      <link>https://hynek.me/articles/information-diet/</link>
      <guid isPermaLink="false">https://hynek.me/articles/information-diet/</guid>
      <description>Be careful to not overeat.</description>
      <author>hynek</author>
      <pubDate>Fri, 01 Apr 2011 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Django and Remote Sybase Servers</title>
      <link>https://hynek.me/articles/django-and-remote-sybase-servers/</link>
      <guid isPermaLink="false">https://hynek.me/articles/django-and-remote-sybase-servers/</guid>
      <description>It took me a while to figure it out, so I decided to share.</description>
      <author>hynek</author>
      <pubDate>Mon, 07 Feb 2011 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Compile Ruby 1.9.2 with RVM using Homebrew installed Iconv</title>
      <link>http://darrennewton.com/2011/01/30/rvm-compile-ruby-with-iconv/</link>
      <guid isPermaLink="false">urn:uuid:4f271790-21fb-535d-9ea6-08c38eeeefe9</guid>
      <description>I spent a very frustrating hour this morning trying to get the JSON gem to work on Ruby 1.9.2 p136 installed via RVM on Snow Leopard. I thought I would post my solution to help any other unfortunate souls.</description>
      <author>d_run</author>
      <pubDate>Sun, 30 Jan 2011 19:46:00 +0000</pubDate>
    </item>
    <item>
      <title>I got gamed on Stack Overflow</title>
      <link>http://darrennewton.com/2011/01/28/i-got-gamed-on-stack-overflow/</link>
      <guid isPermaLink="false">urn:uuid:a00b8987-b075-5c04-8a62-a689f66cd0a2</guid>
      <description>Silly me. I stumbled across a question on Stack Overflow that was right up my alley, as it was something I had worked on before: Extract Relevant Tag/Keywords from Text block. The question posted by user593778 indicated that they wanted to use PHP or JavaScript to lift relevant keywords from a block of text.</description>
      <author>d_run</author>
      <pubDate>Fri, 28 Jan 2011 19:46:00 +0000</pubDate>
    </item>
    <item>
      <title>Project Euler #3 in CoffeeScript</title>
      <link>http://darrennewton.com/2010/12/21/euler3coffeescript/</link>
      <guid isPermaLink="false">urn:uuid:5e1a4ac4-e8e9-5494-a740-95258d046762</guid>
      <description>I always figure one of the best ways to learn a new language is to try out a couple of Project Euler exercises using it. I had solved this one with JavaScript previously, but using CoffeeScript let me use some more Python-style comprehensions to get to the same solution:</description>
      <author>d_run</author>
      <pubDate>Tue, 21 Dec 2010 11:43:00 +0000</pubDate>
    </item>
    <item>
      <title>Freezing Kindle</title>
      <link>https://hynek.me/articles/freezing-kindle/</link>
      <guid isPermaLink="false">https://hynek.me/articles/freezing-kindle/</guid>
      <description>After a few months of use my Kindle started to freeze randomly. At first I blamed the cold as it happened to be winter in that moment. Fortunately, it turned out to be something different.</description>
      <author>hynek</author>
      <pubDate>Tue, 07 Dec 2010 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Bending CSVs to your will with Ruby</title>
      <link>http://darrennewton.com/2010/09/05/convert-csv-to-text-with-ruby/</link>
      <guid isPermaLink="false">urn:uuid:f52926a1-aa52-5b2c-81ac-73857042eee9</guid>
      <description>I’m currently working on a large print project. It’s a membership directory for a non-profit organization and I’m laying it out with Adobe InDesign. The client handed me a CSV dump of their member database for the directory. I’ve mentioned more times than I can count how much I dislike repetition (cutting, pasting, rinse, repeat) so I cooked up some Ruby scripts to parse the CSV into various XML and plaintext formats.</description>
      <author>d_run</author>
      <pubDate>Sun, 05 Sep 2010 19:46:00 +0000</pubDate>
    </item>
    <item>
      <title>LDAP: A Gentle Introduction</title>
      <link>https://hynek.me/articles/ldap-a-gentle-introduction/</link>
      <guid isPermaLink="false">https://hynek.me/articles/ldap-a-gentle-introduction/</guid>
      <description>The perception of LDAP (Lightweight Directory Access Protocol) is ambivalent. On the one hand, it is widely supported as a common authentication backend. On the other hand, there’s very little and poor documentation mainly targeted toward a particular case (for example, replacing NIS with LDAP).</description>
      <author>hynek</author>
      <pubDate>Tue, 13 Feb 2007 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>MySQL Replication</title>
      <link>https://hynek.me/articles/mysql-replication/</link>
      <guid isPermaLink="false">https://hynek.me/articles/mysql-replication/</guid>
      <description>Sounds harder than it is – especially when reading the official docs. But if you want to synchronize two DBs, just tell the “master” to write a log and slave to read it.</description>
      <author>hynek</author>
      <pubDate>Fri, 09 Feb 2007 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>PCAP Format for Logs</title>
      <link>https://hynek.me/articles/pcap-format-for-logs/</link>
      <guid isPermaLink="false">https://hynek.me/articles/pcap-format-for-logs/</guid>
      <description>While developing a network sniffer I had to find a way to write pcap logs. However the docs I found were rather fragmented. I try to do a short roundup here. In fact, the format is pretty plain and it’s a pity that there seems not to be a quick’n’easy doc for it.</description>
      <author>hynek</author>
      <pubDate>Tue, 22 Nov 2005 00:00:00 +0000</pubDate>
    </item>
  </channel>
</rss>
