skysight-inc/HackerNews huggingface dataset:
> IMO in 2022 there’s not a good reason to start a new project in C++ unless that’s all you know, or you have some constraint tied to C++.

I personally don't agree. I can start with performance and continue with a better compiler ecosystem, and add suitability for low resource applications. I'm just not scratching the surface here.

Rust is not bad, but it's not a replacement of C++. They aspire to be different things.
Even when self driving gets to a certain level, it won't be able to compete with the safety of a street that ONLY allows self driving cars.

As soon as a tipping point is hit, major areas will open roads to self driving cars only.

Add to that that the latest generation of cars are electric (quiet, cleaner, more efficient, longer lasting), and as more people move to that there will be fewer gas stations, more ICE hate, etc.

The result will be a very sudden shift to electric self-driving cars. Which will create a loop, and perhaps a shift much more faster than one might think. My guess is two years from when Waymo is convinced their vehicles can go anywhere to where such cars are mainstream, and another two years till ICE are outlawed on all major roads.

Maybe living in lala land with that, but even if it takes 8 years - that will still throw a lot of people out of a job.
I don't do much SQL work, but I can recall a couple times in the past when this could have been handy. However, the last release appears to be v0.49 (2011-12-06).

https://sourceforge.net/projects/revj/files/revj/
From my experience hiring and mentoring, I reckon a lot has to do with how (overly) complex stacks for web application development have gotten. Thus people often having to learn in a very top down way, learning the very high level tools first and have little understanding of what lies beneath. There is also at least the perception that there are a ton of those high level things you need to understand for being a "fullstack" dev and it is also this top layer that actually moves fast, whereas the fundamentals move in a much more glacial manner. People chasing changes and additions instead of deepening their knowledge.

If I compare that to my own experience learning web dev in the early 2000s on my own. Make a html file with some css and ftp it up to a server. First version done. Add some JS, some PHP, then a database. Eventually move from vanilla code to different frameworks and languages, move from a Linux box to some cloud services, slowly start working with more complex systems and different paradigms. The whole process was very iterative and I feel I have gotten a lot of transferable knowledge on the way.

Of course this is perfectly possible to do these days as well, but it is not what I see happening or being widely encouraged in communities or fostered within companies. It seems more about run this and that generator script, click this button to spin up the managed services to run it on. See, it is so easy, so no problem. Creating hundreds of dependencies and layers of abstraction with practically no idea what they do. I had people wanting to learn programming from zero asking me to help with issues with their docker setup before having written a nested for loop.

I'm definitely not against those "modern" tools, they can be an awesome productivity boost if used well in the right context, but I can't help but often feel reminded of the good old Jurassic Park quote when it comes to tech stack decision making: "Your scientists were so preoccupied with whether they could, they didn't stop to think if they should"
Seems pretty close to textbook SLAPP in a jurisdiction - Virginia - that has strong anti-SLAPP laws [correction: https://news.ycombinator.com/item?id=30867948 notes this is federal, and it has not been established if VA SLAPP laws apply] and and precedent for their use. I am a fan of Ubiquiti gear but I hope they lose, pay Krebs' costs, and pay a multiple of the costs as damages.

https://twitter.com/QuinnyPig/status/1509374736903507974 is just an example of how well this is going over.
There’s another kind of transparency that’s harmful. We have a face-recognition database that can conclude a particular woman was arrested for sex work. There might be some suggestion she was trafficked, and that conclusion comes from her activity trying to keep a low profile. Celebrities (who otherwise have no background in the side-effects) promote this technique and police departments in large, religiously conservative countries use it. I wonder if it harms more than it helps.
Regarding Midori, besides the blog posts, Joe Duffy did two talks about the subject,

"RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy"

https://www.youtube.com/watch?v=CuD7SCqHB7k

"Safe Systems Programming in C# and .NET"

https://www.infoq.com/presentations/csharp-systems-programmi...

In one of them, he mentions that even with Midori proving its value to the Windows team, they were quite dimissive of it.

It appears to have also been yet another victim of the usual DevDiv vs WinDev politics.
TVTropes has lists of science fiction with insectoid aliens[0] and books with giant spiders[1].

[0] https://tvtropes.org/pmwiki/pmwiki.php/Main/InsectoidAliens

[1] https://tvtropes.org/pmwiki/pmwiki.php/GiantSpider/Literatur...
I think the opposite cannot be true, because developers come physically before operations.

Isn't it actually devops engineers' job to make it so?
> There is no circumstance where dumping debug tracebacks down a control channel not prepared for that is ever correct. Period. Anyone suggesting otherwise is displaying their blinders.

We agree here.

Did you read the report?

> The error occurred in a part of the software that only performs alignment of the strap-down inertial platform. This software module computes meaningful results only before lift-off. As soon as the launcher lifts off, this function serves no purpose.

> The alignment function is operative for 50 seconds after starting of the Flight Mode of the SRIs which occurs at H0 - 3 seconds for Ariane 5. Consequently, when lift-off occurs, the function continues for approx. 40 seconds of flight. This time sequence is based on a requirement of Ariane 4 and is not required for Ariane 5.

> m) The inertial reference system of Ariane 5 is essentially common to a system which is presently flying on Ariane 4. The part of the software which caused the interruption in the inertial system computers is used before launch to align the inertial reference system and, in Ariane 4, also to enable a rapid realignment of the system in case of a late hold in the countdown. This realignment function, which does not serve any purpose on Ariane 5, was nevertheless retained for commonality reasons and allowed, as in Ariane 4, to operate for approx. 40 seconds after lift-off.

> The reason for the three remaining variables, including the one denoting horizontal bias, being unprotected was that further reasoning indicated that they were either physically limited or that there was a large margin of safety, a reasoning which in the case of the variable BH turned out to be faulty.

> Ariane 4 should not produce such an acceleration

My point is that it's a velocity, not an acceleration and hence is physically impossible by the design and flight parameters on the Ariane 4. It's like saying an unsigned byte (8 bits) is okay for a speedometer for a minivan because >255 mph is outside the physical capabilities of the vehicle, but reusing that speedometer code for a fighter jet is not appropriate.

All code is written with these assumptions of value ranges, it's just a manner of how the language handles them, and whether that behavior is predictable (UB or not) or crashes when outside those bounds. A lot of C and C++ code is written with short/int/long without realizing that those are fuzzy boundaries (short <= int <= long) and without going to ensure sufficient sizes (e.g. uint32_t). Math code which doesn't account for this can produce wild and usually incorrect behavior.

When enabled, any value in Ada can throw a constraint check if violated, and it just makes it explicit. You're assuming that "Don't crash on overflow" is always a good thing based on a single case, there's a lot of systems, particularly mechanical ones, in which a broken sensor reporting a pegged sensor value would want an immediately halt to operation. Also in space applications, out of bounds values can arise from other conditions as well, such as cosmic rays flipping bits, in which a computer restart (relying on the redundant system) is the correct and expected behavior.
Which is interesting, because for example cannabis is not legal in Texas (not fully, that is, only with a prescription and only under 1% of THC, which is not great).

I keep hearing about how most folks are for legalization of cannabis in various countries, and yet we just don't legalize it. It's crazy how much money the state is missing on!

(Note: I know the article is not directly related to cannabis specifically, but this has been bugging me for a while.)
The giant feature is "start a VM in less than 1 second". Followed by things like suspending/resuming VMs.

We also need precise placement. We have people who want to run 8 VMs in London, 3 VMs in Los Angeles, and one VM in Sydney. They also want to do rolling deploys that revert on failure. Nomad's scheduling is not that precise.

Databases too. Both Nomad and k8s have ways to do persistent workloads, but they rely heavily on the underlying infrastructure to "move" volumes between throwaway containers. We don't want that, we actually want something closer to old school VM provisioning than "orchestration".
> This page was updated on 23 March 2022 as many direct links to legacy PDF specifications on adobe.com were broken. Many links now reference the Wayback Machine internet archive and thus may be slow.

https://www.pdfa.org/resource/pdf-specification-index/
You've got a couple of options:

1. Ads through Ethical Ads or Carbon Ads. This is what I have with nslookup. It's at $500/month on these volumes: https://plausible.io/nslookup.io

2. An exclusive ad deal with a complementary service. That's what I have with whoismyisp.org. Think about what people are working on when they visit your tool, then find a service that they'll need right after that task.

3. Donations

4. Sell a course. i.e. "DNS for developers" for nslookup.io.

5. Add a paid API. i.e. DNS lookup API for nslookup.io.

6. Add a SaaS that does something similar, but more complex. i.e. monitoring DNS records for nslookup.io.
Interesting, but the model may benefit from the deception cases, which would have an impact on conception in general, but not just between the two partners. I'd probably include a male paramour case in each scenario, with random participation and strategy in each round. This is to say, I would wonder whether this game is indeed finite and normal form, or at least I'd suspect the dominant strategy does not come from playing it as one.
writing documentation is even better, only have to explain something once.
> In some U.S. cities, there are local laws requiring acceptance of cash by all businesses.

What’s a good example?
No problem! It's a weird question to ask. A lot of companies just hire a project manager and let them work it out. There seems like there should be a better way, or at least some partial alternatives. I'm hoping to find some answers.
Yes, if it gets that far without being settled or dismissed in some other way. One defense to defamation is to claim that the statements are actually true (or substantially true). If the case ends up turning on a factual disagreement over whether the statements are true, both parties can ask for discovery of evidence that would help shed light on that.
Christ almighty, that sounds more similar to one of those inane "team building" exercises that they make you do on corporate retreats rather than actual work.
>Are you really that careless with your privacy and your basic freedoms to the point that you make your choices based on the ~battery life~ of your computing device?

Not OP, but yes. In a laptop, battery life is the number one thing I'm looking for. That being said, Linux does fine when it comes to battery life in my experience.
This is reductio ad absurdum. I don't need my boss to be an intimate partner.
> So it appears that you are the one that is missing something.

They were asking what library support was missing for that person's use case (which your question answers, but I think the snark is based on a misunderstanding).
For me it was a surprise that "Ukraine has temporarily banned conventional ham transmissions". It sounds like sacrifice more bans to the god of bans, isn't it?
Stream S3, Zip, CSV, Postgres with Elixir
Can someone tl;dr this for me and others? Thanks in advance!
Yeah I wanted to finally understand QM better so I needed to understand how basic wavefunctions are actually solved for. After this playlist, I can't solve for simple potentials myself, but I can follow along with proofs much better now and my intuition is building
To me this is more a reflection of Chinese society. China has always been a highly centralized place (i.e. its name is "middle kingdom") where internal control is prioritized. The media/application space is a reflection of that. If you look at other countries like India or Brazil that are early in their internet adoption, you see a much more diverse writing ecosystem.
The author doesn't connect with one of the most harmful characteristics of corruption: the way it spreads, like rust, or dry rot.

If your boss is a crook, then he's not going to mind if you're crooked too. In fact he'd prefer it - he won't want goody two-shoes as his subordinate, and having the dirt on you will enable him to control you. And so on, down the stack of turtles. A clean policeman in a corrupt department, refusing to take the payola, runs the risk of getting no backup when he's in trouble.

Author notes that corruption in an army results in the hollowing-out of that army - equipment, men and supplies that are recorded on the books are fictional. But entire societies get hollowed-out; this is why corruption ought to be stomped on early and hard.

Unfortunately, a fish starts rotting at the head. Who's to do the stomping, if the chief is a crook?
C++ is really struggling with whether or not to break their ABI. But their "identity" is clear enough - much like C, they want to support their existing code, while still opening up support for newer features if possible. Rust could actually benefit from cribbing a few things that are now getting defined in C++, such as their support for heterogenous executors.
The solution for that is easy: don't buy the absolute-latest-generation of any hardware.

I've owned Samsung laptops, HP laptops, Thinkpads. I've built my own work desktops. I've never had any issues, as long as the hardware is ~6 months out on the market.

That's about the time it takes for linux devs to catch up with companies that focus on windows drivers.
> Then it's time to let people go.

Sounds nice until it's your bonus tied to revenues or people start nominating your mini-empire to shrink headcount.
The 64-bit ARM ISA has allowed since the beginning the use of the high byte as a pointer tag.

Now Intel and AMD are catching up with this feature. Unfortunately they went separate ways.

This is a trivial feature, which does not have any potential for competitive differentiation.

However, for the users, it is very important for it to be standardized, to behave identically on all systems. It would have been much better if Intel and AMD had discussed this and they had decided on a common specification.

AMD is guiltier about this, because since the beginning of Zen they had only very seldom provided any information in advance about what features will be present in their next generation.

While there are many other policies that are very bad at Intel, at least they have remained the CPU company providing the best documentation for their products and they have always announced any ISA changes with at least one year, if not a few years, in advance. Therefore everybody has known about the proposed Intel Linear Address Masking, while nobody has known how AMD will do it.

The correction to the AMD address masking method is absolutely trivial, just disable the masking gate for the highest address bit, reducing the usable pointer tag from 7 bits to 6 bits, but maintaining compatibility with the existing operating systems.

This small change can be made in 5 minutes by the AMD CPU design team and it does not require any change in the existing mask layout.

At least one year has passed since Intel published their better version. Supposing that AMD has implemented their masking version in Zen 4, but they have kept this secret, I am pretty certain that 1 year ago AMD did not have their final mask set for Zen 4 and there have been some revisions since then. So there have certainly been opportunities when this could have been corrected without absolutely any cost for AMD.

It appears that nobody at AMD has realized that breaking software compatibility with their address masking variant is not good.
You're conflating the people who commit the corrupt acts with the people who pay for the corrupt acts. Corrupt acts typically require some sort of payment, enough payment that it's worth the risk, so it would need to be significant relative to the salary. The poorer you are, the cheaper it is to get you to do a corrupt act. The wealthier you are in comparison, the cheaper it is (relative) to get someone to do a corrupt act.

But to your point, it takes two to tango, the person paying for the corruption and the person carrying out the corruption. I think the OP's point is the wealthy are the ones paying for it and asking for the deeds to be done.

Having said that, there are other types of corruption like CYA coverups we see in the news from police departments and justice systems. The Breonna Taylor grand jury result comes to mind.

https://en.wikipedia.org/wiki/Killing_of_Breonna_Taylor
I like to pay attention to three basic features of evolving information systems. Variability, propagation speed, and durability.

Here we see a disparity between propagation speed and durability. A tightly controlled, push based, curated feed can dramatically increase propagation speed.

There's little to no effort in discovery, you get fed what's new instantaneously, and can just as easily continue the propagation chain via in-app shares. But as the author notes none of the mechanisms for durability are in place (outside of the company servers). The information may propagate quickly but it "dies" rapidly.

This is, sadly, a feature. Or at least a mechanism of artificial scarcity that aids the business goal of gaining and retaining users. With Snapchat this was explicit and open, but if you can get the addictive potential of information FOMO without having to make a guarantee about things being actually deleted, then why wouldn't you?
The Tilera [1] processors were a recent embodiment of the Transputer. (comedy option: the TIS-100 [2])

Modern GPU architectures are very much their own thing. They have more in common with Vector machines in how the ALUs are organized, but the macro control flow is more like Dataflow architectures.

[1] https://en.wikipedia.org/wiki/TILEPro64
[2] https://en.wikipedia.org/wiki/TIS-100
Either we steal someone's bank account or run them over which would we prefer? Neither.. health and safety were the last things considered here.
Surely if it's not informed consent then it's not authorised access to your computer. Unauthorised computer access is illegal in USA (CFAA) and UK (CMA), at least.

If it in anyway restricts bandwidth or causes other harms, eg uses up the last of your HDD space causing an issue, then that's an additional crime according to UK law.

These laws shouldn't just be applied to individuals.
Krebs was taken for a ride by his "source" who it appears was a disgruntled employee, causing the damage.

To clarify the phrasing, the disgruntled employee caused the damage to Ubiquiti. He was the one who "hacked" Ubiquiti (actually he misused his credentials), was the "whistleblower" that fed Krebs information of his own "hack", and tried to blackmail Ubiquiti. All while he was a Ubiquiti employee... assigned to investigate the "hack."

Ref:

https://thenextweb.com/news/ubiquiti-ex-employee-hacker-whis...

https://www.securityweek.com/former-employee-accused-being-b...
Title is incredibly misleading and should be corrected.

They are suing for defamation because Krebs failed to retract anything after more information was revealed.
I'm not sure why a company needs to work in a certain way just because some people don't like to work in that way. It is like saying a java shop needs to use c# as well just because some people are more comfortable with c#. No. They don't. It is just fine for developers that want to write in c# to find a company that is invested in a culture around doing c#.

This isn't just true with programming. If you like to do things solo, then don't become an airline pilot since they always work in pairs. There are plenty of other places you can work as a solo pilot. Airline pilots work in pairs because, for that type of work, there are advantages to doing so. If a company wants to "go all in" on pair or mob programming, there may be very good reasons for doing so and trying to have a split culture doesn't always work.
In your example, the objects are all the same size. That would certainly be easy.

If you have three local objects that are 8 bytes, 16 bytes, and 32 bytes… if you do a single 48 byte allocation on the TLAB, how can the GC possibly know that there are three distinct objects, when it comes time to collect the garbage? I can think of a few ways to kind of make it work in a single buffer, but they would all require more than the 48 bytes that the objects themselves need. Separate TLAB arenas per size class seem like the best approach, but it would still require three allocations because each object is a different size.

I understand you’re some researcher related to Truffle… this is just the first I’m hearing of multiple object allocation being done in a single block with GC expected to do something useful.
Interesting .. We just spent a long weekend in a very popular seaside resort in the North and found that many shops were not accepting cash at all (fear of Covid living on plastic banknotes I guess), but many more were only accepting cash due to the exorbitant card fees now being levied by card companies. It'll be interesting to see how this pans out...
> If you try to keep government small, you don't end up removing power and corruption. You just move them to other entities.

This notion is not lost on those who are arguing the Federal government should be smaller.
> But Russia’s debacle in Ukraine underscores the fact that democracy’s guarantee that leaders are regularly replaced is actually the system’s most important advantage. It turns out that our power to throw the bums out could end up saving not just the West, but the world.

That's not necessarily a "superpower" exclusive to democracy. You can get it with a competitive oligarchy as well (e.g. I'm thinking of pre-Xi China). It's also one that any system can lose (e.g. the democracy elects a strong, ruthless leader who abolishes it).
They are 100% at the mercy of SpaceX accepting their payloads. If SpaceX decides to create an in-house competitor, they are purely and simply screwed. And SpaceX will create an in-house competitor if Impulse Space is profitable.

So they are also betting on either anti-monopoly legislation being set-up (SpaceX is a monopoly because no other launcher can match their pricing), or that a SpaceX competitor emerges (which could easily be a decade out).