HNHacker News
TopNewBestAskShowJobs

nathell

6,179 karma · joined April 18, 2010

Just another Clojure hacker.

https://danieljanus.pl

meet.hn/city/52.2319581,21.0067249/Warsaw

submissionscomments
nathell··on You don't want to hire "the best engineers"
Yep. Existence of "the best engineers" would imply existence of The One True Metric by which you can judge the person in all context; but that's at best an oversimplification.

The actual metrics (not necessarily easily quantifiable) are the desired traits you put in your job description; they don't correlate perfectly.

nathell··on The End of Handwriting
I keep a handwritten diary and a handwritten blog. Not that my penmanship is particularly exquisite – in fact it’s pretty mediocre – but handwriting by its nature is a very focusing activity for me. It’s one of the life hacks for my ADHD.
nathell··on The jank programming language
If you can run it, then you can REPL it, no matter how deeply nested. Scope-capture (https://github.com/vvvvalvalval/scope-capture) has been probably the most important tool in my box. Hope jank supports it eventually.

Thanks for jank! It’s great to be reading about it, listening to you talking about it at conferences, and I can’t wait to try it out!

nathell··on Bug Stories
OK, I have a fun one. I was a rookie back then, it was 2007, and the cloud was only beginning to take off. My company had a physical server room.

Automated CI was not quite as big back then as it is now; we had some in-house CI-ish facilities, one of which was buildbot: a small Python script that continuously built all of our projects one after another, reporting successes/failures in a simple UI.

One day I was puzzled to discover that buildbot hung trying to build a tiny Java applet. Just a handful of .java files. But it had been stuck for more than four hours at that point.

I ssh’d into buildbot and looked at what exactly the hung process was doing. It was not javac. It was jarsigner.

Then it dawned on me. jarsigner needed some crypto-safe randomness, it was trying to get it by default from /dev/random, not from /dev/urandom, and the machine ran out of entropy!

I ticketed a change, but as an interim measure, I went to the server room, switched the console to buildbot’s server, and moved the mouse vigorously for some seconds. It proceeded.

nathell··on Show HN: Zenta – Mindfulness for Terminal Users
Thumbs up for the philosophy. This is the way.
nathell··on Microsoft Edit
array[1..25, 1..80] of Word absolute $B800:0000.

Arrays in TP were laid out in row-major order, and each character was represented by two bytes, one denoting the character itself and the other the attributes (foreground/background color and blinking). So, even better, array[1..25, 1..80] of packed record ch: char; attr: byte end absolute $B800:0000.

Replace $B800 with $B000 for monochrome text display (mode 7), e.g., on the Hercules.

nathell··on Modern C++ – RAII
My pet peeve with C++ RAII is that it uses destructors for cleanup, so it can’t throw an exception from within the destructor if that fails somehow. E.g. from the manual page of close(2):

> A careful programmer will check the return value of close(), since it is quite possible that errors on a previous write(2) operation are reported only on the final close() that releases the open file description. Failing to check the return value when closing a file may lead to silent loss of data. This can especially be observed with NFS and with disk quota.

Last time I checked, GCC’s implementation of ~ofstream() ignored failures from the underlying close().

nathell··on I taught my 3-year-old to read like a 9-year-old
It’s something like 130. I was educated in Poland, so never passed SAT, but did well at the ~equivalent matura. At the uni, I was a mediocre-ish student, though.

I approached the math olympiad back in high school, but found it too challenging. Looking backwards, I think I might have benefitted from having a better math teacher.

nathell··on I taught my 3-year-old to read like a 9-year-old
I learned to recognize individual letters at ~18 months old, and read fluently at ~3yo (by way of adults responding to my curiosity about letters).

I’m 41 now; AMA.

nathell··on Display any CSV file as a searchable, filterable, pretty HTML table
Alternatively, use visidata (https://www.visidata.org/) in the terminal. Supports xls/xlsx too! One of my favourite tools for terminal data exploration (along with jq, fx, and jet).
nathell··on The Awful German Language (1880)
Which is a combination of lisp-case and CamelCase. Neat!
nathell··on BuyMeACoffee silently dropped support for many countries (2024)
They also at one time blocked the author on Twitter.

https://x.com/zverok/status/1823757570240340466

nathell··on Internet Scrabble Club (2002-)
Here’s another one that I made: https://danieljanus.pl/wladcyslow/ – rearrange 9-letter words into grids of 5-letter words
nathell··on Internet Scrabble Club (2002-)
It actually predates ISC, dating back to 2001. These days you can play actual Scrabble on Kurnik, too!

ISC also supports Polish (with OSPS).

nathell··on First American pope elected and will be known as Pope Leo XIV
From [0]:

> Rev. Robert Prevost bears responsibility for allowing former Providence Catholic H.S. President and priest Richard McGrath to stay at the high school amidst sex abuse allegations that dated back to the 1990s.

> That's according to Eduardo Lopez de Casas, a clergy abuse survivor and national vice president of the Chicago-based Survivors Network of those Abused by Priests (SNAP).

[0]: https://willcountygazette.com/stories/671124585-if-he-saw-an...

nathell··on Show HN: OSle – A 510 bytes OS in x86 assembly
Some related stuff:

In 2004, Gavin Barraclough’s mini-OS [0] won the IOCCC, packing a 32-bit multitasking operating system for x86 computers, with GUI and filesystem, support for loading and executing user applications in ELF binary format, with PS/2 mouse and keyboard drivers, VESA graphics, a command shell, and an application into 3.5 KB of highly obfuscated C code.

In 2021, Justine Tunney wrote SectorLISP [1], a Lisp implementation that fits into a bootsector and is able to run McCarthy’s metacircular evaluator.

[0]: https://www.ioccc.org/2004/gavin/index.html [1]: https://github.com/jart/sectorlisp

nathell··on Watching o3 model sweat over a Paul Morphy mate-in-2
> This is also a chess puzzle marked as very hard that a person who is good at chess should give themselves fifteen minutes to solve.

Is it, though? I play at around 1000 Elo – I have a long-standing interest in chess, but my brain invariably turns on fog of war that makes me not notice threats to my queen or something – and I solved it in something like one minute. It has very little moving parts, so the solution, while beautifully unobvious, can be easily brute-forced by a human.

nathell··on CSS Zen Garden
That’s a serious downgrade.

https://blog.danieljanus.pl/2019/10/07/web-of-documents/

nathell··on The Second Half
Alessandra Sierra has a great piece on this:

https://www.lambdasierra.com/2023/abbreviating/

nathell··on Show HN: Duolingo-style exercises but with real-world content like the news
I’ve been learning Spanish on Duolingo. It has brought me from zero to scoring 96% on this test – I didn’t realise I was so advanced!

I love the concept and the execution. This is a rare instance of a Show HN that I not just admire, but can easily see myself using regularly and paying for.

Please, please monetise this in such a way as to avoid enshittification.

nathell··on Rost – Rust Programming in German
Meh, it’s just trivial keyword substitution; not very interesting. `użyj std::zbiory::Słownik;` doesn’t sound right: we’d expect a genitive here.

The Right Thing for Polish would be to leverage the Polish inflection and freeform syntax, in the vein of Perl’s Lingua::Romana::Perligata [0].

[0]: https://metacpan.org/dist/Lingua-Romana-Perligata/view/lib/L...

nathell··on Can I ethically use LLMs?
I don’t think it’s valid; you would have consumed food and drink either way. Plus, you need to verify the output of the LLM anyway.
nathell··on [dead]
Reminder that to open a jwz.org link from HN you have to bypass the browser sending a Referer header, most easily by right-clicking link -> Copy link and then pasting it into the address box.
nathell··on Malimite – iOS and macOS Decompiler

    ; in: THE 'END
    ;     (THE 'END)
    ;
    ; caught ERROR:
    ;   Error while parsing arguments to special operator THE:
    ;     too few elements in
    ;       ('END)
    ;     to satisfy lambda list
    ;       (VALUE-TYPE FORM):
    ;     exactly 2 expected, but got 1
nathell··on Developer wrote 25k lines of Neovim plugin code using phone and touchscreen
A good read, too!
nathell··on JSON parsers that can accept comments
> Sure, you could just give up on roundtripping. But it’s important!

In the vast majority of cases, it’s not. If removing comments breaks roundtripping, then so does altering the indentation or adding/removing whitespace, even ever-so-slightly.

EDN parsers strip comments when read – it’s not an issue in practice.

nathell··on Mergiraf: a syntax-aware merge driver for Git
‘Why the giraffe? Two reasons. First, it can see farther due to its height; second, it has one of the biggest hearts of all land mammals. Besides, its ossicones make you believe it listens to you when you look at it.’ – My NVC teacher

Kudos for the nonviolence. :)

nathell··on During Covid my dad learned JavaScript to write an ODRA 1003/1013 emulator
The Odras were a 1960s series of Polish mainframes.

https://en.wikipedia.org/wiki/Odra_(computer)

nathell··on Weird Lexical Syntax
Same with Common Lisp (you can redefine the read table), although that’s likely abused less often on arXiv.
nathell··on Ask HN: What's your favorite text-based adventure game?
If you like it, be sure to also check out Andrew Plotkin’s ‘Lighan ses Lion’ [0], an entry in WalkthroughComp run by Emily Short [1]. It’s not a game, just a transcript of a fictitious game, but well worth checking out for a chuckle... or as a brain teaser.

Also, the Beast puzzle in ’The Edifice’ [2] by Lucian Paul Smith comes to mind.

[0]: https://www.eblong.com/zarf/zplet/lighan.html

[1]: https://www.ifwiki.org/WalkthroughComp

[2]: https://ifdb.org/viewgame?id=4tb9soabrb4apqzd

← PreviousPage 3 of 26Next →