HNHacker News
TopNewBestAskShowJobs

fzeindl

1,196 karma · joined October 10, 2022

Fabian Zeindl

Senior Software Architect @ Austrian railways ÖBB

Blog: https://www.fabianzeindl.com/

submissionscomments
fzeindl··on The API database architecture – Stop writing HTTP-GET endpoints
> You mean I get to double the ops maintenance cost of my existing service by adding a new one? You mean I need to figure out how to set up RBAC, rate limiting, logging, and error handling in two places instead of just one?

PostgREST has a 10 line config file, so it's trivial to setup. Monitoring, rate limiting, logging and error handling could be done by central tools like API-gateways or on the reverse proxy.

fzeindl··on The API database architecture – Stop writing HTTP-GET endpoints
Thanks for your response.

You are right that care needs to be taken in the authentication layer.

And yes, developing SQL in a shared environment is a complex task and needs to be accompanied by proper tooling.

fzeindl··on Help us invent CSS Grid Level 3, a.k.a. "Masonry" layout
Checking that the layout isn‘t exponentially complex and DOSing the browser could be a simple task for the web developer. If you want your website to perform bad you can always find a way.
fzeindl··on Help us invent CSS Grid Level 3, a.k.a. "Masonry" layout
I never understood why CSS would not just adopt Apple's Autolayout and be done with it: I want to specify that this space should be equal to that space, these borders to grow, and those borders to shrink and this point always aligned to that point.

It is simple, intuitive, it works for all cases. Instead we are inventing, what, the fifth generation of CSS-layouting now? Does nobody think this is odd?

fzeindl··on This is a teenager
No. They can see that there are other ways of living by watching their peers or random people on the street.

But they need somebody to make them understand that it’s not them who are destroying the relationship with their surroundings and their chance for being happy but the other way around.

Some children in bad situations understand that without guidance but they are rare.

fzeindl··on This is a teenager
This is old news.

Basically children in bad situations need just one reliable person who believes in them in their lives.

What it does is making them realize that it’s not them who are doing something wrong but that their surroundings are flawed. The problem begins when children start to believe everything is their own fault.

fzeindl··on How Netflix really uses Java
What I find funny is that with that kind of money you could staff 10 app teams, develop the app 10 times in different ways and just pick the best one in the end.
fzeindl··on Detroit's abandoned tunnel systems open door to another world
> First, they made the streets higher without touching the storefronts. "Crossing the road" would have required climbing ladders.

And what was underneath those higher streets? A giant block of concrete? Scaffolding?

fzeindl··on Union, intersection, difference, and more are coming to JavaScript Sets
I reduced my use of sets.

I often used sets in Java as return-types or parameters to specify collections of unique items.

Profiling code over the years I noticed that, a lot of times the reason for a performance bottleneck was some hashcode calculation for a Set or Map.

So now I often use plain ol' ArrayLists.

fzeindl··on Detroit's abandoned tunnel systems open door to another world
How can one imagine this? A big underground hall with a concrete ceiling in which there are buildings?

Or are the underground building like a -1 floor to the ones above?

fzeindl··on Pkl, a Programming Language for Configuration
Especially since k8s allows using arbitrary labels for plugins, effectively creating „stringly typed“ programming.

Nobody is stopped from compiling code, converting it to base64 and storing it into a label for later execution.

Arbitrary parameters like this are the opposite of a unifying abstraction.

That ingress-behavior wasn‘t defined but pluggable to suit existing load balancers also broke the abstraction.

fzeindl··on Pkl, a Programming Language for Configuration
While I learned to accept YAML it messes up editor usage.

It is so sensitive that basic text editing like copy and paste, tab, in/decreasing indent never quite do what I expect in IntelliJ.

I paste parts of yaml into another yaml and it ends up somewhere unpredictable.

fzeindl··on Apple built iCloud to store billions of databases
The difference is that file systems need a lot of “mechanical sympathy” to account for the many quirks inside syscalls and actual physical disks.

There was a nice video about how it is really hard to implement file systems because disks just don’t do what you expect.

Databases are a layer up and assume that they can at least write a blob somewhere and retrieve it with certain guarantees. Those guarantees are a thousand hacks in the file system implementation.

fzeindl··on 20.5 Years of XP and Agile (2020)
I miss it too, I did almost every CS class at university paired and we generally scored very well.
fzeindl··on How a software glitch at the UK Post Office ruined lives
Reminds me of a saying from a dear friend: „Humanity is a boat with a big hole and we constantly need to shovel out water to keep it from sinking.“
fzeindl··on How a software glitch at the UK Post Office ruined lives
> Why this isn't applied to software engineering is a whole nother story, but i think it probably should.

Because bits don‘t rot and while you need to build a new bridge now and then which will include your learnings from the old one, you never have to replace software because it can be copied ad infinitum.

fzeindl··on How a software glitch at the UK Post Office ruined lives
Don‘t think like that. Medicine is a complicated field as well, but after evidence based medicine was invented death rates were going down. It is certainly possible to find and enforce lists of best practices.
fzeindl··on 20.5 Years of XP and Agile (2020)
> Personally, I'm still an XP fiend at heart. Give me: a single list of prioritized work; a test suite I can trust …

For me the essence of XP was always programming in pairs in front of a computer. That notion was somehow lost in the article and you also don‘t mention it.

fzeindl··on Ask HN: What's your "it's not stupid if it works" story?
I wanted a smart thermostat but my 30 year old natural gas heater didn‘t support them. I only had a wheel which I could turn to set the temperature.

So I took double sided tape, stuck a plastic gear on the wheel and put a servo on with another gear on the side, connected to a raspberry pi, that would turn the wheel when my phone would enter a geofence around the flat.

Picture: https://ibb.co/nDvwndp

I even had a bash script to calibrate the servo which would turn the wheel and ask which temperature it set, so it could figure out the step size.

fzeindl··on PostgREST: Providing HTML Content Using Htmx
PostgREST is amazing software, I have written an article on how to use it as a generic data-checking pipeline: https://www.fabianzeindl.com/posts/business-information-serv...

And I already have the next article in the works on how to use it as a CQRS/REST-api-layer.

fzeindl··on Beeper vs. Apple battle intensifies: Lawmakers demand DOJ investigation
What is the use case for iMessage in interactions of colleagues. No email?
fzeindl··on NASA study finds life-sparking energy source and molecule at Enceladus
> be so large we don't realize we are a part of it

While these are valid and interesting ideas from science fiction, I personally doubt that there's some fundamental property about human life that we haven't noticed yet, like some fundamental connection to other matter.

Simply because there's no evidence that our primitive understanding about what is life, has fundamentally changed in history. I guess a few thousand years ago people understood that we, plants and animals are alive and rocks are not and we still think the same. (nature religions aside)

So if there was no shift in understanding for such a long time, why should we now realize we are part of something a part from an eco system?

fzeindl··on NASA study finds life-sparking energy source and molecule at Enceladus
I once heard: „The universe is unbelievably huge and unbelievably old so rare events happen all the time.“

I think it meant that even if life started itself accidentally by some unbelievably slim chance, this could happen somewhere else as well simply because the dice are rolled that often.

I think time is the factor here. When you take into account not only the size of the universe but also it‘s age, the chance that life started somewhere, somewhen and ended long ago could be larger than zero, even if we are not able to calculate it.

fzeindl··on Should you add screenshots to documentation?
Abstract vs concrete is not the main difference of images vs text.

The main difference is that an image (without text in it) can relay a lot of information at once. Counter example: try reproducing an image from a description.

A text on the other hand is able to give unambiguous explanation of relationships. Counter example: try painting “a primary and a secondary disk” as an image without any text.

So images are good to give an overview fast, but text is needed to make it unambiguous.

fzeindl··on OpenCola
> You can drink a 12 oz can of Coke every day and it's not even a blip on the radar.

Only that blood sugar levels also affect hunger, psyche etc.

So no, you cannot just sum up calories in that case.

fzeindl··on The depths of the input element
Falsehoods programmers believe about addresses: https://www.mjt.me.uk/posts/falsehoods-programmers-believe-a...
fzeindl··on PC GEOS: the multitasking DOS-based GUI OS that evolved from a C64 desktop
Geos was Genius. It had word processing, drawing, spreadsheets, games, an entire office suite.

And it was programmed in a completely object oriented way so that it would suspend everything to disk.

You started the PC and all your applications, windows and documents were open like before, something that macOS only achieved 20 years later.

fzeindl··on Turbo Pascal Turns 40
Yes, those are useful, but I think the requirement to declare upfront in general prevents function that are too long.

When you start to have a screen height full of variable-declaration, you start thinking: "Maybe I should refactor this." Inline variables conceal that a bit.

fzeindl··on Ask HN: Best UI design courses for hackers?
Apples Human interface guidelines helped me a lot in improving the windows gui application, apps and websites I was developing in my career. After reading them I was definitely able to create much simpler UIs. (Example: use verbs in message-boxes. Not: Delete? Ok/Cancel, But instead: Delete XYZ. Delete/Keep.) https://developer.apple.com/design/human-interface-guideline...
fzeindl··on Turbo Pascal Turns 40
One of the best things about Turbo Pascal was having to declare all variables upfront at the beginning of functions.

I really don't know why languages like C, Java or JavaScript started to allow variable definitions everywhere. Needing to declare variables first leads to much cleaner functions.

← PreviousPage 6 of 10Next →