Programming Monoids as a Way To Keep Code DRY We have a maxim in programming circles: Don’t repeat yourself, commonly abbreviated as “DRY.” It’s not uncommon to see a comment on your PR asking you pull something out into a repeatable function in order to “keep your code DRY.” function getFileContents(
Programming On Composition as the Guiding Principle of Functional Programming One of the most important concepts in functional programming is composition. If you’ve ever used Unix command line activities to pipe commands together, you have used a form of composition.
Programming What I Like About Haskell: Data Structures As Control Flow When you first encounter Haskell-inspired structures like Maybe, Either, or Reader, they might seem needlessly complicated. I myself was guilty of thinking that these abstractions only served to obfuscate control
Politics The Intersection of Exploitation and Privilege During the Cold War, defense companies like Lockheed in the Santa Clara Valley drew scores of ambitious scientists; these workers seemed to share certain personality traits, including social awkwardness, emotional
Programming A Balm For Gaslighting Myself I know it's a stupid and rather meaningless indicator, but when I have moments where I doubt that I'm a “real” developer, my GitHub activity chart helps reassure me that I'm a real developer. If it looks like a duck and quacks like a
Programming Effectful Haskell: Reader, Transformers, Typeclasses Here we’ll be looking at Reader, starting with a common use case – accessing application configuration – and working our way to effectful bliss, starting from first principles. Once we’re there, we’ll examine how we can add other types to our context, like
Programming Time After Capitalism A large part of what makes hobbies enjoyable is that, freed from the profit motive, practitioners work at the pace they choose, allowing them to experiment, mess up, quit, and
Programming How Haskell Changes the Way You Think Reading the Haskell book leads to weird tangential insights. For example, in some instances, it might be better to add negative numbers in your app rather than subtracting positive ones because addition is commutative and subtraction isn't. If your computation had to be split
Programming Nerdy Girls Need Love Too I'm home sick today, and I've been alternating between sleeping and learning about functors. I think I might be a nerd, you guys. (Side note: I highly recommend Learn You A Haskell For Great Good if you want to either learn more about Haskell
Programming Your App Will Eventually Be a Legacy App I just spent an hour debugging a problem with an aging legacy system for my job and other thirty minutes fixing the problem and cleaning up the mess after all that debugging. A MySQL mediumint auto_increment key had overflowed on a very central
Politics The Full Fruits of Our Labor Be warned that what follows is undoubtedly socialist. This makes sense because these days I identify unabashedly as a libertarian socialist / anarcho-communist. Feel free to grasp your pearls, fall back on your fainting couch, and watch some Sean Hannity instead of reading further if
Programming Why Deadlines Need to Drop Dead Implement continuous delivery, and when somebody asks you when your product will ship, you can tell them, “we shipped this morning. We’re shipping again tomorrow. When will we ship a specific feature?” You know the answer to that one, right? “When it’s
Programming Assuming Control I just wasted fifteen minutes because I typed enrollment.course_id instead of enrollment['course_id']. I think Python and Javascript are fighting for control of my brain. #JustDeveloperThings
Programming When the Lone Wolf Finds a Pack Just had an amazing conversation with co-workers about how our first languages/platforms inform our coding style. Some of us are likely to tweak an SQL query until we get just the data we need. Others cast a wide net and narrow in language.
Programming An Open Letter to the cx_Oracle Module Dear cx_Oracle module for Python, If you didn't want me calling your fetchall method, maybe you shouldn't have one. <3 Kate
Religion/Spirituality Destiny Sometimes I feel like the universe gently corrects my path to get me where I need to be. When I talk about these sorts of things, I sound an awful lot like the mystic I am, but keep in mind that I'm not necessarily
Programming The Marriage of Microsoft and Linux What a strange world we live in. What's changed for Microsoft and open source in recent years is Microsoft has refocused on solving both its own and customers' business problems. That means, first, Linux is treated as an equal to Windows. "Microsoft actually
Programming The Joys of Qbasic I finally got around to storing all of my documents in Dropbox, and that includes a Programming folder in which I have chucked nearly everything I've ever written since middle school. I have killed an hour this afternoon looking at all my old QBasic
Programming It Just Works As someone who got into Linux, FreeBSD, and open source software back in 2000, I'm still adjusting to this brave new world where I can install a Linux distribution and all of my hardware just works without tinkering. #BackInMyDay #VideoDriversWereTheWorst #GetOffMyLawn
Programming Chems "'Relax and heal,' they said. I'm just sitting around the house. My job just requires me to sit in front of a keyboard all day. I should use this time to learn a new tech skill." [Tries to learn how to
Programming Larry Wall: 5 Programming Languages Everyone Should Know Java is sort of the COBOL of the 21st century, I think.
Programming Digital Sisyphus Back when I was developing on servers I had root on, I spent most of my time actually making things. These days, I spend most of my time figuring out how to install libraries/modules without admin powers. #JustDeveloperThings
Programming Flappy Bird in Super Mario World When you understand how processors work and how to write assembly code, you can do some truly extraordinary things.
Programming ISO 8601 You know you're working in the right office when you realize that both you and your boss dated your performance appraisal using ISO 8601 standard dates (YYYY-MM-DD).
Programming Wisdom of the Ancients Nothing makes you feel like a wizened crone quite like explaining to a twenty-something how GATA (the University of Florida's 3270 CICS system) works/worked. I explained the messaging system as "what we did before we could text or IM". On the