RSSAmplifier

Blog

Adam Zerner

Hi, I'm Adam I'm a software developer and entrepreneur I live in Portland, Oregon. Email | LinkedIn | GitHub | StackOverflow | GoodReads Updated Ja...

adamzerner.bearblog.devRSS feed ↗10 posts

Latest posts

Pursuing the right tech stack for me

Meta: This post is journal entry-like. It's not well thought out, researched or refined. I'm a programmer and I like to work on my own projects. Sometimes for fun, sometimes for profit, sometimes for something in between. So then, I need a tech stack. Yes, the most appropriate tech stack will depend on the app — SSG would probably be appropriate for a blog or marketing site whereas a SPA would…

Onboarding and taxi driving

I just started a new job. Naturally, that means learning my way around a new codebase. Here is an analogy for how that feels. Imagine that you are a taxi driver in Chicago. You have been doing it for six years and you know your way around pretty well. But then you get a new gig in New York, so you move there. You get your first request for a ride. A client wants you to take them from point A to…

What are pure functions?

I've seen lots of people describe what pure function are. Most of them are ok, but there is one in particular that really clicked with me, and I'd like to share it with you. I got it from Eric Normand . Consider the following function. function sayHello ( name ) { return "Hello, " + name ; } Here is how we can visualize it if it is called with an argument of "Alice" . But now imagine that we have…

Classes often aren't the simplest tool for the job

Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function. — John Carmack When programming, you should reach for the simplest tool for the job. Well, that's not entirely true. Using the simplest tool for the job often helps in making the code clean and easy to understand, but that isn't always the case, and that isn't your only goal .…

Code as a closet

Alice: How have things been at your programming job? Bob: Terrible. Alice: How so? Bob: Well, imagine that you had this weird job where you had to go into a closet and put together outfits for someone. Alice: Hm, ok. Bob: Imagine that this closet hand thousands and thousands of different shirts, shorts, pants, socks, hats, etc. And you'd be given a request from your boss to pick out a very…

Code quality interviews

I've been through a lot of coding interviews in my life. I've had four jobs, and thus have been through the job search process four times. Each time I took the "quantity over quality" approach, and basically mass-applied to as many companies as I was able to. Maybe something like 150-200 companies each time. To a variety of web-related programming roles. From there, I'm not sure how many…

Call stacks in everyday life

Call stacks are a thing in programming, but they're also a thing in everyday life. Realizing this seems, at best somewhat useful, and at worst interesting to think about. Conversations In the video, Louis CK tells the audience about how his wife is bad at telling stories. Speaking of Louis CK, have I ever told you how much I love stand up comedy ? It's really one of my favorite things in the…

Using obscure features of a programming language

There is a coversation that I had about five years ago where I'm really disappointed with myself. I was working at a job where we were using Rails and Angular 1. I was a front-end developer there. I was pretty comfortable with Angular and had been using directives heavily, sometimes venturing into some of the more obscure features of directives. One day my boss had a conversation with me about it.…

Code isn't the only thing that needs to be maintained

When I was working on Premium Poker Tools , it took me a while to launch. I wanted to make absolutely sure that there were no bugs. Even if I launched a free version, I reasoned that bugs would still be catastrophic. The software tells you things like, "pocket jacks will win 66% of the time against ace five suited". Imagine if the software told you that the number is 56% instead of 66%? You'd lose…

Conversation, event loops, and error handling

My previous post Debugging the student got me thinking about conversations. Particularly conversations where one person is trying to explain things to the other person. In that post I talked about some ways I see this go south. In this post I want to expand on these ideas with some analogies from programming. To summarize the previous post, imagine someone trying to explain differential equations…