Klaus Stein

Scientist, diskordian pope, computer science, fnord, Ruby, teaching, social network analysis, Linux, OSM.
See also @Lapizistik

Klaus Stein boosted:
steve mookie kongmookie@racingbunny.com
2025-06-21

18 Rules of Software Engineering.

#dev #developer #programmer #software #engineering

0. You will regret complexity when on-call

1. Stop falling in love with your own code

2. Everything is a trade-off. There's no "best" 3. Every line of code you write is a liability 4. Document your decisions and designs

5. Everyone hates code they didn’t write

6. Don't use unnecessary dependencies

7. Coding standards prevent arguments

8. Write meaningful commit messages

9. Don't ever stop learning new things

10. Code reviews spread knowledge

11. Always build for maintainability

12. Ask for help when you’'re stuck

13. Fix root causes, not symptoms

14. Software is never completed

15. Estimates are not promises

16. Ship early, iterate often

17. Keep. It. Simple.
2025-06-14

I may have found the perfect programming language: 無¹.

(via @schratze)
__
¹github.com/wyattscarpenter/wu

2025-06-06

“The view can never protect you.” – A remark from some generic Rails discussion

2025-06-04

When did “The Complete Guide to $someTool” become an alias for:
“let me rephrase the usage message¹ of $someTool for you in this lengthy blog post!”²

__
¹or the README, or the intro and examples part of the manpage, or the quickstart section of the docs, … You get the idea.
²but with shiny boxes and unrelated images for the mood

Klaus Stein boosted:
nixCraft 🐧nixCraft
2025-06-04

Fun poll: The thing about programming is that it’s often faster to write a function than to think of a suitable name for it. Agree or disagree?

Klaus Stein boosted:
2025-05-15

The cool thing about writing code is that the computer is doing exactly what you tell it to do.

The cool thing about debugging code is slowly learning what you actually told the computer to do.

Klaus Stein boosted:
Klara in the hidden landklara@wandering.shop
2025-03-18

Holy shit: wired.com/story/undergraduate-

For the non-programmers: hash tables are one of those things you learn about in your first year as a CS student, and very likely in your first CS class. Not something you expect to read about conjecture-breaking, complexity-bounds-changing new implementations of.

Full paper: arxiv.org/abs/2501.02305

Klaus Stein boosted:
2024-11-07

You all know about Stirling-PDF, don't you?

stirlingpdf.io/

A superb, FOSS, toolbox full of PDF manipulation, signing etc. tools.

This link is to the hosted version, so you can have a play but you can, of course, self-host your own version should you wish.

I haven't got "signing a PDF with a .p12 cert" working yet, but other than that, it is very convenient, even from a phone's web browser.

#FOSS #PDF #selfhosting

2024-10-15

People are asking what I use Ruby for besides Rails.¹

Currently I am compiling a book (pdf) combining two JSON-files from different sources and a bunch of pdf files (which involves some Kramdown, a rather complicated LaTeX-setup and other stuff).
I ended up with two classes and lots of helper methods that I call interactively in irb.

I like working in irb, exploring and incrementally building up the code until everything works.
__
¹I don't do much Rails

2024-08-23

In the old days when I built a piece of software I thoroughly understood what's going on – even with relying on libraries.¹
Today, using one of these larger frameworks, I have some rough idea what might go on² – and I don't like this at all.

__
¹with a well defined, clear API
²even if the docs are good

2024-07-05

The internet¹ is now in a state that I am faster reading through original documentation to find out how to solve a rather special problem than just search for the specific question.

Thanks a lot, auto-generated advertising spam, generic blogposts and low quality Q+A boards.

__
¹especially search engines

2023-08-26

@jcn I know and I did this, but I _want_ some simple preprocessing, especially if I drag in something like leaflet ;-)

2023-08-26

I am somehow ok with JS. It is a weakly typed lispy language with lots of flaws, but I can deal with that.

But why has the JS/node/… ecosystem to be so bloated and ugly? Why do I need a complicated asset pipeline with 3 config files and hundreds of dependencies to put some JS code on a website?

Often I want a minimal configuration and this should be one config file with 3 lines or something ;-)

Klaus Stein boosted:
Lars Wirzeniusliw@toot.liw.fi
2023-08-16

Happy birthday, #Debian

On this day in 1993, that's 30 years ago, Ian Murdock announced the imminent release of a new Linux distribution.

wiki.debian.org/DebianHistory?

2023-08-13

ChatGPT's odds of getting code questions correct are worse than a coin flip. But its suggestions are so annoyingly plausible

Among the set of preferred ChatGPT answers, 77 percent were wrong.

theregister.com/2023/08/07/cha

2023-07-29

My tests failed because I changed my code for the user interface and forgot to adapt the system test.

And I like it nearly any time that they failed, it shows that my test coverage is not too bad.

2023-07-14

@Pitosalas For me all the solutions look way to complicated (and I would need to check which edge cases are covered etc.)

I'd have used something along

IFS=, a=(*/.git) &&
b=("${a[@]%/.git}") &&
echo "${b[*]}"

(which is a full bash solution that does not call external binaries. but does not check if the filetype of .git is directory)

But on my desktop I'd use something along

ruby -e 'puts Dir["*/.git"].map{_1[..-6]}.join(?,)'

(or run it in irb or pry ;-)

2023-07-13

@Pitosalas but the loop (figure 4) will put a return after the comma, wouldn't it?

2023-07-13

@Pitosalas Did it finally figure out that it needs to use
echo -n "${dir%/},"
or did it come up with a completely different solution to avoid the linebreak after the “,”?

2023-07-13

@Pitosalas Additionally I'd say the given solution is too complicated, but that is true for many slashdot answers too ;-)

Well ok, lots of those are wrong too ;-)

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst