Matthias Endler

Consultant at corrode.dev. Likes just-in-time compilers and hot chocolate
https://endler.dev/ (RSS)
visit blog
So You Want to Start a (Tech) Podcast
4 Oct 2024 | original ↗

For the past year, I’ve been hosting the Rust in Production podcast, diving deep into how companies use Rust in their tech stacks. This journey has taught me a lot about what it takes to create and maintain a successful podcast. Whether you’re considering starting your own podcast or just curious about the process, I hope my experiences can offer...

Follow the Hackers
7 Sept 2024 | original ↗

This post offers personal insights on predicting tech trends by observing hackers. It’s based on subjective observations and should be read with critical thinking. If you’re looking for meticulously researched, data-driven analyses, you might want to check out an actual research paper instead! A good way to predict which technologies will be...

Be Simple
2 Sept 2024 | original ↗

Last night I realized that my life is very simple. That’s not by chance, but by conscious effort. Life becomes complex all by itself if you do nothing about it. One day you’ll wake up and you have a mortgage, 10 on-demand subscriptions, 20 insurances, 1000 open browser tabs, a demanding job and a dog. And when you realize it, you wonder how you...

What to Write
20 Aug 2024 | original ↗

People sometimes ask me how I come up with things to write. To me, it's the same as asking how I come up with things to say. There's always something to say. It might not be novel or interesting to most, but it's important to me and hopefully to someone else. What people actually want to know is how to come up with something interesting to write....

Move Slow and Fix Things
15 Aug 2024 | original ↗

Growing up as a kid in rural Bavaria, I always dreamed of moving to the US to run a startup. Many kids in my generation shared that dream. To me, it felt like the only way to combine my two greatest passions: coding and building things. As I got older, I became disillusioned with the narrative surrounding Silicon Valley. The hockey stick growth,...

Asking Better Questions
12 Aug 2024 | original ↗

Recently, I realized that I mostly get paid to ask questions. As a consultant, advising companies As a podcast host In calls with potential clients The curious thing is that, like most people in a similar position, I never had any formal training in asking questions! I basically just wing it and try to get better over time. That got me thinking:...

The Dying Web
8 Aug 2024 | original ↗

I look left and right, and I'm the only one who still uses Firefox. At conferences and in coworking spaces, it's always the same scene: people using some flavor of Chrome. Sometimes it's Brave, sometimes Chromium, most of the time it's just Google...

How To Sell To Developers
27 May 2024 | original ↗

One of the hardest challenges I know is how to sell to developers. This is NOT an article for developers. Today, I want to write for non-developers whose job it is to sell to developers. My goal is to help you understand how they think. Developers Hate Being Sold To We tend to be a skeptical bunch! We're not reachable...

Cursed Rust: Printing Things The Wrong Way
1 Nov 2023 | original ↗

document.addEventListener("DOMContentLoaded", function() { lightEmbedInit(); }); There is a famous story about a physicist during an exam at the University of Copenhagen. The candidate was asked to describe how to determine a skyscraper's height using a barometer. The student suggested dangling the barometer from the building's roof using a...

Deploy Rust Code Faster
25 Oct 2023 | original ↗

I've come a long way in my tech journey, from dealing with bare metal servers to exploring the world of cloud computing. Initially, it seemed so straightforward – spin up a server, deploy a container, and you're done. But as I delved deeper, I realized that the ease of infrastructure is not as simple as it appears. Cloud providers offer a...

Little Helpers
5 Jan 2023 | original ↗

Yesterday I couldn't help but feel a sense of awe at all the conveniences modern life has to offer. A lot of the chores in our household are taken care of by little helpers: The dishwasher washes the dishes, the washing machine washes the clothes, and the robot vacuum cleaner cleans the floors. The refrigerator keeps our food cold, the microwave...

A Reader Mode Proxy for the Slow Web
3 Nov 2022 | original ↗

Reader showing an article in light and dark mode. tl;dr: I built a service that takes any article and creates a pleasant-to-read, printable version. It is similar to Reader View in Firefox/Safari, but also works on older browsers, can be shared and has a focus on beautiful typography. Try it...

zerocal - A Serverless Calendar App in Rust Running on shuttle.rs
5 Oct 2022 | original ↗

Every once in a while my buddies and I meet for dinner. I value these evenings, but the worst part is scheduling these events! We send out a message to the group. We wait for a response. We decide on a date. Someone sends out a calendar invite. Things finally happen. None of that is fun except for the dinner. Being the reasonable person you are,...

The Uber of Poland
14 Jun 2021 | original ↗

A few years ago I visited a friend in Gdańsk, Poland. As we explored the city, one thing I noticed was that cabs were relatively expensive and there was no Uber. Instead, most (young) people used a community-organized service called Night Riders. I couldn't find anything about that service on the web, so I decided to write about it to preserve...

How Does The Unix `history` Command Work?
31 May 2021 | original ↗

Source: Cozy attic created by vectorpouch and tux created by catalyststuff — freepik.com As the day is winding down, I have a good hour just to myself. Perfect time to listen to some Billie Joel (it's either Billie Joel or Billie Eilish for me these days) and learn how the Unix history command works. Life is good....

Your First Business Should Be A Spreadsheet
10 Mar 2021 | original ↗

One of the best decisions I made in 2020 was to open my calendar to everyone. People book appointments to chat about open-source projects, content creation, and business ideas. When we discuss business ideas, the conversation often leans towards problems suited for startups, such as using artificial intelligence to find clothes that fit or...

Starting A Print-On-Demand Business As A Software Engineer
22 Jan 2021 | original ↗

One day I had the idea to make a print of my Github timeline. I liked the thought of bringing something "virtual" into the real world. 😄 So I called up my friend Wolfgang and we built codeprints. It's my first "physical" product, so I decided to share my...

So You Want To Earn Money With Open Source
4 Jan 2021 | original ↗

I earned 0 Euros from maintaining OSS software for years, and I thought that's the way things are. I finally looked into ways to monetize my projects last year and in this talk I want to share what I learned so far. It didn't make me rich (yet!), but I built my first sustainable side-project with analysis-tools.dev ✨. I'll talk about this and...

My Blog Just Got Faster: Cloudflare Workers and AVIF Support
14 Sept 2020 | original ↗

Did I mention that this website is fast? Oh yeah, I did, multiple times. Few reasons (from ordinary to the first signs of creeping insanity): 📄 Static site ☁️ Cached on Cloudflare CDN 🔗 ️HTTP/2 and HTTP/3 support 🚫 No web fonts (sadly) ✅ Edge-worker powered analytics (no Google Analytics) 🌸 Avoiding JavaScript whenever possible; CSS covers...

Launching a Side Project Backed by Github Sponsors
21 Aug 2020 | original ↗

Yesterday we launched analysis-tools.dev, and boy had I underestimated the response. It's a side project about comparing static code analysis tools. Static analysis helps improve code quality by detecting bugs in source...

What Happened To Programming In The 2010s?
2 Jul 2020 | original ↗

A while ago, I read an article titled "What Happened In The 2010s" by Fred Wilson. The post highlights key changes in technology and business during the last ten years. This inspired me to think about a much more narrow topic: What Happened To Programming In The 2010s? 🚓 I probably forgot like 90% of what actually happened. Please don't sue...

Tips for Faster Rust Compile Times
21 Jun 2020 | original ↗

When it comes to runtime performance, Rust is one of the fastest guns in the west. 🔫 It is on par with the likes of C and C++ and sometimes even surpasses those. Compile times, however? That's another story. Below is a list of tips and tricks on how to make your Rust project compile faster today. They are roughly ordered by practicality, so...

Gravity
29 May 2020 | original ↗

Here's a test to show your age: Do you still remember that funny JavaScript gravity effect, which Google used on their homepage ten years ago? This one? document.addEventListener("DOMContentLoaded", function() { lightEmbedInit(); }); I wanted to have some fun and integrated it into a website I was building....

Hackers' Folklore
24 Apr 2020 | original ↗

Some computer terms have a surprising legacy. Many of them are derived from long-obsolete technologies. This post tries to dust off the exciting history of some of these terms that we use every day but aren't quite sure about their origins. Let's jump right in! Bike-Shedding Today's meaning: A pointless discussion...

A Timelapse of Timelapse
4 Feb 2020 | original ↗

Timelapse is a little open-source screen recorder for macOS. It takes a screenshot every second and creates a movie in the end. To celebrate its unlikely 1.0 release today, I present here a "timelapse" of this project's journey. It just took ten years to get here. document.addEventListener("DOMContentLoaded",...

Github Stars
1 Jan 2020 | original ↗

RepositoryStars analysis-tools-dev/static-analysis13112 ★ mre/idiomatic-rust6277 ★ tinysearch/tinysearch2695 ★ lycheeverse/lychee1939 ★ mre/the-coding-interview1685 ★ analysis-tools-dev/dynamic-analysis910 ★ ReceiptManager/receipt-parser-legacy803 ★ mre/hyperjson501 ★ mre/cargo-inspect381 ★ hello-rust/show306 ★ lycheeverse/lychee-action299 ★...

A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly
17 Oct 2019 | original ↗

I wrote a basic search module that you can add to a static website. It's very lightweight (50kB-100kB gzipped) and works with Hugo, Zola, and Jekyll. Only searching for entire words is supported. Try the search box on the left for a demo. The code is on Github. Static site generators are magical. They combine the best of both worlds: dynamic...

Maybe You Don't Need Kubernetes
21 Mar 2019 | original ↗

A woman riding a scooter Source: Illustration created by freepik, Nomad logo by HashiCorp. Kubernetes is the 800-pound gorilla of container orchestration. It powers some of the biggest deployments worldwide, but it comes with a price tag....

What Is Rust Doing Behind the Curtains?
2 Dec 2018 | original ↗

Rust allows for a lot of syntactic sugar, that makes it a pleasure to write. It is sometimes hard, however, to look behind the curtain and see what the compiler is really doing with our code.

The Unreasonable Effectiveness of Excel Macros
5 Nov 2018 | original ↗

I never was a big fan of internships, partially because all the exciting companies were far away from my little village in Bavaria and partially because I was too shy to apply. Only once I applied for an internship in Ireland as part of a school program. Our teacher assigned the jobs and so my friend got one at Apple and I ended up at a...

Switching from a German to a US Keyboard Layout - Is It Worth It?
2 Sept 2018 | original ↗

For the first three decades of my life, I've exclusively used a German keyboard layout for programming. In 2018, I finally switched to a US layout. This post summarizes my thoughts around the topic. I was looking for a similar article before jumping the gun, but I couldn't find one — so I wrote...

fastcat - A Faster `cat` Implementation Using Splice
31 Jul 2018 | original ↗

Lots of people asked me to write another piece about the internals of well-known Unix commands. Well, actually, nobody asked, but it makes for a good intro. I'm sure you’ve read the previous parts about yes and ls — they are epic. Anyway, today we talk about cat, which is used to concatenate files - or, more commonly, abused to print a file's...

That Octocat on the Wall
9 Jun 2018 | original ↗

Photo of my office with Github's octocat on the wall over my couch So I'm in a bit of a sentimental mood lately. Github got acquired by Microsoft. While I think the acquisition was well-deserved, I still wish it didn't happen. Let me explain. My early days I joined...

Ten Years of Vim
20 May 2018 | original ↗

When I opened Vim by accident for the first time, I thought it was broken. My keystrokes changed the screen in unpredictable ways, and I wanted to undo things and quit. Needless to say, it was an unpleasant experience. There was something about it though, that kept me coming back and it became my main editor. Fast forward ten years (!) and I...

Refactoring Go Code to Avoid File I/O in Unit Tests
22 Mar 2018 | original ↗

At work today, I refactored some simple Go code to make it more testable. The idea was to avoid file handling in unit tests without mocking or using temporary files by separating data input/output and data manipulation.

A Tiny `ls` Clone Written in Rust
9 Mar 2018 | original ↗

In my series of useless Unix tools rewritten in Rust, today I'm going to be covering one of my all-time favorites: ls. First off, let me say that you probably don't want to use this code as a replacement for ls on your local machine (although you could!). As we will find out, ls is actually quite a powerful tool under the hood. I'm not going to...

Rust in 2018
9 Jan 2018 | original ↗

I wrote about the future of Rust before and it seems like nobody stops me from doing it again! Quite the contrary: this time the Rust core team even asked for it. I'm a bit late to the party, but here are my 2 cents about the priorities for Rust in 2018.

Functional Programming for Mathematical Computing
2 Jan 2018 | original ↗

Programming languages help us describe general solutions for problems; the result just happens to be executable by machines. Every programming language comes with a different set of strengths and weaknesses, one reason being that its syntax and semantics heavily influence the range of problems which can easily be tackled with it. tl;dr: I think...

Rust for Rubyists
17 Dec 2017 | original ↗

Recently I came across a delightful article on idiomatic Ruby. I'm not a good Ruby developer by any means, but I realized, that a lot of the patterns are also quite common in Rust. What follows is a side-by-side comparison of idiomatic code in both languages. The Ruby code samples are from the original article. Map and...

Making Myself Obsolete
10 Dec 2017 | original ↗

The Stegosaurus had better days 150 million years ago. Source: Paleontologists once thought it had a brain in its butt. In December 2015 I was looking for static analysis tools to integrate into trivago's CI process. The idea was to detect...

Modern Day Annoyances - Digital Clocks
7 Nov 2017 | original ↗

This morning I woke up to the beeping noise of our oven's alarm clock. The reason was that I tried to correct the oven's local time the day before — and I pushed the wrong buttons. As a result I didn't set the correct time, instead, I set a cooking timer... and that's what woke me up today.

Learn Some Rust During Hacktoberfest
15 Oct 2017 | original ↗

Dirndl, Lederhose, Brezn, Beer, Rust Source: Designed by Freepik October is the perfect time to contribute to Open Source — at least according to Github and DigitalOcean. Because that's when they organize Hacktoberfest, a global event where you...

A Little Story About the `yes` Unix Command
10 Oct 2017 | original ↗

What's the simplest Unix command you know? There's echo, which prints a string to stdout and true, which always terminates with an exit code of 0. Among the series of simple Unix commands, there's also yes. If you execute it without arguments, you get an infinite stream of y's, separated by a newline: y y y y (...you get the idea) What seems to...

Lightning Fast Image Previews with Pure CSS and LQIP
18 Sept 2017 | original ↗

Freepik " width="800" height="500" /> Source: Adapted from Freepik My website is reasonably fast. I hope that every page load feels snappy, no...

Go vs Rust? Choose Go.
15 Sept 2017 | original ↗

I wrote this article a long time ago. In the meantime, my opinion on some aspects has changed. In order to give a more balanced perspective on the pros and cons, I suggest to read this comparison on Go vs Rust instead, which I wrote in collaboration with Shuttle 🚀 Rust vs Go: A Hands-On Comparison Gopherize.me. Gears...

Afraid of Makefiles? Don't be!
15 Aug 2017 | original ↗

What do clothes have to do with Makefiles? Find out in this post! Source: Illustration by Anindyanfitri - Freepik.com In the last few years, I've had the pleasure to work with a lot of talented Software Engineers. One thing that struck me is...

Of Boxes and Trees - Smart Pointers in Rust
12 Aug 2017 | original ↗

Recently, I tried to implement a binary tree data structure in Rust. Each binary tree has a root value, a left, and a right subtree. I started from this Python implementation, which is quite straightforward.

Why Type Systems Matter
10 Jul 2017 | original ↗

I've written most of my code in dynamically typed languages such as Python or PHP. But ever since dabbling with Rust, I've developed a passion for static type systems. It began to feel very natural to me; like a totally new way to express myself.

Being a Professional Programmer
18 May 2017 | original ↗

When I was around 12, I set myself the goal to become a professional programmer. I can tell, because at this time I made the conscious decision to use my right hand to control the mouse — even though I'm left-handed. My reasoning was, that if I ever had to help out a colleague with a computer problem I sure did not want to move her mouse to the...

The Future of Rust
27 Apr 2017 | original ↗

Let me first point out the obvious: yes, the title is a little sensationalist. Also you might be asking why I should be entitled to talk about the future of Rust. After all, I'm neither part of the Rust core team, nor a major contributor to the Rust ecosystem. To that I answer: why not? It's fun to think about the future of systems programming in...

Launching a URL Shortener in Rust using Rocket
9 Apr 2017 | original ↗

One common systems design task in interviews is to sketch the software architecture of a URL shortener (a bit.ly clone, if you may). Since I was playing around with Rocket – a web framework for Rust – why not give it a try?

The Essence of Information
18 Mar 2017 | original ↗

People look confused when I tell them about my passion for algorithms and data-structures. Most of them understand what a Programmer is doing, but not what Computer Science is good for. And even if they do, they think it has no practical relevance. Let me show you with a simple example, that applied Computer Science can be found everywhere....

Why I Love Programming
15 Mar 2017 | original ↗

Programming has many faces. It is the science of structured thinking. It is the art of eloquent expression. It teaches you to be humble when you look at other peoples' fascinating work. Most of all, it teaches you a lot about yourself. While the syntax may change, the concepts will not.

Tools
30 Oct 2011 | original ↗

For as long as I can think, religious flamewars have infected computer science. Having arguments about technical topics can be healthy, but flamewars are not. I'm sick of it. I'm fed up with people telling me that their work environment is oh-so better, faster and so on. That's fine, but it doesn't matter. Your equipment only plays a supporting...

Are you a Programmer?
20 Oct 2011 | original ↗

My geography teacher once told the story of her first lecture at University. As an introduction, her professor asked the class to draw a map of Germany without any help and as accurate as possible. To her surprise, she was not able to fill the map with much detail. Even the shape of the country was a bit vague. She had seen thousands of images of...

On Hard Work
13 Oct 2011 | original ↗

Great people get shaped by their achievements There's Thomas Edison who developed countless prototypes before selling a single light bulb. The unemployed Joanne K. Rowling writing Harry Potter in a Cafe while caring for her child. Steve Wozniak creating the first personal computer in his spare time while working at HP. What do they have in...

Overkill – Java as a First Programming Language
12 Feb 2010 | original ↗

I recently talked to a student in my neighborhood about his first programming experiences. They started learning Java at school, and it soon turned out to be horrible. A lot of us learned to code in languages like BASIC or Pascal. There was no object orientation, no sophisticated file I/O and almost no modularization... and it was great. In BASIC...

Howto Sort a Vector or a List in C++ using STL
27 Jan 2010 | original ↗

A little code snippet that people need very often.

Why I Love Text Files
10 Jan 2010 | original ↗

Text files are the single most important way we can communicate with computers. It's no coincidence that they are also the most vital way to interact with other human beings. What we can achieve with text files is invaluable: Write it once and refer to it whenever you want to get the message across in the future. Write a program (it's just text),...

Running Legacy Code
8 Nov 2009 | original ↗

This short article deals with a severe problem in software development: bit rot. When switching to a new platform (for instance from Windows XP to Windows Vista/7), the programmers need to make sure that old bits of code run flawlessly. There are several ways to achieve this goal that will be discussed in the next...

↑ these items are from RSS. Visit the blog itself at https://endler.dev/ to find other articles and to appreciate the author's digital home.