skysight-inc/HackerNews huggingface dataset:
Domain specific fixed function hardware could consume 10-100x less power than a gpu for the same workload. Think video decode or ‘YouTube battery life’ benchmarks but for speech recognition.
When implementing cryptographic primitives, you want to avoid branching on secret values. The reason why is that the CPU's branch predictor will attempt to predict the value that you're branching on, and thus something about the values that you're branching on gets revealed if you can see how long a CPU takes to run a task/perform a function.

This is more than just a theoretical issue. These channel attacks have been demonstrated in practice, even if the victim CPU is running across the internet.
You think of fiber being primarily something you use for its increased bandwidth and speed, so it's wild seeing fiber run to the desk just to be plugged into a thin/zero client. Also... the concept of "bend radius" is foreign and, accordingly, is prohibited from entering. Apparently, those fiber cables aren't actually as fragile as one is led to believe in the commercial world.
How is any of this shady? I understand calling it unnecessary and they should probably remove the crypto parts asap. But shady?
> Those spikes for std::lower_bound are on powers of two, where it is somehow much slower. I looked into it a little bit but can’t come up with an easy explanation

It’s been a long time since I looked into this, if I recall correctly binary search with close to power of 2 sized data is slower because of some interaction with the caches which causes the data to constantly have to be reloaded from memory.
The census is a great example. If a person is at a location, such as vacation home, when the census counts them, the census counts them as at the location that they sleep at the most. You don't stop being a part of a household just because you're spending the weekend at your cabin.

Even if your 10 person household has 11 homes, 1 primary home where everyone sleeps 183 days a year and 10 vacation homes where each sleeps the other 182 days a year, that would still be counted as a 10 person household by the census.

And both those linked definition make clear the basic point that you are still apparently failing to grasp. The referrent of "household" is the people who share their primary residence, not the residence itself.
Ported X11 to iOS

https://maxleiter.com/blog/X11
Clubhouse used — and I believe still uses — Agora (https://www.agora.io/) for the audio parts. I'd love to know how much it costs them.
In the books especially, they talk about going "up" into the cheaper, lower-gravity areas, or "down" to the docks, where outsiders and tourists were more likely to be. The books also have more to say about cladding around Ceres and Eros so that they wouldn't fly apart when spun, and Tycho Station's part in engineering that.
He was referring to Google assistant.

But I can second his point of view from a Siri user standpoint. I use it almost every day for two insignificant task, but yet it work and I use it everyday:

- Shutting down the remaining alarm clocks (I'm really not a morning person)

- Setting up timer when I cook

At some point I also used it to control smart lights but I haven't set up the system again in my new flat. And I'm seriously considering reverting to a purely physical and traditional light-switch interface instead of relying on IoT. (Take ages to set up right, rarely changing setup afterwards, waiting for updates to switch light on, flashlight mode when electronic become damaged, etc).
In a perfect world, proprietary software doesn't exist, so there's no reason why you'd want to run it.
Some manages to migrate or adapt. Many won’t. Either because there’s nowhere to migrate to, or because there’s no path there available. In the end, we will lose a lot of biodiversity.
I wonder if somehow someday Microsoft Windows can be rerooted as something like wine running in user space of a rust os like https://github.com/theseus-os/Theseus
Chef’s kiss on the title, but I’m afraid I’m not modeling ambiguity well enough myself to disambiguate it correctly.
you can say 'hey google' instead.
Thank you for writing this out. I had to get an Oculus for work during Covid (I regret it to this day I knew I would only use it once). I didn't have a kids to deal with but this really sums up why I never turned it on. So much hassle factor, and just thinking about a login screen in VR makes me want to throw it on the ground.

I don't understand how the PMs at Meta didn't realize any of this
To me it's more or less: if you move countries with an intent to stay, then you're an immigrant. Otherwise, you're an expat. Of course an expat my become an immigrant if they decide to take roots in a place.
You pay the agency a one off fee for the recruitment (I think it was GBP6000), and the nanny is your employee, so they keep their entire wages.

The nanny also pays a yearly membership fee to them, but I don’t think it’s very large.
Ah, browser extensions and user scripts are so great for improving websites.

Most of my current user scripts:

• Hold z to make a currently-playing audio or video go at 4× (the fastest you can go before Firefox cuts off the audio).

• Auto-admit in Google Meet (wish they’d implement this themselves). There were a couple of browser extensions to do that, but I looked at their source and was appalled at how badly and/or stupidly they implemented it, and so wrote this, which is better (… so long as you use English—one of them supported I think it was Japanese as well) and more efficient: new MutationObserver(() => { document.querySelector("[aria-modal='true'][aria-label*='join'] [data-mdc-dialog-action='accept']")?.click(); }).observe(document.body, { childList: true, subtree: true });

• Retitle a few web apps that have consistently useless document titles, by pulling in actual document contents. I gave this to my sister, who regularly has hundreds of VicFlora tabs open, which used to be all titled “VicFlora”; last year they fixed that but got the endianness wrong, “VicFlora – ‹Page title›”, so I fixed that to “‹Page title› – VicFlora” so you can actually see the useful part in the tab bar. (Document titles should be little-endian.)

• Find <video autoplay> and turn on controls (since I have autoplay blocked—incidentally, this is something disabling autoplay should probably automatically do, at least until you start the video).

• Kill aos-* animations on pages, which stupidly tend to make the page invisible until their JavaScript loads. (This is important for me because I disable JavaScript, but those “fade in when the page loads or as you scroll” animations are really annoying even when they work, killing them makes things better.)

• Fix Cloudflare “[email protected]” stupidity without having to run the page’s arbitrary JavaScript. (Basically: take their deobfuscator script and just run it myself if it gets used. Only people that deliberately block JavaScript are likely to have seen this, but it’s quite common. The filter they use is evidently very dumb, obfuscating quite a few things that are not email addresses, including things like “package-name@1.2.3” (not even valid—IP address hosts have to be in square brackets, and DNS doesn’t use numeric TLDs) and “user@host” in console logs.)

• Put the current weather into the favicon on weather.bom.gov.au (… except that they this shut down last month for no obvious reason, with no equivalent replacement unless you run Google Android 6+ or iOS, which I don’t on any device, let alone my laptop; so I’m stuck with just their old site which completely lacks a lot of the information this other thing had exposed, and is served over HTTP only but their server accepts HTTPS connections in order to 307 redirect to a different path on http: scheme as well in order to say “we don’t support HTTPS”, which interacts horribly with “HTTPS Only” mode (because even when you add an exception for the duration of the session, you lose the path part of the URL), and is the only site I’ve ever encountered doing such a stupid thing, and in all this they have never responded to my enquiries like they claim they will).
When it fails you in German, do you switch to English?

I don’t even attempt to talk to assistants in my native language because I know they’ll fuck it up. I just go straight to English.
Which algorithms are trivial and which are non-trivial? Is sorting trivial? base64-encoding? Can you provide a set of small scripts that you expect GPT-4 to be unable to correctly simulate execution of?

It is weird that you seem to agree that it is capable of performing algorithmic simulation, while discounting that with "but it’s not executing the code; it’s generating what seems like plausible output", in a way that seems suspiciously close to defining anything it simulates correctly as "trivial", and anything it would fail at as "executing the code"...
How does this setup cope with multiple microphone? ie potentially overlapping ones.

If I toggle a light I wouldn’t want it to execute the command twice haha
Have you tried "Hey Google"? One less syllable.
I'm all for supporting OSS, but the author having a tip button with "recommended" tips of 20 $ and 1,000 $ for people and business respectively is so laughable it took away from an otherwise good blog posts. Commercialisation of OSS 2.0 should be discouraged to this extend
Reminds me of https://tsuru.io/ :)
It's not really "embarrassing". It's just old tech that was created in 2003 when the most common platform was Athlon XP CPUs, and that was okay-ish for its time, and it may take time to migrate current dataset.
Yes! Also creating seven layers of interfaces or class hierarchies is not "abstraction". It's just a bad idea.
The problem isn't the actual music you perform. You're not going to violate copyright on someone else's performance for the same reasons Warhol is safe. The problem is the songwriting part, the sequence of notes. And there's no real visual equivalent to that.
At least at the school my kids go to, the staff is basically not allowed to discipline students for minor infractions.

There were kids leaving trash out after lunch, and one of the staff had the worst offenders pick up trash before leaving the lunch room. This practice was banned because it was "degrading."

That's just the most recent story, there are dozens others like it.

More on topic, we got a letter from the teacher that my son was playing games. I said "why not just take the Chromebook away when that happens?"

The response: oh we can't do that.
Sure, it doesn't change the PC. But it can introduce a branch indirectly, I.e. when there is a jump to an address MOVed by cmov.

Either way, it seems that the wisdom has change since the last time I wrote and read assembly. Cmov used to be slow. It seems that the current answer is "it depends".
Haha, I also built exactly this!

I had mine integrated with Home Assistant and got notifications via a telegram integration.

I also had mine setup so me or my room-mate in our apartment telegram group could register new codes, or generate single-use codes.

I also considered building it into a paid app, but came to the same conclusion :-)
I wanted to give it a try, so I went to sign-up with Github but the process failed. So then I signed-out of Github and tried to login again but Flux loaded someone else's profile! Had to de-authorize Flux from my Github.
So your complaints seem to come down to 2 icons, and a what's shown on the new tab page. To disable icons, right click on them and select hide. To change what new tab pages show search for "new tab page shows" in the settings and change it to your homepage, or a blank page - as preferred.

Most people referring to the "crypto stuff" are talking about that program where you get an ad every once in a while and get some crypto for viewing it. I'm certainly not a fan of it, and would not use (let alone recommend) Brave, if it was imposed.
This whole reply thread looks astroturfed.
I could be wrong, but to me this is like a government demanding that trade secrets are revealed.
If people are worried about open AI, they already have the option not to use it.
I would say that having methods like ‘and_then_if_finally()’ or ‘then_unwrap_or_none_and_map()’ (I’m barely exaggerating) is less of a feature than say, json parsing and hashing / crypto, which are sorely missing.

Tokio provides a bit more features, but is a damn huge runtime to depend on, and is creating fragmentation.

I feel rust needs to be taken out of the hands of former c++ devs / language theorists and put straight under responsibility of library design experts (rip off go’s stdlib for gods sake!)
The Google Home on my kitchen counter hears very poorly if I talk behind it instead of in front of it.
Well it's clearly better to use non-ambiguous keyword to solve that. Like my scene name equivalent to "watch a movie in the dark" was called "cinema". Another was called "sunset" for instance.
Most "useful" thing I've lego'd together from parts was RSS feed of TV show torrents and multi-threaded torrent library that would then push the shows into Plex server and send a notification to my phone, but none of this was actually created by me. I was just integrating ready made software. Although this has been dismantled for years now ever since I started earning money and was able to pay for the streaming services.

Most "created" thing was a fishing bot for a MMORPG that used computer vision to navigate the interface and detect when you had caught a fish and reel it in.
Hey wanted to say I love the styling on your blog!
You'd be amazed at how much experienced programmers fret about local "optimisations" that are actually made irrelevant by the compiler and just serve to make the code harder to understand. And with incomprehensible code comes actual errors, not just slowness.
No one really checks out old commits though. And any employee who cares about anything open source being “bad” isn’t worth working for.
I know, I am a decent scuba diver. Any of those activities is not something you do 24/7/365. Even underwater it takes more time to die than on Mars (where it's instant as soon as the airlock fails).
Since thus far all solutions proposed have been technological or taking devices away, I would suggest "parenting". Talk to your child and convince them. Them "having access" is not the problem (they will have that everywhere). It is how they overuse that access and here is where a parent should do their job instead of trying to hide the problem by removing access.
At work we have a perk where we can expense $x,000 a year for assorted benefits such as gym memberships, public transit tickets etc. The pain point is that you need to submit receipts for them to reimburse you, which doesn't take too long, but is a pain if you forget.

I made a small service which aggregates receipts from assorted sources (usually webpages, pdfs), takes a screenshot of them, parses the information out, and uploads them automatically for reimbursement.
Author of a framework that also stores it's code in IPFS for easy sharing (https://github.com/yazz/yazz). ScrapScript is a really nice concept with how it stores code. I originally got the idea for storing the code as a hash of the contents from Unison, and it looks like the idea is really starting to catch on with more and more languages now. Well done!
Detect garage door opened or closed using ordinary magnetic sensor.

Browser extensions that I use everyday.

Emacs packages that I use everyday.
Wasn't the loading time getting worse with time as items where added to the master item list too? I.e. initial testing was ok?
Have you tried KiCad? There are some interesting courses on Udemy about using it for PCB design.
- Desktop app for creating a static blogs. Electron and React: https://www.project-daily.com

- Instagram-like, private photo feed, where my partner and me can share pictures of our kids with relatives and friends. Posting works via e-mail, cron job generates the feed html. Imagemagick output multiple image formats, supports iOS live photos too. The feed isn't paginated, but with lazy loading the images it's still very performant.

- Most recently and still ongoing: A recipe clean-up tool. Removes all the gunk and fluff from online recipes. Shows just the ingredients and instructions. Also understands units and quantities, so unit conversion is up next. Here it is: https://pretty-recip.es/recipe?recipe-url=https%3A%2F%2Fwww....
Eh, I've seen enough agenda-driven material when it comes to climate change. What's next, smoking is not as bad as previously thought? Where's the value in that?
Many fentanyl deaths are more like accidental poisonings than the heroin overdoses we used to see years ago. Mexican drug cartels are manufacturing counterfeit prescription drugs such as Xanax and replacing the active ingredient with fentanyl. They have bad quality control and sometimes the dosage is way too high. People get what they think is a sleeping pill or something relatively harmless from a friend and it kills them.

https://peterattiamd.com/anthonyhipolito/

We should absolutely address the housing crisis, but I'm skeptical whether that would do much to prevent fentanyl poisoning. It's not just homeless people who are dying.
> The error rate at speech recognition seems to have gone up over the years.

Input recognition quality falling all over the place - it's very much noticeable with their onscreen keyboards as well. Some "intelligent" mechanisms know better which button I tried to tap and I'm getting gibberish even with auto-correct off. It's the same on iPhone and Watch.

Apple has already forced me to re-learn keyboards once - with the MacBook Pro 2017 fiasco when I had to start carrying external keyboard with my "mobile" laptop. Haven't bought a MacBook since.
The main problem with branches in an algorithm like this is that they create a dependency, where not only do the future instructions depend on the possibly-mispredicted outcome of the previous instruction and need to get thrown out, but you may have started executing the wrong instructions.

A cmov doesn't affect the instruction pointer, so that 'executing the wrong instructions' condition is gone, but it still affects the output of all following instructions if they depend on the register it modifies. So you still have to worry about pipelined work being thrown away on a mispredict.

IMO, cmov was far more valuable back when it was new, because branches were more expensive then. IIRC it was added to x86 in something like the MMX or SSE1 era, so a very long time ago for very different processor architectures. It's still a useful instruction category to have, if only because it lets you produce smaller code (and smaller code is usually faster), but I expect the value is less significant than it used to be.

Incidentally I am curious whether Linus's position on cmov back in 2007 is one he still holds today, and whether his assertions hold up on a modern Intel or AMD CPU. https://yarchive.net/comp/linux/cmov.html

I think the branchless search in this blog post is faster simply because the inner loop is much smaller. The observation that it sometimes does extra comparisons explains why it is slower for an expensive comparison operator, because the advantage of the smaller loop is gone. I don't think it being "branchless" is terribly important in comparison. You could try to fudge an experiment to prove this by inserting extra instructions, but they would need to be ones that decode into actual executed uops, and you'd need to decide whether they should have dependencies or not.

In the bad old days when I got promoted to the programming team at a job they had me take a test, and one of the tasks was to write a transparent blit routine. The one I wrote was "branchless", but because cmov intrinsics weren't widely available I achieved this by using an array of pointers and selecting the array index based on the result of a comparison, something like:

unsigned char* src_dest[] = { src, dest };
for (...; ...; src_dest[0]++, src_dest[1]++)
*src_dest[1] = *src_dest[*src_dest[0] == transparent_value];

the lead who reviewed the test had to come by and ask me to explain how it worked. Certainly, this was "branchless", even without the presence of cmov, since it was just doing movs based on a 0/1 produced by the comparison. But the actual source of the dependency here is the comparison, not a jmp or a cmov. The loop was faster than a branch on the CPUs of that era but these days it would probably be much slower.
Similarly, my attempt to get my son started on simple HTML was stranded by his school disabling the "developer view" in Chrome. I suspect the simple reason is that seeing the source allowed you to cheat on some of the educational websites the teachers use for assignments.
Alternatively, Datomic wasn't performing up to snuff, and they found it cheaper to buy Cognitect than do a DB migration :D
What might even be the endgame of the CCP and the Kremlin with respect to AI?

This tech is getting increasingly powerful. They don't necessarily want their own population to gain more individual power as they themselves don't want to lose control.
One question. If you reference a package by hash. Is there semantic versioning? Can you get security updates?
Absolutely, creating games is a great learning activity for school. But, if it was blocked, I’m guessing the issue is that most of the kids were just using it as another gaming website—just playing games that had been created by others. But I’ll admit, I only have a general familiarity with Scratch. Perhaps the scenario I’m describing doesn’t make sense/isn’t how Scratch works?
100%. Just claim that documentation and tests are cargo cults, take up previous cpu and memory like it’s 1985, and pretend that your shite, undocumented, unmaintainable, untestable, shift-right code is perfect.

Working with your type sucks. Confidently incorrect all the fucking time.
TOTP would do well here for this case for a really simple path forward - but then having the student login themselves and the request be formally logged and allowed via not-their-computer would offer a bit more scaleability and auditability
Doing bad "science" is not illegal, but maybe should be, considering the replication crisis that is upon us. It diminishes the utility of the work that is being done, and makes it difficult to tell apart actual scientific discoveries from flukes and forgeries.
> And it doesn't really matter whether a branch can be well predicted

I guess we build branch predictors on our CPUs for fun?
And governments of people have the right to outlaw it?
I think space exploration with probes and space telescopes is more interesting. We've been to the moon and have taken back samples, and it was frickin' awesome, but there are cooler things to do now.
I use an Android phone. Pretty much the only thing I use the voice commands for are setting alarms and timers. It works nearly 100% of the time, even in noisy environments.

My wife has an iPhone and it's hilariously bad at this. She needs complete silence and even then it's a coin flip.
Have you succeeded at using quicat to do what this is doing?