Hacker Newsnew | past | comments | ask | show | jobs | submit | evil-olive's commentslogin

> The most brilliant move in corporate history?

de-clickbaiting: Apple is building AI processors into its consumer devices instead of buying chips from Nvidia and building out AI datacenters


It’s not just that. They didn’t spend untold oodles of money on AI that didn’t work out just to have big losses.

Playing it more cool and just buying from someone else has paid off quite a lot for them in that way.

Was that why they did it? I don’t think so. But it sure worked out.


direct link to the Substack post (instead of a Twitter post linking to it): https://www.nonzero.org/p/iran-and-the-immorality-of-openai


That must be one of the most biased analyses on Iran I have read.


Or maybe one of the less biased?


All the horrible practices employed by the regime of Iran, used to happen in western European countries as well:

- hostage politics: in medieval times, royal families of different kingdoms would exchange family members to live with the other royal family, as a form of hostage politics, supposedly this would prevent or discourage wars. The current regime in Iran rose to power how? by taking hostages. How have they repeatedly responded to spontaneous internal domestic forces towards regime change? Hostage politics. Every time they feel threatened they take hostages in some form or another: by taking a protestor hostage into some torture prison, they are keeping their relatives in line ("behave or your niece will have a bad day in infamous prison X"), it goes both ways they also keep the "free" relatives hostage by threatening say a protestor to harm their families if they don't pretend everything is fine. It's not just internal freedom of speech. I write from Belgium, when the protests surrounding Mahsa Amini's death occured, and the video of her collapse was released it even affected my freedom of speech: from the video it was clear they used hydrogen cyanide, but would I be allowed to share this on international media when "Free" nations are desperately trying to negotiate back their citizens taken hostage by the regime in Iran?

- The wrongs and mistakes made in say Europe during WW1 (lobbing chemicals at each other), were just repeated without learning lessons by Iran. They are a signatory to the chemical weapons ban treaty. Yet the Mahsa Amini video (which even aired on local Iranian national television) subtly leaks the information that she was killed with hydrogen cyanide.

There is no valid defense of the IRGC and the Iranian regime.


the title seems unnecessarily clickbaity.

rather than "What Python's asyncio primitives get wrong" this seems more like "why we chose one asyncio primitive (queue) instead of others (event and condition)"

also, halfway through the post, the problem grows a new requirement:

> Instead of waking consumers and asking "is the current state what you want?", buffer every transition into a per-consumer queue. Each consumer drains its own queue and checks each transition individually. The consumer never misses a state.

if buffering every state change is a requirement, then...yeah, you're gonna need a buffer of some kind. the previous proposed solutions (polling, event, condition) would never have worked.

given the full requirements up-front, you can jump straight to "just use a queue" - with the downside that it would make for a less interesting blog post.

also, this is using queues without any size limit, which seems like a memory leak waiting to happen if events ever get enqueued more quickly than they can be consumed. notably, this could not happen with the simpler use cases that could be satisfied by events and conditions.

> A threading.Lock protects the value and queue list.

unless I'm missing something obvious, this seems like it should be an asyncio.Lock?


yes. I felt something very similar. I do think there is value in pointing out the pitfalls naieve users (me!) can make assuming things which aren't true about ordering of events, states. Queues with lock regions are also really nice because they are (as I understand it) very cheap: so making a thread or other concurrency primitive which writes into a queue under lock, and gets out of the way, aligns nicely with having some mothership process which reads queues under lock in a deterministic way. Actual event order can vary. but you should be able to know you had an event putting you into state A, as well as the terminal event state B you jumped into without doing work needed for state A.


BTW: what is a lock region?


A part of code that executes between a lock as taken and released, I suppose.


Isnt that a critical section?


Yes, that's what I meant.


it does seem the user wants a conditional variable.

For locking I am guessing they want multithreading, each with an event loop.


> We noted a similar lack of modularity on the Wi-Fi module, where repairs or upgrades will be impractical at best.

I'm the current owner of a T14s (gen3 AMD) and the non-replaceable wifi chip has been my biggest pain point with it. I'm somewhat disappointed to see them give this 10/10 score with that problem unresolved.

according to lspci it's a Qualcomm QCNFA765 and it works great under Linux...until you suspend the machine. after it wakes up from suspend, it will only stay connected for a few seconds to a minute before dropping the connection and re-establishing it.

I've replaced wifi chips in other Thinkpads I've owned, so I naively assumed this would be the same as well - just swapping out the M.2 card. but no such luck, it's soldered in place.

I ended up using systemd to rmmod-then-modprobe the ath11k_pci module when the system resumes from sleep. this is annoying because it adds a delay of several extra seconds before the machine is ready to use, but none of the "smaller hammer" workarounds I attempted worked at all.


> a curated directory

what's the curation criteria? other than people paying you $50 if they don't want to wait 6 months for the listing to appear.


> You upload your chat history

nope.


so, we're definitely going to war with Iran then?


they took all our jobs and they live off the welfare state and also they eat cats

OMG, ALF is real!


there's been demos of using SQLite client-side, with the database hosted in S3, and HTTP range requests used to only fetch the necessary rows for the query.

there might be some piece I'm missing, but the first thing that comes to mind would be using that, possibly with the full-text search extension, to handle searching the metadata.

at that point you'd still be paying S3 egress costs, but I'd be very surprised if it wasn't at least an order of magnitude less expensive than Vercel.

and since it's just static file hosting, it could conceivably be moved to a VPS (or a pair of them) running nginx or Caddy or whatever, if the AWS egress was too pricey.


> Every time I browse Google, Medium, or news portals, I run into articles that feel "too perfect." The structure is flawless, the grammar is impeccable, but there is absolutely no soul in them.

I get this feeling often when reading "Show HN" posts. including this one.


That’s a fair point, and actually, that’s exactly the irony I’m trying to fight. I built dwrite.me because I’m tired of that 'flawless but soulless' content too. Maybe my explanation here sounds too polished, but the platform itself is the opposite it's about the friction of manual typing. I’d love for you to try typing something there; it’s much harder to be 'perfect' when you can't just copy-paste your way through it.


> I built the first tool to configure VPSs without commands

no, your LLM wrote a 700-line shell script (https://github.com/Wiar8/the-ultimate-tool-for-configuring-V...) and a flashy website to go with it.


Right… which means they built it.

It’s not some kind of flex or status to be like “oh look i hand coded it myself”


and why is that bad? LLMs make the dev experience faster, but you need good knowledge to use them well. The AI had a lot of problems developing the tool, and I had to fix the whole disaster


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: