News for hackers. Stuff that matters.

gonzus

If you mean "changing time in summer", Chile has been doing this for a while, and I think other countries in South America do to.

If you mean "changing the rules a few hours / days before they should be applied", Chile (again) did this a few years / decades ago, and it wreaked havoc: all scheduled meetings were off by one or two hours, you could not rely on your calendar, etc.

Plenty of stupidity going around in Chile / South America, rest assured.

Solaar?
Re:SectorC: A C Compiler in 512 bytes on Saturday February 07, 2026 @04:40PM (#46928379)
Lacking support for structs, I think this is too minimalistic to be called "a C compiler".
Re:Things Unix can do atomically (2010) on Friday February 06, 2026 @05:47AM (#46911298)
Then you are locking yourself out of a pretty much ironclad (and extremely cost-effective) way of managing such things.
Re:'Three norths' alignment about to end on Wednesday December 31, 2025 @05:31AM (#46442995)
One of the advantages of doing this seemingly weird projection is that you can treat "local" maps (for some definition of local) as flat rectangular grids without introducing a lot of errors: drawing straight lines between two points, measuring the distance / angle between them, etc., just by dealing with a flat piece of paper. VERY convenient, but the farther you are from the center of the projection, the higher the errors that are introduced.
I am also American (born and raised in Chile). The Little Prince is extremely well-known over there. I am personally very fond of it.
Nice work. Some questions / observations:

Can you add methods to any type? There is an example of adding a method to a builtin type (string) -- can you add also add a method to a union type?

Any plans to add some sort of enum type? If yes, will it be possible to add methods to enums?

How do you support (or intend to support) Unicode? It says "Strings use ASCII encoding" -- why not UTF8?

The example with a timeout channel does not show how / when the timeout will be triggered. Is this a special kind of channel?

It says "Packages will be synchronized to the $HOME/.nature/package directory" -- will this respect the XDG standard directory structure, which defaults to $HOME/{.cache,.local,.config}?

There are some misspellings in the README, such as "natrue". Just FYI.
In all honesty, would you hire this dude as YOUR lawyer?
Re:Calibre 8.0 Release on Friday March 21, 2025 @05:08AM (#43433386)
I can confirm this: I downloaded the old version of the app (on a Windows laptop), isolated it so that it would not auto-update, and then used it to download all my books (after the deadline had passed) and convert them with Calibre, which got rid of the DRM crap. You have to do both the downloading and the conversion on the same computer -- other than that, it worked perfectly for my more than 100 books.
Re:Zork: The Great Inner Workings (2020) on Tuesday January 21, 2025 @03:20AM (#42777689)
Somebody did this recently for Advent of Code (some year, not 2024 necessarily). I don't remember any details, but the images were entertaining.
Re:Types are the basic tool of software design on Friday January 03, 2025 @03:53PM (#42589367)
Probably by Fred Brooks, as summarized by Guy L. Steele Jr in https://dreamsongs.com/ObjectsHaveNotFailedNarr.html:

> Fred Brooks, in Chapter 9 of The Mythical Man-Month, said this: Show me your flowchart and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowchart; it'll be obvious. That was in 1975. Eric Raymond, in The Cathedral and the Bazaar, paraphrased Brooks' remark into more modern language: Show me your code and conceal your data structures, and I shall continue to be mystified. Show me your data structures, and I won't usually need your code; it'll be obvious.

Re:The Rise and Fall of Ashton-Tate (2023) on Thursday December 12, 2024 @03:04PM (#42402837)
Long live Clipper -- one of my first paid gigs. Amazing platform to write (compiled!) console-based applications with a DB living locally or on a networked drive. Something which does not exist anymore as a market.
Re:Show HN: Hosting my website using my own C web server on Wednesday September 25, 2024 @04:07AM (#41644956)
Sorry for answering myself. I paid more attention now, and it seems this is disabling chunked transfer encoding from the client to the server, which makes sense from a security / reliability PoV. Disabling it from server to client does not (IMHO).
Re:Show HN: Hosting my website using my own C web server on Wednesday September 25, 2024 @03:42AM (#41644776)
Kudos for your project -- it is great fun and a learning experience to implement your own HTTP server in a low(er)-level language.

One question: you say that "Transfer-Encoding: Chunked responds with 411 Length Required, prompting the client to resend with Content-Length". Is there a reason for doing this (security perhaps), or is it just a choice?

Re:We were wizards – a foreword to Learning Perl on Sunday March 17, 2024 @04:27AM (#39732845)
I associate this with what we used to call "one-liner programming": I would write a single line of Perl code (in bash, prefixed with `perl -Mwarnings -MDebug -E'<code here>'`, convince myself the code did what we needed, and then share it around as a paste in irc / chat / whatever. It was amazing what you could achieve with the right modules, and Perl's flexibility allowed your mind to roam freely.

Incidentally, the fact that you cannot write this type of one-liner in any meaningful way with Python is one reason I do dislike that language.

Re:Show HN: Async tasks in 350 lines of C on Tuesday March 12, 2024 @03:44AM (#39677097)
How do you release all the resources created? I could not find any instances of `free()` in the code (and there are two calls to `malloc()`). Are you supposed to call `free()` yourself directly on the executor / task pointers? If so, I would suggest exposing a documented API to dispose of resources.
Re:Floats Are Weird on Monday February 19, 2024 @03:59AM (#39427499)
I decided years ago that the next time I hear someone suggesting we use floats / doubles to represent money amounts, I am going to punch them in the face.
Re:"Niksen". The art of doing nothing on Friday February 09, 2024 @03:37AM (#39312726)
If pressed, I would use "loafing" in English. Defined as "spend one's time in an aimless, idle way".
I would highly recommend To Mock a Mockingbird by Raymond Smullyan. It will also introduce you (if you are not already aware) to the wonderful world of Smullyan's books.
Re:Macaroons Escalated Quickly on Wednesday January 31, 2024 @10:09AM (#39204681)
Switzerland has the similar Luxemburgerli, which my Swiss friends who reside there (as opposed to me, a Swiss person who lives somewhere else) swear is NOT the same as a macaron... I have never understood the purported differences.
Re:ZeroMQ – Relicense from LGPL3 and exceptions to MPL 2.0 on Monday October 09, 2023 @12:41PM (#37822233)
One of the things I am proud of is to be listed as a contributor in the ZeroMQ O'Reilly (paper) book -- just because Pieter was this generous dude who never doubted about spreading good will. I still miss him.
TIL that the concave dish surface was actually spherical and not paraboloidal, as I had always assumed.
I agree 100% with using processes as the natural unit of isolation.

I also believe we could solve many of the integration issues between multiple tools, by having them all optionally spit out a universal, easy / easier to parse format -- even JSON would be good here. So you could do

  ls --foo --bar --json | jq ...
and be able to process the output to your heart's content, without having to do any kind of white space parsing; as a free bonus, you get automatic support for file names with embedded white space...

The best we have for now is jc (https://kellyjonbrazil.github.io/jc/), which knows how to do this for a closed (but growing?) set of commands:

  ls -l *.db | jc --ls | jq .
Re:Pijul: Version-Control Post-Git • Goto 2023 on Saturday August 12, 2023 @05:24AM (#37098461)
I feel that git is the DVD of source control systems: sccs / rcs / cvs are the equivalent of tapes, clearly inferior and crappy. Other, more modern systems, are like BlueRay: technically superior, but not by a margin wide enough to make me want to change.
This seems like a rite of passage... I did the same thing with the VAX at my school, but decided to come clean and gave the sysadmin all the passwords I gathered after one day (including several with SYSTEM privileges). They gave me my first job :-). I also made sure to grant the necessary permissions to one or two obscure accounts, so that I could regain SYSTEM when it was revoked on my "official" accounts. Fun times, and innocent too -- I never used the privileges to cause havoc.
Re:C++23: The Next C++ Standard on Tuesday July 11, 2023 @01:12PM (#36684014)
According to Wikipedia, Rust appeared for the first time on May 15, 2015; 8 years ago.
I implemented once the MySQL network protocol (in TypeScript) to talk to a local SQLite DB. We used that for our CI environment, since our apps only did very vanilla SQL operations. It worked like a charm. So I can totally see some uses for such a beast -- but probably all of them are pre-production.
Re:Metaprogramming in Zig and Parsing CSS on Tuesday June 20, 2023 @07:22AM (#36402446)
Can you expand on what you mean by anti-RAII?

Older »