skysight-inc/HackerNews huggingface dataset:
> Rust is the only modern language on our list with no garbage collection.

Ridiculous. `Rc` exists for one purpose: reference counted data. When all the references are gone, it will be freed. That’s garbage collection by definition.

I already knew this article had dubious judgment when they knocked C++, the daily driver for performance-obsessed game developers, down because of lack of concurrency support though.
I would change it as "You’re Only As Good As Your Moving Average" because things should progress, the best/worst days should count but shouldn't skew who you are, nevertheless interesting read.
> But they’re sure to remember the time when you stepped up, stretched the limits of your abilities, and delivered what seemed impossible at short notice

This seems like yet another thinly veiled attempt to make overwork the new norm.
Solar panel performance: how much does roof orientation and angle matter?
I'm curious if a separate "design review" phase could have helped with your challenges with the team halfway around the world?

I worked at one company where, due to the nature of the business, you really couldn't reasonably expect other teams to do code review in a timely manner. But most inter-team code review challenges had to do with high-level design, interface protocols, stuff like that. And they had to do with tasks that we could usually see coming down the pipe weeks ahead of time. So we developed a culture of just finding a time that worked for everyone to call a meeting with one or two stakeholders from each affected team, in order to hash out those design decisions before starting on the actual implementation work. It would stay pretty high-level - if any concrete work product came out of it, it would be an ADR or two.

We did code review, too, of course. But agreeing on a plan ahead of time greatly reduced the risk of code review turning up problems that led to costly rework.
I get the need to try to put a human face on a technical issue, but, holy mackarel, batman!

'suffer', 'trillion dollar mistake' - cut the hyperbole.

Take the debate about null in the typesystem: Yes, having some information at write/compile time about whether some function may return something in the vein of 'not found' or 'not set' is quite useful. However, `null` as a reference, even though that is exactly what is usually 'said' (the null reference was a billion dollar mistake!), is something different. Typetag based typing systems can have the null reference and nevertheless provide full write-time information about it: "This variable is of a type that isnt tagged 'definitely not null' and you are passing it as an argument in a position where you are required to have this tag'".

It's language design; things are complicated. Pithy maxims such as 'suffer', 'terrible', 'biggest crime since MS-DOS', and astronomic dollar amounts aren't helping.

Can we try to put an end to this hyperbole? This very article shows where it goes: We went from 'billion dollar' mistake to a 'trillion dollar mistake' in the span of 3 paragraphs.

I'm not looking forward to reading a hackernews post about the Vigintillion Euro Mistake in the near future to describe some solution to a complicated aspect of programming that somebody disliked a little bit.
I skimmed so maybe I missed it, but I saw no mention of maintainability as a metric. For me that’s HUGE. Most of a software engineer’s job is maintaining software.
Wanted to add one thing I noticed after I've been on the reviewing side for a while. Add a section in the description of the MR describing how the changes were tested. If this is detailed enough and covers all the edge cases I worry about, sometimes I don't even need to look at the code to be comfortable with approving the change. Conversely, it's frustrating when I get a MR with a blank or generic description without any notes on purpose, approach, how it was tested, etc.
Carpenters are masters at being “good enough”.

I think you overstate speed in carpentry, though: you can’t just backspace or amend a commit to fix your mistakes.

Great carpenters are smooth and purposeful — they can do an entire wall without breaking rhythm with a mistake. That’s where the real speed comes from: ever tried to backspace a joint you built wrong?

That can take days.

I would say that much the same is true of software - it’s more important to be purposeful and accurate than fast, because re-doing work adds a lot of cost.

If you turn in work 1.33 times as fast, but have to do it twice... you actually work 0.66 as fast.
Facts – Not Fear – Will Stop the Pandemic – AIER
I've toyed with this idea too, but for a slightly different purpose.

When junior developers join my team, I find that they're often shy about critiquing anyone else's code because they assume they're the least skilled person, so they couldn't possibly find anything to be improved in anyone else's code.

I've considered sending developers like this a code review and including the note, "And just so you feel comfortable suggesting improvements, I've intentionally left in one mistake (not necessarily a functional bug)."

I've never done it because I worry it comes across as condescending. Like, "Obviously I'm perfect, but to give you something to do, I added a mistake, and now it's your job to go digging around for it."

Instead, I try to reassure junior developers that they should feel comfortable making suggestions and asking questions in the code review, even if they're not finding things that are officially "bugs."
This essentially allows you to infect all (online) machines running Teams in some timespan, because of the wormability, if I understand this correctly. There are 115 million daily active users.

The absurdly low rating by Microsoft is horrendous.
hmm...seems a bit counterproductive trying to build good will by offering a bounty program and promptly nuking said good will with questionable ratings decisions.

Immediate money saved, long term rep damage incurred.
The first crypto currency robo advisor platform
How Payment Transaction Processing Works
They're not the underdog anymore, they're very profitable, they make lukewarm claims for headlines that fall apart under scrutiny (the kind of scrutiny that tech geeks are all about), and in recent history have acted pretty badly towards developers.

All that said, after building a Linux machine for development and general client work, I consider Macs the best option out there. Everything from being able to copy 2FA codes from my phone and pasting on my computer, to colored tags and smart folders in Finder make my work easier. Also, Bluetooth is just a breeze under macOS.
Migrating Subscriptions to Stripe
My anecdotal experience is that in university, the only programming languages I learned where C, C++, and COBOL.

The rest was data structures, algorithms, etc. I've picked up many languages over the years and just applied CS concepts on them.
Who of you with recent, significant successes (pls mention them)—what's your system to stay hyper-productive and focused even on your worst days?
LOL have you ever run Synapse? When I tried it out, it took like an hour on a dedicated NUC back in 2017 or so to join the network and provide connectivity to the main channel for ONE USER, and this was on an i7 with 16GB of RAM!

RUN IT ON A PHONE?! LOL

Maybe it's been heavily optimized since then. I'm sure Arathorn will come out of the woodwork to correct me.
Show HN: Amna - a browser per task
Docker compose is now an open standard, just like Dockerfile, and it's wildly popular still so it's here to stay. Multiple tools besides Docker are starting to implement it (like podman). There is no need to go switching everything to Kubernetes.
It's still vapourware at the moment, you can't even transfer money on it yet and you won't be able to for at least another year.
Using JAX to accelerate our research
> Measuring programming progress by lines of code is like measuring aircraft building progress by weight.

...which is a very misleading comparison. Measuring the build by weight is a rough but not terrible metric, and it applies to cars as well.

It also implies that there's such thing as reaching 100%, which is very wrong for software: most poorly written software uses 10x or 100x SLOC than what is required.
That's got to be fake, though, right?
Product Owner Theses
> Writing Mediocre Architecture Documents

Would you be willing to share this slide deck?

My question in regard to this is how do you write an architectural doc if you're exploring the problem space? If it takes 5h to explore, experiment and find the solution. And it takes 0.5h to write the doc. And 0.5h to make the change after you know the solution and have reverted the experimental/exploratory changes?

At that point is the doc necessary as a precursor to the change. By that I mean, do you send it out for feedback first and wait OR do you send it out/add that as a comment on you PR and push up the final change?

Additionally how do you know you're going to get feedback at all from sending out the doc? In my experience people are always busy with their own work and sending them a big chunk of text...well I wouldn't expect a response quickly compared to a short 1-2 line question
And as you allude to -- AMD wouldn't exist without a license to the x86 ISA from Intel anyway. So all of the major CPU/GPU vendors have some kind of IP licensing in place. The question is now with Apple as a player, how will this shake up the rest of the chip industry. Will we see more cross-licensing or will existing players retreat and hold their IP closer?
Apple: Email lists cannot be used for ad targeting
Yeah, they’ll remember they can abuse you again in the future to cover for poor management.
Europe used UHF channel 36 instead! Memories :)
Quite jaded but not wrong per se.

Usually is a reason they hire consultants and contractors to do say the unpleasant truths. They can be ignored, reframed, bribed to say whatever, and have the luxury of saying ugly things and then fucking off not long after.
>Threadripper is NOT a CPU for gaming.

this is a really unimportant distinction
It is estimated that the M1 is 16-billion transistors on 5nm for a 4-big core + 4-little core + iGPU + neural engine SOC.

The most comparable laptop processor is AMD Renoir: Zen2 8-core + iGPU for 10-billion transistors.

As such, I'd expect a "hypothetical high end" 32-big core Mac to compete against a 64-big core EPYC in terms of #transistors. Would the high end market be interested in a lower core count computer but higher single-thread performance?

I somehow doubt that. Server / workstation loads scale well to many cores: indeed, any computer that actually scales to 32-cores would probably also scale well to 64-cores (or SIMD-compute), and the M1 is only 128-bit wide SIMD.

------------

There's also the issue of the lack of hyperthreading: the Apple M1 does NOT implement SMT in any way what so ever. Those 32-cores would likely only support 32-threads, while the 64-core EPYC supports 128-threads.

I dunno. "Just scaling up" the M1 doesn't seem like it'd be a winner in the high-end market to me. Maybe if the core gained a wider SIMD-width and SMT (2x threads/core), that'd help a lot.
A Powerful Reporter Got Away with Sexual Misconduct for Decades
> If you are a decent human being, you’ll realize the free meal probably comes out of the server’s paycheck so you don’t push for it.

In the US, servers cannot be charged for free meals given out to customers. In some states, they could be charged for food mistakes, only if the mistake was directly their fault due to negligence.

> in my experience, the latter is more effective at getting the best outcome, regardless of who is nominally at fault.

> This is exactly my point. You are using politeness as a manipulative tactic to get your way.

They didn’t say the best outcome for them, they said the best outcome. Being polite and showing basic respect for others generally leads to better outcomes for everyone. You sound like how a robot might look at human interactions, not understand that humans are hardwired to be social animals and social interactions are not a calculated tactic to gain advantage.
>This is CPU-bound code, like multiplying numbers 100 000 times over. This has nothing to do with your typical use case.

I think a lot of people missed this. It's not the usual PHP workload for usual/basic web dev.
Oh, that's interesting. I'd really only want to do that for things that are hard to test automatically. I have 100x more confidence in a test where I can see the source for it and watch it run in CI. But I agree that for exceptional cases where it's hard to write test automation, it's a good idea to explain how the author verified the changes.
Error handling is a fundamental concept that must be tought in every programming course and it is usually neglected.

> Catching exceptions is a bad way to handle errors.

I don't agree. If used properly exceptions are a very elegant way to handle extraordinary conditions and events. Of course we have to ignore the horrible mess Java created with their checked exceptions.

I realized the power of exceptions while I was reading the book UNIX Network Programming by Richard Stevents. I was stuned to see that in some examples most of the code was not implementing the logic, but handling errors. Exceptions would make such implementations very consise and easy to read and comprehend.

> Nowadays there are much better mechanisms of error handling, possible errors should be type-checked at compile-time. Languages that do not use exceptions by default will be ranked higher.

What are they? I don't like the golang aproach each function to return 2 values (result and error code) if this is what the author means.
I wrote nothing. Be warned: setting the transmit frequency below 100 MHz will result in the raspi locking up.

https://github.com/markondej/fm_transmitter
"The deal is binding on all future governments."

A government can always undo the actions of a previous government.
I would have loved to see the data of gas alone compared to the data when gas range is properly vented.
This is a fluff article which might as well be saying "sometimes it rains".

The total output of advice in this article are the last two lines:

> Very few people plan or prepare for what they’ll do and how they’ll act during those times. Those who do might well end up turning their worst day into their best.

My suggestion for not failing miserably when something goes wrong is to manage one's stress levels. A therapist once said to me "everyone has their breaking point". Her suggestion was don't allow others to place or allocate their stresses on you, especially when you may venerable to taking on other's stresses through codependent behaviors.
Like with many things over the last few years something that should have been apolitical has become very politically polarized and partisan

I wish and hope Wikipedia would return to an apolitical non-profit out to disseminate factual information, but sadly I believe that ship has sailed.
imo it's a small group of super genius people who are trying to justify that ability to work at full capacity at all times should be a universal trait among engineers somehow
Residential its harder but an industrial/commercial property could possibly have multiple power inlines, a diesel generator for emergency power, and perhaps solar panels on the roof and batteries. It may have agreement to use power within specific ranges during the day for different prices and supply power back to a power company or neighbouring businesses.

Under those conditions it's always possible to divert power to 'adjust' the perceived power usage.

My point was that block chain doesn't validate anything - a private key will prove that the data (good or bad) is from the specific user, block chain won't validate that its good.
Chrome Extension for IT Recruiters
Dear all,

We are Aurélien and Wassim reaching out from Paris and Geneva!

We have been working together for some time on recruitment issues. In talking to over 400 IT recruiters we realised that one of the biggest problems for them was understanding the skills of developers.

As a result, a chrome extension was developed which explains and analyses a linkedin profile of a software engineer.

We are still in beta, would you be interested in trying it out?

If you are interested, you can test this for free in the following link : https://www.thesourcingmachine.com/

Cheers
A lot of people seem to think 'running under WSL2' is equivalent to 'works on Windows', but they're just not the same thing. That's like saying 'it runs in a VM on my Mac'.
They could do that any time without DoH, as has been done for years. Your true choice is allowing network access or not.
Kind of fatalistic, no? Paraphrasing, "You can't control how you respond when everything goes wrong" and "That's what you're to be judged by". So, now what?
Thank you, my mistake.
> I guess your tow truck drivers are more respectable than ours that cloned police’s pricey “encrypted” radios to get to accidents faster, charged insurecos hundreds for the tow, would add damage to cars and bring them to sketchy repair shops:

In my country the insurance company has a list of approved garages and sets the price. Nobody is going to pay a tow truck for preemtively moving a car, they might arrest them for taking without consent.

If a car really needs a tow for safety purposes, the police will organise that based on their pre-existing contracts and paid for a known price (by the insurance company, or the car owner)

If the car is abandoned the council will eventually shift it and claim the cost back as littering

If the car is safe though it's upto the owner to contact their insurance company and arrange for them to come out and shift it.

Multiple companies racing to the scene sounds like something from the 1800s with fire brigades sabotaging each other.
P&I clubs. Just learned about these a few days ago. Interesting part of the shipping industry I hadn’t heard about.
The pattern of using farmer/women/student/x-liberation groups to approach villagers and promise redistributed land in exchange for insurgency support is basically venture banditry or chartered theft. Wrap it in an ideology and the rest is just sales. Their internsectionalist approach is what establishes a foothold in the community and the radicalism of a converted now-intolerant minority neutralizes opposition and essentially flips the population. The result around the world has predictably been a regional kleptocracy, because that's literally what the plan was from the beginning - to take other peoples stuff instead of producing it.

Hard to defend the CIA, but the cold war was a response to a country that had metastasized from that initial venture bandit play of 1918 by learning the ropes of totalitarianism from Dutch colonies, and then Germany. Suppressing communism failed in China, and that played out as well as expected, with the same metastastacizing producing the dystopia they have today.
microdosing cocaine
I've spent a lot of time contemplating these ideas, as I have a personal interest in building my own friends/family intranet. Some challenges:

* How do you maintain and update software reliably without becoming a part time employee for maintaining your own personal infrastructure?

* How can we handle failure (such as hardware dying of old age) as gracefully as web services do, without the budget and infrastructure of a modern data center?

* If you're interested in detaching from the modern web, you probably care about sophisticated privacy and trust controls. Most easy-to-find open source software is not so sophisticated.

* Plugging into a lot of "modern" systems takes a lot of knowledge, effort, and sometimes money - DNS (dynamic DNS if your ISP won't offer a static IP), TLS, email, text, and push notifications, for example.

* How confident can you ever be about security? Ideally you want access to your service from the internet for trusted persons and devices - but the moment you expose your service outside the LAN, you're up against the world and a single vulnerable service can spell disaster.

* The most straightforward way to detach from the modern web is to yourself become a smaller, centralized service - a private facebook, if you will. But why would anyone want to take the effort of reuploading themselves and their private lives to your personal facebook? You own the data, they don't. If anything, their privacy feels more at risk, because a single person is more likely to fuck up security than the entirety of the facebook organization.

Edit:

Also, I think a large component is that there's "so much internet" in most peoples' lives, that I think many people hardly want more. Who wants another app, another web service, another way of sharing photos or videos or sending text messages?

A large part of the complacency of the modern web is that most people (that I can see) are tired of it, whether or not they realize. There's only so much information that the modern human needs, and I think if you've spent a few years on facebook you probably feel like you need less information, not more.
https://thepihut.com

Dunno about the price of delivery

You can also check if a reseller of rpie for your coutnry has it from the official cite - https://www.raspberrypi.org/products/raspberry-pi-4-model-b/...

Just click buy and choose country.
The more I read, the more disappointed I got (I'm a C++ programmer and fully on board on it's dreadfulness, so the article started well). The idea that Typescript is only successful because it's promoted by a big company is grade-A bollocks.
Solana is centralized - it recently completely froze because a single server was giving faulty data. This weakness has been known about for a long time, e.g. https://twitter.com/el33th4xor/status/1313425180635660288
While the CIA has done a lot of awful things, one should be careful about quoting Chomsky, who talked out of all four sides of his mouth from both of his faces on the subject of the wars in Southeast Asia. Please see: Chomsky Lies: Denial of the Khmer Rouge Holocaust in Cambodia [0].

[0]: https://jim.com/chomsdis.htm
From my understanding that was due to a long-running design philosophy clash between the systemd people thinking Docker should be using systemd primitives to manage things like unit startup/shutdown/etc., and the docker people wanting to use their in-house implementations so as not to depend on systemd (and thus rejecting PRs trying to change docker behavior to use systemd). I don't think it's fair to use that as an example of toxic behavior on either side, they each had their motivations, and a consensus needed to be reached for both projects to proceed. From what I can tell that debate seems to be old news these days and I haven't seen as much clashing between those teams. I am not a developer on either side though, this is just from the perspective of a user who follows the Github issues.
The RCE isn't classed as "Spoofing". The RCE is in a product for which Microsoft don't have any bug bounty product at all (they only run a bug bounty for a very limited number of products, and Microsoft Teams Desktop is not one of them). Hence the RCE falls outside of the classification.

The technicality is still absurd and beyond belief, but I'd say the responsibility for that absurdity falls with company policy, not with the MS security staffer's classification.
Lots of problems with this superficial and cliche-ridden article... but I was particularly irked that Python was dismissed as being dynamically typed, yet Elixir was excused because of Dialyzer - first of all, what about mypy? Second of all, it's not the same thing as actual static typing. I get it - they like Elixir. But feigning objectivity here is extremely irritating (and culminates a pattern throughout the article).

It is fine - or at least only somewhat stupid - to have an arbitrary ranking of programming languages, though things like "no garbage collection is bad" is obviously domain-dependent and the author should be upfront about that. But it's extremely frustrating when people pin objective-seeming criteria on their personal preference with seemingly no hint of irony or self-awareness.