1,525 karma · joined March 13, 2015
I know that was a bit off-topic but I guess what I’m trying to say is, it’s okay to create distance between you and the things that bring you down. I’ve found so much interesting content through Hacker News and it would be a shame to throw that away just because the politics here don’t always align with my own.
1. The argument the author makes here assumes that else clauses can or should only used be for error handling. There are instances where you might want to drop out of a with statement without returning an error however. Some examples might include connection Plugs that don’t need to perform some behavior due to certain assigns already being present on the Connection struct or configurable / optional behavior encoded in an options list. In these instances, pattern matching on a successful fallback clause actually reduces complexity as it avoids the need to position that branching logic somewhere outside of the main with statement that it is actually concerned with.
2. I find error handling through with / else and annotated tuples to actually lead to very expressive, easy to read code. Having built and maintained a Phoenix application in production since 2015, this is actually a very common pattern I and other members of my team use so I’m curious as to why the author considers it something you do under “no circumstances”.
Original image: https://www.fnordware.com/j2k/jp2samples.html
What it looks like in GIMP: https://imgur.com/a/HCNz7ga
Some other nostalgic software experiences from this era: chatting with friends and customizing your away message / profile on AIM and ICQ, downloading unreleased System of a Down songs from KaZaA, playing Ultima Online until the sun came up, Flash games and animations on Newgrounds and the overall vibe of the Internet at the time - message boards, 1337speak, animated GIFs and embedded MIDI everywhere. I miss it and don't at the same time.
Sure, maybe not by themselves but typically you would run many GenServers concurrently in your application as part of a supervision tree. Libraries like Broadway (and the underlying GenStage) are essentially just leveraging GenServer to make it easier to orchestrate concurrency and state synchronization across multiple processes in your application. But you could build a comparable system on your own just using GenServer and a dynamic supervisor.
Designing a programming language is hard, especially when building on top of a 35 year old language like Erlang. As is often the case: if engineers could change the past without breaking everything in the present, we would have already done it. :)
[0] https://build5nines.com/linux-is-most-used-os-in-microsoft-a...
Who cares? Why is popularity so important to you?
What does this even mean? I’ve been using Arch Linux with KDE as my only desktop OS for years and it’s a wonderful time. If you think Windows is better and prefer to use that, great. I personally prefer Linux and a lot of other people do as well.
As someone who grew up using an old school Mac in the 90s, this is blasphemy! That triumphant chime is essential to the Macintosh experience (just kidding but kinda not).
VS Code is a wonderful piece of software and if it works for you, that’s great. But not everyone likes VS Code or the design choices that led to it. Software makers shouldn’t be criticized for wanting to break away from those choices entirely and do something new or different. That may very well mean less community support or third party extensions - but every piece of software doesn’t need to be the most popular to be impactful. You probably won’t find a lot of developers coding in Light Table these days but when it was first released back in 2012 it brought some new and interesting ideas to the IDE space; I want more of that, not less.