HackerTrans
TopNewTrendsCommentsPastAskShowJobs

heisig

no profile record

comments

heisig
·3 mesi fa·discuss
Really good timing for Jolla to produce a new phone :)

I still have fond memories of my 2013 Jolla, and I'm hoping that the 2026 Jolla will be just as lovingly crafted. Most importantly, Jolla is a company that seems to care about me, the user, whereas Apple and Google constantly treat me like a peasant that needs to be governed.
heisig
·4 mesi fa·discuss
Says the bag of lipids and proteins :)
heisig
·6 mesi fa·discuss
Unfortunately I would not be surprised if the real death toll is even higher. I have first-hand information. We are talking about indiscriminate shooting with heavy machine guns into peaceful protests, happening in every city of the country. The rule of law has completely broken down. The wounded avoid hospitals because they are afraid of getting killed there.
heisig
·6 mesi fa·discuss
Unfortunately those videos exist. There are videos of relatives walking for hours from body bag to body bag to find the remains of their lost ones. There are videos of people with heavy machine guns shooting indiscriminately into peaceful protests. There are videos of executions. Everything has been recorded.

There is a reason why the Iranian government cannot activate internet and phones anymore. Once people can communicate again, they will count and document the true scale of events. Right now, it seems the Iranian government would rather give up on internet and telephones altogether than having anyone find out, which tells you just about how bad the situation is.
heisig
·anno scorso·discuss
Let me comment as an SBCL user: This is outstanding work, and I can now remove a lot of performance hacks from my code because the default hash tables became equally fast!

Also, this technique eliminates a number of worst-case scenarios and inefficiencies, which is a boon for any hash table user.
heisig
·anno scorso·discuss
I recently switched to uv, and I cannot praise it enough. With uv, the Python ecosystem finally feels mature and polished rather than like a collection of brittle hacks.

Kudos to the uv developers for creating such an amazing piece of software!
heisig
·2 anni fa·discuss
I fully agree. Limiting the amount of copies of software to sell them like a finite good has so many downsides:

1. There may be people who cannot use/afford some software, although there is technically an infinite supply.

2. Collaboration becomes awkward. Either all contributors give up their rights (Open Source), or one contributor holds all the rights and the rest is being treated unfairly. The latter decreases the incentives to make software modular and reusable.

3. The resulting software typically gets worse due to some copyright enforcement mechanisms. For example, no closed source software will ever have a good debugger, because that would allow viewing and changing the source code.

4. It creates a power imbalance between software owners and software users. Nearly all software has to be adapted over time, but the software owner has a monopoly on performing such adaptations. The result is enshittification, surveillance, and basically a return to feudalism where daily life is governed by a small number of overlords.

5. It is not clear how to price software fairly, and there is also little incentive to do so.

6. My impression is that high-quality software converges to formal proof, which is AFAIK not copyrightable.

For all these reasons, I think it is time to consider a world without copyright on software.

To those that worry about salaries in such a world: Negotiate payment in advance (contracts, crowdfunding, bounties, ...), or get a job where software is created as a byproduct (consultant, researcher, tester, ...).
heisig
·2 anni fa·discuss
Now Microsoft just sounds like pre-Brexit Britain. Why reflect on your own shortcomings when you can blame the EU instead :)

I suggest Microsoft follows Britain's example and leaves. The main difference is that we Europeans actually miss the Brits, whereas nobody would miss Microsoft and its shoddy products and business practices.

On a more serious note, I fully understand that the Digital Markets Act is causing Microsoft headaches. But I think this headache is well deserved. Big Tech has been building moats where they should have built bridges, and now our computing landscape resembles medieval Germany where everything was at the mercy of a few feudal lords. It is time to drive out those lords and reshape software in a way that empowers, not enslaves.
heisig
·2 anni fa·discuss
Yes, the #. reader macro is one of the ways how you can achieve this in Common Lisp. Using the reader macro is also way more efficient because you don't awkwardly use your compiler as an interpreter for a weird subset of your actual language - you simply call to compiled code.

Seeing Greenspun's tenth rule [1] in action again and again is one of the weird things we Common Lisp programmers have to endure. I wish we would have more discussions on how to improve Lisp even further instead of trying to 'fix' C or C++ for the umpteenth time.

[1] https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule
heisig
·2 anni fa·discuss
Implementing lazy arrays or xappings naively is easy - the Petalisp reference backend has just 94 lines of code [1]. The challenge is to implement them efficiently. With eager evaluation, the programmer describes more or less precisely what the computer should do. With lazy evaluation, you only get a description of what should be done, with almost no no restriction on how to do it. To make lazy evaluation of arrays as fast as eager evaluation, you have to automate many of the high-level reasoning steps of an expert programmer. Doing so is extremely tedious, but once you have it you can write really clean and simple programs and still get the performance of hand-crafted wizard codes.

[1] https://github.com/marcoheisig/Petalisp/blob/master/code/cor...
heisig
·2 anni fa·discuss
Connection Machine Lisp never made it into production, but this paper had a profound impact on my scientific career. In particular, it was the following comment in the paper that triggered me to develop the Petalisp programming language (https://github.com/marcoheisig/Petalisp):

> Nevertheless, we have implemented (on a single-processor system, the Symbolics 3600) an experimental version of Connection Machine Lisp with lazy xappings and have found it tremendously complicated to implement but useful in practice.

I think there is a moral here: Don't hesitate to experiment with crazy ideas (lazy xappings), and don't be afraid to openly talk about those experiments.

After eight years of development, I can definitely confirm that lazy arrays/xappings are tremendously complicated to implement but useful in practice :)
heisig
·2 anni fa·discuss
This paper is from last year, and a lot of interesting things have happened in the meantime:

- The parallel garbage collector is now part of SBCL, but not yet the default. Enabling it is attractive, though, because it has roughly twice the throughput.

- The SBCL maintainers used the parallel GC as reason to make SBCL's memory management overall more modular. This process is still ongoing, but experimenting with different GC strategies on SBCL has never been easier.

- Another GC is already in the works that has virtually zero pause times. Once this is merged, we can finally bury that old myth that Lisp systems stutter (if it hasn't already been buried by the presence of video games written in Lisp, like Kandria)

The parallel GC is an amazing achievement by Hayley Patton. We SBCL users cannot thank her enough for her outstanding work!
heisig
·2 anni fa·discuss
Heh, thanks :)

Petalisp author here - this ELS paper is just a preview. I'm also preparing a 160 page document (for my PhD) that will explain everything in more detail. I'll post on HN when it is available.

There is also a recording of my ELS talk on Twitch: https://www.twitch.tv/videos/2138821711?t=00h40m35s
heisig
·2 anni fa·discuss
Let me summarize the key points of this law:

- Starting from April 1, German adults can legally possess a certain amount of weed (25 grams on the move, 50 grams at home), and they may consume it unless they are within 100 meters of a school or kindergarten.

- This is just the first stage of that law, where the only way to actually obtain weed (other than for medical purposes) is to grow it yourself, or to form a collective of growers. Either way, the maximum number of plants per person is three. Commercially trade of weed is planned for later, as a second stage of the law.

- While this law legalizes weed for adults, it further prevents access for minors. The law raises the penalty for selling weed to minors to a minimum of two years in prison, and people that grow their own plants must ensure that minors cannot access them. People aged between 18 and 21 are only allowed access to weed with a THC content of less than 10%. The reasoning behind all this is that weed severely impairs the brain development of young people.

- Driving while under the influence is still a crime.

- The stated goal of this law is to eliminate the black market and to stop the growing trend of minors smoking weed. A review is scheduled in 18 months, determine whether the law in the current form achieves that goal or whether it has to be tweaked further.

This law is obviously a compromise between all the parties of the German government, EU law, scientific consensus, and practicability. What I like about the law is how carefully it weighs health issues and individual liberty. All the limits (legal age, grams of possession) have a solid scientific basis.