• Three of the greatest things of all time… this week…

    This past week I’ve made three minor tech-adjacent discoveries that have the potential to change my life in small but important ways.

    None of these are groundbreaking on their own, but together they’re actually making me a little excited about “tech” again. In sort of a strange way.

    Stoop

    I’ve always had two related problems with email newsletters. They clutter up my inbox and I never end up reading any of them. Because of this I actively avoid subscribing to newsletters and often unsubscribe to newsletters randomly. Stoop solves this problem in the best way possible.

    Stoop in an app for reading newsletter. Like a podcatcher but for text.

    Stoop gives you an @stoopinbox.com email address, which you’ll use to sign up for newsletters. It then receives in them like any other email services, except with a UI tailor to newsletter consumption.

    It goes a long way to de-clutter your inbox and gives you a distraction free newsletter reading experience.

    Get it here →

    Kindle Fire Tablet 7th Edition

    A couple of years ago my two boys each received Kindle fire tablets as Christmas gifts. As kids do, they promptly forgot them and abandoned them in a pile of clutter.

    I’ve been meaning to read more, for years and year. I’ve only been meaning to read more books proper; but also all those Pocket links I stow away and forget about; and those cool newletters everyone is always recommending 😉

    Digital reading has always been a bit of a Goldilocks problem for me. Desktop computer screens are too big; iPads are a little big (great for magazines though) and too heavy to hold up in bed for an hour; phone screens are too small and distracting.

    Then I remembered the Fire Tablets.

    They’re prefect! Roughly the same height, width and most importantly weight as a paperback novel. Battery life is great and screen resolution is acceptable. You can side-load the Google play store and get most apps. But I’m keeping mine limited to reading apps to maintain a distraction free, reading-focused environment.

    I’ve been making a conscious effort to pick up the Fire instead of my phone whenever I want to read Google News or that sort of thing.

    Its only (minor) shortcoming is speed. The hardware is old and sluggish. Web browsing is a pain, changing context is slow. But flipping and scroll pages is fast enough. And you could almost spin the sluggishness as a positive, since it discourages you from change contexts and helps focus on what you’re currently reading.

    Apparently you can still but the Fire 7 →

    KOHO

    I can assure you this is not an ad! But I do have a referral code ZL5RTDVQ if you end up using this.

    I feel a little weird talking about a financial product, so I’m going to keep this a short as possible.

    I was chatting with Internet Good Guy Levisan around the time the Apple Card “unboxing” videos started popping out, commenting on how r/latestagecapitalism they were. He mentioned KOHO, on account of it also having a metal card.

    KOHO is an app-based prepaid VISA that offers 0.05% cashback on all purchases (2% on some purchases if you pay for “premium”) and has none of the lame fees that you’d expect from a one time used pre-paid visa you might buy as a “gift card.”

    It also offers a “virtual” card in the app for online payments. One that you can turn off if your accounts get pwn’d. AFAIK virtual cards have been rare in the Canadian market before now.

    Also you can feed the card with Interac E-transfers.

    KOHO feels like it might be a way to get some of the benefits of Apple’s Credit card, without burring yourself even deeper into Apple’s ecosystem.

    It’s early days but I’m optimistic that this will improve my financial health. Especially since it’s pre-paid only and there is no way to carry a negative balance.

    Get it here →


    There you have it. Three things that are blowing my mind this week. 🤯🤯🤯

    What’s exciting you right now?


  • Dev.to: The most Pleasant Online Community.

    Earlier this year, the developer centric social network DEV started popping up regularly in the portions of The Internet I frequent. And for the past month or so, I’ve been loading up the home page almost as frequently as Reddit.

    The site itself is like some sort of impossible hybrid combination of Twitter, Stackoverflow and Livejournal. They describe themselves as:

    Where programmers share ideas and help each other grow. It is an online community for sharing and discovering great ideas, having debates, and making friends.

    In function, it’s a blogging platform much like every blogging platform that is come before LiveJournal, blogspot, tumblr, medium, etc. With a markdown-based editor which I assuming is intentionally “programmy” to make developers feel at home.
    Unlike blogging platforms that have come before, dev.to allows creators to easily repost via RSS, maintaining a canonical link to you original post! They have no desire to own the intellectual properly.

    In substance, it’s much like stackoverflow, crossed with r/programming or hacker news. Somewhat like stackoverflow, developers post questions relevant to every aspect of development (programming, work, metal health, whatever). But also, developers post tutorials, idea, projects, etc like a reddit or hacker news.
    Unlike other developer communities, the entire site is an open source project that anybody can contribute to!.

    In form, it’s much like Twitter. The homepage is a reverse-chronological-algorithm-sorted feed (based on your interests) of posts, with headlines, hash tags, hearts and cute little avatars of everybody’s faces.
    Unlike Twitter, you’re not limited to hearting a post, you can also unicorn it (I don’t know why).

    As a whole, DEV manages to be the most diverse and positive communities I’ve been a part member of in a long long time. By diverse, I mean in every way! By positive, I just mean, people are generally nice and pleasant. You can ask a question and not be told “you asked it wrong” (like they would be on stackoverflow), receive 100 snarky sarcastic replies (like Twitter), or “your dum” (like reddit).

    Frankly, I’m not sure how they’re pulling it off. Perhaps it’s because the site is so niche. Or maybe it’s because it’s so small (< 200,000 members at the moment, which is tiny), maybe they haven’t reached the tipping point where toxic individuals are able to dominate the conversation. The fact that the founder Ben Halpern seems to be one of the nicest people on The Internet can’t hurt either.


    With all the negative press surrounding the big social networks, I’ve been expecting a some venture capital funded behemoth to replace them any day now. In the same way that Facebook killed MySpace or Reddit killed Digg, I assumed there would be a bigger player that destroys Facebook or Twitter.

    But now I’m wondering if niche networks like DEV are the way of the future and it will be more of a death by a thousand cuts for the likes of Facebook.

    Whatever might be the case, DEV is a welcome return to a kinder, simpler internet and I love it.

    I wonder if there are other niche social networks like that I’m missing out on?


  • Is Modern Web Development Too Complex?

    As someone who has been in the industry for nearly as long as the industry has existed, the trajectory of modern web development is concerning. Oftentimes the “modern” tools seem overly abstract, interdependent and complex. The “modern tools” I’m referring are a range of technologies designed to improve development processes: dependency management (NPM, composer, etc), frameworks (react, laravel, etc) and “DevOps” in general (docker, AWS soup, etc). Slot in any trendy solution of the day.

    Or to put it another way…

    It’s not that there’s necessarily anything wrong with any of these tools. It’s more that I’m concerned that they are hurting our approach problem solving.


    Early this week a Hacker Noon article — Understanding Kafka with Factorio — from a few months ago made it’s way into my work slack.

    This post is a prime example of the way of thinking that concerns me the most. For starters, comparing a web development problem+solutions to Factorio — one of the most complex and difficult RTS’ to date — is very telling in and of itself.

    The author starts by setting up problem that should be familiar to many developers.

    Let’s say we have three microservices. One for mining iron ore, one for smelting iron ore into iron plates, and one for producing iron gear wheels from these plates. We can chain these services with synchronous HTTP calls. Whenever our mining drill has new iron ore, it does a POST call on the smelting furnace, which in turn POSTs to the factory.

    So, we have 3 services that depend on each other in a linear fashion. If any one of them fails, the entire system breaks. There appears to be zero fault tolerance and that could be bad.

    Enter Kafka…

    With Kafka, you can store streams of records in a fault-tolerant and durable way. In Kafka terminology, these streams are called topics.

    With asynchronous topics between services, messages, or records, are buffered during peak loads, and when there is an outage.

    Neat.

    But hang on. Now we have four points of failure instead of three! In fact, we’ve now introduced one single point of failure. If the Kafka layer fails the entire system fails.

    Why should we trust Kafka more than we trust the 3 microservices, we built? Are there ways to make the individual microservices more fault tolerant?

    Why not both? The author of this post seems like a solid developer who knows what he’s doing. Perhaps the underlying assumption is that our microservices are already as fault tolerate as they could possibly be and we should add Kafka as an additional layer of fault tolerance.

    We’ve introduce a fourth complex and specialized technology into the stack. Now we need a Kafka specialist on our team…


    This post is not meant to be an analysis or critique of Apache Kafka.

    It’s meant to provide an example of the way modern web developers tend to solve problems. We tend to build or implement complicated systems that provide an abstraction layer above problems, without adequately addressing the root problem.

    I’m quite concerned that we’re fostering a generation of web developers who are building houses of cards on top of houses of cards, to solve problems that don’t fully understand, without properly addressing those problems.