DEV Community

Manuel Odendahl profile picture

Manuel Odendahl

πŸ΄β€β˜ οΈ I like computers! 🧠 ❀️ πŸ–₯ Computation is life! πŸ”₯ πŸ’» πŸ‘Ύ All hail abstraction! πŸ΄β€β˜ οΈ

Location Boston, MA Joined Joined onΒ  github website twitter website

Work

Principal Engineer at The Tree Center

All 98 comments

Diagrams are the ultimate engineering tool

isn't indicating the direction of a relationship (which you o...

Diagrams are the ultimate engineering tool

Why do you think arrows are problematic for control flow? I a...

β›” Squash commits considered harmful β›”

Yes. But most people argue that it "cleans up" history, becau...

Diagrams are the ultimate engineering tool

thank you so much, this means a lot to me! diagrams are fun!

20+ years into my career, I still love PHP and Javascript

I am fully prepared for the PHP backlash!

Diagrams are the ultimate engineering tool

I do agree, diagrams in documentation are often out of date, ...

Diagrams are the ultimate engineering tool

When you say they are not easy to create, what do you mean ex...

Diagrams are the ultimate engineering tool

For sure, diagrams are not "easy". They do often require a ...

Diagrams are the ultimate engineering tool

If I'm honest, I would say 90% of my software work is actuall...

Asking stupid questions

I do indeed, I will edit to clarify!

Ever donate to a developer who created something you like?

Yes! Github's tip feature and patreon are great. Someone save...

What's a More "Advanced" Topic You'd Like to See on DEV?

This is indeed a great topic that is not approached very much...

What I learned about writing and workflow during the pandemic

I originally started this as an article about note-taking, bu...

β›” Squash commits considered harmful β›”

you can do exactly the same for a merge commit by using git r...

What are your debugging tips?

No it’s been quite a while honestly but I was thinking of bri...

What are your debugging tips?

More crazy techniques that I've used in the past, especially ...

What are your debugging tips?

Planning for debuggability Find a way to reproduce...

Classic programming books ⌨️ πŸ“š available for free

I love it!

Double-entry Bookkeeping for Programmers

Fascinating. I don't mind test-reading if you want.

How I Got Into Computers - Thomson MO5, My First Love

I wonder if it was just easier to get into programming back t...

Double-entry Bookkeeping for Programmers

Audit logs are a superpower as a programmer. Instant debuggin...

Double-entry Bookkeeping for Programmers

This is great! I have an article in the oven about the parall...

How does flimsy code affect your mental health?

More so than flimsy code (refactoring can be fun), what crush...

Book notes: The Pragmatic Programmer, 20th Anniversary Edition

Another transformative book, and in my top 5 as well! You hav...

Book notes: Designing Data-Intensive Applications

Such an amazing book. In my top 5 of all times, I am also pre...

Book notes: Staff Engineering: Leadership beyond the management track

I absolutely loved this book. Thanks for such thoughtful note...

β›” Squash commits considered harmful β›”

Makes total sense. I "tidy" up commits because I often do par...

β›” Squash commits considered harmful β›”

Interesting. I have the opposite experience. I use git stash ...

β›” Squash commits considered harmful β›”

Agree, I ask people to put some effort into their own git his...

β›” Squash commits considered harmful β›”

just as easy as a revert of a squashed commit. Pass in git re...

β›” Squash commits considered harmful β›”

How do you mean you can't not look at it? In which context? I...

β›” Squash commits considered harmful β›”

I'm not sure I understand. If you don't want to see the indiv...

Git branching for small teams

makes sense. my background is in embedded where branches i gu...

β›” Squash commits considered harmful β›”

Is this because you think they don't have the times/skills to...

Git branching for small teams

My last post on git got a lot of attention, which led me to s...

Git branching for small teams

That matches things I've done in the past too. Thanks for all...

Git branching for small teams

this happened after I was less involved with that one project...

Git branching for small teams

Did you use filter-branch for cleanup? What strategies did yo...

Git branching for small teams

Exactly. Do normal development on the main fork. Then when a ...

Git branching for small teams

Was this because of larger files in the repository? delta-com...

Git branching for small teams

What do mean by hell exactly in this context? (I'm working on...

Git branching for small teams

Is that to save the effort to create a branch and code review...

Git branching for small teams

Also, what were repository sizes at which CI/CD started to be...

Git branching for small teams

What do you think takes time in branching?

Git branching for small teams

I use a very similar flow, although I often try to rebase the...

β›” Squash commits considered harmful β›”

This is a good point. Which makes me think, how can you give...

β›” Squash commits considered harmful β›”

You'll note I use gitmoji, which I also find very useful, as...

β›” Squash commits considered harmful β›”

That makes sense. I see a pattern emerging here. I think that...

β›” Squash commits considered harmful β›”

So you are saying to only do pull request that have the size ...

β›” Squash commits considered harmful β›”

You can just use git revert -m1 to revert a merge commit to t...

β›” Squash commits considered harmful β›”

There's a couple of tricks to have an easier time rebasing: ...

β›” Squash commits considered harmful β›”

A lot of people bring up "WIP" commits. Do you often do WIP c...

β›” Squash commits considered harmful β›”

Do you use squashing because you want to have a "clean" histo...

β›” Squash commits considered harmful β›”

Only one way to know! look at the graph, and use git cat-file...

β›” Squash commits considered harmful β›”

I had a long conversation about that with other developers, i...

β›” Squash commits considered harmful β›”

I agree. I'm not the greatest at this (often solo dev on thin...

β›” Squash commits considered harmful β›”

do you look at individual commits when doing a review? becau...

β›” Squash commits considered harmful β›”

I do think spending some time in git rebase --interactive (or...

β›” Squash commits considered harmful β›”

by squash you mean collapse all commits into a single one? be...

β›” Squash commits considered harmful β›”

I think it has to be enabled in the repo settings. But now th...

Which Frontend Framework Would You Use For an Ecommerce Storefront?

Whatever frontend you already know, to be honest. If possible...

β›” Squash commits considered harmful β›”

I think you can with an option?

β›” Squash commits considered harmful β›”

If you have a good reason to squash commit, please post it he...

Pitch me on C++

I have a love hate relationship with C++. Fast, zero abstra...

Pitch me on Go

I like pointing people who already know programming to "Effec...

Pitch me on Go

Pros: get shit done very readable lots of nice libraries al...

I am a dumb programmer: that's why I am good at my job

Are you a dumb programmer too? Do you enjoy it? Do you see be...

Back to Lisp Part 1 - Working Inside the Language

Do you have any experience with Lisp (scheme, clojure, common...

Pitch me on PHP

There's also some good replacements, for example the laravel ...

Pitch me on PHP

Don't take people's opinions on programming topics too seriou...

Pitch me on PHP

I've been using PHP since PHP2 (!) days. I did a serious site...

The book that changed my development career now has a Javascript version

Martin contacted me after I wrote this article and invited me...

14 great tips to make amazing CLI applications

A very good point. Especially if you are piping big amounts o...

14 great tips to make amazing CLI applications

While I haven't written anything useful in rust, it seems lik...

Yes, It's Real. Here's how to deal with imposter syndrome

I agree that there is steps you can take to increase your con...

The scientific proof of that OOP is a mass psychosis

Memory ownership is at this point a reasonably well solved pr...

The scientific proof of that OOP is a mass psychosis

I'm not sure what discussing syntax has to do with OOP. The...

90% of software engineering is integrating janky APIs, and I love it

I don't really have an opinion. I've had success in some case...

Imposter syndrome is about systemic discrimination

This has been a hard article for me to write. I hope it conve...

Worse UX for a better product: how to think in outcomes

Often, this is called being a "product minded" engineer. It a...

90% of software engineering is integrating janky APIs, and I love it

Definitely, and you can often see why an API is "poorly docum...

OOP a software development mass psychosis

I'm not sure what the point of this article is besides being ...

90% of software engineering is integrating janky APIs, and I love it

What parts of your β€œtoys” do you find fulfilling, and why do ...

90% of software engineering is integrating janky APIs, and I love it

I think the worst API I had to use was related to that PC-NFS...

The book that changed my development career now has a Javascript version

Oh damn I was reminiscing about the computers I grew up with ...

What do you wish you had time to learn?

I wish I could learn and remember (I always learn kind of eno...

Happy 40th Birthday to the ZX Spectrum 48K!

In fact, I'm just gonna go ahead and embrace my midlife crisi...

Happy 40th Birthday to the ZX Spectrum 48K!

I had a 8086 for years (2 floppies, no graphics card, all I c...

Beyond Javascript: 5 Programming Languages That Will Rewire Your Brain (Part 1/5: C)

Other languages that I won't cover in this series, but have b...

What programming skills, concept, techniques have you learned so far?

Things that were the most influential to me: functional pro...

The book that changed my development career now has a Javascript version

If you are in the area, please drop by! SICP: Past, Present,...

⭐️ Quick tip Tuesday: ⭐️ Writing RFCs for fun and profit

Before I could get my workplace to get onboard with an RFC pr...

What is the future of remote work in software development?

I think we will settle on a partly remote workflow. I know so...

The Complete Guide To Using One Monitor As A Programmer.

I highly recommend a tiling/tabbed window manager such as i3 ...

The book that changed my development career now has a Javascript version

Writing this article really makes me want to go through the b...

Use 2 monitors for learning and work

This is great. I do need to find a couple of small old monito...

Frameworks and Reinventing the Wheel

What helped me most over the years is not only building my ow...

Welcome Thread - v170

Hi! I've been a software developer for 20+ years, specializin...

loading...