HNHacker News
TopNewBestAskShowJobs

norswap

5,628 karma · joined March 15, 2009

http://norswap.com/

[ my public key: https://keybase.io/norswap; my proof: https://keybase.io/norswap/sigs/7MjYNKBzV3Q0iTnTn7335vArDZwY_nZ0OkRLeXz1JII ]

submissionscomments
norswap··on Building a WoW (World of Warcraft) Server in Elixir
They don't — they just rewrite from scratch, usually using the original art assets from the game.

You could decompile the game client if you wanted to, but that's probably more trouble than it's worth in most cases. Most of the business logic is in the server anyway, the client is just to initiate actions and render the world state.

(And similarly servers did not have the code, just assets + wire format between client and server, and they reversed engineered things from there, pretty successfully.)

norswap··on Building a WoW (World of Warcraft) Server in Elixir
Probably, but honestly servers are sort of in the same boat.

I think Blizzard hasn't bothered going against the open source servers because even if there's just a 1% risk that a court would rule agains them, it would open the flood gates to much more professional teams to come in and do it because "it's legal".

They do go against server operators sometimes, though they don't seem very determined there, and some servers have resisted successfully (hosting in Russia and identity hiding I think). I think they mostly use "you're using copyrighted assets" as a line of attack, precisely to avoid the risk that losing that would put them at risk. But IANAL.

Also note that in both cases the projects need the assets from a real client and don't ship with them, expecting you to provide them.

norswap··on Building a WoW (World of Warcraft) Server in Elixir
It has been attempted — I know of two efforts. One was in C++ and I don't remember the name or have the link handy, I'm pretty sure it's abandoned.

The other is here: https://github.com/wowserhq/wowser, runs in the browser with WebGL, as you can see, it hasn't seen meaningful progress in almost a decade, but it is already impressive.

EDIT: Found the first one, PseuWoW: https://github.com/shlainn/pseuwow

More leads here: https://community.trinitycore.org/topic/12710-we-need-to-cre...

norswap··on Arrest of Pavel Durov, Telegram CEO, charges of terrorism, fraud, child porn
> [...] telegram possessed a lot of content on their servers that they had been made aware was illegal and didn't cooperate.

Do we know this for sure? What are the sources?

If that were true — then it surely would be less surprising, and even expected, but I would argue it's still bad: first because encryption would lead to the same result (as you point out) and second because what's illegal is often a matter of perspective: Telegram had content that was illegal in Russia, and didn't collaborate.

norswap··on JavaScript dates are about to be fixed
Maybe I'm missing something but it seems like much ado about nothing.

Just use a timestamp — if you need to know the associated timezone, just store that as well. Done.

But most often (when the timezone where the event was captured isn't relevant to the user or the business logic) conversion to local time is a frontend/view concern.

norswap··on JPlag – Detecting Software Plagiarism
As someone that actually used JPlag as a university TA, I think if the students are smart enough to implement this, they're probably smart enough to do whatever assignment we've asked of them (unless there's a easy peasy program to do the transformation, but I don't think it's the case here).

The usage of the tool is basically a deterrent against a very low-hanging cheating fruit for students (some still tried and thought changing the variable names would help them...)

norswap··on Ask HN: What's Prolog like in 2024?
I'm fairly familiar with Prolog, from its operations & implementation, having also thaught it to students.

Something I never really grokked however is: when to reach for it?

It seems like a powerful tool for a certain class of problems, but somehow I never seem to stumble upon them.

An obvious candidate is problems that map clearly to solvers that can limp along with sub-state-of-the-art performance. Solving sudokus is the classical classroom example. But somehow again, never really ran into something that maps to that (I have worked mostly in compilers and distributed system, with a smattering of application programming (frontend/backend)).

Any ideas or anecdotes?

norswap··on Japan's push to make all research open access
Interesting - do you know if they ever went after someone that violated these conditions?
norswap··on Japan's push to make all research open access
In CS, it's widely accepted that you can publish your "drafts" publicly. Basically just the real deal without the notices of publication (I guess maybe legally you have to leave some differences in? I never bothered, and I doubt the publishers who everyone kinda hates would dare creating this kind of controversy).

As others have pointed out, some countries mandate national or institutional repositories.

A good grassroots way out of this is educating researchers to always take one of these options. Let publishers overplay their hand and get crushed.

Of course, it would be nicer if regulators realized how ridiculous this all is and crushed them without the need for public outcry, but one may dream.

norswap··on Mark Zuckerberg’s new goal is creating artificial general intelligence
To be entirely fair, the currency attempt was hampered by governments (predictable, maybe), and as for the metaverse... well he created something — technically it's impressive, commercially and in terms of product market fit, it's a flop.

I don't think they're done with the metaverse thing either, whether it will succeed, that's another question.

norswap··on IDEs we had 30 years ago
Hasn't there been a set of web components that tries to reproduce this?
norswap··on Why banks are suddenly closing down customer accounts
Haters gonna hate, but crypto solves this.

Recent events show even in our liberal democracies, governments can't be trusted with the power they already have, and the enormous power that technology does and will afford them.

(The most salient example is the Trudeau government freezing the bank accounts of trucker donators.)

norswap··on Most demographers now predict that human population will plateau
The geographic, social, religious, ... distributions of demographic declines and increases will be the interesting thing to watch.
norswap··on GraalOS: Containerless instant-on cloud functions for Java
GraalVM without native image is comparable or faster to Hotspot.

The main point of native image is that it cuts drastically on launch and warmup time.

norswap··on The global trading system is starting to rearrange itself
The article addresses this point directly.
norswap··on Jacobin: A more than minimal JVM written in Go
Is that fair? The whole point of the tradeoffs made by HotSpot is that it's optimized for JITing.

Imho there is no way to do a fair comparison, as both implementations have completely different goals.

One thing that would be interesting is comparing the performance of some really simple command line program (e.g. `ls` or `cp` for small files) between Hotspot in interpreter mode, Jacobin and GraalVM native.

norswap··on Don't fire your illustrator
> Your text prompts simply don't have enough semantic capacity.

Mostly, current tools are abysmal at maxing the semantic capacity. Midjourney is great a generating things that look good, but terrible at piecing scenes together.

Recent example I tried: a robot playing magic the gathering seated across a human.

Even getting the human in the picture is a challenge, but then the model doesn't know enough about MTG (it correctly pattern matches to "board game" or "card game").

Some pictures generated are much better than other, and it would be great to take e.g. the table setup from one picture and the robot from another, but doing is not really possible atm ("blend" doesn't work for that).

I have no doubt this will improve, but I'm wondering if there's something underlying this that could be a more general limitation? Maybe simply not enough data (a google image search for magic the gathering is also pretty disapppointing).

Another example: a glowing blue <company logo> carved into a stone monolith. It sometimes got the logo to be carved (rarely), it was never glowing blue (usually the whole monolith, or a part of it).

norswap··on Illegal Life Pro Tip: Want to ruin your competitor's business?
I read about stuff like this every month, but then people (on the internet) tell me there are no uses for blockchains and they're exlusively for scams (yes, scams exists, a lot of them).
norswap··on Style your RSS feed
Often don't have it, my method this day is to copy the URL of the website to a feedreader.

The first few times it didn't pick up a feed, I would inspect the page source, and sure enough, no `link` tag in the head for the feed (nor references to "rss" or "atom" or "feed" anywhere in the page).

I don't know what stack they use, but I find this particularly common for company blogs.

norswap··on Style your RSS feed
RSS maybe not be dead, but it's definitely less alive than it uses to be. The number of "blogs" these days that don't have a feed is absolutely tremendous. The decisions of the browser companies to remove the RSS icons / deemphasize the features is criminal (especially Firefox, who doesn't have the nefarious interest the others have).
norswap··on Pricing Money: A beginner's guide to money, bonds, futures and swaps
I understood it as it's an arbitrage because it enables the creation of a new system that reward arbitrageurs less (but still enough that they would perform the arbitrage).

Though this is only true in a system where you don't face tons of hurdles to deploy these new systems, which is not the case in the current financial system.

norswap··on Pricing Money: A beginner's guide to money, bonds, futures and swaps
I was nodding my head along (fantastic answer) until the stab at crypto.

Let me offer a (partial) defense of crypto if I can:

Broadly, crypto is divided into crypto-currencies and applications.

Let's tackled currencies first, some of which some are reputable and some of which are grifts, but which viewed in their most favorable light attempt to be a form of currency or asset that is decentralized. This means that no single party may unilateraly devalue them, or restrict their trade in any way.

(No I understand if that doesn't excite a lot of people, but this is clearly valued by some people!)

As may be obvious, crypto-currencies are too volatile to serve as actual "currencies", so they are at best "assets". But it is possible to use these assets as collateral for the minting of stablecoins. I'm not sure this is quite risk transfer, but it essentially relies on the willingness of some to hold speculative assets to enable the creation of a stable assets.

In turn, these assets are not typically useless — they hold value because there is demand for them to pay for transaction costs on blockchain.

Blockchains themselves are not useless. We may not think much of the difficulties of transferring money, but it is a real challenge in LARGE swaths of the world, where people are unbanked or live under tyrannical governments. I would argue that even in the west, the need becomes is becoming more pressing (Trudeau freezing trucker supporter bank accounts, banks imposing tons of restriction on cash withdrawals and "large" bank transfers).

Beyond transfer, they also serve to run decentralized applications. People are quick to dismiss those, and true it doesn't enable to do anything dazzingly new. It simply enables you to do things you could already do, but in a way where no single party (or even colluding parties) can shut it down. This may seem silly, but I think the world would truly be better if we for instance had a YouTube where copyright trolls couldn't strike down / demonetize legimate content.

Applications then. In reality, we're still far from decentralized YouTube (but we will get there). Most applications today are financial. And I think they're quite useful. The financial infrastructure being built is genuinely novel and useful.

The problem is that it is navel-gazing at the moment: that infrastructure is mostly used to perform financial operations on crypto tokens themselves. But there is no reason that they couldn't be used for other assets.

In fact this is starting to happen: you can now invest in real estate and US treasuries on the blockchain. We're still a way from mainstream adoption, and that has mostly to do with legal uncertainties that prevents established players from diving in (though many of them are experimenting). There are also entrenched interests there, it must be said.

So if anything else, crypto helps build a better financial infrastructure.

It's somewhat ridiculous that when you buy some stock, the trade is routed through three intermediaries and is only really settled 7 days later. The abstraction on top of this is actually leaky, with each intermediary coming with some risk and some agency to throw a wrench in the works. As in fact happened between Robinhood and its clearinghouse (or some such intermediary) during the GameStop frenzy.

norswap··on “But the SEC let us go public” and other flawed arguments in Coinbase's defense
It's important to note that event for the projects creating new tokens, there is NO WAY to register.

It exists, in theory. Many people have tried, nothing has progressed even an inch. It's not even a matter of the SEC putting out a list of clear conditions that people deem unacceptable. Instead, the applications just seem to be mired in bureaucracy.

As I understand, there is deliberate gaslighting from the SEC and Gary Gensler.

Gary keeps telling the media "the law is clear" and "companies should come and register", but then never answer's even congress' own questions on what constitutes a security, and makes it impossible for crypto projects to register.

norswap··on KLOR – A 36-42 keys column-staggered split keyboard
What keyboard / layout do you use to get the arrow keys? I have a Ultimate Hacking Keyboard (https://ultimatehackingkeyboard.com/) and while the arrow keys are easily accessible, they require pressing a modifier.

This is fine and dandy for simple usage, but I happen to do do a bunch of more complicated stuff: ctrl + arrow to go to start/end of line, ctrl + alt for words, all of this + shift for selection. ctrl+shift+mod+arrow gets really tricky to operate for me, I haven't been able to reach a level of proficiency that was anywhere near equivalent to what I had without the modifier key.

norswap··on The Cairo Programming Language
There are essentially two use cases for "zero-knowledge" proofs:

1. Zero-knowledge

That's proving a statement without revealing information, this is the example your're giving. For instance, you could prove that you have an account number (private information, input to proof generation, but not input to proof verification, so not revealed to the counterparty) on a blockchain (whose state hash is public, input to both proof generation and verification), with enough quality assets to back your loan.

2. Succintness

It turns out you can verify zk-SNARKS (where SNARK = Succint Non-interactive ARgument of Knowledge) in less time than it takes to execute the program being proven. Some schemes do this in constant time, some in logarithmtic time (the STARKs currently used with Cairo are logarithmic).

This lets you offload computation to a third party (like AWS) but without trusting that the third party will not perform a modified computation instead. The third party gives you back the result along with a cryptographic proof that you can verify relatively fast.

In this use case, there doesn't need to be any private input at all (though there can be, and the verification will still be succint), so it's not even necessarily "zero-knowledge". People sometimes call this "validity proof" to distinguish, but the underlying cryptography is the same.

norswap··on The Cairo Programming Language
Cairo is written in such a way that the execution of a Cairo program can be proven by a zero-knowledge proof. So it optimizes for things that are easier to prove.
norswap··on Imgur Updates TOS, Banning NSFW Content
Twitter literally lets you log in to multiple accounts from the same session. You can reuse the same emails & phone numbers too.

So contrary to what you say, the practice of having "alts" is pretty much encouraged.

norswap··on Cigna saves millions by having its doctors reject claims without reading them
I thought the headline was about saving millions of lifes and got really confused for a hot minute.
norswap··on Why take a compiler course? (2010)
Shameless plug for my compiler class, fully available on YouTube: https://norswap.com/compilers/
norswap··on Credit Suisse sheds nearly 25%, key backer says no more money
Switzerland's neutrality is a fact of geopolitics. The geography of Switzerland means a big part of the country is essentially a natural fortress with bunkers cut directly into the mountain and firing down. There is a reason the Nazis never invaded and that wasn't neutrality (neutrality didn't do Belgium any good in WW2). Unlike other countries, Switzerland can afford neutrality and it is ultimately the most profitable option.

Neutrality though made it a good place for exchange and safe-keeping. e.g. https://en.wikipedia.org/wiki/Nazi_gold

These days, I don't think Switzerland really fears an invasion, but it's true that the financial incentives have taken over. At the level of the population, the neutrality culture runs deep, and as Switzerland is one of the richest countries in the world, there's really no reason for the average Swiss to be upset about it.

← PreviousPage 2 of 34Next →