There is a strange thing that I noticed as I progressed from a junior engineer to mid-career to senior. When you’re a new engineer, still learning the basics, you are given a task or you have an idea, and you proceed to implement exactly that idea. Very simple, point A to point B, whatever gets the job done. You hate your code later but you got it to work. Then you learn some stuff– you learn about object-oriented design & algorithms & design patterns & frameworks & abstractions & higher-...| evanlh.com
In Ursula Franklin’s Massey Lectures, later published as The Real World of Technology, she draws an important distinction between two kinds of technological practices I find applicable in so many contexts– “Using holistic technologies does not mean that people do not work together, but the way in which they work together leaves the individual worker in control of a particular process of creating or doing something.[..] The opposite is specialization by process; this I call prescriptive ...| evanlh.com
Two pieces of advice from Kevin Kelly’s 100 bits of advice I took to heart this past year. The first & riskiest was “Goofing off is highly underrated”– I’ve worked in IT in some capacity since I was 16 years old & I needed a break, so I quit my job and gave myself a travel/research sabbatical. The second is “the biggest lie we tell ourselves is ‘I don’t need to write this down I will remember it’”, so I spent time designing utilities for my “second brain” into which I...| evanlh.com
I’m really excited by the research effort proposed in Towards a Dynamic Multiscale Personal Information Space, a 2020 paper advocating more ‘convivial’1 information spaces. As the authors describe it, when a user interacts with the computer: The system offers a novel interface to her digital information, consolidating her data (e.g., email, messages, calendars, web pages, notes, sketches, and analyses and visualizations) across applications. When she interacts with the information in he...| evanlh.com
I’m working through Metaphors We Live By, an exploration of the role of metaphor in human cognition and language. The central theme of the book is: [..] human thought processes are largely metaphorical. [..] Metaphors as linguistic expressions are possible precisely because there are metaphors in a person’s conceptual system. They provide examples of conceptual metaphors which ground our experience– ARGUMENT IS WAR, HAPPY IS UP, THEORIES ARE BUILDINGS– and examples from everyday langu...| evanlh.com
These are a few meditations– parables, precepts– I’m collecting– snipping, stealing– to capture the vague & provisional learnings I’ve had working in the software industry. It’s a “gospel” because, well, everyone is either preaching or selling you snake-oil– lean into it, write your own gospel, what’s the worst that could happen? Have a mission. Respect & learn from your ancestors. Aim for utmost minimalism at your public interface.| evanlh.com
This post is a running list of research papers I’m collecting for self-study with the following qualities: They include source code [S] or (at minimum) pseudo-code [P] of the core insight of the system / design / algorithm. They do not overwhelm the reader with mathematical notation. The majority are, by my highly subjective account, “foundational” papers, in that they have had some important influence on their respective subdisciplines. Most are less than 30 pages Languages & Runtimes ...| evanlh.com
At many times in my career, I’ve struggled with an overwhelming sense of boredom1 that affects my day-to-day ability to do my job. How can this happen given what an infinitely deep subject computing is? I find it usually derives from the following causes: Causes of Boredom The sense the work you’re doing isn’t societally relevant, that you’re merely a cog in a giant military/capitalist water-works The work you’re asked to do is tedious and unchallenging, merely a repetition of the s...| evanlh.com
A friend forwarding me this question from a friend working thru a Bootcamp programming. It seemed like a great opportunity to write a post, and I would welcome similar questions: Question “Can you clarify how classes (and really hashes) can more efficiently use keys when the initialization definition is established?" Response This a great question and a fairly deep topic to be diving into if you’re early in your coursework. Which will make it extra fun to try answering!| evanlh.com
The views expressed here are my own and not those of my employer. This is my professional online presence, so I won’t share much outside of my engineering work, but in my free time I like to play my guitar & Octatrack, travel, cook, read, and generally enjoy being an aerobic organism hurtling thru space on this beautiful rock. My focus I am forever learning to write elegant & performant systems with a minimum amount of incidental complexity.| evanlh.com