skysight-inc/HackerNews huggingface dataset:
Except it is biased in its conclusion:

> However, unlike our OOP example, existing code that uses the Logger type and log function cannot work with this new type. There needs to be some refactoring, and how the user code will need to be refactored depends on how we want to expose this new type to the users.

It is super simple to create a Logger from a FileLogger an pass that to old code. In OOP you also need to refactor code when you are changing base types, and you need to think about what to expose to client code.

To me option 1 is the correct simple approach, but the author dissmisses it for unclear reasons.
Ask HN: Any AI tools that help you make sense of a large repo?
I'm trying to understand some large codebases. Current LLMs can understand code snippets but not large repositories with their complex structures. For example, we need tools that can make sense of the Linux source code. If I ask about changing a file system or thread locking mechanism, such tools should point to the most relevant files and help me understand how other code would be affected. Perhaps something like the repository map feature in Aider? But would love a cursor like chat interface to help make sense of code repository.
i have $70 in my bank account, I'm getting inheritances (lower 5 digits).

It'll definitely have to wait. I'm wanting to do Iceland, and Mediteranean though for maybe a month just nomad it..
and to ironically bring it back around to tech, there was this Chrome Experiment that's totally worth trying on a desktop/laptop browser and is centered around that song. (it's from before https everywhere, but safe, also enable popups)

http://www.thewildernessdowntown.com/

Because the chrome experiment was my first exposure to the song, I'll occasionally find myself walking home in the middle of the night, and will play the song on my phone speaker.
Claude 3.5 is good, however, it's "Type comprehension" is really basic. That was my experience with it when using Rust. It still can't create an internal mental model of the types and how to link them together. It'll also, at some points, start to heavily hallucinate functions and stuff.
I am dreaming of an open-source app that adds Wireguard capabilities to NetGuard or vice-versa.

Having to switch from one to the other is very annoying.
http://archive.today/bSSLb
Goalposts shift; growth is critical to being (staying?) an intelligent species.
Adding a trailing / does it as well.
> more than half of the US population reads below the grade 6 level.

I find this hard to believe.
I just looked it up for Germany, because I was pretty sure you had to hand over your phone, but it’s a bit more complex. If you wipe your phone before handing it over, and you do it to protect your employer, that would be „Strafvereitelung“ which is illegal. If you do it to also protect yourself because the data on the phone would incriminate you, too, that would be legal because you don’t have to help the state to prosecute you. Since you wiped it, it would be hard to prove why you wiped the phone. Apparently, the fact that you wiped the phone can be used as an indication of guilt against you though, because it means you have something you want to hide.

I’m not a lawyer though, so I’m happy to be corrected if my understanding is inaccurate.
I never understood why people are so stubborn about hating on orm.

For example I'm familiar with https://gorm.io and it does save me a lot of time and useless boilerplate.

And guess what, if I ever need to make a complex query, I also happen to know SQL, and I'm just going to make a "raw" query https://gorm.io/docs/sql_builder.html#Raw-SQL and be done with it.

It's not all that hard.

edit:

the other common complaint usually is: "but I don't know what query the orm is going to make..."

Use "Debug" https://gorm.io/docs/session.html#Debug and it will print out exactly what query it's making. Not happy with it? Make a raw query.
MiniSearch: Self-hosted web-search platform with AI assistant in the browser
Afaik it also requires someone to manually set it to be down on that page. Pretty sure that nobody is entering latency numbers manually every second, but maybe they have a team for that.
I believe they're creating the vGPU functionality, which means they're working with what exists (at the current time). nouveau is in the kernel, and is also backportable and used existing kernel tooling (including the compiler), while nova is neither.
They are quite difficult for me, as a foreigner. I can imagine that this was impossible to pass (if they are real of course) for a person who wants to exercise their rights. It comes with a lot of stress induced by difficult to understand and catchy quieries.

I imagine that one can always create a language typical to some group and impossible to overcome by people outside of this group. I'm trying to learn music as a person who has never attended music school, and even though there is a lot of terminology in English available in the internet, the terminology in my country is different, uses different symbols and are inaccessible for me. My kids learn them, when I see it I cannot make anything of it, because of different coding of the same ideas (like intervals, minor major etc.) in the system that is imposed in my country
Very nice post. To me, it always seemed like antidotal rules and observations. It is right until it's wrong, my bad.

Where I find him very useful, when professional people suggest or reference his books. It tells me I am not going to use these people or their services.
The earliest demonstration of electronic speech synthesis was actually at the 1939 world’s fair. I think it was keyboard operated, though, and not driven by a computer.
? Have you ever read musician interviews: Its like a competition on how much clichee, naivete and reality denying drivel one can compress into 5 minutes.

Idealism is not a victimless crime, millions suffer every day because some artist threw a buggy,idealized world model over the fence and the idiocy stuck hypnotizing millions into permanently damaging themselves.
Type names are nice; Perfect choice for the in-built func macros (like min); Len -- love it. Named boolean operators -- might be a bit much but go for it; Ternaries are illegible so you can only improve them; Not completely sold on all your loop definitions but some make sense to me; Resource tracking is impressive; The for... look a bit ugly -- could probably call it something else.

All in all: quite a solid attempt. I'll give you 8/10 for the design of this. The way you sketched this out in C using macros is really elegant. This actually looks like good code. Would I use it? It's a new language and I like C already. It could help people learn C and think about language design. Since the way you've done this is very clear.
The Political Doctrines of Sun Yat-Sen: The Sun Min Chu I (1937)
> usable project template and directory structure

This caught my eye and I’m genuinely curious about what you mean by it. Part of our success with Claude is that we don’t do abstractions, “perfect architecture”, DRY, SOLID and other religions that were written by people who sell consulting in their principles. If we ask LLMs to do any form of “Clean Code” or give them input on how we want the structure, they tend to be bad it.

Hell, if you want to “build from the bottom” you’re going to have to do it over several prompts. I had Claude build a blood bowl game for me, for the fun of it. It took maybe 50 prompts. Each focusing on different aspects. Like, I wanted it to draw the field and add mouse clickable and movable objects with SDL2, and that was one prompt. Then you feed it your code in a new prompt and let it do the next step based on what you have. If the code it outputs is bad, you’ll need to abandon the prompt again.

It’s nothing like getting an actual developer to do things. They can think for themselves and the probability engine won’t do any of that even if it pretends to. Their history for building things from scratch also seems to be quickly “tarnished” within the prompt context. Once they’ve done the original tasks I find it hard to get them to continue on it.
This page is such a well executed interactive map. Really enjoyed it

Is the math-planation of your random fact basically

(thanks to https://news.ycombinator.com/user?id=Hikikomori for correcting the lightspeed in fibre medium from 3e5 to 2e5 !)

- lightspeed is 2e5 km/s ~ 2e2 km/ms, so/

- length (km) / 200 (km)/ms ~ K length (km) / 200 (km)/ms, so

- latency (ms) ~ K' length (km)

Where K is approximately 1.3 (K' is 1/155) and factors in things like:

- non straight line distance

- networking overhead / switching

- both ways / measurement error

Basically?
I think there is a commonly accepted rule of thumb that it is easier to write new code than modify existing code. Right?

Why that is there may be several reasons one being that when you try to improve existing code you would need to know all the untold dependencies in it to not break anything. Whereas when you write new code, there are no dependencies you don't know about.

But so, if you take an AI provided implementation, and try to fix it, you are basically doing just that, trying fix old code you don't know much about. You are working on a (AI-provided) legacy code-base in essence.
Imagine the finger wear and tear you’ll avoid though.
> Keep data transforms and algorithmic calculations in functional style

What annoys me greatly though is kids coding various 'fancy' functional paradigms for data transformation without realizing their performance implications, still thinking they've actually done the 'smarter' thing by transforming it multiple times and changing a simple loop to three or four loops. Example : Array.map.filter.map.reduce. Also when talked about it, they have learned to respond with another fancy term : "that would be premature optimization". :|
yes..this is huge.. why I'm wanting to start a business or something that's ... got lots of things to do to run it so I don't get so unable to focus.

I'm on vyvanse and wellbutrin and caffeine but still hard to focus. I'm trying to get back into a routine...and keep structure.

I lost 125 pounds since March 2023 ... i'm assuming from Major Depression I'm just not hungry and during the last year of marriage we didn't eat much as a famiy so I lived off Jimmy Dean breakfast sandwiches and basically ate 1-2 per day and nothing else... (I wasn't really hungry anyways)...

Recently, I took up volleyball cause I noticed my knees could actually take stairs without hurting or needing to go up like a 'gimp' with a swagger or side shuffle thing... So I'm like 390lbs playing volleyball and it's a lot of fun, great people, though I'm out of commission now cause my car broke down... but it was fun.
At most, you can ask if there's an extension you can dial after you called their public number to skip the phone menu. But yeah, otherwise, the same principle should apply here as with any user-input fields -- do not trust them.
That would only be practically useful in an environment devoid of all other electronics. How would one tell between the non-transmitting spy cam and normal household electronics
Reverse engineering is the easy part. China still lacks EUV lithography manufacturing technology. They'll figure it out eventually but the point is to stay a generation ahead. Just like China can manufacture turbine engines but only ones equivalent to what we had some years ago.
This is an underrated point. And it’s not just an old code base. I find AI generated changes can lead to messy debugging when they don’t work as I didn’t write it first off.
If you want to really get depressed about the future of software developers try aider.
The point of my post here was to provide 14 of those. Some of them are trivial but I'd argue that a couple of them - the OpenAI Audio one and the LLM pricing calculator - go a bit beyond "getting started".

If you want details of more complex projects I've written using Claude here are a few - in each case I provide the full chat transcript:

- https://simonwillison.net/2024/Aug/8/django-http-debug/

- https://simonwillison.net/2024/Aug/27/gemini-chat-app/

- https://simonwillison.net/2024/Aug/26/gemini-bounding-box-vi...

- https://simonwillison.net/2024/Aug/16/datasette-checkbox/

- https://simonwillison.net/2024/Oct/6/svg-to-jpg-png/
I have money coming from mom/grandma's estates..I'm planning on this.. I wasn't sure how good an idea it was but apparently if this were Family Feud, it'd be #1 maybe...
Leading paragraphs:

Researchers have discovered the remains of medieval cities perched above the ancient Silk Road in the rugged mountains of southeastern Uzbekistan. One of them is a sprawling, high-altitude metropolis that lay hidden for centuries, in a place where few expected to find signs of ancient civilizations.

The discovery, made possible by new drone-based lidar technology, challenges long-held assumptions about urban life in the remote mountains of Central Asia more than a thousand years ago.

The groundbreaking research, led by National Geographic Explorer Michael Frachetti and Farhod Maksudov, director of Uzbekistan's National Center of Archaeology, reveals a bustling city that thrived between the 6th and 11th centuries. Situated at altitudes reaching up to 7,200 feet (comparable to Machu Picchu in the Peruvian Andes), this discovery sheds new light on the complexity, scale, and elevation of medieval societies along the Silk Road, the vast network of ancient trade routes that connected Europe and Eastern Asia.
Funny story. He must thank the department of statistics for the quick turn around.
> China’s decline into despotism

I am confused. What were they before?
Polymorphism definitely makes it much easier, and it is a core concept in OOP. I am not advocating for or against OOP, but “swapping behaviour at runtime” is one of the things it’s good at.
I suspect that a certain amount of confusion here stems from English not being the author’s native language, but this isn’t a great read.

If you’re working with Postgres you owe it to yourself to understand how to read query planner output.
Or lower the prices for everyone. Why does Adobe Photoshop still cost a small fortune. Hasn’t improved much for the last two decades has it? Why can’t I rent it from my buddy for the few hours a month I might use it?
I live a couple of miles away from Microsoft headquarters and I have multiple ISPs available to me. And they all provide atrocious service. I assume it’s because they are oversubscribed, because they all provide high download rates yet streaming videos are frequently paused.
Here are the full Claude transcripts I used to build the OpenAI Audio app:

- https://gist.github.com/simonw/0a4b826d6d32e4640d67c6319c7ec... - most of the work

- https://gist.github.com/simonw/a04b844a5e8b01cecd28787ed375e... - some tweaks

Lots more details in my full post about it here: https://simonwillison.net/2024/Oct/18/openai-audio/
Thanks so much! Hope to be included in future projects :)
These are toys but in 2 years they will probably be full projects and 2 years later people will ask "why do i need a software developer?"
"Late bind all the things" is pretty much what Alan Kay's idea of OO was. In particular it means that methods are invoked by name and selected based on message name by the receiving object. Any object can be sent any message; how that message is handled is determined by the object at invocation time. No vtbls or other such mechanisms used by statically typed OO languages are involved.

Kay has spoken positively, for instance, of Erlang, which has nothing like Smalltalk's OO model.
Classic sinophobia
Game cameras are truly pathetic.
This is a nice (and sad) goodbye email from Serge(y). It's moving to see all this time and work, what it meant to the person, and also to imagine what the contributions made mean to so many people who use the software. :`(

The situation is sad for individual contributors indeed. The overall backdrop does seem in line with sanctions requirements for ITAR, OFAC etc.
Sounds a bit like how Agile used to be. If it's not working, you're not doing it right.
#DTypeHydrapulper #PaperMachineEquipment
Leave your email for price!
If you are interested, you can contact us.
Email address: wastepapermachine@gmail.com
https://drumpulper.com/pulp-making-equipment-d-type-hydrapul...
#papermill #papermachinepulpmachine #everyone
By this logic, why doesn't the US or China have their own equivalent of ASML or TSMC? Number of STEM grads means little if the quality is low. See other developing countries in South/East Asia that pump out lots of low quality engineers.
The title is slightly misleading, as tmp storage is still of need but rather as per the author to be at a per-user level:

> So where should temporary files have gone, if not in /tmp?

> There should have been per-user temporary directories in different per-user locations. In fact, on some modern systems there are per-user temporary directories! But this solution came several decades too late.
China was a one-party state where party elections actually mattered.
Other related posts

[flagged] Getting Called "Paid Actor" by Linus Torvalds - https://news.ycombinator.com/item?id=41929585 - Oct 23 2024 (24 comments)

[PATCH] MAINTAINERS: Remove some entries due to various compliance requirements. - https://news.ycombinator.com/item?id=41923749 - Oct 23 2024 (1 comment)

Re: [PATCH] Revert "MAINTAINERS: Remove some entries due to compliance" - https://news.ycombinator.com/item?id=41928532 - Oct 23 2024 (3 comments)

Linus Torvalds comments on the Russian Linux maintainers being delisted - https://news.ycombinator.com/item?id=41927838 - Oct 23 2024 (35 comments)
"Trait objects" is lingo for `dyn Trait`. They are a distinct thing from just "trait". They allow virtual dispatch at runtime.

See https://doc.rust-lang.org/reference/types/trait-object.html (`dyn Trait`, runtime dynamic dispatch) vs https://doc.rust-lang.org/reference/types/impl-trait.html (`impl Trait`, compile-time monomorphization)
I think they mean that there is more than one asynchronous paradigm. Actors is one alternative I can think of.
Make a single-page app instead of the website.
Exactly. Use aider to do this.

Tell claude or your favorite LLM to write a full plan to implement what you need in such a way that your coworker can implement it.

Copy the result into aider, and check the results!
Missing Authentication in Fgfmsd
They could have compensated the way Nintendo did for so long, releasing games as late as 2019 for the 3DS - making good exclusive games people would actually want to play.

Sony never really cracked the code of putting out good content at the consistency of Nintendo. Even though they managed to put out a handful of gems over the years, they just don't seem to know how to leverage it. And in the past few years they seem to want to actively undermine whatever they had, disbanding Sony Japan Studio, and they've floundered, spending the entirety of the PS5's life remastering PS4 games that didn't need a remaster. And sitting on Bloodborne all these years, while it's still stuck at 30fps...
My point is that I don't accept the concept of unconscious thought. "Processing data similar to our thinking process" doesn't make it "thinking" to me, even if it comes to identical conclusions - just like it wouldn't be "thinking" to just read off a pre-recorded answer.

The idea of ChatGPT being asked to "think" just reminds me of Pozzo from Waiting for Godot.
City sewer up river?
https://en.wikipedia.org/wiki/Stephen_R._Bourne

https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh
I just don't think that's true.

If all someone does is write code based on specifications handed over by someone else then yes, they have cause to be worried - but in my career as a software engineer the "typing code into a computer" bit has only ever been 10-20% of the work that I do.

The big challenge of software development has always been turning human needs into working software. That requires a great depth of experience in terms of what's possible, what isn't possible, how software works and how to architect and design software to deliver value today while still staying flexible for future development.

LLMs can accelerate that process a bit, but I don't think they can replace it. Someone still has to drive the LLMs. I think people with software development skills are best placed to do that.
History is full of violent revolutions against autocratic governments. We should inflict maximum pain on the Russian populace. Be as cruel as possible. Keep the pressure on. Eventually it might pay off. And even if it doesn't work, it serves as an object lesson to other countries on the consequences of opposing US policies.
PyArrow string arrays store the entries (string values) contiguously in memory, so access is quicker, while object arrays have pointers to scattered memory locations in the heap.

I agree, I couldn't really figure how the new numpy string data type makes it work though.
>But you're right - I'm smuggling in a certain idea of what intelligence is.

Yes, you understand me. I simply come in with a different idea.

>AI based systems, from MNIST solvers to deep blue to chatgpt have clearly gotten better at something. Whatever that something is, is very very interesting.

Certainly the fact that the outputs look the way they do, is interesting. It strongly suggests that our models of how neurons work are not only accurate, but creating simulations according to those models has surprisingly useful applications (until something goes wrong. Of course, humans also have an error rate, but human errors still seem fundamentally different in kind.)
it uses absolute difference epsilon equality ('close enough to be considered equal'):

static int pretty_float_equal (float a, float b) { return fabsf(a - b) < FLT_EPSILON; }
static int pretty_double_equal (double a, double b) { return fabs(a - b) < DBL_EPSILON; }
static int pretty_long_double_equal (long double a, long double b) { return fabsl(a - b) < LDBL_EPSILON; }
static int pretty_float_equal (float a, float b) { return fabsf(a - b) < FLT_EPSILON; }
What a bunch of nonsense. China was full of opium addicts when their markets were flooded with it. Singapore had a massive number of opium addicts less than 60 years ago. Enforcement has bought that to a negligible number. The only reason the US is dealing with a resurgence in the heroin epidemic is because we let the Sacklers push their pills on the populace through doctors. Even marijuana use was in the single digits for habitual usage before it was legalized in a lot of states, now we’re looking at between 15-25% of the populace being habitual users in some states. Social media is an evil and I commend Norway on setting the age limit at 15 but I think it should go further and make it 18. Additionally, you shouldn’t be able to get/use/buy a smartphone until you’re 16.
Aren't those all linear operations?
It uses type dispatch to perform an epsilon comparison:

static int pretty_float_equal (float a, float b) { return fabsf(a - b) < FLT_EPSILON; }

So it’s https://docs.python.org/library/math.html#math.isclose