skysight-inc/HackerNews huggingface dataset:
An interesting idea very well argued. I think the distinction between weak-link and strong-link problems is an important one. But there are two aspects where I’m not convinced:

1. Some parts of science actually are weak-link problems. For example, if you base your study on the conclusions of five published results and just one of them turns out to be fraudulent, then you’re screwed.

2. The reason that we often end up with weak-link culture and policy when strong-link ditto would be better is not a misdiagnosis of the problem, it’s that weak-link culture and policies benefit the great majority. Most people are (by definition) mediocre, and they benefit greatly from policies that obstruct the positive outliers, because they can’t compete with them without such policies. It’s sad, but it’s a part of human nature to try and set rules that benefits oneself.
> "The reason you mainly want branchless code is for security reasons where a timing sidechannel could reveal information."

Erm, that likely depends on the industry you're in?

In HPC, branchless algorithms are often needed to use wide architectures (SIMD / GPUs) to their full capacity...
correct, hotels/accommodations are another sector that is run mostly through students and minijobbers.
Mathematical Visualizations by Prof Mark McClure
came across this poking around the internet when looking for some math JS animations. A goldmine!
An object is a schema, though.

A map is... Whatever you put in it.
I more relevant benchmark would be against TensorRT, the current kind of model serving performance on NVIDIA GPUs.
Great ad though, Apple's always had it
Roddenberry Archive – Walk around the bridges of each Enterprise
I built an ice cream pail drum machine interface as a kid using cheap piezoelectric speakers (in reverse to generate a signal). This was amplified and brought into a micro-controller to generate a MIDI signal for the drum machine. It actually worked pretty well.
Visual Studio is not going anywhere for Windows developers, or console game developers for that matter.

Even for .NET, what VS4Mac and VSCode can do is a tiny subset of VS capabilities for .NET development.

Naturally you can argue that anything MS, or game consoles are dead-end tech.
My kid in the future probably will want to have a conversation with a machine that sounds and talks like a character from a book or school lesson.

ChatGPT has gotten us there in writing, and the AI generated vocals are already really close. Unless apple acquires OpenAI, Siri is doomed.
scihub has it
Branchless algos (especially in the case where there truly are no explicit or implicit branches) is just as useful for performance purposes as it is for security. Having a branchless algo at hand is like being halfway to data-level parallelism either through SIMD or GPU.
I have glued BLE beacons onto my trash cans in the backyard and written a Python program for a Raspberry Pi that uses its Bluetooth interface to detect the beacons and keep track of whether they are present or not. It also downloads the trash collection calendar from the local utility provider responsible for collecting them and produces an overview over all four types of trash cans with info on their whereabouts (in the backyard or next to the street, based on whether the beacons are visible or not) and number of days until they are collected. If collection is imminent (tomorrow) and the location is still "the backyard", a big flashing warning is shown, requesting whoever reads it to move the trash can to the street so it can be collected.

The Python program produces a regularly updated XML document, which references some XSLT so that when it's loaded in a browser it'll render a nice HTML page with styling and images and stuff. The Raspberry Pi serves that over an HTTP server in the local WiFi, and in the kitchen there's an old Amazon Fire 7 tablet stuck to the wall where a Kiosk browser keeps that page on fullscreen display and regularly updated. The tablet also has all sleep modes deactivated so it is on all the time.

This way we never forget to move out the trash for collection, which we did regularly before I had this solution in place (built it about 5 or 6 years ago). It's horrible in a family of four if the trash is overflowing just because you forgot to move the trash cans to the street so they can be picked up.

2 years ago the solution (called "Internet of Trash") was extended by a little Bluetooth label printer located next to the tablet in the kitchen and some UI on the web page allowing to quickly print sticky labels with two lines of text, usually used to label boxes with food leftovers and pre-cooked ingredients (such as sauces for example) with what's in the box and the date when it was cooked. The UI has easy quick-choice buttons for the common food items we usually have and the last few days for the second line, but also allows free-form entry. It relays all input via the Raspberry Pi which sends it over Bluetooth to the printer. The labels help us immensely to keep track of leftovers stored in the fridge or the freezer - not just to know the exact type of food in the boxes, but also to determine when stuff has to be thrown away or which to use first when multiple boxes contain the same food ingredient.
[OP] on the flip side, did you know 2022 was the year of Linux on the desktop! https://justingarrison.com/blog/year-of-linux-desktop/
Something I've recently worked on is building an SQLite database of all the dependencies my organisation uses, which makes it possible to write our own queries and reports. The tool is all Open Source (https://dmd.tanna.dev) and has a CLI as well as the SQLite data.

Ive used it to look for software that's out of date (via https://endoflife.date), to find vulnerablilities (via https://osv.dev) and get license information (via https://deps.dev)

It's been hugely useful for us understanding use of internal and external dependencies, and I wish I'd built it earlier in my career so I could've had it for other companies I've worked at!
Looking Ahead to 2024: Mitigating Election Mis- and Disinformation
Reducing rectivism with for-profit prisons. Society can agree that's a good goal, but the prisons make more profit the more people are in prisons. People in prison don't have to paid minimum wage and have fewer constitutional rights and would rather work sewing clothes for a corporation or whatever than be assigned worse jobs. Having more for-profit prisons just drives down wages and reduces costs and does nothing for recidivism because the incentives just aren't there. Anywhere the incentives just aren't there, more competion isn't going to help things and may make things worse.
Yes, it is much easier to use than Direct2D.
It's one of those products that makes me think: "Do the eng directors in charge of it even use this thing??"
Not a senior EE, but equally unimpressed.

The thing about LLM is that it answers based on data it has seen before. So if enough posts on stackoverflow in 2021 claimed mps340 is the best CPU for beginners, that's what the AI will recommend.

There are 3 problems with this: it can and will be gamed, it is usually more conservative and not on the bleeding edge, and finally you can't ask questions you did't know you needed to ask so feature products built by random dude using chatgpt will have reliablity and safety issues.
is the word "blog" used differently today ? (excuse my ignorance, I'm so old that I don't get what you guys are talking about)
All it takes is one good engineer and he can build anything. The difficult part is to get people to use it.
[OP] Did I say the fediverse would fail in the article? I tried to not imply that in any way. But Mastodon is the largest fediverse network and I don't see it scaling or accommodating the general public.
(Rust’s grammar is technically not context free but the part that’s context sensitive is rarely used and even more rarely at a depth greater than one, so you’re right in spirit but I feel the need to be a bit pedantic about it for fairness’ sake)
Tailscale's Taildrop
Trusting the C++ compiler to emit a specific instruction for guaranteed performance - cute, but not realistic.
This comment was completely incongruous with my previous Brave experiences, so I went ahead and did a fresh install on a clean system.

* The wallet is enabled by default.

* The new tab page shows crypto ads by default. I couldn't figure out how to opt-out of these despite a couple of minutes in the "customize dashboard" menu. I know the option exists, but it's well-hidden.

* The BAT rewards icon is enabled by default, as well as the new tab card, as well as injected tip buttons on Github, Reddit, and Twitter.

* BAT rewards itself is not enabled by default, but there are no less than 3 distinct notifications asking me to enable it.

* Brave news is not enabled, but again there are multiple requests to enable it hidden throughout various menus. It's also not clear how Brave news interacts with Brave rewards. If I only enable news, do I still get the in-feed ads without the reward sharing, or is the news feed ad-free, or will only certain ad channels be shown?

So no, the crypto stuff is not opt-in. It's mostly opt-out with the BAT rewards program specifically being opt-in.
The largest models like GPT4 have the interesting property to really, really finish what you started. If you start with flaws of any kind, it will continue to produce them. The inverse is true as well.

This is an actual thing[1] and it’s something larger models are actually worse (better?) at. They score higher and higher on the loss function (did I predict correctly), but their utility (does it work) goes down.

Just thought it was noteworthy.

[1] https://arxiv.org/abs/2102.03896
"It has been eye-opening to realize how powerfully my thinking is shaped by prior assumptions. My trust in textbook teachings blinded me to data that were right there in front of us. As time went on, our confidence in our data grew to the point that we eventually trusted it more than the prevailing neuroscience doctrine."

Science advances one gravestone at a time...
That's a good question; thank you for asking.

Historically, with a church established with the state, the Church was in charge of the behavioral health of their subjects. The state could make temporal laws and punish people for crimes in various ways, but the thoughts and ideas of citizens was controlled by the Church, and if citizens acted against Church teachings, this was a danger to the stability of the state. Heretics were basically traitors, in other words, and heresy needed to be dealt with, in order to preserve domestic tranquility. In the best of times, the Church held the State's best interests closely, and good churchgoers were also good citizens. Of course, this could also be a love-hate relationship.

Due to widespread distestablishmentarianism, the States are still in charge of crime and punishment and they have prisons for criminals, but they were somewhat unable to deal with heretics and wrongthink. People of mental defect, lunatics, and the criminally insane are also dangerous to domestic tranquility, and so, having lost the relationship to its Behavioral Health provider, the State has established a new religion to supplant it.

When psychiatric drugs were new, they were heralded and celebrated as a release from chains: they are indeed a method of restraint that is viewed as "more humane" because they are invisible and chemical. But this is all they are: a newfound method of restraint and control. They are not intended to cure or treat diseases, just make the people's behavior more manageable.

The Church of Psychiatry is authorized to imprison those whose behavior is not manageable. So, outward actions that are not... illegal... or subject to criminal prosecution, are still subject to scrutiny and control by the psychiatric priesthood. The power of the State is vested in them to drug, imprison, sterilize, and euthanize, just as it was in the before times.

We have always been at war with Eastasia.
A Bluetooth dongle for my standing desk that lets me control it from my Mac. I kept bumping the wired remote with my chair when it was mounted under the table and since it had a fat Cat5 cable, it was too ugly to have on the table.

So I hooked the remote up to an oscilloscope, figured out the signals it uses and used a nRF52 dev kit plus a small custom PCB shield to be able to control it over BLE. A small toolbar utility for the Mac and it’s more convenient than it’s ever been.
Nubank is one thing, but for Netflix, just like for any big company 10000 DB technologies are probably in use at the same time.

And 9996 of them are used for stuff like the internal HR DB or other minor projects.
Closed source proprietary software is not "the beauty of open source".
Yes, anything that helps improving the safety of C code is welcomed, it isn't going away anytime soon.
cmov doesn't go through the branch predictor, and AFAIK it even loads both operands unconditionally every time before checking the condition. I see no reason to consider it a branch, and have never heard anybody else categorize it as one.
I chuckled when reading about the "turn WiFi off so that the Chrome dino appears" method:

- https://news.ycombinator.com/item?id=34123025

- https://news.ycombinator.com/item?id=19119141
> The reason you mainly want branchless code is for security reasons

That just isn’t true.
Yes. You need spend a lot more time thinking about each line of a math proof than you do about each line of code you write, and you need to develop skills and techniques for catching and correcting errors.

Your ability to catch errors tends to be closely linked to the amount of time you've spent working in a particular area - because you build up a mental suite of test cases to check every claim against. One mistake I see occasionally is jumping into a brand new area of math and moving just as quickly as you would in the old area where you had more expertise, making huge blunders every step of the way. When you enter a new area, you have to go really excruciatingly slowly as you build up the intuition and suite of examples.

Almost every math paper contains an error or two - they are usually easy for an expert to fix (the equivalent of leaving out a semicolon at the end of a line in C++, takes only a moment to fix if you have familiarity with the language - but incredibly frustrating to a user who doesn't know how to make the easy fix).
At the time of Knuth, 100 programmers were lining up to wait for their turn to run a short program on a mainframe. Now, a programmer can start 100 machines by changing a number in a script. The ratio of programmer time cost : machine time cost changed dramatically.
I made a robot location tracking system specifically for use on the carpet at my office.

The carpet was an arrangement of 4 particular colors tiled in squares, so I manually made a carpet map (a few hours in excel!), wrote a carpet color classifier to run from under-robot camera data, then integrated with a particle filter for location tracking. Write up is here:

https://github.com/tim-fan/carpet_localisation/wiki/Carpet-L...

I wrote it only ever expecting usage in this particular office, but if anyone has a similar carpet and a robot that needs localizing, please reach out!
Don't what?
Built some systems, simulations, universes, automata or whatever you'd like to call them.

https://github.com/churchofthought/HexagonalComplexAutomata

https://github.com/churchofthought/ScatterLife

Was working on a new one based off of Gerard Hooft's beable theory, a superdeterminism of sorts.

But then WebGL 2.0 Beta got replaced by WebGPU. So it doesn't run anymore:
https://github.com/churchofthought/Grautamaton

But here is a video of it used for a non-abelian sandpile system, when Google Chrome Beta could run it:

https://photos.app.goo.gl/NE1XU1tcdKS4ySLa9

and the resultant "cooled" equilibrium universe: https://photos.app.goo.gl/dn5jpUW9y3JMrxJi6
I don't think it is the instruction that makes the difference. Cmov is a branch either way.

Branches can be unpredictable and slow, no matter what instructions, (or tables, or whatever) are used to introduce the branch at question.

It is predictable nature of branching in this algo that makes the difference. Which makes me wonder...

EDIT: the cmov vs explicit branching story is a bit more complicated than just branch vs no branch.
> You're kind of making my point for me.

No I’m not. Your point was that 3D games weren’t 3D. I was saying you’re argument isn’t honest to how the term “3D” is intended in the gaming industry and cited other examples of how you’ve misunderstood that term.

> Personally I put the line at it being possible for things to be in front or behind other things (rendering appropriately, and relevant to the game mechanics). So this excludes games that were 2d game play with hard coded 3d assets, but does include "2.5d" games.

The point of 2.5D is that the game has 3D-like visuals but the gameplay actually only happens in 2 axis. It’s to make the distinction you’re trying to express except does so in a much more elegant way.

And 3D rendered assets in a 2D game is still 2D (eg Donkey Kong Country on the SNES)
I have quite a number of fond memories of how we hid pokemon blue and gameboy emulators on every machine in our school's computer lab (from around 1999-2003).

We were also the kids who were the most into computers at the time, and eventually the teacher realised that if they were on our side, they could use us to help teach the other kids basic computer skills (office, etc), by using games as the incentive.

If you can't beat them, have them join you...

Edit: We have reached max depth it seems, so I will just update stating that I suppose the change in the scene is quite drastic. Back when I was in school, maybe 5% of the class were computer literate. I felt like a god in that place, being able to help the "smart" students do basic things like creating an email address.

The fact that the teacher doesn't see this as an opportunity is what surprises me. If the work is so boring that kids would rather play games, then use gamification to exploit this behaviour.
cmov (i.e. conditional move) doesn't branch. By branch here, we mean "at point at which the successor program counter value might be one of two locations." It's true that this _does_ have security implications, however this is frequently used as a term of art by performance engineers (see https://www.youtube.com/watch?v=g-WPhYREFjk for example).

> And it doesn't really matter whether a branch can be well predicted.

I'm not so sure this is true. See https://lemire.me/blog/2019/10/15/mispredicted-branches-can-... as an example.

A properly predicted branch can be _faster_ than a cmov instruction, however the important point is avoiding the branch mispredict. The fact that we're using cmov is beside the point. We could achieve a similar effect by performing a subtraction and doing bitwise arithmetic to extract the sign bit (which, in effect, performs a comparison).
I have a bunch of these. They are my favorite things to make. I've been making things like this for a long time but I only recently started to appreciate them after discovering this article. https://www.robinsloan.com/notes/home-cooked-app/

- I have a disability and require daily personal care so I made a system for recruiting and hiring caregivers. (https://blakewatson.com/journal/a-home-cooked-app-for-hiring...)

- I need to track those caregivers' hours so I can make sure timesheets are accurate, and I wanted to do it with minimal effort. So I created a plain text syntax readable by a web app I created that takes that syntax and outputs exactly what should go on the timesheets.

- Sometimes the government agency that runs the program doesn't send me enough timesheets, so I created a "forgery" of their timesheets in CSS where all of the values are interchangeable via JavaScript. Now I can print any timesheet for any one of my caregivers for any time period on demand.

- I made my own web-based bookmarking tool to replace my Pinboard account. It automatically sends every bookmark to the Wayback Machine. (I wrote about that one and a couple of others https://blakewatson.com/journal/the-joys-of-home-cooked-apps...)

- Sadly I'm no longer able to use this one because of decreasing strength, but I once created a custom mobile-based keyboard for typing on my Mac. https://www.youtube.com/watch?v=Pre6EQGIuKY

- I wanted to be able to share my plain text notes so I made a CLI for selectively publishing notes to the web.

Really most everything I make outside of my day job is for me/family initially, but a lot of it I end up publishing. For example my main side project is A Fine Start (https://afinestart.me/). It actually started as an assistive technology just for me—typing is difficult so I wanted a new tab page with just clickable text links. I used it for a while myself before eventually turning it into a browser extension and service for other people.
Introducing the Wolfram ChatGPT Plugin Kit
>Even keeping it all in cash in a checking account has risk.

Besides the obvious FDIC 250k limit, can you clarify this? I don't see how leaving
the money alone would have any risk.
You’re talking as if there is an anccepted standard English pronunciation of Bach. The only one I know is the German one which I would use when speaking English. Perhaps I would soften the ending.
As a mathematician, my advice to you is to build up some theory around this problem class. I find it entirely plausible that you can reduce 3sat to it. I'd encourage you to look for a reduction from 2XSAT to 3sat. Find some problems that are well-expressed in the language of 2XSAT. You might find something worthy of publication. From there you'll want to shop your results around at conferences. You may drum up some interest in your work, or even a collaborator. Just don't act confident that you've cracked a keystone problem in the field. You think you're on the right path, and that's exciting, but we've all been there and we've all met dozens of novices who were utterly convinced of their incorrect solution to this problem. It's a huge red flag that you're a waste of time.

As a grad student, I got perhaps hundreds of "dear professor" emails claiming proof of everything from squaring the circle to the BSD conjecture. Reflexively running from anybody making such claims is a necessary survival skill. Math is a field where the bullshit asymmetry principle[1] is particularly stark. Finding a flaw in a proof can take vastly more effort than is spent concocting it.

[1] https://en.m.wikipedia.org/wiki/Brandolini%27s_law
OK... so you have no solution then. Maybe sit down an let someone else try to fix this mess.
I like the high level ideas and goals. I still have to get my head around the syntax and how it works in practice but will definitely keep an eye on this!
If you're doing any kind of science, recording provenance for your inputs should be table stakes. Bad science isn't about hiding or obscuring the origin of the data, it's about being sloppy, incompetent, or even flat out willfully misinterpreting the results.

We have names for what looks like science but is done without documenting - let alone outright falsifying - where the data came from. Hoax. Advertising. Propaganda. Parallel construction.

Let's not lump incompetence and malice in the same bucket, please. And if you're unsure of the data provenance, then state that fact.
Yes, GPT is particularly good understanding, even when you misspell things. It would make a good front-end interface to something like Siri. take the human input and make it something that makes sense to the dumb computer.