23,359 reputation
54687
bio website StackOverflow.Com/users/2988
location Karlsruhe, Germany
age 36
visits member for 4 years, 4 months
seen 6 hours ago

Not a software developer in the sense that I write software as part of my job or otherwise get paid to do so. Also, not a developer in the sense that I write software for others.

I write software for myself, often for no other reason than that I want to. (What I call recreational programming.)

Actually, I’m currently forcibly confined to recreational programming, as I’m looking for a job.

My current go-to language is Ruby, but I’m interested in all sorts of other languages as well: Newspeak, Seph, Ioke, Self, Io, Slate, Reia, Cobra, Fortress, Sapphire, Haskell, Scala, Clojure, Racket, Go, Fancy, Poison, and many more.


22h
comment Should Perl scripts really have no extension?
@KeithThompson: in fact, on a SUS-compliant Unix system, those file extensions are even part of the specification for the c99 command: pubs.opengroup.org/onlinepubs/9699919799/utilities/…
1d
answered Have you ever purposely memorized code, and was it useful?
2d
comment Is a software licence required?
Note: everybody knows the MIT X11 License, the 2-clause BSD License, the GPLv2, GPLv3, LGPLv2, LGPLv3, AGPLv2, AGPLv3, ASL 2.0, MPL, CPL, and a couple of others. Even if you choose to use one of those, and yes, they are slightly long, your users won't actually have to read them, since they have already read them numerous times on other projects.
2d
comment Is a software licence required?
In Germany, the only way to put something in the public domain is to commit suicide and wait 70 years. Not exactly practical.
Jan
23
comment Why does Git have tags?
Ah, wait. I thinks it's annotated and signed tags get pushed automatically with git push --tags, but local tags don't. It's been a while since I used git in anger, that was way before Git 1.0.
Jan
23
comment Why does Git have tags?
Aren't annotated tags and signed annotated tags (i.e. the ones that one would actually use for, say, tagging a public release) pushed by default? It's only non-annotated "local" tags that aren't pushed by default, because, well, as you said, they are local.
Jan
21
comment Where does the Liskov Substitution Principle generally lie in different constructor parameter lists?
For example, in Ruby, classes are themselves objects. And there are no constructors, only methods. So, in theory, instances of subclasses of Class should be substitutable for instances of Class … but Ruby doesn't allow Class to be subclassed anyway, so the problem doesn't even arise. (Plus, classes aren't types in Ruby, so instances of subclasses aren't necessarily instances of subtypes.)
Jan
21
answered Which language has most advanced support for proof based programming?
Jan
16
awarded  Enlightened
Jan
16
awarded  Nice Answer
Jan
16
comment How to do Test Driven Development
@AndresF.: Actually, the blog post you linked to seems to echo the experiences Keith made when doing TDD As If You Meant It: when doing "pseudo-TDD" for Tic-Tac-Toe, they start by creating a Board class with a 3x3 array of ints (or something like that). Whereas, if you force them to do TDDAIYMI, they often end up creating a mini-DSL for capturing the domain knowledge. That's just anecdotal, of course. A statistically and scientifically sound study would be nice, but as is often the case with studies like this, they are either way too small or way too expensive.
Jan
15
answered Does it make sense to say if an OS is Turing complete
Jan
15
comment Languages with a clear distinction between subroutines that are purely functional, mutating, state-changing, etc?
@ChristianPalmstierna: Just stumbled across this years old question. Unfortunately, like so many interesting properties, deciding whether a function is pure, is equivalent to solving the Halting Problem. Note that this doesn't necessarily mean that you can't do it, it just means that there are infinitely many pure functions whose purity the compiler cannot prove and thus must reject as impure even though they aren't. (This is no different from static typechecking, though. Typically, there are infinitely many programs which are safe but cannot be proven type-safe. Doesn't stop us from typing.)
Jan
14
answered How did people write end-user software in Smalltalk?
Jan
14
awarded  Nice Answer
Jan
14
comment Are there any programming languages that don't descend from C?
Trivially, all languages that are older than C (including but not limited to Fortran, Cobol, Lisp, Algol, Pascal, CPL, BCPL, Smalltalk, Mesa, BLISS, MUMPS, Forth) cannot possibly descend from it, unless you know something about physics that we don't. The whole Lisp family (including those that were created after C, like CommonLisp, Arc, Clojure) is completely unrelated. All the Wirthian languages (Pascal, Modula, Modula-2, Oberon, Oberon-2, Object Oberon, Active Oberon, Component Pascal) have nothing to do with C. The Smalltalk family (Smalltalk, Self, Korz, Newspeak) is unrelated.
Jan
14
comment Facing MemoryError in Python
The list in the question is 2.2TB big, I doubt raising resource limits will help :-D
Jan
14
comment Facing MemoryError in Python
Your list is 2.2TB big. Switching to a 64 bit machine will not help. You need to install more than 2TB of RAM (which to be fair will require a 64 bit OS to use). Or re-think your algorithm.
Jan
14
comment What is the definition of “technical debt”?
@Bkins: IIRC, I had watched that exact video a couple of days prior to writing this answer. Feel free to edit in the link.
Jan
13
awarded  Guru