skysight-inc/HackerNews huggingface dataset:
There's no magic anywhere and 99.1% of it is documented.

IA-32e/AMD64 is basically an extension of IA-32/x86. What you're looking for is to understand the difference between real mode, 386 protected mode, PAE, paging and long mode because the registers, instructions, addressing and sizes of structures differ.

You can learn all of this by reading the Intel software manuals and digging into it yourself.

Tools you need (for non-Windows):

- gdb/lldb

- assemblers: yasm, nasm, binutils (contains "as")

Optional tools:

- IDA Pro

- Virtualization/emulation such as VMware Fusion/Workstation (because it supports being a gdbserver), VirtualBox or QEMU

- Intel's CPUID app

You also need good references like:

- the Intel manual set (a giant PDF or a collection of several) https://software.intel.com/en-us/articles/intel-sdm

- https://sandpile.org (fairly current)

- https://ref.x86asm.net (outdated by useful)

Another helpful exercise is writing a toy operating system in Rust or only assembly. https://osdev.org has many resources and guides.
I use the Notes app on my phone to do non work-related stuff in my everyday life.

I have everything on there - buying groceries, washing clothes, getting stuff dry cleaned, washing the car. Whatever.

As soon as I get a spare moment, I scan the list (about 20 items) and do a little travelling salesman solution - what can I knock off this list in about 2 hours, and what’s the most efficient route to drive to get all this done?

Usually I manage to knock off a massive chunk of the list which feels great and super productive. I’ve learnt that it feels good to write things on the list so that shortly afterwards I can erase them again.

If you address the items one by one, then you waste a lot of time. The key is run everything asynchronously (put the clothes on wash now, so that I can dry them later. Buy the soap for the car now, but we’ll wash it after we drop off the dry cleaning on the way back from the shop)
Yeah I’m setting this up on Linode’s beta k8s product.

Funny thing is that I know how to do mid-level server admin. Most of that comes from building and maintaining the servers for https://jsonip.com for years. iptables, nginx configs, etc. Building up a new Ubuntu server from scratch isn’t second nature, but I have a run book and enough familiarity that it isn’t hard.

I’ve even worked with Kubernetes a little over the last few years at a couple jobs. Dockerize my app, use some kubectl commands to get it deployed. Luckily I wasn’t responsible for maintaining the infrastructure.

Last night I had this realization. The last company I worked at is now publicly traded and has hundreds of millions of users. When I left they were just starting to experiment with k8s but we weren’t using it in production anywhere. There was an entire devops team working on it for at least a year and it still wasn’t ready for production.

So I realized that I don’t actually need Kubernetes. I’m super small scale and working on this project on my own. They scaled up to be a billion dollar company without it. But then it leaves me in the position of either hacking together my own limited auto scaling infrastructure or struggling through with Kubernetes.

I’m not really sure which direction to move tonight. I have enough personal funds for maybe 6 months to a year and this is just eating up time.

Do I struggle through a few more days trying to get this working with Kubernetes and “do it the right way” or give up and hack together a nodejs app that monitors system performance and auto scales for me as needed?

At least with the “hacky” app I’ll understand at a base level what’s going on. It’ll take the same time to implement, but when problems eventually crop up I’ll know what’s going on and how to fix it. But with Kubernetes I’ll forget most of the details after it’s working and fixing the inevitable issues will mean re-educating myself during a downtime. Neither is great, but it makes me lean towards DIY. And DIY is what systems like Kubernetes were built to purportedly replace.

Help!
Given the background of the blog's author, I wouldn't hold my breath
> Unfortunately there's a lot more too it than that.

Is there though? Consider what I would argue to be the "average" case:

* Your database never exceeds > 40% resource usage

* You service fewer then 1m queries/day

* You never burst more then 1k queries/minute

* You have a script tied to a cronjob that backs up the database, with basic error handling that sends you a Slack DM if it fails

* You have a script tied to a cronjob which deletes old backups, with basic error handling that sends you a Slack DM if it fails

What percentage of companies need more then that?
Every first tier software company pays their interns pro-rated 100k+ or they won't get interns. I worked in a 5 year old "startup"/pre-ipo company in seattle with 200 employees and we paid interns 100k and college grads in their first job over 130k annually (not giving the exact amount to preserve a little anonymity). I'm sure faangs give those people 50k of real-value stock per year at least.
That configuration is the only reason the seller is able to publicly demand such a high price without the universe laughing at him in concert.

To put it in perspective, dating.com sold for 1.75m.
If the retailer cancels your order and refunds you the amount you paid (or releases the authorization hold on your payment card, since most retailers don't charge until the item is shipped), you won't have any damages to show. Price mistakes happen all the time, and I'm not aware of any US court case that penalized a retailer after they issued a refund.
Do either of these tools have a "grep" mode, so that I can alias grep to it and get similar, but improved, behavior? 25 years of habit is a lot of reinforcement to overcome and I'd love to just be able to take advantage of these tools with an alias.

As is I just have a grep wrapping shell script to give it some sane defaults which works fairly well.
This looks like a paper that would be in SIGBOVIK.

http://sigbovik.org/
k8s is interesting because its an enabling technology that also wraps tons of other complexity under its name. The execution model is straightforward enough but the networking model is complex for anyone not already familiar with ipvsadm, iptables, routing, layer 2 systems, overlay networks, proxies, dns, etc. Getting it running is actually easy enough to lull people into a sense of accomplishment. But if something goes wrong most teams wont know how to respond other than by restarting something.

I really hope we can agree on a simpler abstraction where we trade ease of use for less flexibility.
In addition to IDA, I highly recommend looking into ghidra. It's open source, so you can peak under the hood and see how it does things.

https://github.com/NationalSecurityAgency/ghidra
Looks excellent. One thing I'd question is why it should deviate from html / css like it does - why choose corners: 4px over border-radius: 4px?
What he means is simple. Like at least 1 other poster, you seem to have considered the numbers I gave to represent capital investment: invest $100k, make $20k vs. invest $1M, make $50k.

But that's not the scenario at all. The scenario is about sales, not capital investment. The point is that its very unlikely (for retail at least) that you need to invest $X of capital in order to sell $X of merchandise. The question about returns here is not about returns on capital investment, but profit margins on sales.
I've never used SQS but IMO it seems inferior to Kinesis or Kafka. The two big reasons are that you can't have multiple consumers read from a single queue and once data leaves the queue, it's gone forever. Both Kinesis and Kafka let you have multiple consumers and configure a retention period for your messages.
It's not uncommon for the engineers put more effort into the vinyl mix because it's a much harder medium to get right. It's actually vinyl's flaws as a medium that make it sound better in a lot of cases as you can't get away with sloppy mixing as much. Things like the "loudness war" (where the industry demanded engineers increase the overall level at the expense of dynamic range - it's why a lot of recordings from the '90s until about 2005 sound absolutely rubbish) just can't happen to the same extent with vinyl, if they tried that nonsense the needle would literally jump out of the groove. It's also associated with audiophiles these days which is another reason modern vinyl mixes often sound better, the market they're targeting values high quality audio more than the average consumer. If you don't believe me, compare the original CD pressing of Led Zeppelin's Presence with the vinyl. It's honestly night and day.

Obviously this doesn't matter if you're comparing a naff Crosley record player from the supermarket with a naff bluetooth speaker playing 128kbps MP3s. These kind of distinctions don't really matter if your setup isn't great to begin with but it really does make a difference with decent kit. A sound system is only as good as the weakest link in the chain and there's a certain point at which that becomes the storage medium. Overall, a well-mixed lossless file or something like reel-to-reel tape is going to beat vinyl every time in theory but in practice the vinyl mix is often the best.
I’m on mobile and when my finger touches the screen, the page zooms out, and when I let go, it zooms back in—but off center. Anyone else experiencing this?

Edit: It seems this can be fixed by manually zooming out to 85%, but I still don’t know why this is an issue in the first place
I guess the lesson is that you need to find a middle way which is really hard. There is a lot of clarity in extremes but the middle way is pretty fuzzy. Looking back at my own life I would really love being able to try again. It took me decades to find a path that works for me. Some people have that knowledge when they are young but most people need a lot of time and learning to know what they need. Some people never find out
I think you meant the minute hand? The hour hand moves 0.5 degrees per minute. I also think your parent comment meant arc-minutes.
> But is it as fast as running MathJax pages through mathjax-node-page to create static pages which don't need JS at all?

Not sure, I should note that I've only ever used MathJax and KaTeX with the client-side JS rendering option, primarily because it's just faster to hack onto an early prototype.

If you prefer to do server-side rendering to avoid scripts, I imagine that the end user performance is roughly the same, however it is my understanding that MathJax has some advantages here in (a) also supporting MathML and (b) rendering to PNG, SVG, etc, while I believe KaTeX only has one rendering option in fairly CSS/HTML heavy nested sets of HTML elements and an imported web font.

Thereby I could see a potential preference for MathJax (esp. to render just a few PNG/SVG equations into the static site and serve those) but I think for really long documents, pre-rendered KaTeX might still be superior because you only need to load a single web font and the HTML itself instead of numerous copies of the same symbols in hundreds of image files. KaTeX also seems much faster if you do client-side rendering with JS.

Btw, your site has been a big source of inspiration to improve my own (in both design and infrastructure). I liked your post about A/B testing CSS and HTML, and the margin footnotes are really cool.
I'd argue that spending a few weeks learning/absorbing scale degrees and some basic theory will enable you to learn any melody in much shorter time.
The lockdown in Guangdong is real, but it's not the same as the lockdown in Hubei.

Wearing a mask in public is mandatory. Urban villages have been cordoned off and there are checkpoints to move in and out. Gated communities have also been advised to do temperature checks and record movement. All residents who need to return to work next week are being encouraged to register with the local community center to avoid additional ID checks and bottlenecks at the checkpoint.

Unlike in Hubei, public transport is still running. 外卖 (food delivery) and 快递 (courier services) are still active. Many shops and restaurants are closed, but there are slightly more places open this weekend than there were last weekend.

Our version of the lockdown is still oppressive and inconvenient, but it's looser (or more optimized?) now than it was when it was put into place a week ago. There isn't a sense that people are fleeing the city. On the contrary, they are returning from their home provinces.

Source: I live here.
Yes, but at the same time, the best advice that published authors give is to read great authors, because it impacts the feedback loop.
Apropos "[...] for Everything", https://github.com/kisonecat/tikzjax might be of interest. It uses a WebAssembly copy of tex.

Regrettably neither KaTeX nor MathJax support category theory diagrams. And I'd like to try making interactive diagrams, to explore using mouseover supplements to reduce the learner cognitive burden of keeping track of all the moving pieces and their significance. Perhaps they might be combined with a generic js diagram library... but it doesn't look like anyone has bushwacked that path.
I understand, I'm misremembering it then.
People are modeling the disease and thinking it will peak in a few weeks. I wonder how accurate such a model is if you have no idea how many people actually have the disease but have not been counted. The number of clusters of people with the virus are expanding (like the ski chalet in France). Could they create new expansions we aren't able to know yet?
Refactoring Redux into React Hooks
I assume you have enough income from other sources which gives you the freedom.
Derrida is a lot closer to literature than it is to philosophy, including Nietzsche. He’s a charlatan that uses cryptic language to make his writing seem serious and profound. Not unlike Jacques Lacan and Aleister Crowley.
> Nietzsche is one of the most well-known counterexamples. Writing in an intuitive, aphoristic style, he was far from interested in any kind of systematization or formalism.

I mostly agree with Lukacz account[0] that Nietzsche’s philosophy was actually a kind of knowing obfuscation of imperialist violence, dressed up in aphorism to make it all seem somehow heroic.

While he’s not of the analytic strain, his book “The Destruction of Reason” (from which the below is excerpted) is an excellent rebuttal of this kind of irrationalism in continental philosophy, from Nietzsche to Heidegger to Late Wittgenstein (all of which also informed Derrida).

[0] https://www.marxists.org/archive/lukacs/works/destruction-re...
Sure, the point isn't that it isn't possible to have an app created for that price, the point is that at that price you can only create an app that leaves a solid risk of exactly what happened.
I disagree a little. 10 years after you start painting you’re still doing the same thing mechanically: putting paint on the brush on the canvas. But you are in a whole new game.

Too many programmers measure themselves by whether they’re leveling up in the tools they’re using and the kinds of problems they’re solving. In some cases I think they’re deluding themselves. They’re on easy mode, creating a sensation of movement for themselves without ever getting into the hard stuff, which is not glamorous, it’s things like naming and restraint and kindness and caching patterns.

I have kind of spent my whole career learning how to solve the same problems better. It’s still the same DIVs and HTTP requests I was manipulating 20 years ago. But the game I am playing within an organization and within a platform is fundamentally new.

I can see how from the outside it might not look like I have “leveled up” but I think I have leveled up in my methodology.
Enough struggle encourages growth, too much struggle kills.
Yup, same. Had to enable reader view to pursue the article.
I'm a long time KDE user. I recently switched to Gnome. I liked gnome-shell when I first laid eyes on it, even years ago, but Gnome in general is still alien and confusing to me, and I still like a lot of the technical vision of KDE. But now that I've switched, the investments of Canonical and Red Hat in Gnome really make themselves apparent in terms of polish.

What I mainly like about Gnome is that it works very well with Wayland out of the box, and seems to work with Firefox better. The browser is the primary tool, and that experience needs to be perfect. On Gnome, I can even run Firefox natively on Wayland with WebRender without a single noticeable problem.

In Wayland, KDE would forget my screen configuration everytime I reboot or resume from a suspended state. And this bug existed for multiple years, without improvement. And copy-paste on Firefox wouldn't work on Wayland under KDE.

I especially want to use Wayland because with KDE you still can't log into a rootless X environment via SDDM, and I don't want to give up SDDM, nor do I want the reduced security of X running as root.

Gnome works perfectly there. I also like that the Windows/Super key is configured to do what you expect right out of the box. Animations are snappy, and everything feels fast. And unlike plasma, I've never seen it crash.

Using the .pam_environment file to export user environment variables was awkward, and took some digging to figure out. That was new to me, and I don't like it but it doesn't matter too much.

Main problems, however, involve Qt apps... like KeepassXC. Editing entries causes the app to crash, on Gnome under wayland.

Haven't tried VLC yet, but I wouldn't be surprised if I run into issues. I will probably seek alternatives to these. I will try Firefox Lockwise and mpv. Surprising how easy it is to ditch most of these apps, since for me Firefox practically is my desktop. The browser is the main thing I care about, and the shell the second most important. Gnome is the obvious choice for me now.
> I wouldn't want to try to cut plywood or acrylic with a plasma cutter!

In theory (!) plasma cutters require the material being cut to be conductive.
Yes, Oil (https://oilshell.org/) now has nullglob on when you run bin/oil instead of bin/osh.

So you get this:

oil$ find . -name *.jpg
find: missing argument to `-name'

oil$ find . -name '*.jpg'
(works)

Details: I had it on when you set 'shopt -s strict:all', but I neglected to turn it on for 'oil:basic' and 'oil:all'. Those are oil-specific option groups so you don't have to remember all the option names.

But I just fixed that and it will be out with the next Oil release.

https://github.com/oilshell/oil/commit/ddac119254f9a7045dca7...

If anyone wants to add more strictness options to Oil to avoid these types of mistakes, let us know! (e.g. on https://github.com/oilshell/oil, or there's more contact info on the home page).
How do you rotate without changing the inode?
Because unless you're paying for an expensive service, it's uncompressed vs whatever bitrate your streaming service decides to use. It's usually cheaper just to buy the CD (and rip it if you want) if you're after quality.
I really meant a month, but that was good :)
No, you're asking oranges to be bananas. Read the man page or user guide. It's not grep, it's better and already has saner defaults. https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md
Thanks! I've actually been putting some thought into that exact question with a lot of things (i.e. using Markdown-style identifiers for things like Headings [#, ##, ...])

I think what I'll probably do is support both the raw CSS/HTML keywords as well as a subset of more human-readable keywords and presets (my gripe with border-radius is that more often than not when I use border-radius, I don't even have any borders, what I really mean is corner radius)

Another example is box-shadow: I think the syntax for this CSS feature is horrible for people who don't use CSS all the time. I think some presets like `shadow: soft` would be nice in addition, where

shadow: soft |--> box-shadow: 0px 2px 4px rgba(0,0,0,0.1)
You're right. The internet has done nothing for my reading comprehension.
It's also possible it's attached to other parts of reality. Maybe this is thing that happens with great frequency in other parts of the universe/multiverse, even if it may not be what happened here.
I don't use a single text file, but I do keep notes with text files. I created a little bash script to help me do that.

I type 'note' in the terminal and it opens up a new file at ~/notes/$year/$month/$day/note.md in vim in insert mode with a timestamp already inserted for me.

https://github.com/dcchambers/note-keeper

I do kind of like the idea of having a single file for searchability, but I do already have powerful search of my `notes` directory with grep.
Official death toll. Part of me, and a growing number of people online, bet it's in the thousands, and it's being swept under the rug.
Yes, you’re right about the minute hand. Oops.

“arch minute” is a term used in the article, but “arc minute” also sounds more standard to me.
I see mention of neither crippling medical debt nor the inevitable societal problems caused by widespread ignoring of the climate emergency. There is little comfortable about seeing the world as it is as an American.
... or Splunk
> I once read a story where a prospective engineering hire was given a plant tour at Ford. He noticed an inefficiency that was costing Ford 5 cents per car. He was promptly hired.

This seems implausible at best, unless it was long enough ago that 5 cents was a meaningful amount of money. Ford only sells about 5.5 million vehicles per year, so even an inefficiency which affects every single vehicle would only cost $280,000 / year, which is almost certainly not an amount that justifies a process change across all ford assembly lines.

It's important to keep in mind what the acceptable margin of error is. It's very easy to say "no discrepancies are acceptable," but in sometimes you have a legacy system that mostly works and it's not worth the person-hours to stamp out every inconsistency.
Honestly, given the precedent—China lied to the WHO about SARS (https://www.theguardian.com/society/2003/apr/21/china.sars )—I am baffled the WHO isn't sending a commission to monitor deaths at hospitals or how many bodies they burn at crematoriums.

There are unverified anonymous reports that 2 crematoriums alone are burning 2-4x more deaths than officially reported in the whole country, and a lab technician at a hospital guesstimating 200-400 deaths daily at his hospital.

Unless you have a commission with feet on the ground, you can't verify or trust what China is reporting.
This is a great resource. Why is it getting downvoted?
Welfare Records in Boston has been releasing (new recorded) 8 tracks for bands for ages, since the 90's I think. I had a few of their releases to play on a garage sale 8 track deck.
Thanks for sharing. I hope you find this cathartic and can find connection to people in your new life. I have to think there must be millions of people silently suffering who left various groups like this, be they religions or now political party / belief-systems.
IIRC there is at least one Silicon Valley example of this already: Zappos pre Amazon acquisition, debt from Wells Fargo. It was forced upon Zappos b/c VC fundraising dried up, not a deliberate choice, but ended up working out well b/c its GMV was both growing and becoming predictable.
"email as a replicating distributed database" sounds a lot like something that could now be approached with new blockchain technology.
https://archive.md/7Ca9m
Any that can't afford more than a couple minutes of downtime when a server fails.
Not just that, the hospitals are completely jammed in certain areas which means if you get the illness it's often safer to just stay at home - but then it goes unreported.
Hey, I hope you figure a way to back up this stuff, since phones are prone to be lost or stolen (or is it backed up automatically by Google or Apple?)
Well it worked for me. Would you learn to play a melody be ear if you just learn the music theory? You still have to practice, right?