18 Rules of Software Engineering.
Scientist, diskordian pope, computer science, fnord, Ruby, teaching, social network analysis, Linux, OSM.
See also @Lapizistik
18 Rules of Software Engineering.
I may have found the perfect programming language: 無¹.
“The view can never protect you.” – A remark from some generic Rails discussion
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
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?
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.
Holy shit: https://www.wired.com/story/undergraduate-upends-a-40-year-old-data-science-conjecture/
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: https://arxiv.org/abs/2501.02305
You all know about Stirling-PDF, don't you?
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.
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
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
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
@jcn I know and I did this, but I _want_ some simple preprocessing, especially if I drag in something like leaflet ;-)
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 ;-)
Happy birthday, #Debian
On this day in 1993, that's 30 years ago, Ian Murdock announced the imminent release of a new Linux distribution.
https://wiki.debian.org/DebianHistory?action=AttachFile&do=get&target=Debian-announcement-1993.txt
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.
https://www.theregister.com/2023/08/07/chatgpt_stack_overflow_ai/
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.
@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 ;-)
@Pitosalas but the loop (figure 4) will put a return after the comma, wouldn't it?
@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 “,”?
@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 ;-)