HN user

abetusk

5,304 karma

https://abetusk.github.io

abetusk@mechaelephant.com

Posts101
Comments1,057
View on HN
lobste.rs 9d ago

Lobste.rs is now running on SQLite

abetusk
228pts187
www.youtube.com 21d ago

We're Making an Open Source American Kei Truck [video]

abetusk
3pts1
www.forbes.com 1mo ago

Dig more coal – the PCs are coming (1999)

abetusk
2pts1
superspl.at 2mo ago

Derelict Corridor – Unreal to Gaussian Splat Plugin

abetusk
1pts0
blog.adafruit.com 2mo ago

Tindie Now Owned by EETree

abetusk
2pts1
www.youtube.com 3mo ago

The Iranian Teens Behind Lego Trump [video]

abetusk
5pts0
www.youtube.com 3mo ago

Iran's Lego Slopaganda Creator [video]

abetusk
4pts1
www.damagemag.com 3mo ago

Let's Not Confuse Labor's Problems with White-Collar AI Doomerism

abetusk
3pts0
datacollective.mozillafoundation.org 4mo ago

Mozilla Data Collective

abetusk
1pts0
develop--gpvm-website.netlify.app 4mo ago

Graphics Programming Resources

abetusk
193pts25
www.youtube.com 4mo ago

Why Bluey Doesn't Sound Like a Cartoon with Bluey's Sound Designer [video]

abetusk
1pts0
blog.adafruit.com 5mo ago

No Tools for You: A Century of Men Policing Women's Tools

abetusk
6pts2
www.youtube.com 5mo ago

Terrence Tao: Why I Co-Founded SAIR [video]

abetusk
2pts0
www.youtube.com 5mo ago

Terence Tao: Machine Assistance and the Future of Research Mathematics [video]

abetusk
2pts1
www.effectivenihilism.org 5mo ago

Effective Nihilism

abetusk
2pts1
blog.archive.org 5mo ago

'Depths of Wikipedia' Creator Annie Rauwerda on 'Fragile' Internet Citations

abetusk
3pts0
codebox.net 6mo ago

Single Page Lunar Calendar

abetusk
1pts3
www.youtube.com 8mo ago

Toward Generalist Humanoid Robots [video]

abetusk
2pts0
www.stochasticlifestyle.com 10mo ago

Automatic differentiation can be incorrect

abetusk
74pts51
www.informationisbeautifulawards.com 1y ago

Information is Beautiful Awards 2024

abetusk
1pts0
robbreport.com 1y ago

Banksy Fights with Greeting Card Company for Control of His Trademark

abetusk
54pts20
www.theverge.com 1y ago

Out-of-warranty battery almost left this paralyzed man's exoskeleton useless

abetusk
2pts1
www.cnx-software.com 1y ago

Jack Dorsey talk at FOSDEM 2025 may lead to protest

abetusk
11pts2
twitter.com 1y ago

Dimensional Reduction and Topological Recovery from Neuronal Spike Data

abetusk
1pts1
strawstack.github.io 1y ago

LumonOS

abetusk
3pts1
web.law.duke.edu 1y ago

January 1, 2025 is Public Domain Day: Works from 1929 are open to all

abetusk
3pts0
niujinshuchong.github.io 1y ago

Gaussian Opacity Fields Efficient Adaptive Surface Reconstruction

abetusk
2pts0
gizmodo.com 1y ago

$30M Is All It Took to Shift the Odds in Trump's Favor on Polymarket

abetusk
7pts5
cosmowenman.substack.com 1y ago

Secret 3D scans in the French Supreme Court

abetusk
776pts303
lijiayong.github.io 1y ago

Building a model for message moderation on social media platforms

abetusk
1pts0

Thanks, this is really embedded in the documentation and is not at all even hinted at in the above documentation.

This seems like a huge DoS security hole.

I encourage you to write a blog post about this. It seems especially relevant.

Could you go into more detail about this issue and provide some links to the documentation?

I'm absolutely no expert, I'm just reading about it now, but from the SQLite WAL documentation [0]:

7. There is the extra operation of checkpointing which, though automatic by default, is still something that application developers need to be mindful of.

and from their "checkpointing" documentation [1]:

By default, SQLite does a checkpoint automatically when the WAL file reaches a threshold size of 1000 pages.

I'm only skimming but I see no mention of waiting for an idle time window.

Have you been successful in DoS'ing lobste.rs?

[0] https://sqlite.org/wal.html

[1] https://sqlite.org/wal.html#ckpt

I was given my invite from a decent person who, I believe, basically has an "open door" policy. I'm happy to pay it forward and give you an invite if you want it. abetusk@mechaelephant.com

Yeah, that is odd. Maybe a mistake?

I don't think this is what's going on here but CC0 was expressly created because not every jurisdiction had a concept of "public domain", so a special license was needed to make sure it acted as if it were in the public domain for those cases.

From a CC0 FAQ [0]:

Do I have to attribute the person who applied CC0 to their work?

No, there is no legal requirement that you attribute the affirmer ...

From a Berlin Universities Publishing FAQ [1]:

... Since a waiver of copyright protection is not possible under German copyright law, CC0 is equivalent to a waiver of all possible rights and legal claims by the creator.

But, regardless, public domain or CC0 doesn't need attribution whether it's in the US or Germany.

[0] https://wiki.creativecommons.org/wiki/CC0_FAQ#What_is_the_di...

[1] https://www.berlin-universities-publishing.de/en/beratung/li...

Anything the US government publishes directly is in the public domain, including the contents of climate.gov, when it was online. One of the reasons the migration could happen without legal repercussions is precisely because the information was public domain.

From the article:

This is possible because US government data is public domain by law.

From the FAQ on the new climate.us [0]:

Can I re-use this data/product/image/video?

Yes! Any content dated prior to June 30, 2025 and credited to NOAA Climate.gov is in the public domain can be freely re-used with proper attribution.

Any content after June 30, 2025 and credited to Climate.us, is under the Creative Commons license: CC BY-SA 4.0 Attribution-ShareAlike 4.0 International.

[0] https://www.climate.us/faqs

There are many articles extolling the virtues of Lisp. I would like to see some articles that have a level-headed criticisms or critique of Lisp, it's ideas and it's place in the ecosystem of languages.

Articles like this, and the PG articles it references, amount to "if you know, you know". I understand the appeal and I understand the explicit and implicit arguments this article is making.

Computer programming has matured quite a bit in the past 60 years. I would like to see more articles that are more considered in their examination.

OpenPrinter 17 days ago

I certainly don't have deep knowledge in this area but my understanding is that the cartridge is basically a cavity with a small hole at the bottom and a piezo electric element at the top to sputter liquid down. The tolerances are tight but considering how advanced manufacturing is, I would imagine someone competent could design and prototype it with the tools and manufacturing ecosystem that's available now.

There's at least one project that has tried to design an actual DIY/open-source inkjet printer [0], along with inkjet print heads [1].

The ink most likely need some special sauce? But I imagine there's many organizations that can specialize in making the ink so that it can be treated close to a commodity. If not, maybe this can also be engineered?

[0] https://hackaday.io/project/167446-diy-inkjet-printer

[1] https://reprap.org/wiki/Reprappable-inkjet

OpenPrinter 17 days ago

From their FAQ:

Open Printer is distributed under the Creative Commons BY-NC-SA 4.0 license.

The non-commercial clause makes it non-open by the commonly accepted term of "open" in this context.

I agree with a lot of this sentiment but it assumes a level of stability so that standardization can be effective. Standardization before stabilization has the potential to cripple efficiency with inefficient abstractions.

One benefit of a programming paradigm is that it can allow for an increase in speed of software development at a marginal cost of run-time efficiency, but if the paradigm is so out of step with the underlying hardware, the run-time efficiencies can be orders of magnitude slower than a bespoke way.

Standardization and abstraction are most effective when there is data about which bespoke ways work the best. Choosing standardization and abstraction before experimenting on the solution space rarely works well.

Concurrency is a programming abstraction that conceptually allows multiple independent processes to run at the same time using scheduling. For example, running ten programs at once with only a single CPU. Concurrency is effectively CPU scheduling with maybe some other concepts of communication between processes for coordination.

Parallelism is running processes at the same time.

The driving motivation behind concurrency, as far as I can tell, is that it's a concept that can help reason about complex tasks with the added benefit of being able to take advantage of parallelism.

My problem with Pike's advocacy for concurrency, and Golang in particular, is that it's an abstraction that imposes a world view on what's a good programming paradigm and, more practically, how to take advantage of parallelism, both of which have limited utility compared with considering parallelism directly.

My opinion rather than some abstraction that imposes a world view on how to take advantage of parallelism, it's better to use how people actually take advantage of parallelism as a basis for abstraction.

I think Golang is a fine language but we now have 14+ years of hindsight to see how well it's fared and how much it's influenced the compute landscape. In my opinion, the "concurrency not parallelism" misses the simple issue that we want things to go fast. Which has had more influence, Golang's idea of concurrency or taking advantage of GPU parallelism? I think the answer is clearly taking advantage of GPU parallelism.

There's a long history of proving results like this.

NP-Completeness is the norm, not the exception. Any system that's complex enough is almost surely NP-Complete. For similar reasons, Turing Machine Equivalence is also the norm, not the exception.

These results are interesting but not unexpected. A more interesting question is under what conditions is the problem difficult to find solutions for. Many NP-Complete instance ensembles turn out to effectively have polynomial time solutions (3-SAT w/ uniform clause variable choice, Hamilton Cycles in Erdos-Renyi random graphs), so proving NP-Completeness is not a death knell for approximation.

Ron Maimon uses an argument that relies purely on symmetry, which circumvents the standard explanations, including many in this thread. In some sense, this is the simplified version of Noether's theorem (as far as I understand it).

As an aside, I believe Ron Maimon's account was suspended after he challenged the character of someone who was soliciting votes for a moderator position. Ron Maimon's stance was that if someone was running for an elected position, discussing their character was valid. The SO site had/has a strict challenge-the-question-not-the-person policy, which the moderators used to ban him permanently.

At the time, I remember seeing some posts by Ron talking about how the SO sites were corrupted by their policies and that it was a matter of time before they ceased to provide value. I think this was late 2000s or early 2010s. Looking back it's hard not to feel like his stance was prescient.

I was careful to say "Moore's law-like". Moore's law is stated as "transistor count per area doubles about every 2 years." [0] As stated, then yes, this might be true but, while important, that's not really the quantity we care about.

As you point out it's really cost per transistor or cost per flop that we mostly care about. I'm finding it hard to find a succinct and clear plot, but I believe one is provided by Our World In Data on "GPU computational performance per dollar" [1] which, to my eyes, clearly shows exponential growth in computational power per dollar.

The picture for storage is a little more muddied but if you squint just right you might still be able to recover an uninterrupted exponential growth [2].

In my view, it's pretty clear that advances in AI have progressed so quickly because GPUs have been keeping up with the exponential growth of computational power (per unit cost).

Exponential growth in this area is usually characterized by "S-curves", where one technology gets saturated but the exponential increase in power or decrease in cost is picked up by another, adjacent, technology, that allows the growth to continue. For compute it's CPUs to GPUs. For storage it's platter drives that are now being overtaken by SSDs.

The more general phenomena is called Wright's law, or experience curve effects [3].

[0] https://en.wikipedia.org/wiki/Moore%27s_law

[1] https://ourworldindata.org/grapher/gpu-price-performance?ySc...

[2] https://ourworldindata.org/grapher/historical-cost-of-comput...

[3] https://en.wikipedia.org/wiki/Experience_curve_effect

I appreciate where the author is coming from, as we often have much more context because of training that have since atrophied a bit, but in defense of the dynamic programming solution, this generalizes very well.

As stated, the choose(2n,n) solution of course works but as soon as you deviate from a square, things can get more complicated. What if it's a rectangle? An arbitrary shape? One with holes? The dynamic programming solution takes all of this in stride (assuming, of course, that the conditions of only going right and down still hold).

Pascal's triangle is, after all, a dynamic programming solution. It just so happens that there's a "closed form" solution to their entries.

I'm all for clever tricks but I also appreciate much more a solution that generalizes well and gives more insight into a class of problems.

This is like a modern form of "I could do that in a weekend". Try reading the article before making such statements.

There's a lot of pre-processing, experimentation and validation that went into this project. The training data collection and sanitization alone is a big undertaking.

As for the blog post itself, from the article:

Note: This blog post is 100% written by me. No AI has been used whatsoever.

Put another way: You can ask the LLM yourself to do this project? Please do, share your prompt, I'd like to see it.