HN user

mbrodersen

2,349 karma
Posts49
Comments2,124
View on HN
www.youtube.com 3y ago

Professor Steve Keen explains why austerity economics is naive

mbrodersen
3pts0
www.quantamagazine.org 3y ago

Hacker-Proof Code Confirmed (2016)

mbrodersen
2pts0
www.semdesigns.com 3y ago

Modernising B-2 Spirit Bomber Software Systems (2009)

mbrodersen
2pts0
alastairreid.github.io 3y ago

End-to-End Verification of ARM Processors (2016) [pdf]

mbrodersen
2pts0
www.quantamagazine.org 3y ago

Hacker-Proof Code Confirmed (2016)

mbrodersen
1pts0
www.youtube.com 3y ago

How assembloids are changing the future of brain research (YouTube)

mbrodersen
2pts0
dl.acm.org 3y ago

Using Lightweight Formal Methods (2021)

mbrodersen
2pts0
github.com 4y ago

The Programming Languages Zoo

mbrodersen
3pts0
www.youtube.com 4y ago

Why the Soviet Computer Failed

mbrodersen
3pts0
www.youtube.com 4y ago

How to turn your 2d fractal into 3D

mbrodersen
1pts0
news.ycombinator.com 4y ago

Ask HN: What was your worst microservices nightmare?

mbrodersen
4pts3
fsharpforfunandprofit.com 4y ago

Designing with Types (2013)

mbrodersen
2pts0
www.youtube.com 4y ago

Microservices (The Reality) (2020)

mbrodersen
2pts0
www.youtube.com 4y ago

Creating a GPU With C++ and an FPGA (2021)

mbrodersen
51pts20
arxiv.org 4y ago

The Lean Mathematical Library

mbrodersen
4pts0
www.youtube.com 4y ago

Why it's harder to earn more than your parents (2021)

mbrodersen
1pts0
www.youtube.com 4y ago

I Wrote a C++ REPL in 20 Lines of Code (2021)

mbrodersen
2pts1
www.youtube.com 4y ago

Microservices (In a Nutshell)

mbrodersen
1pts0
www.youtube.com 4y ago

The Mysterious Life of UX Designers

mbrodersen
2pts0
www.youtube.com 4y ago

Correctness Proofs of Distributed Systems

mbrodersen
2pts0
www.youtube.com 4y ago

Nvidia – Securing the Future of Safety and Security of Embedded Software

mbrodersen
1pts0
www.youtube.com 4y ago

SeL4 on RISC V Fast, Secure, Open Source and Proved Bug Free OS Kernel

mbrodersen
3pts1
www.youtube.com 4y ago

Why Addiction Theories May Be Wrong

mbrodersen
2pts0
www.youtube.com 4y ago

The seL4 verification: the art and craft of proof and the reality of commercial

mbrodersen
3pts0
www.youtube.com 4y ago

How the Hidden Rules of Ownership Control Our Lives (2021)

mbrodersen
3pts0
blog.whatsapp.com 4y ago

1M is so 2011 (2012)

mbrodersen
2pts0
www.youtube.com 4y ago

Functional Programming for Pragmatists (2021)

mbrodersen
6pts1
www.youtube.com 4y ago

Millions of Users, Purely Functional Code

mbrodersen
2pts0
news.ycombinator.com 4y ago

Ask HN: Are you a Digital Nomad? If yes, what are the pros/cons?

mbrodersen
15pts10
www.youtube.com 4y ago

How Statically-Typed Functional Programmers Write Code

mbrodersen
4pts0

In my view there is no such thing as “tech debt”.

The way I look at it, there will always be a delta between the code you have and the business features you want/need. Independently of whether the code was written 30 years ago or yesterday.

So the only question worth asking IMHO is how best to reduce the delta while maximising the business value/cost ratio.

If you talk about “tech debt” without talking business value/cost then you are indulging in “what would be fun to do” and not “what is the best next step for the business”.

The biggest lie by the way is “it will improve maintenance!”. Maybe for you (because you spent years rewriting it and know it inside out) but not for the unlucky next person who has to take over your code.

Another lie is using words like “Modern!” and “Brand New!” as if it is a good thing. I want the old software that has proven itself for more than 30 years. Not the “Modern! New! Shiny!” crap that has been implemented by bright eyed inexperienced beginners, is full of bugs, implemented using a “Modern!” framework that will stop being maintained in a year, and has 5% of the features of the “old” software.

In my experience there is a strong correlation between your ability to communicate clearly and your ability to write clean maintainable code.

The 10x developers I have worked with are all excellent communicators. The worst developers I have worked with most definitely weren’t.

I work for a company where meetings are extremely rare. We only do formal meetings when everything else fails. It is one of the most efficient/productive companies I have ever worked for.

The least efficient/productive company I have ever worked for had formal meetings all the time. What takes a week where I work now would take 6 months there.

So no I don’t agree that meetings are automatically productive/useful in general. I am pretty sure you can measure how productive a software company is by the following formula:

Time spent working on projects divided by Time spent in meetings.

I have such fond memories of the ZX-Spectrum. I learned how to program machine code using it (hand translates from Z80 assembler) when I was 11 years old. No internet. Nobody I could ask for help. Just a book explaining how to do machine code programming on a ZX-Spectrum. The satisfaction of getting this working was amazing to me.

Not my experience at all. I have worked for two really fucked up companies. But the rest were OK and my current job is pretty good.

But when you say garbage like "100% nonsense" it's just fucking rude and against the rules here at HN. Don't say it again. Speak respectfully or don't speak at all.

I found that commment to be seriously rude and disrespectful. Yes I should have avoided the "100% nonsense" comment. However that doesn't give you licence to be rude and abusive in return.

It is my experience as a developer that the shorter the feedback loop is, the more productive I am. Fast auto tests are really useful for this. Being able to test against an in-memory DB instead of a much slower “real” DB is another example.

So it is kinda obvious to me that non-developers also will benefit from fast feedback loop software.

A colleague of mine is working on one of the worst software systems I have ever seen or heard of. It is a 20+ years old micro-services architecture. More than 50 services all interacting with each other in mysterious time dependent ways. It is almost impossible to debug or reason about. It took him most of a year to figure out how to reliably and automatically build and boot the system from scratch.

I have worked on systems with the same functionality but architectured as a single monolith + database. Maintaining that system was a walk in the park comparatively.

Declarative: Specify the result you want. Imperative: Specify (step by step) how to get the result you want.

Examples:

Declarative: I want a PC with the following code installed: X, Y and Z. Imperative: First upgrade X, then install Y, then uninstall W, then install Y and Z.

Years ago at university I wrote a small 2D circuit board drawing system in Fortran running on some old IBM mainframe computer. Only the first 6 characters of function names mattered so I ended up using the first 2 characters as the module/namespace and carefully encoded the next 4 characters as needed. I had never programmed in Fortran before but it was easy to learn. Fun times.

The company I work for is still using old Fortran code to simulate how long it takes for trains with a certain load to get from A to B given a sequence of gradients. I bet small bits of Fortran still lives inside many systems written in C/C++.

There is a lot of software out there written in C. All of which needs maintenance. At work new C code gets checked in every day for software that runs major companies around the world.

Having said that, I would never recommend C as the language of choice for new projects.

Every additional hour you work without getting paid is effectively reducing your hour rate. So the harder you work the less you get paid per hour. Sorry but that’s not very smart. If the company doesn’t want to pay you for the extra hours then those extra hours clearly aren’t necessary. And if the company “can’t afford” to pay then negotiate something else instead. WFH, extra paid vacation days etc.

Why Lisp? 4 years ago

Not so fast! Search Banjo Kazooie on YouTube and you will find recent videos with millions of views ;)

Which frankly amazes me. The game was released in 1998!