skysight-inc/HackerNews huggingface dataset:
>In other words, if async/await is so good, why not make all functions in the language implicitly async, and instead of "await" just write normal function calls? Then you will suddenly be programming in threads.

Why not go one step further and invent "Parallel Rust"? And by parallel I mean it. Just a nice little keyword "parallel {}" where every statement inside the parallel block is executed in parallel, the same way it is done in HDLs. Rust's borrow checker should be able to ensure parallel code is safe. Of course one problem with this strategy is that we don't exactly have processors that are designed to spawn and process micro-threads. You would need to go back all the way to Sun's SPARC architecture for that and then extend it with the concept of a tree based stack so that multiple threads can share the same stack.
VC is very often a cult of personality, let's face it. So is most of capitalism when you think about it - Elon Musk, Jeff Bezos, Bill Gates, etc. They're where they are because of vast quantities of unattributed work by other people.
The deliminator is a setting that can be changed. I never said hard code. This is an interesting exercise to give students, but I am struggling to look back in my mind through the last 25 years of line of business application development where any of this was intractable. My approach has been to leverage objects. I have a base class for a CsvWriter and CsvReader that does RFC compliant work. I get the business stake holders to provide samples of files they need to import or export. I look at those with my eyes and make sub-classes as needed.

And data type influencing is a fun side project. I worked for a while on a fully generic CSV to SQL converter. Basically you end up with regex matches for different formats and you keep a running tally of errors encountered and then do a best fit for the column. Using a single CSV file is consistent with itself for weird formatting induced by whatever process the other side used. It actually worked really well, even on multi gigabyte CSV files from medical companies that one of my clients had to analyze with a standard set of SQL reports.
SBF is becoming the Chlorine trifluoride of the crypto world. Every time you think there couldn't possibly be anything left to catch fire, you get stuff like this...
or continue in this item https://news.ycombinator.com/item?id=39814558
Maybe, but there's nothing outback about any of those places. Warrandyte is a great place to watch platypus playing in the Yarra river!
Just use Starlink.sx
Just wanted to add that this reads like the Romans condemned the Celts for practicing sacrifice, and that the Christians did the same for the Romans. This is not true.

I'm curious as well on that topic: what do we think of legal sacrifice in Rome? Should we condem their entire culture because they crucified people?
The first 60 Starlink satellites launched in May of 2019[0].

[0]: https://www.youtube.com/watch?v=riBaVeDTEWI
This is the biggest win IME.

You have a (usually) portable transport format that can get the information into and out of an enormous variety of tools that do not necessarily require a software engineer in the middle.

I'm also struggling with such a quick dismissal of human readable formats. It's a huge feature.

What happens when there's a problem with a single CSV file in some pipeline that's been happily running fine for years? You can edit the thing and move on with your day. If the format isn't human readable, now you may have to make and push a software update to handle it.

Of course, CSV is a terrible format that can be horribly painful. No argument there.

But despite the pain, it's still far better than many alternatives. In many situations.
> Please. Stop posting about async/await here.

I agree with everything else you said, but that's all the more reason to post it imo. The misconceptions aren't going away just because you don't hear about them, and every time I hear the different arguments, my own understanding grows a little bit. It's annoying, but quite healthy.
I think PEP711 (https://peps.python.org/pep-0711/) is (eventually) a better alternative, because it builds on top of the proven manylinux approach to binary compatibility.
That has made little difference to London.

Yes, it's harder for EU citizens to move there, but the pool of people happy to move to London for work is vast and global. No longer being in the EU can be a downside depending on the business but in general, as a service-based economy operating globally, London is just carrying on undeterred.
The debugging issue is bigger than what it seems.

Use of async/await model in particular ends up with random hanged micro tasks in some random place in code that are very hard to trace back to the cause because they're dispersed potentially anywhere.

Concurrency is also rather undefined, as are priorities most of the time.

This can be partly fixed by labelling, which adds more complexity, but at least is explicit. Then the programmer needs to know what to label... Which they won't do, and Rust has no training wheels to help with concurrency.

Threads, well you have well defined ingress and egress. Priorities are handled by the OS and to some degree fairness is usually ensured.
Don't like that such sensitive data would be transiting through private for-profit entities

But there should definitely be a reevaluation of our expectations when it comes to licensed vehicles keeping their owners dirty secrets.

1) You are driving on a public road

2) The vehicle requires a permit

3) The road has traffic codes

4) You've decided to forego traffic codes.

It's come to be expected that your car wouldn't rat on you because we had technology limitations. Should it be expected still? I don't think so...

Maybe fuck the privacy of drivers and maybe cars should be expected to rat about their owners if they are to be allowed on public roads?

There can be privacy on vehicles that don't require a license
> maybe not the best idea, but now I want to try this ..

I'm going to steal this for my epitaph, thanks
You must have had a strange run of Show HN's. Most
have very short descriptions or no descriptions at all, you can check that by clicking around https://news.ycombinator.com/show
> Article 5(4) of the DMA requires gatekeepers to allow app developers to “steer” consumers to offers outside the gatekeepers' app stores, free of charge.

For permission to "link out" to a web purchase, EU devs need to opt-in to Apple's insane "alternative EU terms", which includes a 10/17% commission and the "Core Technology Fee". The EU is saying it should be free, thankfully.

> In addition, the Commission has launched investigatory steps relating to Apple's new fee structure for alternative app stores

> Apple's new fee structure and other terms and conditions for alternative app stores and distribution of apps from the web (sideloading) may be defeating the purpose of its obligations under Article 6(4) of the DMA.

Good!
Yeah. I had a shell snippet someplace that was essentially pip freeze | remove virtualenv | make virtualenv | pip install. It's not that hard.
Can't say I've used pocket, but I think the newsletter-saving (generated email addresses), open source/selfhostability, and api were differentiators that made me actually start using Omnivore - I wouldn't trust closed source and with premium options for something like this.
As a counterexample, conflating two different glyphs as if they were the same can lead to the inability to search for a particular term. E.g. in Spanish these two words (cono, coño) have very different meanings. If I'm searching for one I don't want to see results pertaining to the other one. It would be like searching for "sheet" and getting results for "shit".
Google Chrome –Headless Mode
Isn't this a completely different concept?

Virtual environments are for your installed dependencies, whilst pyenv is for installing python.

I have a client that uses Python X and another that strictly uses Python X+1.

The virtual environments are so that I can have the project dependencies installed and the pyenv lets different companies have different cadence for their Python upgrades.

I could be completely mistaken and mixing up my Python support utils as I've not had a client request Python for a couple of years.
Yes it is a pretty open and exploratory problem, that shows how a candidate would navigate a code base, how they think about solving a problem, etc.

I was just commenting on the more general electrode approach to interviewing, which is endemic to the SWE sector.
That paper has some significant flaws:

In section 2.3.1, "Dangers of N:M model", the "danger" lies in using thread-local storage that was built for OS threads, without modification, for stackful fibers. The bottom line here should have been "don't do that", not that stackful fibers are dangerous. Obviously, any library that interacts with the implementation mechanism for concurrency must be built for the mechanism actually used, not a different one.

In section 2.3.2, "Hazards of 1:N model", again points out the dangers of making such blind assumptions, but its main point is that blocking APIs must be blocking on a fiber level, not on the host thread level -- that is, it even proposes the solution for the problem mentioned, then totally ignores that solution. Java's approach (even though, IIRC, N:M) does exactly that: "rewrite it in Java". This is one place where I hope "rewrite it in Rust" becomes more than a meme in the future and actually becomes a foundation for stackful fibers.

Then there are a bunch of case studies that show that you cannot just sprinkle some stackful fibers over an existing codebase and hope for it to work. Surprise: You can't do that with async/await either. "What color is my function" etc.

I'm still hoping for a complete, clearly presented argument for why Java can do it and Rust cannot. (Just for example: "it needs a GC" could be the heart of such an argument).
It does. I had a Windows 7 VM and installed it on a lark. Took me 15 minutes (mostly installing Cygwin first).
better buttplug?
Exactly. Proof by implementation: asio is a very well known and well regarded C++ event loop library and can be transparently used with old-school hand-written continuations, more modern future/promise, language based async/await coroutines and stackful coroutines (of the boost variety).

The event loop and io libraries are in practice the same for any solution you decide, everything else is just sugar on top and in principle you can mix and match as needed.
I do wonder how a dinner party host’s device can distinguish which guests are in their contacts from which ones aren’t.
Obligatory relevant xkcd: https://xkcd.com/1987/
Even if they are of the same variety (California Cabernet Sauvignon), there is a vast difference in flavor profiles and it would be surprising if the ranking would not come down to personal preference. It would be more fair to compare wines from the same year, variety, and terroir.
I don't know about more common, but certainly more appropriate. Netcat is made for sending and receiving bytes (or datagrams with the right flag).

Telnet is made for speaking the telnet protocol. The only reason some people use telnet for other things is that most other protocols have control sequences that happen to have no effect on a telnet connection.
They launch more satellites than everyone else combined, but a big caveat here:

"Over 99% of SpaceX’s 1,986 spacecraft deployed in 2023 were Starlink satellites."

EDIT: oh, I see the confusion. The 99% figure means "of the satellites operated by SpaceX, 99% are Starlink". It's 99% of the ones they operate, not 99% of the ones they launch. (Not sure if I'm using the right nomenclature)
They'd also vote to end gay rights
Ye and you end up with blame games and hot potatoes being passed around.

Bug count metrics incentives "don't touch anything" and coding with feuture flags and globals to limit the scope of change and circumvent the architecture.

Like, just don't do metrics and have the management actually review the work of their subordinates if that is important to follow up on. Actual management can't be compressed to a acting on some scalar values.
Also a bit confused as to why this is currently the #1 post.
Some, but not all
Thanks, that is the kind of useful answer I was looking for. But I can share VM hosts and IPs among developers, that's trivial. The auth piece, not so much.
Said badly with code will still execute with poor performance and the mix can be actively hard to spot.
On the other hand, launching anything at all at that cadence is something others aren't doing either.
Python (and Ruby) handling of versions and dependencies is truly awful... :-(
Integrate long-tail ETL connectors with Portable and Orchestra
What are everyone's thoughts on using multiple ETL providers?

Personally I quite like the idea of using them for different sources that they cover and ones they specialise in. That's why at Orchestra (https://getorchestra.io) we're minimising the overhead required to manage multiple methods of data ingestion and data movement. You get the benefit of using multiple providers for what they're good at without having to compromise on metadata and UI as you're using Orchestra for that.

Portable's great because it can be used for the long-tail and more common integrations like Salesforce can stay in tools like Fivetran.

Lemme know what you think in the comments!
Orchestra: https://app.getorchestra.io/signup
Portable: https://portable.io/
Solana (Sol) Price Prediction: Can It Scale New Heights?
That would be a good step forward, I support it :)

BTW, do we need the `parallel` keyword, or better to simply let all code be parallel by default?
I guess the question is, what happens after the Starlink constellation is complete?
"Perfectly legal" doesn't mean it's not completely disgusting.
Not sure if you noticed but the article said that time of adult children living with their parents in America is already here.

What's required is to A) avoid WWIII and B) come up with a new structure for society as human labor is replaced by AI and robots.

Those with power have shown that they have no interest or ability in solving these structural problems. In fact, society overall seems to have a Malthusian lack of respect for human life.

We might need a lot of luck to survive another generation.
Any ideas what Ivory's "embedded applications" could have been?
Remarks by Executive Vice-President Vestager:

Apple and Alphabet still charge various recurring fees and still limit steering. We will investigate to what extent these fees and limitations defeat the purpose of the anti-steering provision and by that, limit consumer choice.

Apple's ... current design of the web browser choice screen deprives end-users of the ability to make a fully informed decision. .... Apple also failed to make several apps uninstallable (one of them would be Photos) and prevents end-users from changing their default status (for example Cloud), as required by the DMA.

https://ec.europa.eu/commission/presscorner/detail/en/speech...
I'm curious about the RF-interference there.

After all, the small antenna of the dongle is now _inside_ the laptop, and very close to high-bandwidth USB data-lines.

(And possibly other sources of interference, depending on the expansion port it's connected to. If I use a right-hand mouse and the card is in a left slot, the signal would more or less have to travel through the entire laptop...)
Also it's only in black and white.
I watch math classes on youtube and some lecturers make symbolic mistakes all the time. Minus instead of a plus, missing exponents, saying x but writing y, etc. They only notice it when something unexpected contradicts down the line.
> You can write safe code using threads if you enforce that the only way threads can communicate is by sending messages to each other (via copying, not pointers).

At which point they're not really threads, they're more, well, processes.

> This is what Erlang does.

Exactly.
Disengaged employees are becoming a global problem with a huge footprint. According to Gallup, $8.8 trillion in lost productivity, to be precise - that`s 9% of the global GDP!

We have researched the topic some time, leading to the development of teamship - a digital team development platform where AI meets personality trait methodology to increase engagement.

Interested in following our journey and be the first to test teamship?

Join our waitlist on www.teamship.ai and prepare for launch on Product Hunt!
I made a similar FOSS [1] that can generate plain text erd from a live database, and also a visualizer based on the plain text.

It supports sqlite, mysql, mssql, postgres. And the visualizer is hosted on a CDN without login requirement.

[1] https://quick-erd.surge.sh
I'm sorry but you seem to have missed the point I'm referring to, even though you have directly quoted it.

None of your paragraphs are relevant to async await vs fiber: async await requires you to put keywords in all sorts of unexpected places, fibers do not.

> CRuby has the disadvantage of a global interpreter lock. This means that parallelism can only be achieved via multiple processes.

I am very well cognisant of this fact, but this bears absolutely no relationship with async await vs fibers: one is sweeping callbacks on an event loop under leaky syntactic sugar, the other is cooperative coroutines; they're all on the same Ruby thread, the GVL simply does not intervene.

> this talk is not arguing for use of fibers as much as it is arguing as using fibers to rig up a bespoke green threads-like system for a specific web application server, and advocating for ruby runtime features to make the code burden on them of doing this lighter.

That sounds like a very cynical view of it. I believe there are arguments made in this talk that are entirely orthogonal to how Falcon benefits from fibers.

> Fibers have native stacks, so they have all the resource requirements of a thread

For starters fibers don't have the resource requirements of a thread because they're not backed by native OS threads, while CRuby creates an OS thread for each Ruby VM thread (until MaNy lands, but even with M:N they'd still be subject to the GVL).

Are you arguing for a stackless design like Stackless Python? Goroutines are stack-based too and the benefit of coroutines (and a M:N design) is very apparent. Anyway async await is stack-based too so I don't see how this is relevant: if you have 1M requests served at the same time truly concurrently you're going to have either 1M event callbacks or 1M fibers; that's 1 million stacks either way.

I seem to gather through what I read as a bitter tone that your experience with fibers was not that good. I appreciate another data point but I can't seem to reconcile it vs async await.

But really, the only reason I brought up threads is because the GVL makes threads less useful in CRuby than in Rust (or Go since I mentioned it).
It took only a second to see what I would miss as like on most of the mail clients: why isn't it possible to configure the list of mails to see not only the sender but the e-mail address? I only know three e-mail clients where I can configure it: mutt, betterbird and evolution.
But maybe I'm old and no one would like to see that "bill gates <fake@bad.boy>" is not from bill gates before opening the mail (and render the contents). The phisher are thankful.
Yes, loss minimization quickly gets to the correct implementation of arithmetics since the primitives of neural networks are just math operations, so training it to add or multiply two inputs into an output is very easy. This is so easy and obvious that you run it to test that your neural network implementation works, if it can't figure out arithmetics then you have done something wrong.

LLMs fails to figure out that this is what it has to do, instead it looks like it has a ton of specialized rules to handle arithmetics that results in a lot of errors in the output and are extremely expensive to run.
> But the lack might also be because no customer wants their service associated with launches in which rocket bodies drop on the heads of China’s residents.

Nah its ITAR / (insert western country export control law here). Sending spacecraft hardware to Chinese launch provider will definitely violate all kinds of export control. Even if its a cubesat made from Raspberry Pis and assembled PCBs from JLCPCB
Awesome!

https://twitter.com/EU_Commission/status/1772207590212063397

~~

I wish they would also push forward with cookie consent pop-up - 1) enforce easy reject (as it should be but dumb websites hide it away, which is illegal) and better yet 2) enforce it on a browser config level like we have do-not-track config but should be with 3 levels and enforceable.
I think of myself as a decent programmer, not a 10x or some other superlative, but after reading the article and challenge i was like:

„Let’s find the incr method and see how it works, take it as a base and work from there“

Is this not common, because some treat this here as some kind of „Eureka“ moment.

My absolutely 1 minute trash try would be to run the incr k times, see if it works and optimize from there.
Or rather, if you move countries, change your name to one that fits. It's pretty normal and really not that hard.
Continue reading.
If that’s what you’re selecting for - fine. You’d be missing out on people who need to care for kids or other relatives and on people who assume that a company that requires you to invest significant unpaid time on top of the regular interviews is just not worth it.
Even “experienced job seekers” might have the time to do 1 or 2 of these “tests”, but typically you’d apply to more than 1 or 2 companies while looking for a job.
An unbiased evaluation of environment management and packaging tools
They send replacements. Starlink satellites are in an orbit so low that trace atmosphere drag quickly plucks them out of the sky once they are out of fuel.
Allow me to quote the message again:

> If you can't/don't want to be there 24/7, let the group know that it might break but maybe the group will decide that it's fine enough.

You don't owe anyone anything, and I'm not advocating for being their tech support helping them in any and all tasks. The goal is not to be able to help them plug a webcam when they need it. I'm talking about redefining together social conventions and tools to be together. What kind of software you want to use for that, agree on rules, what to post, what is not tolerable, how do you do to share photos, and stuff.

> just out of curiosity: are you doing this yourself?

Yes, I installed and created accounts on the messenger I use with my parents. Yes, it can be as simple as that. That's the point.

> but you really think anyone cares about this enough amongst non-techies to be part of all this “decision making” about what apps to use?

You really are assuming people are stupid and that's sad. Of course people are interested in questions like "I want to talk with the group" or "I want to know where my photos are" or "I want to be able to see my videos in 10 years". Even when their reply is "wherever", it means it's acceptable for them to use another tool that isn't a FAANG.

I ask the question the other way around: have you had replies telling you "we don't want to leave Google because we actually like Google's surveillance capitalism" ? Until you haven't, "normies" are interested in getting out (and please don't use that term, you make it sound like you're superior to them when you are absolutely not. No one is superior, no one is inferior)
Because they don't need to, not necessarily because they can't.
Why isn't Microsoft on this list?
How to Control Your Agent Action and Prompt System: LangGrap