skysight-inc/HackerNews huggingface dataset:
Wouldn't it be cool if, Apple being the size it is, just made downloadable PDF manuals of their products?

IBM still does this in their Information Center. My experience was developing for mainframe and midranges, and even if there are hundreds of PDFs, it's really straightforward to find the right manual for the exact product version you need. You can work for weeks without Googling technicalities.

I can't praise enough how clear and well structured their manuals are. For RPG, for example, you have a complete Language Reference[1] to learn the language, and a Programmer's Guide[2] to learn how to use it. They have manuals for everything, there's 5 of them solely for TCP/IP on the IBM i!

[1] https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rza...

[2] https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rza...
Just a word of caution. This has been discussed previously couple of times on HN.

There are some pseudo scientific stuff there but also some interesting points.

Take it with a grain of salt and make your own decision before jumping on any of these bandwagons

For reference:

https://news.ycombinator.com/item?id=5051892

https://news.ycombinator.com/item?id=5946727
I believe Loki [1] is intended to basically run "grep foo" at scale (plus some extra niceties like labels). I haven't used it, but it seems interesting.

[1]: https://grafana.com/loki
please do, I’m not going to throw you in jail or chop of your head
It doesn't install a man page for itself, requires weird-ass fonts, has a fraction of the features of the real ls [0], and runs about half as fast ...

However it's written in our lord and savior RUST and has lots of colors so this shit is definitely "next gen."

0: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ls...
Regarding segfaults, when I was interviewing devs for C++ roles, I'd ask questions about a simple function like this:

std::string foo(bool flag)
{
if (flag)
return "true";
}

Questions I'd ask:
* Is the function well formed (Yes - functions need not return a value on all paths due to C ancestory, even if the return type has a non trivial actor - not sure if this is still considered well formed, but I think it was as least to C++11)
* what happens if 'foo' is called with true? (Returns "true" as one would expect)
* what happens if 'foo' is called with false? (Undefined or implementation defined behavior, but generally nothing nice - segfault, acces violation, etc)

* if it crashes, where, when and why does it crash? (Technically since its undefined, nearly any answer here suffices, if it can be backed up. Since practically, most optimizing compilers assume UB can never happen, when you return nothing from a non-void function, the compiler will attempt to invoke the destructor of a non existent object instance (assuming non POD) and boom.)

I asked this because it was a distilled example of a real world rare crash that was extremely difficult bug to track down because the crash location is often know where near the offending function.

I remember getting into a heated argument with a coworker when I claimed it should have been a compilation error. IIRC, he claimed it to be a halting problem and that the compiler couldn't determine that all paths didnt return a value. I called BS, citing at the time (circa 2004) that the new compiler on the block for C# could reliably emit errors when not all return paths returned a value.

I also like it that in C++, it's a very rare example of a very terse example dealing with a number of topics such as undefined/implementation defined behavior, debugging, compilation settings (warning levels, etc) all in a mere 4 lines of codes. With 4 LOC, which is straight forward and simple for the candidate to mentally parse, I can gleam a lot about their understanding of the language (and it's potential pitfalls).

Sorry if this got a little long winded and ranting.
Journalists looking to (justifiably or unjustifiably) undermine start-up incubators or VC firms easily could care.

You could just as lazily & dismissively say nobody cares about failed taxi drivers, and yet there it is on the front page of the most popular Western newspaper in the world.

If there’s an angle to make it a story, people will care. The angle to make it a story about how start-up programs are basically scams exploiting lottery biases of people not in a life position to sustain that risk is very easy, straightforward & compelling to a wide audience.

And hence it’s probably bad for PG & others if people without safety nets are going bust on failed start-ups.
https://en.wikipedia.org/wiki/Cambridge_Analytica
The version of the Linux kernel used in Android implements a custom IPC mechanism called Binder that userspace services and apps use, which I think (though I could be wrong) is based on some kind of also custom-made shared memory facility.
Some personal favorites, culled by searching my source code for swear words:

NSTitleBarAccessoryViewController lacked documentation from the time it was introduced in macOS 10.10 until recently (perhaps Mojave? That's when I first found it). There was literally nothing except the header file and the announcment in the release notes for the OS. It was also full of bugs that rendered it unusable for my application.

Overriding -scrollWheel: has all kinds of nonsense side-effects. These are only documented in release notes. Scroll wheels in general are way more complex than you'd imagine. If it weren't for Chrome's open source Mac code, it would be a complete mystery. See the investigation here (search for "of mice and men") for what Apple should have documented: https://chromium.googlesource.com/chromium/blink/+/d40e271ac...

Passing a constant buffer to a fragment shader will cause it to be truncated at 64k on some graphics drivers. Not a bug, just an undocumented limitation. Doesn't happen on my computer. That was fun to figure out.

NSMapTable with weak keys and strong value leaks the values, according to an archived document. The main docs say nothing on the topic.

If you'd like to know why an exception was thrown, you have to print the value of the proper CPU register. On x86-64 it's $rax. As far as I know this is an oral tradition, passed down from senior developer to junior developer.

If you want a daemon to survive the user logging out and logging in, you have to use a barely-documented function (bootstrap_parent) which is only mentioned in a now-archived tech note.
The Battelle team, under principal investigator Dr. Gaurav Sharma, aims to develop a minutely invasive interface system that pairs an external transceiver with electromagnetic nanotransducers that are nonsurgically delivered to neurons of interest. The nanotransducers would convert electrical signals from the neurons into magnetic signals that can be recorded and processed by the external transceiver, and vice versa, to enable bidirectional communication.

The Carnegie Mellon University team, under principal investigator Dr. Pulkit Grover, aims to develop a completely noninvasive device that uses an acousto-optical approach to record from the brain and interfering electrical fields to write to specific neurons. The team will use ultrasound waves to guide light into and out of the brain to detect neural activity. The team’s write approach exploits the non-linear response of neurons to electric fields to enable localized stimulation of specific cell types.

The Johns Hopkins University Applied Physics Laboratory team, under principal investigator Dr. David Blodgett, aims to develop a completely noninvasive, coherent optical system for recording from the brain. The system will directly measure optical path-length changes in neural tissue that correlate with neural activity.

The PARC team, under principal investigator Dr. Krishnan Thyagarajan, aims to develop a completely noninvasive acousto-magnetic device for writing to the brain. Their approach pairs ultrasound waves with magnetic fields to generate localized electric currents for neuromodulation. The hybrid approach offers the potential for localized neuromodulation deeper in the brain.

The Rice University team, under principal investigator Dr. Jacob Robinson, aims to develop a minutely invasive, bidirectional system for recording from and writing to the brain. For the recording function, the interface will use diffuse optical tomography to infer neural activity by measuring light scattering in neural tissue. To enable the write function, the team will use a magneto-genetic approach to make neurons sensitive to magnetic fields.

The Teledyne team, under principal investigator Dr. Patrick Connolly, aims to develop a completely noninvasive, integrated device that uses micro optically pumped magnetometers to detect small, localized magnetic fields that correlate with neural activity. The team will use focused ultrasound for writing to neurons.
They're not "being weird about it." It's explicitly not "a Linux distro" because they intend for the kernel to be just another freely interchangeable component (as is mentioned), although I suppose there might be some residual bitterness from their work constantly being called "Linux" or "a Linux distribution" as well.

This isn't unique to Guix System, either. Debian[0] refers to itself as "a free operating system (OS) for your computer" and doesn't even mention the term Linux on its home page, until you go to the about page[1], where it is mentioned (three paragraphs in!) that "Debian systems currently use the Linux kernel or the FreeBSD kernel." The term "distribution" doesn't even appear until the very end, where it is mentioned that "Debian was begun in August 1993 by Ian Murdock, as a new distribution which would be made openly, in the spirit of Linux and GNU."

Maybe, since the term "GNU distribution" is rather unorthodox, Guix System should just market itself as a free operating system, as Debian does.

[0] https://www.debian.org/

[1] https://www.debian.org/intro/about
Or shill.
After switching to a recent Macbook Pro and making sure it's displaying a wider color gamut (the Android image shows up), I compared the sample images - and didn't see the difference at first.

After reading the description, I can see that the colors are a little brighter.

But, now that I can see it, I can't bring myself to care. I'd rather forget about it. This won't make my life any better. It's just a way to sell more expensive hardware, much like audiophile gear.
This might be the sort of thing you're looking for:

https://github.com/agarrharr/awesome-cli-apps
To be fair, ZFS isn't the only game in town. Depending on what you're doing, gluster, ceph, minio, restic/borg/etc. may prove sufficient. I like ZFS, don't get me wrong, but if the goal is bitrot protection there are a number of different tools to solve it at different places in the stack.
Straight Talk > Ting, colloquially.
Don't quit. You have a good title, and your staying current with new tech--Plus you teach. So when you leave, and interview you tweak the time line... no one has to know you also teach during 9-5 hours and not at night and werkends (you go getting grinder you).

Schedule some inteviews, no crime there. Personally I LOVE the interview (but I'm not in tech), I interview at least once a year to stay sharp. I recently interviewed with my current employer for a position I would Never be seriously considered for, but my department director took the time due to my performance reviews.
you can export contacts into Google contacts but you will lose all your imessages
- programming language paradigms

- data storage techniques have evolved but the essentials are still the same
I haven't researched Guix specifically, but if you want a package manager for macOS with these features, Nix definitely supports macOS (Nix is the inspiration for Guix). Even if Guix is supported on macOS, I'm not sure offhand if there's any compelling reason to use Guix over Nix.

As near as I can tell, the only reason Guix even exists is because the authors don't like that Nix has a custom language and prefer Guile Scheme instead.

Nix: https://nixos.org/nix/
> it's senselessly different from the way the rest of the world does things.
Because every way of doing "x" has already been tried and the way we do things _right_ _now_ is hands down the absolute best way right?
Less snarkily, I think experimentation is good - we come up with new approaches and ways of doing things (which could solve any number of previously difficult problems) and helps prevent "monocultural" approaches to things.

> It's another obstacle to new programmers...
Why is it an obstacle rather than just something they learn? You could just as easily argue that the OO approach of wrapping up structure and functionality in a single object is equally "just another obstacle for new programmers".

> in a language that is filled with booby traps for the newbie.

That's a bit of an unfair statement, Rust has a learning curve, but it is certainly not filled with booby traps: it goes to great pains to make things transparent and be upfront about things. C++, JS or PHP are languages that I'd call filled with booby traps for beginners...
>Unfortunately, the Unix terminal is a gigantic pile of hacks accumulated since the late 1960s.

Agreed, and I don't understand why most of the things still done in the Unix terminal have not transitioned to newer, less hacky environments.

I managed to replace the vast majority of the things I was using the terminal for with uses of about 400 lines of Emacs Lisp code that I wrote about 5 years ago.

A large fraction of my uses of the terminal since then have been for the purpose of my getting my Emacs environment and my data files installed on a fresh install of my OS and for recovering from those times when I inadvertently introduced a bug into my Emacs environment that my regression tests did not catch.

The 400 lines of Emacs Lisp code submits a string I typed to bash with the -c flag then asynchronously (i.e., without blocking Emacs's UI) waits for output from the bash process. I also added a way for the user to arrange for a bell to ring when the process finishes. Notably, there is no provision for the user to cause anything to be sent to the process's stdin after the process is started, which allows the 400 lines of code to use a pipe instead of a pty (which is relevant to this comment thread because if OSes didn't need to support the pty abstraction, they could be significantly simpler). In the rare case when I want to send a string to the stdin of some process I use the shell to set things up:

echo "here is the string" | some process

That whole command line becomes one argument to a call to bash. The 400 lines of code I wrote cannot be used to interact with a REPL. E.g., if you use my 400 lines of code to run "python" by itself as a command line, the python process waits for user input, which will never come because there is no way to write to the python process's stdin.

The closest analog in standard Gnu Emacs to the 400 lines I wrote is "shell mode" (shell.el) which consists of about 3 or 4 thousand lines of Emacs Lisp code. My code re-uses shell mode's code for interpreting (ignoring in my case) the escape sequences for ANSI color and for interpreting the escape sequences for "carriage control", but (like shell mode) does not handle the escape sequences for cursor addressing. IIRC the main reason I was dissatisfied with shell mode was that it contains hacky code to keep the bash process's "opinion" on what the current working directory is in sync with the shell mode buffer's "opinion" on what it is. In contrast, in my code, the buffer's "opinion" is the only one that matters (because every command line is processed by a fresh bash process on that bash process inherits its current working directory from the Emacs process when it is created).

If I ever were to start to need to issue a great many command lines on a variety of remote Unix servers, I would probably take the time to write a replacement for ssh along lines similar to what I just described.
And I'm saying I think it's not actually the brain thinking in 3D. I think it's thinking in terms of body position and movement. Which is something that takes place in a 3D space, but isn't actually a generalized 3D comprehension.

One way to check would be to have people reproduce things they know via touch in visual contexts. E.g., can people draw their steering wheel? Given how their tongue knows their teeth, can they do a 3D model of that without looking at references? If we hand people a box where they can put their hand in but can't look, can they model the shape just as well as they could by looking at it?

For me at least, these are very different kinds of knowledge. If I'm, say, feeling around and working on the back of a server I can't see, actually looking at it is a very different experience.
Pentagon to boldly go where no nuclear reactor has gone before. It won’t work
fd is excellent for casual interactive use, i've had a great UX with it and performance feels on par with GNU find.
At that scale, scans wouldn’t cost $550 per hour.

“Because it’s too expensive,” seems like a great opportunity for some clever startup to figure out a way to make it less expensive. Computers used to take up entire rooms. Flying across the country used to be insanely expensive. Cell phones used to cost a ton of money per minute. Reducing the cost of scanning, or developing entirely new scanning tech isn’t science fiction, it’s the future.
They are so cliche. The ones I hear the most are about that time you had a hard time doing X and also that time when you disagreed with someone like your manager or a client and how did you deal with those.
At least they make up for those deficiencies by selling state of the art laptops for well under $5000 if you’re willing to shop carefully and give up a few key features. For example, I only spent $4400 for a laptop that has at least 80% of the keys working most of the time. Fortunately I only had to wait three days to take it in and have the extended service warranty fix rejected.
I love how they go to great lengths to describe and recommend that for Win8 and above you should use Pointer API instead of the "legacy" mouse and touch events, because it'll also handle Pen too. Yet when you actually go to click on WM_POINTER*, they are, just like Apple, in an archived section. Tapping on the "see latest doc" just takes you to the home screen. Yet, WM_LBUTTONDOWN takes you to the latest updated version. Talk about a confusing mess.
Nice! Best of luck with launching.
At least in the bug bounty version there's an incentive for submitters to make their bug sound as scary as possible, which is that more severe bugs generally pay out more money.

So I guess the lesson is, people will adjust their behavior based on their incentives. If you reward people for exaggerating severity, then people will learn to exaggerate severity.
So amped to have you on board.
They're fun demos. And perhaps from the perspective of say mobile, they're kind of reasonable. Rotating your wrist? Waving your arm to press a button? Waving your arm to move a window? Not all that odd when holding a phone.

But from the perspective of laptops/desktops? What comes to my mind is: RSI; slowwwww, but maybe it's the touchpad version of a standing desk?; people use tiling window managers in part because waving a finger to place windows in 2D is already too burdensome.

I've just now failed again to find nice video, but if you've ever seen it, picture a professional artist tooling along on a Cintiq at insane speed. Stylus, and two handed multitouch flying. Zipping through enormous menus. Twitch gesturing through radial menus. Stylus input with pressure and tilt and rotation. Now imagine that interactive area was several centimeters high. And imagine transparent layers of content above the screen (you might sort of get a feel, by moving a semi-transparent window in front of another, and switch between reading one and the other, back and forth). Imagine a 3D visual environment extending below and above the screen. And around it, throughout the room. Now imagine your keyboard does multitouch, and instead of art, that's your code.
When you’re purchasing drugs, how exactly would you know Mexican cartels were involved?
Italy, Germany, Greece, Bulgaria, Yugoslavia and more:

https://en.wikipedia.org/wiki/List_of_former_monarchies#Mode...
The Most Dangerous Possible German
You may want to take a look at No Wall They Can Build for a more vivid picture of the situation.

https://crimethinc.com/books/no-wall-they-can-build
Unfortunately the only way to kill the cartels is to legalize drugs and force them into legal industries that we can regulate. That won't stop cartels completely, but it would take away tremendous revenue sources. That being said, I believe I've read that cartels have diversified so much that they now make more money from avocados and other sources than drugs.
SVT-AV1 0.5 Released as Intel's Speedy AV1 Video Encoder
Bill Gatest reading list for summer
Apparently Canada is looking to start a program where addicts are provided pharmaceutical grade opioids.

That’s progress!
There are not two but three cases for the red logo:

1. You have no color management: you see the logo, but it is desaturated

2. You have a working CMS and standard gamut: no logo

3. You have a working CMS and wide gamut: logo is correct

#1 is true because the image has different values.
#2 maps all the colors to the monitor's gamut and so you can't see anything on a standard display.
Austrian Formula One Legend Niki Lauda Dies Aged 71
- MicroG felt somewhat unmaintained, it took months for my bugfix PR to get merged. Maybe it's better now? idk... Nanodroid's fork was more active at the time, but idk if it's trustworthy or still active.

- Getting SafetyNet to pass on Lineage-MicroG required installing the pirate/ad-remover app Lucky Patcher (which comes with some questionable adware) and using it to patch away APK installation signature checks. Lineage-MicroG's built in spoofing doesn't work.

- Hangouts would crash at launch unless you disabled some https/pinning/etc. I heard it was fixed.
>Paris has an especially exceptional transit system

True but so does the other large European cities I have lived in / visited.
Heck, even the smaller (compared to Paris) French city I studied in has a better public transportation system than SF.

>When you leave your current city, consider another city that once hosted the Olympics recently

That sounds like a good rule of thumb, thanks, I will keep it in mind :)
Although I don't think there is a real cause/effect relation for Paris. The city has had a good public transport system for a very long time. It probably helps that it is a very touristic city, but even non touristic places have a good subway support (although some lines really need to be modernized).

And to be clear, I don't have a pro-Paris bias. Some other cities like Berlin seem to be way more pro-active in the direction of a car free city.
What’s the cost of interprocessor communication versus clearing these caches so aggressively?

I wonder, as cores continue to increase, if another solution will present itself in the form of segregating traffic per processor.
I believe what you say, but also that it's a sample size of 1. Many areas have became much worse, some perhaps many have become 'calmer.' But blaming it all on 'fake news' is not being truthful...
I'm glad the article talks about houses too. Seems like everyone wants a house with one gigantic room on the first floor. No thanks.
Self-representing worker defeats employer's mandatory biometric data collection
Zuckerberg was not under oath dumbass.
> So I'd say it comes from a dichotomy between hereditary wealth and hereditary power

Which is, of course, a false dichotomy, since wealth is power.
>replaces the text with gibberish.

... similar to the outcome of a ransomware attack (gets backed up, archived, overwrites old legit data): brilliant!