skysight-inc/HackerNews huggingface dataset:
Sure ... My question is, what do you think the upper bound on performance is for a performance-oriented rust compiler? Like, if the whole compiler were written to optimize the edit-build-run cycle, how many times faster could it go?

Exhibit A, in our recent history of compilers we've had lots of examples of compilers / runtimes which seemed like they were pretty close to the threshold, only for another compiler to come out of nowhere and compile many times faster. Examples: (everything before V8) -> V8, Lua -> LuaJIT, Gcc -> clang (when it was new). And this is cheating but I'm doing it - every C compiler -> Go's compiler.

So the question is, how surprised would you be if some serious, experienced compiler people were capable of making a rust compiler that was 3x faster than rustc? Personally I would be not surprised at all. I suspect a lot of rustc's slowness comes from a combination of unavoidable time spent in llvm plus all the work rustc needs to do to convert rust to llvm IR. Its a bit of a smoking gun that most compilers built on top of llvm are pretty slow - swift, c++, rustc, pony, etc. And all the fast compilers have their own backend (go, v8, luajit, jai, etc). So yeah, I'm hopeful for MIRI and cheering from the sidelines.
The text on this blog needs more line height. I find myself tracing lines in order to read.
Microsoft and Google are trying to retrofit a safe subset into C++, via the Core Guidelines and lifetimes, enforced via static analysers.

Since C++ is more relevant to what I do, naturally I keep validating how good they fair and so far not good.

Lifetimes checker for example, is only able to deal with basic workflows and when it complains the error messages aren't that good, leaving you wonder why the analyser considered it an incorrect lifetime.

Main reason being, if the call sites aren't annotated, it can only guess the lifetime use, and mostly it gets it wrong.

No doubt if they keep throwing money at it, they might eventually solve it, however this is already a three year effort and this is the best so far.
Corellium ports Linux kernel to Apple M1 – release tomorrow
But it is almost never used (recently the unsafe package even got deleted). And Java has basically everything else written in Java, so it is not as often used as Rust’s unsafe.

Java will have a safe foreign memory API soonish.
Show HN: Auth-JWT, a demo to learn JWT by reverse engineering
With modules, "hiding" code like that will be possible in C++.

If only we could skip forward a decade and get mature implementations of it right now...
x=1? But for real good point, I don't know how Matrix scales vs Signal.
FWIW I sent messages earlier without a problem.

Judging from their jobs page they are just hiring in US time zones, so it’s understandable that they might run out of steam after an incident going on into the middle of the night.

HugOps!

Hope they get it fully running soon. Maybe they’ll provide a good, public root cause analysis and I hope that they rethink hiring in order to get more TZ coverage.
Oh I know, I’ve got the first few DMZ releases on vinyl but that seems like the first track that started to hit public consciousness.
Conceptually the resource manager part of ARM is actually fairly elegant.

The implementation on the server-side is a bit messy. Things like read-only properties being mixed in with read-write properties, and internal code-names used for final production systems.

Then the actual client-side tooling is a disaster. The ARM template language is just raw JSON, but isn't case sensitive and includes comments and a bizarre expression language. It's very weakly typed and then even ignores the weak typing that it does have. I've lost count of the times I've been forced to put a number into a string because... reasons.

They're working on a replacement language called BICEP, but IMHO they should have gone down the same path that Pulumi did.
> People don’t switch tooling and frameworks for fun (well, not primarily), but because the pain of learning something new is worth the benefit of reducing unnecessary complexity.

This is sometimes true, but not always.

For example, it's also sometimes true that teams switch to technology X because X has become popular, and without necessarily understanding the benefits and drawbacks. In some cases a choice is made to switch to X because whatever the team is currently using is "dead"/has gone unsupported.

I think these reasons, along with others such as significant breaking changes between major versions that we've seen with some frameworks and libraries, better hint at sources of frustration over "churn" in JavaScript.
I belly-laughed for a good while after reading this, thank you!

I have had jobs ranging from entry-level phone tech support to Silicon Valley FAANG (E5 equivalent) to "the ops guy" at a New York startup. Like many here, I've been doing "DevOps" since before the term existed. Every job will have both kinds of day as described in the article. The only thing that matters is the ratio of good to bad, and how much you enjoy your work, your boss, and your coworkers.
Caches are everywhere, and systems have now 5 layers of different memories, from L1 to a network attached storage, plus accelerators memories such as GPU.

I would like a language designed to target a hierarchical-memory system. I would like a language that forces me write single-threaded batched (or "blocked") algorithms with low cache misses.

How many pieces of code are out there where an easy x4 speedup could be achieved today if there were written with batched operations from the start? (It also shows how limited are the compiler in autovectorizing)

Rust gives me guarantes regarding memory safety, I would like a language that gives me guarantees that SIMD instructions and 2 cache levels are correctly used, without having to read the source code and compiler output.
The James Blake remix of Changes is well worth checking out if you like the original!
I would really like to, but some of these references are papers I had come across a decade ago, so it would be difficult to track down. I don't research this stuff formally, it's just something I like to read up about.

I did manage to track down this New Yorker article: https://www.newyorker.com/magazine/2007/12/10/the-checklist

I know it's not exactly Nature, but the point made stands, and I did track down some papers related to error rates and different methodologies used to reduce them. There's a reason surgeons and pilots both use checklists. It's because a failure of quality in their profession kills people.

Lives don't have to be at risk for quality to matter!
Reverse Engineering Prodigy
I like the idea of communicating by e-mail.

It works pretty well and no need of another app or service to do so. No lock-in other than the e-mail provider.
> Cerebras hasn’t released MLPerf results or any other independently verifiable apples-to-apples comparisons. Instead, the company prefers to let customers try out the CS-1 using their own neural networks and data.

I suspect that despite Cerebras being a massive technical achievement (wafer-scale computing!) it performs worse than standard GPUs, which is why they won't release benchmarks on standard models (e.g. resnet/transformers/etc)
I have never understood why Chinese companies often have such hilariously bad English translations of their product instructions. Often the product quality is pretty good and the illustrations in the instructions are fine. But the English translation is terrible. There must be millions of Chinese people that speak decent English (in Hong Kong alone).
Virtualization.framework has its own boot loader and it can only boot Linux. With Hypervisor.framework QEMU can boot to a bog standard UEFI firmware image, which then loads either Windows or GRUB.
> I think Postgres is popular because of its emphasis on being explicit, strict, and correct.

And good documentation. Very good documentation.
This this this. At the sight of the first relational data I noped the fucked out immediately at nosql db's
Depressive realism: Admit that life is hell, and be free
It is on the official Signal GitHub organisation, so it must have __some__ amount of blessing.
Small correction: gVisor does not use KVM under the hood. It intercepts and filters the applications system calls, acting as a sort of userspace hypervisor.
You have been hired to solve problems, so do that. Writing code is usually how, but not always. Try to understand the “why” to the problems you have been given. Ask questions. Be upfront and communicate clearly. Things will go wrong but try your best. And when they do, communicate it. Always keep learning.
> We have been adding new servers and extra capacity at a record pace every single day

No autoscaling?
I don't understand this benefit. so in zig we are trusted to manage memory but we can't be trusted to overload operators in a sensible way?
It's not just engineers either. I've seen new EMs copy and paste ill fitting FAANG development practices into organizations and then bounce off to which ever company championed it not long after.
For anyone interested in 3D FPS Sci-Fi Roguelikes† made with Unreal Engine, you might also want to check The Pit: Infinity :

https://store.steampowered.com/app/577410/The_Pit_Infinity/

It also has co-op, which AFAIK is pretty exceptional for a roguelike† ?

P.S.: It's in a lot of ways a 3D remake of the critically acclaimed Sword of the Stars : The Pit, which is a 2D roguelike† with modern graphics (at least modern compared to most of the other roguelikes†):

https://www.gog.com/game/sword_of_the_stars_the_pit_osmium_e...

(†roguelikes, not roguelikelikes, The Pit isn't going to go easy on you !

The most important skill to learn is how to conserve, and when to use your various resources : health, 'psi'=mana, food, item durability, ammo, inventory space, crafting items, taking character levels which you decide and which also refills your health and psi…

with the hardest probably being to decide which rooms is worth the risk to open, and which is not.)
If you want to try mithril in a mid-sized project, sure do it, cause it is a nice, free as in freedom library to render vdoms without imposed opinion on how to manage state. But be aware that it has no error handling around view() method and any error thrown from there will irreversibly break mithril internals everywhere on the page, this is by design. Second thing, I didn’t push it to the limit as another commenter, but massive vdoms (many tens of thousands of vnodes) are slow to even rebuild and compare, so you’ll have to use lazy techniques described in docs. It is not exclusive to mithril, but worth knowing. Otherwise, mithril is basically a core vdom tech similar to vue and/or react, wish these two had their render cycles as separate packages. Also, if someone knows a cheap way to turn react into mithril’s spirit, e.g. via light setState-detaching layer, please share.
Sure, if we're driving 100mph in one direction and suddenly place the car in reverse, there will be damage. But yes, if we weren't artificially spiking the system with inflation there will be an increase in savings, which is not a bad thing (yes! *gasp*).

It's pointless driving the economy in circles wasting fuel, which is akin to the 'spending is automatically good' mantra. We should be using the car efficiently to get to our destination faster. This means allowing the economy to be more geared towards essentials, which we all must spend on, making them immune from deflationary spirals. And essentials are not only toilet paper, they also include things like medicine and other vital technologies.

When spending power is more concentrated to these economic categories, the competition will increase to produce better versions. Companies will also be incentivised to get a bigger slice of a currency that increases in value over time. Through society's greater savings rates, the banks will have more capital to lend to producers. Innovation, including the move towards (hopefully human-values-aligned) AI and nanotech, will continue because companies without these technologies will eventually vanish.

Finally, if we accept that the environment is dying (or something like that), the real inconvenient truth is because ultimately there are too many consumers. Regardless of how carbon neutral we become, we can never get to zero and no (pre-superintelligent AI) strategy is a match for an exponentially growing population. Therefore, unbridled growth can become a destructive force of its own.
Estimating when a message will be consumed in Kafka
RDD - Resume-Driven Development

You can find this in lots of places not just FAANGs
It’s all about trade-offs.

Do you need availability or consistency? https://martin.kleppmann.com/2015/05/11/please-stop-calling-...

I would personally never build anything mission critical using NoSQL, sure it’s fast and easy to use, but it might render unreliable in some situations when it’s most important.

However 99% of stuff SWE use to build are nowhere close to that level of importance.

As long as you know your tool and requirements feel free to use whatever you want, even JSON file on hard drive.
Rust is the haskell of systems programming
Algorithms that rely on branching are generally incompatible with SIMD.

Simply put, many things won't benefit from it.

Caching on requires temporary structures whose sizes etc need to be empirically determined.

See https://halide-lang.org/tutorials/tutorial_introduction.html for some limited attempts to make a language to solve these two problems.
I have to say, several of those quotes were very moving which I didn't expect in an article about a 'game'. I feel like I need to check out this Space Simulator now.
I recently opened a bunch of support tickets with them because core product functionality is either missing or broken.

For every ticket they've come back with: It is like that by design, go complain on the feedback forums.

Like the other 10 people that also had the same issue and did complain? Their "feedback" was marked as rejected...
And the code dealing with the missing "city" field across your whole codebase just appears out of nowhere now? :)

Dealing with schema changes is complex - NoSQL just moves it elsewhere where its easier to forget about it.
> Some of you will surely be excited to learn that the Quartz64 model-A will also feature a dedicated e-ink panel interface capable of supporting a capacitive pen. We will have a 10” e-ink display available in the Pine Store at the time the Quartz64 boards launch

That sounds great, i long wanted to build an e-ink computer
> no consequences

The screenshot on the landing page indicates some penalization for “breaking master” iirc
Losing sight of atmospheric sounds in televised nature documentary
> Multiplayer support for all features

Impressive. The Stanford course 'CS193u: Video Game Development in C++ and Unreal Engine' sounds good too: https://www.tomlooman.com/stanford-cs193u/

I also happen to be working on a 3D action roguelike, but in the other big game engine: C# and Unity. https://twitter.com/Doomlaser/status/1335652128438820864
He can take lsd and will remmember.
The word is not from me, read the messages of the issue
This post from stateofjs has to be taken with a spoon of salt!

"Next.js is amongst the top backend framework" - Anybody can tell its popular for frontend!
Sorry, I only just now saw this.
We also recently started to roll our own API gateway in Java using Undertow.
True, I guess it's a bad move on both Google and Russia, if what you're saying is true.
Yeah it kinda pisses me off constantly reading about how decentralised messaging, or ad-hoc wireless mesh networks, or whatever it is, is the way to go.

That shit works on a small scale. Serving the entire planet needs hierarchy and co-ordination.

Doesn’t necessarily mean everything has to be completely centralised, but some of the woolly wishful thinking you come across is not based in the real world.
I miss a grid.
Autoscaling is a myth. It works great until you actually need it, and then you discover quota limits and stockouts.
Doesn’t matter as you can’t hear anything over the snare anyway.
Last year I got to work on a codebase done from scratch by ThoughtWorks India, it was a convoluted piece of shit anywhere you looked... and, again, it was from scratch, they made a 1 year-old codebase feel like a giant ball of legacy spaghetti.
I would say that the question taken at face value matters, but the context in which it was asked in this case means that there's no way you're going to get an honest answer. So in other words it's at best here a rhetorical device.

But you're missing the point, and I don't feel like rephrasing yet again.
What about things simple things like career, peer recognition and intellectual freedom? At lower levels it's called "publish or perish" for reason (not "keep secret or perish"), but if you're really "Newton, Einstein or Darwin" you'll be paid to research whatever you want. And by the way, even for product development there's an institution called "patents" that's intended to encourage publishing.
Thankfully on my projects FE and BE are separate builds, so I only do FE builds when needed, I save so much minutes.
Sounds kind of strange not having incremental replication, it would make no sense for an ETL tool. In fact the documentation for PostgreSQL [1] is somehow contradictory at it both states "Incremental sync (copying only the data that has changed) for this source is coming soon" but also "Feature: Incremental - Append Sync / Supported: Yes"

[1] https://docs.airbyte.io/integrations/sources/postgres
Back to the Pliocene: Westerly winds shifting polewards
I've found small scripts do a great job with ETL. Run by cron and log to text seems to do the job.

What's the advantages in using a large tool like this?
Perspectivism [video]
Lessons Upon Leaving Microsoft After 7 Transformative Years
Since Pg12, even adding a column with a default doesn't lock the table anymore - that only happens if you later change or remove the default
> They’re not losing profits or anything.

They are losing face. In oriental cultures, that's bad.

EDIT apologies for bad wording. In certain situations, losing face is worth, than losing money - in this very moment, in my opinion, this is rather bad for Signal.
http://easydrawingtutorials.com/images/Eeyore/draw-winnie-po...
Your reply is fun to read and I really enjoyed it.
Of course the descriptions of the "typical day" in the original blog post is idealized. I suppose this idealization is there to make the contrast between the highly-effective day and the low-effective day. That is just the blog post.

Leaving aside this funny idealization and its comic interpretation of the blog post, in real life there are good habits and bad habits that can make a team work more efficiently and less efficiently. I have had first-hand experience with developers from ThoughtWorks, the consulting company behind that blog, and I can tell that they are indeed trying to apply those principles and strategies in their projects.

The fact that they are a consulting company gives them an advantage when trying to apply these principles. They only need to worry about the "small picture" of the project they're consulting on. They don't have to deal with all the "big picture" issues that might affect the employees working within the company they're consulting for (e.g. company politics, technical legacies, etc.)
So IMHO perhaps some of these techniques and strategies to become a more effective development team are less applicable if you're working in $BIG_CO rather than in $CONSULTING_CO.
I only install games via the Windows Store, zero root kits, all nicely sandboxed.
Thank you for this insight. I am re-writing the article and taking a step back in my writing to assume a more neutral tone.
The main advantage of react in my opinion is the reusability of components. Most developers are not artists and can't design aesthetic and ergonomic interfaces from basic web elements, whereas with react you can install a component library (like material UI) and effectively just focus on business logic.

I'm mainly a backend developer so can't comment on how this tradeoff works out when you have the resources for artistic UI/UX folks and reduced development pace.
Off device cross-compilation of the Lua interpreter binary, but no bytecode compilation -- it was interpreted Lua from what I can recall (10 years ago). Can't tell what's possible now, and I feel like a microcontroller might be too much for Lua.
But you do need to have a registered business in Thailand with the exact name as the domain name to register the domain.That's a fact for co.th, I'm not sure about .th though, but I would assume it to be true.
LOL. Zephyr?
Enterprise market does not mean servers only. Look at enterprise laptops which make for several dozens of millions every year and AMD is pretty tiny still.
"Someone in leadership also has needs. They need a team that respects and looks up to them. If they hire someone that clearly has a better resume, this is just not going to work."

Not generally true. I've worked with people with management experience who got a chance as junior programmers (after getting tired from managing or not finding another job). They were incredibly loyal, nice, and easy to work with and manage. I've also worked with arrogant intolerable people with zero experience.

Overqualification is really just a bad factor to consider.
When I first read this I hoped this would be a rogue like game implemented using GitHub Actions somehow
There's a no-free-lunch theorem here that's being ignored.

If you have a space of 64 bits to represent elements of some ordered field, and you insert items one at a time, there is some ordering of the items that allows you to make only 64 inserts.

Claiming that numbering the items with integers only allows you 16 insertions, but "It would take virtually forever to run out of space through repeated list reordering" using rational numbers just can't be correct. The author cherry-picked a bad implementation for the integers and a favourable insertion order for his pet approach.

Where exactly did he go wrong? By picking the first number in the sequence of integers to be 65536, one of the smallest of the unsigned 64-bit integers, and then deciding all the inserts would happen in descending order. If he had picked a number like 2^63 instead, he would have got at least 63 inserts no matter what the insertion order. Using this integer strategy also lends itself to easy reindexing if you do need to: the row of rank N gets reindexed to 2^64 / N. Or if you want to increase the size of the index field to 128 bits, bitshift everything left.

Note, just because we have this NFL theorem doesn't mean one approach can't outperform another in typical use patterns, but I don't see evidence for that here. The most logical integer-index strategy isn't considered and the insertion orders that exhaust the rational strategy are not particularly pathological.
Doesn't look like that Stanford course recording is posted anywhere yet.
What I really don't get about microservices is the performance aspect. Like cache << memory << disk << network in terms of time needed to read/write, and it seems to me that microservices are particularly prone to this by often using HTTP calls.

Sure, you can run them on the same box, but it's very easy not to, and I imagine that this will absolutely crater performance (at least in the DS/ML stuff I do).
What's the difference between micro framework and nano framework? Does nano have generics?
Jonathan Haidt: What makes someone a Republican or a Democrat? [video]
The Makefile of this project starts with

.POSIX

and then you have an ifeq .. endif block? and then after a few lines:

%.o: src/%.c

Why?
I think they tend to be more expensive and thin in the ground in mainland China - Hong Kongers or native English speakers. That said Google translate does quite a decent job.