skysight-inc/HackerNews huggingface dataset:
That kind of speaks to my point, though: a number of the features listed there (e.g. test runner, .env file support, watch mode) have either been recently added to Node or will be soon (and are available today as experimental flags).

The bundler stuff is certainly more compelling though the page doesn't specify what makes it better than esbuild except that it comes built-in... but that's where, for me, VC concerns raise their head. If I go all in on Bun bundler, what happens if the company switches their priority towards monetization and neglects the bundler? I'm going to have to unroll all the configuration work I will have done and go back to an external bundling library. And it's still not entirely clear what I gain!
No. Further, the only people (with any serious power) really bringing up this idea are opponents of police reform trying to poison the well on the idea that police reform is needed.

These people may even benefit from over policing wrt kickbacks from private prisons. For example, Marco Rubio [0] is a top recipient of money from the private prison lobby, and he's run attack ads wrongfully saying that his political opponents want to abolish police, and he himself ran on a platform pushing for larger police budgets.

0 - https://www.opensecrets.org/industries./indus.php?ind=G7000
It's not just the US, it's people everywhere.

I could say that not everybody is enough of a problem-solving leader, but realistically it's almost nobody who is enough of a problem-solving leader.

And those that are, they have been systematically blocked by an institutional structure overwhelmingly built & dominated by those having much less leadership ability, with most of the upper echelon having merely prevailed during occasions of good fortune through reactive financial manipulation as opposed to gifted visionary problem-solving.

Seems like it's now a majority around the world who are settling for a declining caliber of leader, lower than would have been acceptable when inherent greatness was more often a characteristic of top decision-makers.

Those hollow suits have really proliferated in recent decades, odds are getting worse that those who aspire strongest to organizational leadership are usually the least suitable for the job. Especially when it comes to problem-solving of any kind, much less groundbreaking progress like was seen so much more in the past.

And you would like to see novel problems being solved?

Major problems? Lol.

The system would have to be reversed dramatically just to overcome some well-recognized nominal snafus.
This is bound to get some criticism (or some tangent-at-best discussion), but it seems like a pretty fair discussion to me.

What I'm missing at the end of the article is the author's point: I believe they're advocating for the use of raw threads and manual management of concurrency, and doing away with the async paraphernalia. But, at the same time, earlier in the article they give the example of networking-related tasks as something that isn't so easy to deal with using only raw threads.

So, taking into account that await&co. are basically syntactic sugar + an API standard (iirc, I haven't used Rust so much lately), I wonder about what the alternative is. In particular, it seems to me like the alternative you could have would be everyone rolling their own "concurrency API", where each crate (inconsistently) exposes some sort of `await()` function, and you have to manually roll your async runtime every time. This would obviously also not be ideal.
React Aria Components Beta
> If you're versioning, a version.txt file at the root of the versioned content is your friend. Have a {subproject_name}-v1.6 branch, you tag commits on that branch v1.6.3-rc1, rc2, ... automatically with CI/CD, until you tag one RC as a release when you release it.

You can save a bunch of text editing and merge conflicts with `git describe` [0]. git describe at any commit will give you a CI/CD version number in the general format of `{most-recent-tag}-{commit count since}-g{hash abbreviation of current commit}`. If the current commit corresponds with the most recent tag, git describe doesn't show the other parts. The `--dirty` flag to git describe will optionally also add a `-dirty` to the end of the version output if the repo has uncommitted changes.

You can pipe `git describe` into a (non-source-controlled) VERSION.TXT file (or a VERSION.JSON makes a simple API for web services) as a build artifact in your CI system. Just about any git command that takes a "commitish" will accept the git describe version format and you can generally just copy and paste the contents of your VERSION.TXT artifact, such as: git switch v1.6.2-11-g1abcde

If you've got multiple subprojects independently versioned in the same repo it gets a bit trickier but if your naming scheme is consistent you can use the `--match` flag to git describe to give a tag pattern. `git describe --match v*` for main tags that start with v versus `git describe --match subproject-name/v*` for a subproject. (Aside: using a forward slash in your subproject tags creates a nice folder structure in many UIs, as with slashes in branch names.)

In early development before you cut a first tag you might want the `--always` flag which will fallback to just the `g{current commit hash}` (and optional dirty with that flag).

The only other twist to git describe is that it defaults to only using annotated tags and doesn't include "lightweight" tags and not everyone or every UI is in the habit of `git tag -a` to create the annotated commit. It can be sometimes useful to have that distinction between annotated and lightweight so you just need to learn to annotate the tags that you care to show up in your git describe versions. Or you can use the `--all` flag to git describe and include lightweight tags for consideration in version numbers as well.

I've used git describe consistently in a number of CI builds for years and it is great. The one small criticism I have of it is that many times for proper semver compliance you really want the first `-` to be a plus (`v1.6.2+11-g1abcde`) as these are generally post-version indicators not pre-version indicators, but that's easy enough to swap with a possibly simple find/replace in the shell script or scripting language of your choice (simplicity depending in part on whether or not you use pre-versions in your tags like v1.6.2-rc.1 which would yield from git describe something like v1.6.2-rc.1-11-g1abcde). There are some off the shelf libraries [1] for that, too.

[0] https://git-scm.com/docs/git-describe

[1] https://www.npmjs.com/package/git-describe (namely the "semverString" output)
Procreate is easily the best iPad app out there IMO. It's simply fantastic. I bought an iPad Pro just for Procreate, it's that good.
The proposition of replacing the layered morass of node-based tooling (node, ts-node nodemon, tsc, jest, ts-jest, webpack, BABEL, 2 incompatible module specs, UMD insanity, 3 package managers!) and the Cambrian explosion of config files that it leads to is super compelling.

The tooling situation around JavaScript is certainly my biggest pain point around it and turns a really very capable and pleasant language (ES6 + TS) into a complete chore. Here’s hoping that Bun can deliver.

It has to be a similar feeling as going from CMake to Cargo.
The NLRB will decide for sure, but the timing and the involvement of Littler Mendelson make it incredibly unlikely that this wasn't a direct response to the union. The union drive was announced on July 20th and this relocation policy was instituted less than 3 weeks later, with no warning before that, and no other response to the union. Employees were given two weeks to decide whether to move or quit.
You haven't actually explained how this slacker is easier to find out in office. Sure they can't go off to the golf course, but there are a million ways people waste time while still being physically present. Instead the scenario you describe is exactly the kind of weak management that doesn't know how to properly evaluate their employees performance that ends up substituting measuring butt in seat time for proper management.
I use Waterfox daily and have evaluated LibreWolf.

My use case: I mainly run the Unity desktop on Linux, both on traditional Ubuntu and on the Ubuntu Unity newly-official remix. On other distros, I use Xfce and I am trying to make a macOS-like layout via the Docklike Taskbar and AppMenu panel plugins.

Waterfox works with external global menus, like Firefox used to in the pre-Quantum era when Ubuntu used Unity itself.

LibreWolf does not.

So, I removed LibreWolf.

I don't care much about the telemetry stuff. Waterfox survived the Foxstuck outage fine and unaffected:

https://www.theregister.com/2022/01/18/foxstuck_firefox_brow...

That's a win.

I adopted Waterfox because I made extensive use of XUL extensions and Mozilla disabled them in Quantum. They still worked in Waterfox, for years, so I stayed.

Waterfox seems to work harder for its users. Mozilla doesn't care.

Waterfox: I came for the extensions, but I stay for the UI improvements and greater reliability.
I was happy to go back to the office because working at home is bad for my ability to concentrate, and I also need the personal contact with others. But my particular desk location has not given me noise problems or anything. I also intentionally moved to make my commute a 15-minute walk, because it's better for me to not spend tons of time commuting; I'm aware this isn't a serious option for 99% of people.

I've avoided talking about negative impacts from others' WFH because I don't want to encourage the company to take it away from them.
You can always go and extract lithium from sea water. At the moment we're just pumping the brine from desalination plants back into the sea, but if we want we could add extractors there [2].

Also, while I generally agree on sounding the "divest from China, Russia and other enemy nations" bullhorn, with Australia and Canada there are close allies of ours among suppliers [1] and Chile and Argentinia may not be allies but at least neutral so we can broker deals with them.

The problem is more in the refinement of said lithium and the manufacture of batteries. For environmental and cost reasons, most countries were OK with having that shit done in China, but nowadays there's serious capability built up in the US and EU.

[1] https://www.statista.com/statistics/268790/countries-with-th...

[2] https://pubs.rsc.org/en/content/articlelanding/2019/em/c8em0...
What do you think is in the box? [video]
Everybody I know that used FogBugz seemed to really like it!

They also did Trello.
1) The data are the privacy equivalent of nuclear waste. A company having it is also barely different from the government having it, directly. The data ought not be collected, period. It’s astonishingly dangerous.

2) Someone following you around writing notes about everything you do doesn’t stop being creepy-as-fuck harassment just because it’s online and “at scale”. And actually a lot of this transcends the Internet and gets connected with real world activities, blurring the difference even more. It’s wrong when someone does it to a single person for some personal reason, and it’s even more wrong when a megacorp does it to everyone to make a buck.

3) It harms the function of markets. Massive nearly-impossible-for-a-small-business-to-attain data-moats protect monopolies and discourage competition. It adds to the already-harmful-to-market-function information imbalance between individuals and companies.
Show HN: Pixel Icon Libray [CC 4.0]
Dead on. No corporation in the world can stop this once they are big enough.

Maybe if you had an already rich individual keeping his company private and making an active effort to not be evil. But come on, let's be real...
Now, I think async is bad syntactic sugar that hides what's really going on under the surface. And I rail against it all the time. Especially the way dropping in async contaminates code bases by building tendrils across call-sites all through the application. ... But the tools that have been built around it are very useful and there's some good stuff there.

I have some quibbles with this article:

"Rust comes at this problem with an “async/await” model"

No, it does not. It allows for that, and there's a big ... community ... around the async stuff, but in reality the language is entirely fine with operating using explicit concurrency constructs. And in fact for most applications I think standard synchronous functions combined with communicating channels is cleaner. I work in code bases that do both, and I find the explicit approach easier to reason about.

In the end, Async is something people ideally reach for only after they hit the wall with blocking on I/O. But in reality they're often reaching for it just because -- either because it's cool... or because some framework they are relying on mandates it.

But I think the pendulum will swing back the other way at some point. I don't think it's fair to tar the whole language with it.
Coast Guard arrests a man trying to run giant hamster wheel across the Atlantic
Interestingly, unions lobby against more government protections, because it lowers the value of what the union is offering to its members.
val spark: SparkSession = SparkSession.builder
.appName("Example")
.master("local[*]")
.getOrCreate()

val df = spark.read.parquet("/mnt/nyctaxi/parquet")
.groupBy("passenger_count")
.sum("fare_amount")
.orderBy("passenger_count")

df.show()

That's the first listing in this book. This is a disaster... Query language implemented in a pug-ugly other language which has to rely on two other query languages to function. This is the worst sales pitch in the history of sale pitches. Maybe ever.
An OpenBSD developer was preparing a port of Pale Moon, and the PaleMoon devs were absolutely massive pricks about it, immediately became aggressive and started talking about lawyers, at which point all bridges were burnt and all work on Pale Moon for OpenBSD was dropped.

https://github.com/jasperla/openbsd-wip/issues/86
Unfortunately some of my customers are. Hopefully they're setting up isolated roles which can only access stored procedures to log readings so that at worst they're opening themselves up to DDoS
sponsored by Google
You are wrong. Very wrong. Async Rust is the best. Best Rust is async. I’m going to await at you. Async rust is good. Rust is fast and safe. More than C.
FAA Closes SpaceX Starship Mishap Investigation

https://www.faa.gov/newsroom/faa-closes-spacex-starship-mish...

There doesn’t seem to be any publicly available copy of the report itself, just this summary:

The final mishap investigation report cited a total of sixty-three (63) corrective actions for SpaceX to implement. These included actions to address redesigns of vehicle hardware to prevent leaks and fires, redesign of the launch pad to increase its robustness, incorporation of additional reviews in the design process, additional analysis and testing of safety critical systems and components including the Autonomous Flight Safety System (AFSS), and the application of additional change control practices.
Honestly I would love the US to stop being the biggest spender in so many categories, I just don't think anyone else is really poised to take that spot other than China, which I find even more troubling.
The thing with C and D players is that while things can appear like they're going just fine, in fact, they tend to slowly and surely inject damage (badly written code, badly designed systems, ad nauseam) that will likely cost the company tons of money.

In other words, penny-wise, pound foolish.
From what I can tell there isn't any company wide rules. In my building there are directors who sit out in the open, some who have private offices.

Some non manager software engineers share offices with one or two people, and some managers share an office with someone.

Sounds like if an employee really really wants an office, they can be eligible to share one, but it's not the norm. It's actually pretty quiet though in the "cubes" since there are so many meeting rooms to pop into for discussions.
That Meta is investigating how to make deletion of your threads history possible without deleting your instagram account is actually in the linked slideshow.

So it may very well wind up being 'just' setting a flag to false, starting a selective deletion and informing the user that the deletion may take several <units of time>.
Did the self-selected amateur news sources that seemed more accurate than mainstream news happen, by any chance, to align with your preferred narrative?
Remix in Bun works on Linux. The built version also works on macOS, but the dev version is blocked on us upgrading WebKit. Intl.ListFormat which Remix uses depends on a newer version of ICU which the current version of WebKit uses but we didn’t want to upgrade WebKit immediately before 1.0 so we held off for this release.
How Google plans to win its antitrust trial
I'll risk being buried by downvotes but who gives a damn if it's to stand up for someone. I think you're all being too harsh with him. His comment is insightful and he didn't link to his podcast as far as I can see. I'd rather do something if he kept saying stuff like his first paragraphs 2 or 3 more times. Give him the benefit of doubt at the very least.
Interestingly the article says the New York consolidation was allegedly one of the ways the city politicians were able to buck Tammany Hall. Obviously that was a different time and situation but why does that argument work for consolidating a city and not a state?
It's exactly that people trying to force other mental models onto rust and then complaining that it does things differently.
Different restaurants have different cutlery. They're not fungible because some might be cuisine specific (eg. asian style spoons vs regular spoons for ramen), or premium restaurants might go for more premium cutlery.
Mandatory reminder that this narrative of "individual impact" was created and pushed by oil companies to shift blame from them to consumers.
I find myself in this weird corner when it comes to async rust.

The guy's got a point in that doing a bunch of Arc, RwLock, and general sharing of state is going to get messy. Especially once you are sprinkling 'static all over the place, it infects everything, much like colored functions. I did this whole thing once back when I was starting off where I would Arc<RwLock> stuff, and try to be smart about borrow lifetimes. Total mess.

But then rust also has channels. When you read about it, it talks about "messages", which to me means little objects. Like a few bytes little. This is the solution, pretty much everything I write now is just a few tasks that service some channels. They look at what's arrived and if there's something to output, they will put a message on the appropriate channel for another task to deal with. No sharing objects or anything. If there's a large object that more than one task needs, either you put it in a task that sends messages containing the relevant query result, or you let each task construct its own copy from the stream of messages.

And yet I see a heck of a lot of articles about how to Arc or what to do about lifetimes. They seem to be things that the language needs, especially if you are implementing the async runtime, but I don't understand why the average library user needs to focus so much on this.
The design you're suggesting doesn't work because it would cause server/client waterfalls everywhere, which goes against the entire purpose of the architecture.

The data flows in one direction: from the server to the client. It's just physics — your server is where the data is. You're trying to move it to the client. So the code that needs to run first is the server code.

This is why the data flow starts at the server. You can't fix this by changing how opting in works, or some other API design workaround. What you're fighting with is the arrow of time.

As for the terminology, I agree it is confusing, but I have not seen a better suggestion yet. I shared our reasoning here (https://github.com/reactwg/server-components/discussions/4), hope it's helpful.
I love that you engage with the community on both HN and Twitter. It's always interesting to see your polls on how certain features should be implemented.

Any plans for other interesting experimental features (like macros)?

I don't know how much this is still a problem, but a few years ago one area where I used to experience a bit of pain was that package.json scripts would get pretty unwieldy and supporting windows required using third-party tools. Have you consider experimenting a bit with the scripts or are you happy with the state of that feature?
I knew it was going to be bad when it asked me to turn my phone. The whole thing gave me mandated HR training course vibes.
> The lifetime of an Arc isn’t unknowable, it’s determined by where and how you hold it.

Obviously it's not random. It's statically unknowable.
Thanks sir! Been looking forward to this and spinning it up right now :)
Yes, it was -- which made this whole episode particularly galling and tragic.[0]

[0] http://dtrace.org/blogs/bmc/2005/04/15/on-reverse-engineerin...
RPi's are freely available nowadays.

https://rpilocator.com/
Curious to know why existing sandboxing/isolation technologies like VMs & Containers not enough here?
It might be less awful, but in no way, shape or form it is benign.
I recently joined and was shocked how much freedom they give senior engineers. It's really different than most big companies.
This sounds really interesting, but I'm a little nervous about the "baking produces pure CO2 that can be pumped underground" part. Is that really happening, or is that CO2 just going to get used for industrial processes and then dumped back into the atmosphere?
I mean "if this app comes out and has limitations on either your OS (desktop or mobile), your method of file replication (iCloud integration can be done even if you're using an agnostic file type but it could, alternatively, be tightly-coupled), your third-party hardware (any stylus should work), or any other area of application and binary development that would be detrimental to user freedom"

Basically - even if all those things are locked down, instead of open like they SHOULD* be, it's still a net positive.

*that's my editorializing; all apps SHOULD be web apps (or at least delivered without installation), unless there's some reason you simply can't get the performance you need out of web assembly (often the case, today; hopefully not often true in the future).
> The lifetime of an Arc isn’t unknowable, it’s determined by where and how you hold it.

In the same sense that the lifetime of an object in a GC'd system has a lower bound of, "as long as it's referenced", sure. But that's nearly the opposite of what the borrow checker tries to do by statically bounding objects, at compile time.

> maybe the disconnect in this article is that the author is coming at Rust and trying to force their previous mental models on to it

The opposite actually! I spent about a decade doing systems programming in C, C++, and Rust before writing a bunch of Haskell at my current job. The degree to which a big language runtime and GC weren't a boogeyman for some problem spaces was really eye-opening.
Ok great. will take a look
Why don't they? The current market price is 3 or 4 times the MSRP and has been for years--the Raspberry Pi has lost its place as the affordable hobbyist board. I suppose it would be admitting defeat, but if they'd actually pay for parts and make new Pis again, I'm sure they could at least bring the market prices down.
I don't own an apple device now but why does app store have ads ? After paying upwards of $1000+ on a iPhone, why can't you expect an ad free experience on a first party app store?
Ercot paid Bitcoin miner $31.7M to reduce energy usage during August
The total impact of non-violent crimes can be much worse; a blanket rule like that wouldn't make much sense.

Would you rather be robbed at gunpoint with no physical harm and lose $100, or have your retirement savings entirely disappear in a fraud? What if that goes for 1000 other people also?