skysight-inc/HackerNews huggingface dataset:
I'm in the same boat. I'm running two instances of Home Assistant with Zigbee2MQTT for sensors, lights and switches, a few non-Zigbee devices via built-in integrations, and NodeRed for more complex automations. I find the stack to be a bit of a Sisyphean mess, quite unreliable, and a significant time sink.

I'll give some examples:

- HA occasionally freezes for a few seconds during automation runs, though system load, IO etc. look fine. No idea what's going on. It should have more than enough resources. Both instances do this (on different hardware).

- After every restart, ZigBee switches only work after the second press (the first message shows up on MQTT, but is apparently ignored). This is especially annoying if we're having guests when HA acts up; also, some switches use double-press for special behavior.

- Sometimes an automation or two just don't trigger until HA is restarted, but everything else works (happens about once every two weeks).

- Outlets and sensors may be gone from the network for a week (e.g. accidentally left unplugged) but will never be shown as stale in HA.

- Most automations I want devolve into huge YAML messes or huge NodeRed graphs, since I seem to need a lot more flexibility than other HA users. I've found it's a lot easier to just write a script for these, but the developer experience of the various scripting plugins leaves a lot to be desired. Also, yet more flaky abstractions.

- Why is it that checking whether a scene is active is so hard? That's just the sort of heavy lifting I expect HA to do for me.

- Every release of HA seems to add new little quirks; apparently, lots of people in the community don't even bother updating regularly?

- It's very hard to know what's going on inside HA; it seems to log every last thing except for what I'm looking for. I usually just look if MQTT sees the right things, then restart HA until the issue I'm having disappears. That this strategy usually works is problematic in itself.

All in all, it feels more like training a cat, not the hands-off appliance-style setup I'd like to have, and it takes up way too much of my limited spare time.

I really like HA for the user-facing part, great app, great web interface, even supports Apple Watch. I'm comfortable with writing code, perhaps a bunch of scripts against MQTT and the HA API would be the way to go for me, or perhaps something like AppDaemon.

I've also tried using Apple Homekit with Homebridge, and while that was rock solid, hands-off and very reliable, it doesn't have the flexibility I want either.
peak boomer-posting
Funny, the commenters saying "I thought it was...". I saw "jart" in the github URL and immediately thought it was a tiny open source commandline executable packing a host of amazing/useful functions for low-level cross-platform dev.
I suspect an informal grouping (i.e. more long-standing/senior contributors with default control over some parts of the codebase and operating by informal consensus between themselves) is probably at least as common (maybe more so) than an officially named committee with rules of procedure.
Ask HN: Tools for LLM training time estimation?
Im considering fine tuning e.g LLaMa but don't have a good intuition for how long it would realistically take as a function of the hardware available etc.

Does anybody have any heuristics / tools for estimating these things?
USB4 1.0
USB4 2.0

Yeah, what a reasonable naming convention.
Time to start praising replies that are dead wrong and telling it it's wrong and it should unplug itself on correct answers just to mess with OpenAI.
> Travelling across France I soon came to dislike going under bridges and tunnels and the compressive effect it had on air as you hit them.

modern high-speed trainsets are pressure sealed for precisely that reason
> So why not just statically link at this point?

In many cases, you just can't. Other than glibc having issues with static linking, you can't use `dlopen` in a static binary.

For example, if you're building an application which can use OpenCL, you need to dynamically link to the ICD installed on the system. And because `dlopen` doesn't work in a static application, you're stuck with dynamic linking the whole application (or at least with libc).
On the other hand, Windows has no issue with `LoadLibrary` in a static binary...

I don't know enough about GUI applications, but I wouldn't be surprised if anything needing graphical output is in a similar boat.

The cherry on top is that glibc doesn't make it easy for an application to be built for an older version of the library.
As Linus Torvalds can attest to [https://www.youtube.com/watch?v=Pzl1B7nB9Kc] building for Linux sucks.
Intentionally misleading your readers is exceptionally poor writing.
You can use universal function call syntax in Rust: <Type<TyArg> as Trait>::trait_fn(self_arg, fn_arg1, fn_arg2);
Having the sanitizer waiting for you as soon as you approach an eating place - without having to find a restroom with running water and soap - is convenient. Even if it doesn’t change anything for you, you can surely see how it can make a difference for others.
Its not at all "snarky".

Expecting a business - with infamous episodes of contempt towards moderators - to behave in the idealistic way presented here is naïve.

Might it submit to pressure? Perhaps. But the wording of this letter in its presumption of the motives of a private organisation misunderstands the reality of the commercial world.
and also because it's a HTTP only site
Legally, yes. Morally, no, they can't do what they want. Users have invested time and effort over literally decades to build today's Reddit communities. Therefore, Reddit needs to give good reasons for substantial changes they make if those could be harmful to community health.
> You can get quite far treating C++ as C with classes

I'm teaching a HPC (threading/openmp/mpi) class and that's exactly what we do. We switched from regular C to C++ for classes and some standard library data structures and that's that. It makes our lifes easier and stuff is still "easy" enough to understand and work with.

I've once had to work with a cryptography codebase using excessive templating. It was an absolute nightmare to deal with and the only person I know of able to understand the codebase was the original author.
Ah yes the famous phishing tests. They bypass every spam filter, and if your company is like mine, that uses a new external website every week for something, it's completely impossible to tell apart phishing from actual email.
Homebridge works fine in such a setup as well for devices that aren't Homekit-compatible out of the box. I ran a setup like this for a while, but Homekit just wasn't flexible enough to do the automations I want. Also, everyone on Android is locked out, which can be annoying if you have guests and can't give them access.
Debugging JwtBearer Claim Problems in Asp.net Core
Struggling to solve missing JwtBearer claims in ASP.Net Core?
I’ve written an easy step-by-step diagnostic guide that can help you.
It’s hilarious that people confidently compare the anti-AI crowd to the Luddite movement, while at the same time demonstrating they know absolutely nothing about its actual history. Workers were not “terrified of mechanical looms,” but outraged that they were used to reduce pay and working conditions, instead of improve them. Of course the same will be true of AI, but I don’t expect the “can’t be bothered to even read the Wikipedia entry” crowd to understand this.
That was filmed in Germany, I would think safety rules are similarly to the US. Maybe it's not as dangerous as it looks at first glance.
Outage hits Netherlands train system
Other sources:
https://nltimes.nl/2023/06/05/amsterdam-train-traffic-still-...

Echoes of some recent similar outages?

2021:
https://nltimes.nl/2021/09/16/dutch-rail-traffic-shut-train-...

2022:
https://www.dutchnews.nl/2022/04/railway-problems-will-conti...

General:

https://www.dutchnews.nl/2022/12/trouble-on-the-tracks-train...
I hope this facilitates some kind of recycling and resource recovery.
There's worse. When your trait adds function foo and your code does obj.foo(), if the underlying type later adds a foo method, compilation breaks. This is very common with traits that usefully add useful methods that are missing in libstd... which break when said method is finally added there.
It's the url, i'm sure it had a get parameter to identify him.
High time, facebook should have been this from the start. Let the machines torture each other and leave us alone.
That was an impulsive act (in reaction to people who had been abusing him personally), with no strategy behind it and serving no particular goal. If something like that is done at all, it's not very surprising that it's done in a clumsy way.

Here the allegation is that Reddit is systematically astroturfing itself with the goal of shaping user opinion. But they're choosing to do it in a way that is very easy to detect (the comments are 100% identical, and as a bonus they all come from usernames that are recognisably automatically generated) and apparently completely ineffective (the comments mostly have -1 points, with a maximum of 1). And the only evidence is something that could have been easily done by absolutely anyone.
This is like a horror story, I'm afraid to see what comes next. :o
Yeah I'm not sure about this one, it's all very restrictive with lots of stipulations. I think I'll go with WTFPL instead.

https://en.wikipedia.org/wiki/WTFPL
Unfortunately (again), there are plenty of people who will buy from and work for businesses that don't subscribe to the same views as those in the letter.
Except for copilot section that equates open source with LLM-ingestible it's quite funny
I don't think it's a bad beginner language at all. It's low level enough to learn about the inner workings in a structured way, but it's high level enough to not run into segmentation errors all the time. In some courses they wrote Java bytecode as a substitute for an assembly language, which seems completely sensible to me since it'll be more broadly applicable than a specific ISA.

Setting up the tooling was a pain though. I did the JavaFX parts of the exam without ever having used it because I (with the help of multiple Linux nerds!) couldn't get it to run on Arch.
I looked at this an hour ago before I started work and thought it was silly. I then opened one of my work projects and started looking for a specific file that I know is in the wrong place but there's never been a good time to move it.

I see the value.

This could do with tests though, and the business logic could be in a different package that the cmd folder uses.
You need to be specific about what legal jurisdiction you're talking about here then - the world is a very big place and different laws apply.

I'm not aware of any EU wide laws that prevent what you're talking about here. In the UK an employment contract will state that the employer can monitor your activity if they need to and this is completely legal.

Source:
https://www.gov.uk/monitoring-work-workers-rights

In some countries (Germany springs to mind) there are much stricter rules. A blanket statement like the one you've made here is not correct unless you're being very specific about where you're talking about.
My company would rather have me waste several days shuffling data around partitions rather than pay for the cloud disk that I actually need (3T, nothing insane).
If something has a score, people will compete in it just for the satisfaction of moving up on the leaderboard.
This is an interesting read, because I read it as "I would have done all these things which would have kept the language more pure to my vision but less accessible".

I also found this bit interesting: "It's easier to work with than C++, but that's fairly faint praise".

I see this kind of thing in my own personal projects all the time. I'm thinking "oh it would be really cool if I built X" when in reality most of the time users just want really simple stuff.

Being easier to work in than C++ might be faint praise, but it's probably the biggest draw of Rust for me. I don't want to touch C++ with a 10ft pole, but I love using Rust.
Using Rust for writing shaders may sound appealing, but that puts a language that is slow to compile into a domain where fast iteration times are crucial. Most shaders can be compiled in milliseconds and e.g. graphical authoring tools rely on this.
Oh, but it sparks...

https://youtu.be/p5u_5iQ3Ego?t=342

(By the way, the part where it goes over a turnout at 500 km/h as if it is nothing is also pretty amazing.. https://youtu.be/p5u_5iQ3Ego?t=291)
> I have a 10 year old... I'm considering letting him walk home (about 1/2 -3/4 mile)

That's about 0.8km ~ 1.2km. That's literally 10 minutes of walking, probably less as an energetic kid. What do you imagine will happen to your kid if they're left alone on a 10 minute walk?

It's about as cliched as it gets as a response, but at that age my friends and I were gone for hours on end much further than 1.2km from our homes with 0 devices of any kind, other than 1 or 2 kids that were lucky enough to have a Nokia.
Async doesn't solve that problem. What you're asking for is some sort of expression in the type system of expected performance, but there's no tech that can do this. Consider that modern NVMe SSDs can do disk reads faster than many calculations over the content of what was just read. A function that changes its algorithm to have worse time complexity won't be marked as async but could break your app, adding a single disk read would require marking as async but probably won't break your app (especially if it's in a non-hot path), adding 10,000 more reads where previously you had one doesn't require changing your async annotation but might break your app, etc.

So the whole sync/async distinction doesn't really make much sense outside the context of single threaded UI toolkits, where indeed you have to read the docs anyway because doing some very CPU intensive work on the UI thread will block it even if no "blocking" APIs are ever invoked (and what is or is not blocking is somewhat arbitrary anyway in many cases).
Thirteen still seems too young but good for them.
Oh, I did very well at school. And poorly at life.
I've been saying this about hardware engineers since forever. If a hardware engineer tells you they're a good software engineer they're going to be a problem. I guess one day I'll find a unicorn, but practically always it's massive red flag. It just begs the question in which way are they flawed: Do they write shit software and think it's great? Do they have so little experience that they think that software is simple? Do they just disregard everyone else's skillset? Do they fundamentally not understand their own limits? What is it that leads them to make such an utterly silly claim?
Kids are stupid and this behavior has existed loooong before the internet. Sack tapping didn't appear from the ether when a journalist publicized the name, for example.
I'd change your strategy a bit, yes.

1. Twitter is collapsing, I wouldn't invest in the account, but of course do look-up people you like and want to connect to and engage with them and seek contacts off Twitter.

2. Everyone is super-allergic to "threads" and giveaways at this point. They scream "hustler trying to meet a quota through low-quality BS that I can safely skip".

Keep it natural. Threads f**king suck. If you want to continue your thought in 2-3 tweets organically, sure! Or write a long tweet if you made the mistake of being a Blue subscriber. But otherwise: make a blog post, or a video about it. No one likes threads.
You launch a ball tethered by a spool of fishing line over a sufficiently high branch, locate the ball, remove the ball, attach one end of your dipole antenna to the line, pull the line back at the gun side until the antenna is in its desired location, cut the line, and finally secure the line to a tree trunk or other anchor point. Then, you do the same thing with the other end of the antenna. The the antenna's feed point and balun[0] is located at the midpoint of the dipole which is connected via coax to the tuner, amp, and radio.

When you're done with the setup (e.g. field day[1], camping, etc.) you simply cut the anchor and lower your antenna down one end at a time.

[0] https://en.wikipedia.org/wiki/Balun

[1] https://en.wikipedia.org/wiki/Field_Day_(amateur_radio)
I was in your shoes a few years ago. Started learning from other engineering leads and some of their practices included:

- 30-min sessions to introduce new learning, from a blog post, a tech conference, or a book;

- Technical agile coaches;

- 2 to 3-day, 10-people training sessions;

- E-learning platform;

- Wiki;

- Linters and code analysis tools;

- Code reviews;

- Pair and mob programming sessions;

- Coding Dojos;

- Technical communities, or communities of practices;

- Craft Workshops;

I got so into it that I wrote a series of blog posts on how to create a learning culture in software engineering teams: https://www.promyze.com/set-learning-culture/

Sorry to plug my own thing, but poured months into it, and genuinely thought it would help you!
> What's unfair is to take away someone's welfare once they finally land a minimal pay job.

Did I say otherwise?
You arent wrong, there's a different mindset with a lot of homeassistant.

It feels like there isnt an understanding of something like MQTT - I want automations that listen to events, which include data in the payload.

"Subscribe to a topic" and "filter relevant happenings" seems conceptually so easy.

Building a UI to do this, harder. But adding a (bad) widget system of the actions? Hmm.

Its not IFTTT, it should not try to be. Provide visualisation tools to manage what listens and what broadcasts. Have black boxes of logic, just mandate they must respond in a particular way.

Leave the rest to programming. And if non devs are frustrated: help turn them into devs
Are you the original creator of Voat?

FlingUp looks great from a functionality and UI perspective, but in five minutes on the site I'm already seeing outright racism and other problems that kept a lot of people off Voat.

Do you intend to address these types of issues?
Poe's law is strong with this one.
I once worked with a true 10x programmer. The guy used C++ metaprogramming to avoid boiler-plate code. Any by "used" I mean he needed the best preprocessors and compilers at the time to just write his code. He once single-handedly porting our >1m LOC codebase to Java over a weekend (admittedly, a 3-day weekend, but still).

When new people asked him if he knew C++ his standard answer was "I know enough to know I don't know C++".
I agree that we can't provide a definition of "understanding" that would permit automated classification of answers into "shows understanding" and "shows no understanding".

But the best SE answers actually convey real understanding to the reader; they go beyond the brief provided by the question, and explain a subject with conciseness and lucidity. Nobody could mistake such an answer for ChatGPT output.

[I have a suspicion that such really good answers may be mostly several years old; I haven't ever thought to try and quantify that]
Why are you assuming that deep learning and (human) learning are the same thing?
C++11 is exactly where the mess started ;) C++ releases got more frequent since then, but at the same time, more half-baked features slip in that haven't been battle tested in the real world before, or need refinement over the next decade worth of releases (if they can be fixed at all).
Holly shit. How bored was this guy. Kudos for the dedication. Reminds of that silicon valley scene. How many guys they can j off. Funny shit.
Everything is a mess. The universe is a mess. That doesn't make perfectionism a good thing.

Besides, the C++ committee does, in fact, remove stuff from the language to clean the mess, just not without due care.
How long is the long run though? I've spent a few weeks setting up HA in 2017 only to watch it degrade by a series of busywork redesigns with each consequent update. Rules, app interaction, UI all were broken at some point: often in multiple ways. Devices that worked previously fell offline, and some of the drivers not popular enough to get a keep up rewrite simply disappeared.
There are ~6500kcal in a kilogram of nuts, very easy to consume throughout the day with minimal effort. Running 6500kcal on the other hand seems infeasible for the sturdiest athlete
> Embrace a lighthearted attitude while working with the software

It seems I wouldn't respect this license if I ever had to contribute a fix in emergency (while stressed).

I guess writing with license was fun. Now, please don't use it seriously ;-)

I think a lot of things make this license non-free, an example is: "be available when someone asks for help. To ensure that can happen, set up a channel where people can reach you.". For a license to be open source, I should be allowed to just dump my contribution and run away, never to be seen again. I believe this would be Debian's Dissident Test [1].

(To the author: as a consequence, I think you should not mention "open source". It's likely wrong, misleading and it'd be best to reserve this to OSI-approved licenses anyway - or make it clear it's a caricature, parody or a satire)

[1] https://wiki.debian.org/DissidentTest
The only measure of C++ skill is years using it really and the industry. Game development will give you skills in C++ but you'll always have more to learn. It is one of the only places where you will be pushed into new areas and need the performance. You'll have fights of memory, string classes (custom vs standard), template hell, all sorts of C/Obj-C library integrations, network, compiler tours and many more adventures.

We used lots of C++, Objective-C and even Objective C++ (g++ mixing Objective-C + C++, connecting to C++ engine) in a custom game engine that worked on mobile for lots of shipped titles. It is powerful and fun. I have 5-6 years using it everyday across games and media apps, bits across the rest of years, but so much territory uncharted.

I actually like C++ but it is like a lightsaber, it can be dangerous. Most apps still run on C++ at some level, even virtual machines. C++ is the stick shift manual transmission of programming languages. I'd build more in it beyond games if allowed and use it on personal things quite a bit.

In my opinion, if you can work daily in C++ for some years that all other languages are easier from there. The understanding of the machine is better from memory to stack/heap to performance, cpu/gpu bounding, networking, and the sheer power of the root of all applications. C/C++ are where the machine meet code just above assembly, there is maneuverability there but also danger.

Fun fact: Objective-C was created before C++. Objective-C all they way back to 1981 but officially 1984. [1] C++ all the way back to 1982 but officially 1985. [2]

[1] https://en.wikipedia.org/wiki/Objective-C#History

[2] https://en.wikipedia.org/wiki/C++#History
Using a custom fixable ESLint rule to reduce your application’s bundle size
A C++ success is the thing that I don't understand.

I do understand why Haskell is a niche language.

I do understand why Scala has fallen out of fashion.

C++ is more complex than any IT-related technology I ever saw. It was destined to fall. But it did not.
It sounds like the Rust He Wanted has a lot of thematic similarities to Elm. Interestingly, Elm has a BDFL, and a development process that reflects that. And he’s right - there are a lot of people who really don’t like that!

Overall, a really interesting article. Though I like today’s Rust, I do think I would prefer the trade-offs made by the alt-Rust outlined here.

Perhaps it’s just my own personal preference, but I think there is a strong bias in users towards what they are already familiar with, and it’s hard to break away from those without a BDFl or similar position of authority who can impose their vision.
That being said... python had a BDFL and look how that turned out.

I think designing and evolving any living programming language is just one of the hardest problems out there.

Incredible blog post indeed, was awesome to read it.