Hi, I'm Andy Glassman. I post all sorts of things, from thoughts on programming, to reviews of trash tv shows. https://www.linkedin.com/in/andyglassman/
Problem PostgreSQL is a rock solid database. I've been using aggregate expressions for a number of features over the past few years in various languages. They can be used to build powerful features for your platform. When teamed up with Elixir and Ecto, you get amazing flexibility in your query generation. Typically the data you want to retrieve via a select is fairly static, or there are only one…
UPDATE: LiveView has added a built in, more robust way of using this pattern. Check it out here ! I've been using LiveView for about two years now. It's a great framework that makes snappy and responsive pages. One anti-pattern I see fairly often is loading a lot of data in the initial page render. For the un-initiated, the mount/3 function is called twice. Once for the initial 'dead' render, and…
I recently gave a talk at Empex NYC ( link to talk ) on why you should be writing admin tools from day one . In my talk, one thing I highly suggest is to make it very obvious what environment you are in when providing a web admin UI for your team. We've been using Kaffy at SwayDM since the beginning. At the time, you couldn't easily overwrite the styling. I maintain a private fork of Kaffy for…
Photo By: sumofus ChatGPT is like a giant Plinko game. Plinko is a game where you put a coin in at the top. The coin falls down the board, hitting pins that influence it on the way down. At the bottom are slots, with various points or prizes. Depending on where you put your coin in at the top, you have different chances of which slot it will land it at the bottom. It's not random, some slots will…
UPDATE: I gave a talk expanding on this blog post at EMPEX NYC 2023 . The Problem Writing useful features for your users is key to a successful product. It makes sense then that you should maximize your time writing features for those users. This approach is very effective at the beginning of a product's life, but over time, you may find you are spending more time maintaining the product that…
Good software is really hard to write. When software is good, you almost don't notice it. The UI / UX doesn't get in your way. You can do what you want easily. When software is bad, it's frustrating, but you still use it because the alternative is worse. Maybe it's replacing a manual / tedious process, or provides functionality that simply could not exist otherwise. People will put up with bad…
At SwayDM , we use the fantastic Knock platform to define notification workflows, and deliver emails, and SMSs to our users. Our codebase is written in Elixir , and we use Sentry for error reporting via sentry-elixir . One thing you can do with sentry-elixir is report an event to Sentry every time your app logs at the error level. You can also specify which metadata logger keys are forwarded to…
The great Richard Feynman had a saying. "The first principle is that you must not fool yourself and you are the easiest person to fool." I believe there is a similar principle that can be applied to software engineering. "Don't outsmart yourself." As a software engineer, it can be easy to: Over-engineer a solution to a simple problem. Strive for elegance over ease of understanding for others. Use…
Moving Fast, Taking Shortcuts Not all ideas are good ideas. In fact, the majority of your ideas will not be good. When it comes to building software, it doesn't make much sense to build out a prototype of a new idea with all the best practices a full fledged software product requires. This is why we rapidly prototype software for a new feature, or product. We want to validate the idea as quickly…
( Sea Dragon Pirate Cruise - Panama City Beach) If you've worked at a company where your job is to deal with software code, you've most certainly heard the term "business logic". Recently I had a conversation with my team at Frame.io, and it was clear that we all had different interpretations of what this lingo actually meant. I figured each person's experience around the use of the term business…
On a cold Wisconsin day in December 2014, my good friend Jonathan Kupcho and I patiently waited next to 2 large Dominos pizzas, and a case of warm Diet Coke. We had 11 RSVPs. Some of them would show up... right? Had we given clear enough directions, and parking instructions? Did people deem it too cold to journey out that night? Our fears subsided as the first attendees started to trickle in. I…
I picked up Humble Indie Bundle X last week. After installing the games, I didn't know where to start. I looked over the titles and their screenshots. One in particular caught my eye. The title was To The Moon . I was intrigued by it's 90's sprite-ish overhead Japanease art style. I like this style as it reminds me of many great games I have played like ChronoTrigger , Zelda, and Pokemon. I also…
If you've been browsing Netflix lately, you may have noticed a recent influx of trashy reality TV shows. While I normally avoid these like the plague, there was one that recently piqued my interest. I've been reading the Mr. Money Mustache blog lately so I just HAD to watch Extreme Cheapskates . Have these extremists used any of MMM's penny pinching tactics? Maybe there would be some useful tricks…
Java 8 is not slated to come out until Spring 2014, but the features are so enticing that I just had to download the snapshot, and give it a test run. After messing with python the past few weeks the Java 8 feature that I am most looking forward to is lambda support. The second feature I'm digging is the new Stream API. Now these are both very useful APIs on their own, but I really like how Python…
I was working on a feature of a GWT application today, and decided to fix a problem that had been bugging me. While the issue was not a server crashing bug, it was a usability nuisance. Between the main content of the app, and the navigation bar, there was an Anchor. When a user moused over the Anchor, a PopupPanel would be shown with some user data in it. Everytime i moved my mouse up to the…
Like many people out there, I was pumped when I got my first flashy, sleek, touch-screen-having smartphone. A Samsung Acclaim was my entry level purchase. The "new phone" haze soon wore off as I realized this was a bulky, slow, laggy beast of a device. The UI was so laggy, there were times I almost missed calls from not being able to swipe the answer button. I pity the soul who would need to use…
Fat, Sick, & Nearly Dead : The Most Genius Infomercial Ever Created By Andrew Glassman A Brevielle Juicer It's 3:30am, the late run of Die Hard has come to a conclusion, and John McClane comes out victor once again. Next up on the schedule, "Paid Programming". It's the crack-cocaine of late night television, the infomercial. The testimonials are fake, the products are cheap, and when you wake up…
Well, I'm back from my honeymoon in Hawaii. This was the first vacation that Amanda and I have taken as just the two of us, so it was a lot of fun to get away from it all! We left Wisconsin on Thrusday 10/27. Waking up at 4am was definitely a treat, especially after the 2$ High Lifes that we had at Chuck's the previous night. (it's vacation, don't judge). Our flight out went relatively smooth…