MurphyA/hacker-news huggingface dataset:
by aDyslecticCrow | 2025-10-25 20:38:58+00:00
I personally suspect it's an effect of the over reliance of the package manager approach to software development that rust and a few other languages use, which itself is an unintended to consequence of a well designed library import system.

Languages where importing a library is hard, libraries tend to grow quite large. Large libraries have larger backing, more established development and security protocols. When OpenCV, TinyUSB, Numpy, nimBLE start to struggle, it's easier to notice and companies relying on them may step up to fork, maintain of fund its continued use.

Languages where importing and creating a library is easy, we see small atomic packages for small utility programs, over large libraries. This spreads the software supply-chain wider, into smaller teams of maintainers. If the same amount of code is fractured over 50 small libraries maintained by 1-3 people each, the likelihood of one or two becoming abandoned grows.

I've been a bit weary about the dependency and package manager approach more modern languages use. It trades convenience for some pretty scary supply-chain attacks.
by cyberpunk | 2025-10-25 20:39:34+00:00
No, Ive never said that discipline is a quality some innately have, and its not what I think.

The problem is with your attempt to grade difficulty here. I dont think, outside of some outliers that are statically insignificant (e.g someone who can kick heroin with no problems or whatever) that the difficulty of getting in shape or quitting smoking is higher for some people than others. It's really difficult for everyone.

I think discipline is probably the wrong term, I guess drive may come closer, but whatever you want to call it, it's a function of your will to change and its a stronger force than any addiction -- clearly, or no one would ever beat any addictions.

This idea of grading and judging people on their 'difficult units' is nonsense, and pushing that as an excuse for people to be helpless is a really harmful narrative to put out there.
by optiot | 2025-10-25 20:39:47+00:00
Oh cool! I was working on something similar (but not the same) a couple years back when trying to figure out the bounding box of an arc along the circumference of a circular watch face: https://www.desmos.com/calculator/4e5c41c2ab

I don't remember exactly what I was doing but I think you might also be able to skip the for loop by directly calculating the point on the axis by using mod or floor/ceil.
by surajrmal | 2025-10-25 20:39:59+00:00
The same problems apply to evs and yet people seem to buy those too. Maybe most folks end up getting them second hand which is not an option for heat pump.

Solar + heat pump will take me 10+ years to come out financially ahead (if not longer) but if you're invested for the long term it does come out ahead (even factoring in opportunity cost). The comfort level is also dramatically better in my house due to more even temperature, so I would argue in many situations it can be worth a premium. I thought for sure I was going to need ductless per room to get this level of comfort but it turned out to not be true. If you didn't have ac before, it's also nice to have the option to use it on hot days.
by throwaway290 | 2025-10-25 20:40:20+00:00
This 100x. But it's not for everyone. If like me you are not good at social stuff it is hard to just get on this casual level and say "so what's been going on? those deadlines amirite?" to who you think is your enemy but it can lead to very nice results and +100 social XP

Maybe it turns out he is nice and all you need is to treat him so like he feels he's respected by you. Give him important jobs etc. It's easier after you go for drink/coffee and become a bit more chill with each other. And if he fails on something sensitive that you gave him then you don't have to struggle for proof to management that he sucks

But maybe BE prepared to confront if he starts it? Maybe it's just me but it's dreadful if you bring it up and this guy shoots you down with some snark and you freeze out of surprise and lose the meeting. I would if you are value to company and he is really being an outright asshole on this meeting be prepared to say "look if you're not gonna genuinely cooperate as your lead I'll officially file a complaint/recommend to boot you from this team/whatever" and leave. Be prepared to talk over your manager to his manager. Get your drink in takeaway cup

Document this guy's sabotages with a summary of what harm it did?

I hate politics
by deaux | 2025-10-25 20:40:55+00:00
When they started doing this ID verification early this year, I expressed outrage on here, and was met by comments downplaying it saying "It's a given that soon the others will follow". I'm sure some of those came from people at OpenAI.

We're now at the end of the year and neither Google nor Anthropic nor any single other LLM provider does this. OpenAI does this because their CEO is SamA. That's it.
by sarabande | 2025-10-25 20:41:19+00:00
I found the article interesting, even given a large range of possible definitions of CTO.

I do wonder if it is possible to agree on a general definition of the CTO from the perspective of the job to be done, rather than how they do it.

For example, we could say the job of the CTO is to ensure the company remains technically competitive. If they do it by means of building an organization then so be it. If they rather do it by writing code themselves, then why not?
by rogerbinns | 2025-10-25 20:41:29+00:00
The core Python data structures are atomic to Python developers. eg there is no way you can corrupt a list or dictionary no matter how much concurrency you try to use. This was traditionally done under the protection of the global interpreter lock which ensured that only one piece of C code at a time was operating with the internals of those objects. C code can also release the GIL eg during I/O, or operations in other libraries that aren't interacting with Python objects, allowing concurrency.

The free threaded implementation adds what amounts to individual object locks at the C level (critical sections). This still means developers writing Python code can do whatever they want, and they will not experience corruption or crashes. The base objects have all been updated.

Python is popular because of many extensions written in C, including many in the standard library. Every single piece of that code must be updated to operate correctly in free threaded mode. That is a lot of work and is still in progress in the standard library. But in order to make the free threaded interpreter useful at this point, some have been marked as free thread safe, when that is not the case.
by mmsc | 2025-10-25 20:41:46+00:00
It's also possible to pack a whole codebase into "before main()" - or with no main() at all. I was recently experimenting doing this, as well as a whole codebase that only uses main() and calls itself over and over. Good fun: https://joshua.hu/packing-codebase-into-single-function-disr...
by willio58 | 2025-10-25 20:41:51+00:00
> I currently manage no direct reports and ship a lot of code.

This is a wildly different status than almost all other people with this title.

I’m glad this person still likes coding, and they seem to be great at it, but this role doesn’t match up to the title. This doesn’t really matter until he wants to switch jobs and realizes near zero CTO positions outside of this one company will require few meetings and zero management. He’d have to change title to principal engineer or something but an article titled “Why I code as a Principal Engineer” doesn’t quite grab attention the same way.
by j45 | 2025-10-25 20:42:41+00:00
The year can help for sure - is the article's content still relevant and current in your mind?

On one hand SQL, is the most established relational db. Not sure what might drastically change about.

Python and Javascript are from the 90’s and have evolved as a language in their own way like SQL and others.

I was asking about the year as an individual comment here to understand what significance the year relative to the content of the topic it bore.
by arjie | 2025-10-25 20:42:51+00:00
Dude, this is fantastic. Thank you. This is my biggest annoyance because I don't have reception in the elevator and I always only remember to check the bikes when I'm there.

For the SF Bay Area, the relevant endpoints are:

https://gbfs.lyft.com/gbfs/2.3/bay/en/station_information.js...

and

https://gbfs.lyft.com/gbfs/2.3/bay/en/station_status.json

With this I can build myself a little display that does the same. It does seem to match with the app, but in a tragic twist of fate it appears that the station closest to me has been delisted on the app. Oh fate! What the right hand giveth, the left hand takes!

EDIT: Funny that these days no one puts their RSS feed link somewhere visible. Fortunately, most clients do find it on the page quite easily. I wonder how they do. It's not in the HTML source.
by atombender | 2025-10-25 20:42:53+00:00
NATS and Synadia's other tech is easy to understand. You're not the target demographic for the Synadia site. They're targeting enterprise.

You can find the NATS site here [1]. NATS is so flexible it's admittedly easy to get lost in what exactly it is or what it's good for. The easy explanation is it's a message broker that can let programs send and receive messages to each other. Unlike a message queue, it has no persistence. Clients can that express "interest" in a topic receive messages to that topic, but messages disappear if nobody listens to them. It's kind of like UDP without addresses. It's clustered and supports complicated topologies where clusters route messages to each other, and has a powerful ACL system for exposing clusters to unprivileged actors that shouldn't be given full access (which means you can easily make it multi-tenant). The closest comparable technology might be MQTT, and indeed NATS offers an MQTT mode.

NATS also has a bunch of higher-level stuff built on top of it: A Kafka-like "stream" feature called Jetstream, RPC, a key/value store, an object (blob) store, and so on. The NATS message bus is the core primitive that these features use.

[1] https://nats.io/
by mh- | 2025-10-25 20:43:02+00:00
> California hasn’t issued an emergency plea for the public to conserve energy, known as a Flex Alert, since 2022.

Feels like that statement deserves to be contextualized with weather data. There were a few summers leading up to that where all of the major metro areas shared concurrent record high heat days, and sometimes coincided with poor air quality from wildfires (meaning more people closed their windows and ran AC even if they wouldn't have otherwise.)

> It was only five years ago that a record-shattering heat wave pushed the grid to its limit and plunged much of the state into darkness.

They mention it here, but then don't talk about whether similar circumstances have been faced since. Don't get me wrong, this is encouraging, but the article invited this kind of reaction by putting "leaving rolling blackouts behind" in the title.

Funny enough, if you look at the article's original title via the URL slug, it was much more measured:

california-made-it-through-another-summer-without-a-flex-alert
by miketromba | 2025-10-25 20:43:35+00:00
Tweakcn is a great tool too. Main difference is I'm hoping ShadcnThemer will be more of a community-driven hub for sharing, starring, and forking themes - similar to how color palette websites have 1000's of user-made palettes. (I took this approach when building the Theme Studio for VS Code and it worked really well, 1000's of themes were designed and shared.)

Tweakcn also charges $ users to be able to share and save themes which I think is silly for a tool like this, should be 100% free and open source.

I also prefer the simple UX of ShadcnThemer better but I'm biased of course.
by rogerbinns | 2025-10-25 20:44:46+00:00
Some examples of what it could do when using the C Python APIs:

* Point out using APIs that return borrowed references

* Suggest assertions that critical sections are held when operating on objects

* Suggest alternate APIs

* Recognise code patterns that are similar to those done during the stdlib auditing work

The compiler thread sanitizers didn't work the last time I checked - so get them working.

Edit: A good example of what can be done is Coccinelle used in the Linux kernel which can detect problematic code (locking is way more complex!) as well as apply source transformations. https://www.kernel.org/doc/html/v6.17/dev-tools/coccinelle.h...
by Learner100 | 2025-10-25 20:44:58+00:00
> When you receive a review with a hundred comments, it’s very hard to engage with that review on anything other than a trivial level.

Wow, that seems crazy. I can only hope I never have to work with somebody who thinks it is productive to leave that many comments on a change -- I genuinely cannot imagine any change that could ever require that.

Great article, fully agree with all the points.
by JaggerFoo | 2025-10-25 20:45:03+00:00
SQL is great. I've used it to implement knapsack optimization for Daily Fantasy Sports at scale. I use it in Big Data tools and RDBMS. It's pervasive in data tech.

Feel free to innovate and bring forth other RDBMS/Data query languages and tools, perhaps something may succeed and stick as long as SQL has.

Cheers
by 5Qn8mNbc2FNCiVV | 2025-10-25 20:45:09+00:00
Next time tell him that if he isn't going to provide something constructive to the meeting, that he won't be allowed to join further ones.

As long as you make it clear from your tone and wording, that this is not you being aggressive in any way but you protecting the time of the team from distractions, the rest of the team shouldn't see you any different than before.
by arccy | 2025-10-25 20:46:09+00:00
i guess there's also a difference in the places you work at.

the places i work at expect trunk to always be clean, and ready for production (continuous delivery). if you work someplace with a slower release cycle, then getting a not perfect change in may be more acceptable.

there's also responsibility, which is traced during incidents back to author and reviewers. i won't approve until i'm confident in the code, and that will mean the author needs to answer questions etc.
by apical_dendrite | 2025-10-25 20:46:19+00:00
The polio vaccine has been around for 70 years and smallpox vaccination has been around for over 200 years. If you were to assess the polio vaccine a few years after its introduction and compare it to mRNA vaccines a few years after their introduction, then the COVID-19 vaccine might actually come out better. There was a major safety problem with one company's process for manufacturing the initial polio vaccine. 11 children died. If you read contemporary reporting from 1957 - two years after the vaccine was released - you see quotes like this: "The failure of this vaccine to prevent disease and at times death in certain vaccinated individuals and its apparent inability to reduce the number of carriers clearly indicate that polio will not be "wiped out" by this vaccine."

https://www.theatlantic.com/magazine/archive/1957/02/how-goo...
by jauntywundrkind | 2025-10-25 20:47:51+00:00
I don't think you can tackle this purely from a hardware side. If you want to send input from the laptop to another system, there's no kind of USB profile available to collect input from a system.

You're going to need software on the laptop to gather the input. That seems necessary. You're not going to invent a purely hardware based solution here.

Given that, I'd abandon your starting requirement of needing two usb device ports. That doesn't seem to help you out here, doesn't actually buy you much.

I'd look at the field of existing software out there that can ship input between systems. Use ethernet, wifi, or BT for connectivity if possible (perhaps via usb-ethernet adapters which are very cheap!), and if absolutely required you can build a little rpi-zero with a usb-gadget to act like a virtual keyboard. https://github.com/input-leap/input-leap https://github.com/feschber/lan-mouse https://github.com/lkundrak/btkbdd
by bsder | 2025-10-25 20:48:29+00:00
What are you trading off to get from 90% to 100%?

How about compile speed? Are you willing to wait an extra second to get 100%? How about 10 seconds? A minute? 10 Minutes? An hour?

Rust is notoriously slow at compiling and people have been banging on it for a while. At some point, you have to accept that the language, itself, has properties that make compilation slow.
by 29athrowaway | 2025-10-25 20:49:27+00:00
He is using meetings as a dominance/humiliation ritual, and disagreement as an insult delivery mechanism. He is in disagreement with the hierarchy, uses disagreement to show defiance because he wants to be the leader. He also perceives he does not have much to lose by doing this because in the worst case scenario he will just go be an individual contributor elsewhere, and in the best case scenario you would leave, your role would be vacant and he may be eligible for it again.

The first thing you will do, is to talk to individual people by name. Do not ask open questions that everyone can respond to, because he will use that opportunity to be toxic. If he does intervene in a toxic way, you will continue addressing the person you were talking to, by name, and not pursue his talking point. This is fair game because you were not talking to him.

Secondly, instead of having long meetings with the entire team about every topic, you will have a general high level meeting with the team, and dedicated meetings for navigating the actual solutions with specific team members. You will not discuss solutions at length in the front of the entire team, and if you do, see the point above. You will also try to have clear agendas and expectations for meetings.

Thirdly, if he wants to initiate a conversation, try to scope it to what he was working on. Until you mobilize him to work on something else or ask for his opinion, other initiatives are not his primary concern. You can ask "tell me how the initiative X is going", or "what are your current priorities at the moment" to frame the conversation, and steer the conversation so that it stays on topic. If he refuses to answer just say "he will revisit your priorities later" and talk to someone else.

Lastly, if he operates outside the direction given by you as a lead, or consensus of the team, document it. And if it has consequences, document them. Create a clear paper trail that shows that he is not an individual contributor that can be mobilized towards a goal and is a liability for the organization.

Until he fixes his attitude, never ask for his advice in terms of "what would you in this situation if you were me", but you may ask others this.
by khaledh | 2025-10-25 20:49:36+00:00
> A note on interpreters: If the executable file starts with a shebang (#!), the kernel will use the shebang-specified interpreter to run the program. For example, #!/usr/bin/python3 will run the program using the Python interpreter, #!/bin/bash will run the program using the Bash shell, etc.

This caused me a lot of pain while trying to debug a 3rd party Java application that was trying to launch an executable script, and throwing an IO error "java.io.IOException: error=2, No such file or directory." I was puzzled because I know the script is right there (using its full path) and it had the executable bit set. It turns out that the shebang in the script was wrong, so the OS was complaining (actual error from a shell would be "The file specified the interpreter '/foo/bar', which is not an executable command."), but the Java error was completely misleading :|

Note: If you wonder why I didn't see this error by running the script myself: I did, and it ran fine locally. But the application was running on a remote host that had a different path for the interpreter.
by consumer451 | 2025-10-25 20:50:10+00:00
I posted this. Why? Because I was sitting on the shores of Lake Washington three weeks ago at my parents' house. We were talking about the fact that I was flying back to Poland, and how worried they were about the Russian army.

I thought about it for a moment, while looking out the window of their house. I said:

"The chances of me looking out the window in Poland in the next year, and seeing the military, are lower than they are sitting here, in Seattle."

I stand by that assessment. It still blows my mind given the reality of the USA, and the objectively successful and peaceful city of Seattle.

The fact that this made it to the front page suggests that I’m not alone in believing this kind of thought is not entirely disconnected from reality.

Given the real threat of the US military being deployed to Seattle for 100% political reasons, if it doesn't stay on the front page... well.. what does that say?

___

edit: I will continue to assume that you all mean well, but we all suffer from https://en.wikipedia.org/wiki/Normalcy_bias

Please take this into consideration when you come across seemingly insane topics like this one.
by wtfwhateven | 2025-10-25 20:50:51+00:00
>What are the recognized borders of the state of Palestine?

>If it's a state why isn't it a member of the UN?

Because the US keeps vetoing their membership despite overwhelming support?

Refer to the linked articles. The fact you're asking these questions means you've refused to read them.

>That countries recognize a non-existent state called Palestine doesn't mean it exists

Nonsense. 80% of UN members recognize it. A state that exists. More than enough for any reasonable person. The only thing stopping their membership is the US.

Your insistence it does not exist and 80% of UN members are hallucinating is bizarre. Your denial of reality does not mean it ceases to exist.

If it somehow doesn't exist then how come most of the UN recognizes it?

>It is not sufficient that Gaza is not considered part of Israel because for the ICC to have jurisdiction it needs to be a member of the ICC and needs to have ratified the Rome convention.

Great. It is both a member of the ICC and has ratified the Rome convention.

>Gaza should be either Egyptian or Israeli

No at all.

>because after 1948 it was a part of Egypt and was occupied from Egypt by Israel during the 1967 six day war.

Nonsensical reasoning. Occupying some land doesn't make it permanently or retroactively yours with no possibility of change.

Palestine existed prior to Israel. It seems your understanding is that Palestine suddenly started to exist after Israel's founding. Please refresh your understanding of the history and facts.

>By this precedent the ICC can have jurisdiction anywhere including inside the US, as long as some other countries decide the US isn't really the US.

Sure if in this hypothetical scenario this state existed prior to the founding of the US and most of the world recognized it as such.

Your analogy simply doesn't apply otherwise.
by Cpoll | 2025-10-25 20:51:53+00:00
I've been at several companies that have a CTO and a Director of Engineering. The CTO sets the strategy, and the Director of Engineering handles the execution. In theory the Director "reports" to the CTO (I.e. is under in the org chart), but not necessarily. Sometimes the Director reports to the CEO, and/or takes a more collaborative role with the CTO.
by xpasky | 2025-10-25 20:52:47+00:00
My journey has been quite similar (just a few more years of "unhappy John") and this approach is now very close to what I practice. I do have a few reports and run the R&D leadership team, I delegate as much as I can to my directors. (Besides being hands on where the organization needs it, I still regard the other part of my job to keep our org accountable, engineers inspired, and keeping the big picture in.)

For people who doubt this, I recommend "How to Build a Car" by Adrian Newey (CTO of Redbull Racing).

But to be clear - if you do coding as CTO only because "only you can run certain projects," part of your job should be to fix that first. You will still have the easiest time doing it, but you should always have (many) others in position to run innovation projects, work with customers etc.