To me that is a specious argument. It's like asking why Python was invented when Cobol could suffice.
The dozens of ASN.1 specs are absolutely hideous and entrenched in obsolete telecom jargon. If the sole goal Protobuf was to avoid having Google engineers be required to refer to the dozens of ASN.1 specs when disagreements or confusions arose, then it would have been 100% worth it for just that reason.
First, let me confess that I don't have enough experience with ASN.1 or
Protobufs to have an informed opinion.
The supporting argument for the "because it's there" hypothesis
for why people reinvent things (in IT) is that they do it so often.
Even if all the newer message/serialization systems are better than ASN.1, they're not all better than each other, eh? Why so many? Same goes for chat systems, programming languages, etc.
There has been a lot more new stuff in the world of programming languages, even recently, than there has been in the world of data schemata and encoding rules.
That said, most of the innovation in programming language theory has been around Haskell and related languages, and it has not justified languages like Golang or Python. DSLs in general are justified regardless of whether they are innovative in terms of programming language theory.
The ASN.1 specs are beautiful. They are beautifully written, better than anything the IETF produces because the ITU-T is an expensive standards development organization that can afford to have people who only do this sort of thing.
The ASN.1 specs are very readable. Much easier to read than many important RFCs.
I feel like I have derived so much value from Google Maps, especially turn by turn navigation, than I don't even consider the advertisement aspects. I would happily pay a monthly fee to use it.
Before it you had to use paper maps or use those very expensive and crappy Garmin devices.
It used to be a joke that married couples travelling would fight over maps. The man was always driving and the wife was always reading the large unwieldy paper map. The man would get mad about a woman's trouble reading the map. The wife would retort "What happened to your vaunted sense of direction? Why are you such a cheap skate to wait until we are lost before buying a map at a service station?" Good times.
Good times for some, traumatic memories of childhood for others….
I used to have this daydream of a red line painted onto the road leading you to your destination. Never expected it to become real (in a slightly different form). Too late for me but another small way later generations will enjoy higher QoL. Few will realize the benefits beyond occasionally getting lost.
I remember back when we were at an intermediate stage of maps when you could type an address into Mapquest and then print out the directions to it and take that stack of paper with you.
Now days you can drop into the middle of almost anywhere on the globe and get mostly accurate on-the-ground directions regardless of if you walk, take public transport or drive. Made navigating Tokyo so much easier!
I am guessing FANG engineers (and most engineers in general) would unanimously suggest "delete this ridiculous , ill-conceived JNDI integration ASAP. If people want JNDI integration, use a custom opt-in log4j appender. Don't let this shit be enabled by default". Yet that may not sit well with the log4j folks.
Translation: I have written buggy, racy software that has specific dependencies on thread timing. Please do not make significant improvements to Python because it will reveal these bugs in my software, and I will be forced to fix the bugs and use proper synchronization.
If you make something that works because of an explicit memory and concurrency model (and not like there are other options at the time), it is indeed legit to worry about a major shift to those models that would cause problems.
Even if those changes are better for other ways of solving problems.
Is that how you call things that have been working flawlessly and solving people's problems for over 10 years? Is needlessly breaking things that work an improvement to you?
You could probably simply lock the Python version you use for such code. No breakage there. If you must upgrade to a newer Python version, then you will have to repair broken code.
It did buy a decade or so (or more really) - not like the python2 distribution you downloaded and distribute with your program back then is going to get tracked down and shot in the head by Guido anytime soon.
If you’re relying on whatever python version is distributed with whatever machine it happens to be on, there are a huge number of problems you’re already going to have.
Plus the emulators, despite being very good, aren't perfect. It's not unusual to have minor timing issues cause weird glitches in software that was written when the developer could expect little to no variance.
Unfortunately, it looks like the emulation community also has a lot of people who are just like this guy. I've read about emulation code for obscure systems being removed from MAME because it offended some collector and he threatened to never release anything again. There's a huge amount of counterproductive drama and politics in the community.
Dont think that has happened in awhile for MAME. But yeah the emu community has its share of people like that. Grouchy guys who if you do not play by their rules they just ban you. There are other emu guys that are great to work with. There are also some reformed grouchy guys. But you can still tick them off. I think the guys who are holding onto the old hw are starting to realize that the stuff just is not worth much and yes that stuff is rotting. It was just not designed to last 40+ years. There was a point in the early 2000s where it seemed like every other week someone was mad someone else had dumped/emulated something that made someone else mad. Not so much anymore.
MAME itself has some of this too despite basically being a GPL2/BSD codebase.
There are a lot of rare things that are completely unavailable only in the hands of a sole collector (usually Japanese). Then they'll mail it around to friends under a strict "no dumping rule". They like showing off what they have.
Now of course those "no dumping" rules have been violated over the years and usually to disastrous effect but also you have situations where the rom dump is ALSO only in the hands of a few people.
Like what? I honestly don't see why these collectors have enough leverage to impose any disastrous consequences. The rare stuff is in most cases merely a curiosity. In the long run it doesn't really matter if those things are preserved. It would be nice but it certainly doesn't justify bending over backwards for a collector and their "rules". Devkits for example would be extremely important items but I don't see people talking about stuff like that very often.
When Labyrinthe/Horror Tour 3 leaked, the collector went absolutely apeshit and stopped giving anyone access to anything. And that was a ROM collector downstream of the collector with exclusive physical copies. It was someone who wasn't supposed to have those dumps and probably burned a lot of (if not all of) their connections. https://kotaku.com/collection-of-rare-japanese-games-leaks-o...
Keep in mind that a lot of the rare stuff ends up helping contribute to emulator development/accuracy.
The importance of devkits (and these are still hotly collected) only goes so far as decapping ICs is hard work. A finished game might show you new valid opcodes or undocumented system call you weren't aware of.
Keep in mind that the way collecting works in Japan is more about archiving and a rare few people get things into their collection because they are trusted. They're trusted to preserve it, but also entrusted not to make it available to everyone who wants to download it for free. Creators revisit prior works (or make available for resale) far more frequently than we tend to here.
Don’t forget the incredible amount of work that goes into releasing an even halfway decent emulator. Just for pirates to run with it sending thousands of useless bug reports your way.
I thought non-commercial licenses were an old tradition in the emulator community. Snes9x and MAME code were licensed as such for a long time. I've seen developers release code under GPL/MIT/BSD and then object to how other people using their code. Is this what you mean?
In the end, none of these licenses matter anyway. I seriously doubt anyone in this community will ever sue somebody over license violations. People do nothing while corporations file DMCA claims against screenshots despite Sony vs. Connectix.
MAME had one of those style licenses. They switched to GPL/BSD because of your second point. It did not really matter as the companies making these knock off devices/packs had zero intention of following the law anyway, and the people making the emu did not have the money to go after the offenders. It was also a pain if they really wanted to have someone make one of those devices with your code. For example if one of the orig rightsholders to the roms wanted to use MAME they basically couldn't because of that license. For a large company it does matter for import/export and risk management.
People releasing code GPL/MIT/MIT and then getting mad when someone they do not like using it is always going to happen. Not everyone agrees on everything. In the emu case it was more they just did not want to get sued.
What I think is more interesting is there are still devices being created that are using the older code before the switchover that has the restriction and the emulation is worse!
Also Before that Sony v. Connectix it was not very clear, with takedown notices every few months to the sites. Now you pretty much only see the notices on the rom sites. By the point the case was done the license was already mostly in place. Even switching over to the new one was a large undertaking that they put off for a long time. I think a small handful of drivers they could not find the orig authors to ask and they pulled them out and re-wrote them.
I'm not trying to defend actions like that. But it can be tough to be in those shoes. The video game world now has a good number of small outfits serving up very desirable items. Such as TerraOnion, Analogue, Black Dog, Game-Tech, etc. They are just a few people trying to please thousands and thousands of customers. I'm sure dealing with that many angry people gets old, fast.
I recently switched from high-end Atari emulators to real hardware, and there's no comparison. Even the best emulators have latency issues, and compatibility issues.
When I switched from emulators to actual hardware, suddenly my paddles work perfectly, and the screen artifacts that appear in some games disappeared! I guess emulators just can't handle the A/D conversion well.
Declining a research award due to supporting a toxic employee with a long history of unnecessarily hostile and combative behavior (just look at the yann lecun twitter thread). Sounds fine to me!
That’s not how I would interact with a Turing award winner. And it’s not the first time they have had that reaction.
From what I’ve observed it could be a classic case of borderline personality disorder. Generally polite and nice to people but when they get offended they go ballistic.
Very interesting article. Got through the first few paragraphs until I got completely lost. This seems like something that should be submitted to an academic journal and OP should be in a research group or academia.
I am currently (as of the first of the year) a research software engineer on the Google Fonts team. I'm doing a bunch of font tools in Rust now, and that gives me an opportunity to revisit classic algorithms and techniques to see if there's a better way to do things than the usual.
I'm sorry you got lost. This particular technique is fairly deeply mathematical, and to really appreciate it I guess you need some grounding in the relevant math as well as familiarity with the curve and geometry concepts. I tried to get the intuition across as much as possible, certainly as opposed to the "wall of greek" I see in a lot of academic papers.
This might well turn into an academic paper - I have as a goal to do one or two of those a year. But I also really wanted to do a blog post because I think this could be useful now, and also because the insight about triplets of similar cubic Béziers is something that might be useful even to artists and designers as opposed to tool builders.
I only skimmed it (so far) but the immediate application that intrigued me was G code compression. arcwelder fits points on arcs, but Bèzier curves would be so much more powerful (I don’t know if 3D printer firmware currently support that, but that’s a technicality)
My understanding is that most available CAM tools deal exclusively with circle arcs and straight segments.
Personally I don't think cubic Béziers per se seem like an especially good CAM primitive, but they are ubiquitous in 2d computer graphics, so they might be convenient for that reason.
It is quite pathetic that a purported 'future of payments' is so inefficient in so many ways. This is why I will never participate in systems like bitcoin that consume hundreds of TwH (and growing) each year.
I don't think btc has been purported the future of payments for years, since things like ETH, ADA, ALGO have been proven better for that. BTC is considered 'digital gold', as in an alternative asset class that millenials and zoomers have adopted in lieu of gold. And now it has become mainstream for fund managers with large AUM to hold some without being laughed out of wall street.
Its a long solved problem. Just years after bitcoin went live bitcoin devs figured out that PoW just cant be the solution.
FBA (Federated Byzantine Agreement) DLT ("blockchains") where the result or making "a better bitcoin". There is no need to burn energy to solve the double spending problem. All you need is a distributed way to agree on Tx order. Whoever tries a double spend just f**ed up themself and simply wont know which one will be ordered first and which one therefore will be invalid. Thats not a problem for any honest participant.
See xrpl.org if you wanna read more in dept about this. There are plenty other protects using BFA instead of PoW/PoS by now.
In my view, "law of unintended consequences" looms large here. On the other hand, "proof of work" reminds me that the equivalence of heat and work was proven more than 150 years ago by Joule.
That equivalence exists in the domain of classical physics.
Bitcoin only exists in semiconductor systems: its ineffectiveness stems from the extra logical layer (gates on silicon) which, while based on quantum effects, does not utilize quantum effects directly for calculation.
If we had desktop quantum computers, and a computationally hard algorithm on qubits was used for proof of work instead, we would still end up in the same arms race of ever more expensive, ever more power hungry systems do that work.
What would happen if Bitcoins work function (the hardness) was made 10 times easier, would miners use 1/10th the power budget? No, they'd just 10x their mining rate. Why? Because other miners have every incentive to do the same.
Isn't there also a fundamental equivalence between information and energy in physics? And so is there not a lower limit to the amount of energy required to compute a SHA256 hash of a certain number of bytes, and by extension mine a bitcoin block?
Isn’t the Margolus Levitin theorem slightly different?
As in while it puts the maximum bound of amount of computation per J it doesn’t enforces a requirement that the entropy increase needs to be through a non-information degree of freedom as in heat.
Locally and classically, yes. But quantum effects demonstrably break locality. Call it quantum woo if you want, but the reality is that we perceive the world top-down and know incredibly little of how our universe actually functions from the bottom up.
Its not a payment system (unless the transaction is sufficiently large).
It's more like digital gold. But gold has a track record of holding value over millennia. Bitcoin is only a decade old. Will it hold up over time? Nobody actually knows.
It was an impressive proof of concept. There are technically better cryptocurrencies (along pretty much any dimension), but they just didn't get as much attention. Maybe these articles about how bad bitcoin is should call out some alternatives.
The Lightning network is an overloy network on Bitcoin that allows faster transactions and higher transactions-per-second. Due to the economics of mining, it won't decrease the overall electricity usage of the network, but will make it more "efficient" per-transaction.
Ethereum is more programmable, to the point of being quite easy to shoot oneself in the foot. (Bitcoin is intentionally not Turing-complete to avoid abuse.)
Anything with proof-of-stake instead of proof-of-work is going to be less wasteful in terms of electricity. Ethereum is trying to get there but it has been delayed a lot.
The slow pace of block creation has been a problem with Bitcoin for a long time and lots of blockchains have higher transaction-per-second capacities and quicker verification times. Ripple was promising but had some serious scandals and I don't know if it has a future. Anyway, Bitcoin is one of the slowest ones out there now.
Several have improved on the privacy/anonymity aspects. The most famous of those I think is Monero.
(I did not want to sound like I was advocating for anything in particular, but since it would be on topic, and you kindly ask :)
As you said, as a start, anything with a higher TPS (transactions per second) is more efficient, which helps. Some notables, in my mind (not exclusive, of course) ...
I really love what Cartesi is doing: They are bringing Smart Contracts to the "linux stack", securely (same guarantees than on-chain) but -outside- of chain. This will, obviously, raise efficiencies ...
The Fantom chain is high performance -and- their contracts are Ethereum-compatible (smart!), aside from it being a very nice, well thought out "ecosystem"
The NANO token makes it a point of pride, exactly how -much- more efficient ("Eco-friendly") it is than BTC, and their approach is interesting. (It has got some HN love lately and everything :)
(On a tangent, I am also a fan of what FRAX is doing in the stablecoin space, bringing decentralization and transparency to that space ("Frax is the world’s first fractional-algorithmic stablecoin") ...
We could make an educated guess, however. Gold has intrinsic value, which gives it a significant advantage over a tiny arrangement of bits in an ocean of them.
It does, but that only establishes a low floor on the price of gold. If it had no value as a store of wealth, it would plummet in value to a tiny fraction of what it is actually worth.
Bitcoin has a floor of 0 in theory.
I would also guess that makes gold better as a store of wealth. But given that the price rarely ever approaches that floor means it might not matter. And bitcoin is harder to steal (at least you don't have to pay someone to guard it in a vault), easier to divide and transact and verify ownership. I don't claim to know how it will turn out.
I wonder about the value of gold. You might buy gold, but can you actually, physically hold it and own it?
As far as I know, the only way you can buy gold is if you either buy jewelry or are a jeweler to make said jewelry. Otherwise you’re just buying stocks which could theoretically be lost in the digital wind.
Depends on the weight of the coin, but 1+ oz. can be as low as 1% above spot (bare gold price), where 1/20 oz. can be as high as 10% above spot. So 1-10% markup for most purposes
It's better in some ways and worse in others. It could be a lot easier to hide a key than a gold bar. You could still use bitcoin to buy your way to freedom, and there would be a black market for it if there's any way to get online, which there will be. The value is supported outside the country.
It's not clear to me that gold is superior in that use case.
Aside from some industrial uses, gold really has no intrinsic value aside from cosmetic. And cosmetic use is really just shared appreciation. There's really no reason btc couldn't offer shared value as medium of exchange in the same way fiat currency serves. Just depends on enough people who agree to use it.
Your aside is an extraordinarily large aside and yet you casually toss it in there.
Humans have a nearly unlimited desire for luxury goods and always will, quite predictably. They lust after jewelry accordingly and have for many thousands of years. Nothing about that will change. The aesthetic demand for gold will remain so long as people continue to desire luxury goods.
If you drop the price of gold low enough, people will start rampantly decorating their walls and consumer goods with it. It has potent intrinsic support under the price, as much as anything can. It will remain scarce and desirable.
Most gold isn't used in jewelry either, so it didn't derive much value from a fringe use.
Ironically we go to huge effort to dig gold out of the ground, purify it, and form it into blocks and coins. Then we dig a new home in the ground, bury the gold in there and put guards outside the door. Someone here pointed out how aliens would be scratching their heads over our behavior if they could see it.
There's no such thing as intrinsic value. Gold has value because humans value it. Humans value it basically because it's shiny and somewhat rare, but the value is something we project onto it.
It is a fringe application, regardless of downvote. Usage in electronics is probably less than 1% of the demand for gold. That's the very definition of fringe.
Also, what happens when the power is out? Texas power grid was apparently a few minutes from completely collapsing recently, with some estimates that it'd take up to months to get it fully back online (and what does electricity cost around that time?). Or if a weather event seems too local, what about a major solar flare that takes out transformer capacity for years? (and it would be expensive for a long time). One could revert back to cash and gold without power, but bitcoin transactions?
Edit: I guess the summary would be that cash & gold are decoupled from electricity (even if it takes some to create/mine them), but Bitcoin's entire existence depends on continuous availability of (cheap enough) electricity.
Who needs digital gold? Why not just trade ownership rights to actual gold? We used to have gold-backed paper money and you can easily trade gold electronically today.
By putting it in a central database? We already do that. If wager you can probably buy gold online which just changes digital records while the gold doesn't move in the vault.
If you don't trust the bank our government you can put it on a blockchain. It sounds a little silly to us, but remember half the world lives in non free countries. So trust in government and institutions is a big concern. But then why bother with the gold? Proof of work ensures scarcity. So just drop the gold from the equation and now you have bitcoin.
I'm curious, did you originally own more than 50? If not, do you have a plan for when you will sell? I know if I'd bought 50 bitcoins back in 2010 I would have sold them, or at least most of them, many times over by now.
There was a YouTube video explaining how to buy bitcoin and I got curious. I bought 50 because I originally wanted to but 5 and I accidentally added 0. I intended to spend 10 dollars but I accidentally spent 100 dollars. I tried everything to get my money back but it was too late. Fast forward to 2015 I remembered bought some bitcoin in highschool and I have my key stored in a flash drive. That flashdrive was like external hard drive for me at that time.
And you weren't tempted to take some money off the table when your $100 investment hit $100,000, $500,000, $1M, $2M? Or are you saying you've lost the key?
Well, congrats on your wealth! I occasionally kick myself for not buying a few when I got interested in it back around the same time, but I console myself with the certain knowledge there's no way I would have held on to nearly these prices. I would've felt the need to diversify away as soon as it became an appreciable fraction of my portfolio. A bitcoin millionaire, I was never destined to be.
ETH is great, but it has some scaling issues that are going to take years to sort out.
One benefit of ETH over BTC mining is that PoW mechanism (ethash) has, so far, kept most ASICs off the network (1). This has prevented the speed / power race BTC faces. In addition, the fastest GPUs are not necessarily the most ROI efficient, so people aren't EOL'ing their hardware every week. Even better is that GPUs still have life after mining.
(1) Yes, there are ethash asics, but being a memory constrained algo means that at the end of the day, the limiting factor is memory, not asic chips. The other issue is availability... shipping asics out of China is expensive.
There’s definitely been improvements in cryptocurrencies since Bitcoin was launched. I’m a big fan of Cardano for example which is led by a scientific community and not apes posting diamond hands and rockets. Sadly it seems like the network effects and “brand” of Bitcoin is winning over better technology. This has to change before we spend a significant portion of our power capacity on a money system. I don’t want aliens to see us like that when they come visit.
You better not particpate in fiat currencies that maintain themselves by spending TwHs to maintain their standing armies (or diplomatic relations with countries that do have standing armies).
Don't you need the armies to protect the infrastructure that powers bitcoin? And if you get to the point where you don't need armies, do you need a massive global network to verify you can trust the people you're doing business with?
Bitcoin infrastructure is distributed widely across the world. No single country disappearing off the face of the earth entirely would take it down before the internet itself went down.
Assuming Thanos would snap away China (the whole land not just the people) bitcoin definitely could be considered "down" because it would no longer mine blocks every 10 minutes on average.
Difficulty does adjust but that take weeks. the internet would not be effected like that.
That's not how fiat currencies maintain value. I suspect, if you do a thorough analysis of history, the inflation rate is going to be mostly uncorrelated with the percentage of GDP spent on military. Perhaps it might be negatively correlated, as high military spending typically means wars which have historically (especially in pre-modern times) resulted in massive financial crises for those countries heavily involved in them.
No, nation states and their fiat currencies are locked into the bare metal layer of human relations and the only thing that matters is ability to legitimately threaten to kill humans and destroy infrastructure. (or an alliance with a country that has those capabilities)
Bitcoin is not a nationstate and doesn't have the weaknesses of nation states and their economic systems. It uses far less energy to establish and maintain itself.
Thanks. Had not considered that. An acre of property is enough to get as close as possible, earning as much as needed for taxes and utilities thru death. Few other promises in life. That sounds more defeated than I like. What I mean is that steady state life through generations should look pretty similar, because we all eat and potty and need to be cleaned, etc. Transhumanism could speciate us, no doubt. I was deep into that for a while but can’t grok consciousness downloading yet so I’ve become a lot more wait-and-see. But back to the point, thanks for that angle.
I’ve objected to Bitcoin since at least 2010ish, where I mentioned that I didn’t want to turn the polar bears black on Facebook but maybe that it looks epic and brilliant technically.
I believe it's the other way around. Objects with mass warp spacetime, and the resulting curvature results in gravity. Everything not accelerating travels in straight lines, where straight lines are geodesics through spacetime. This is why gravity is not a real force, but the result of objects traveling through the curvature spacetime.
The dozens of ASN.1 specs are absolutely hideous and entrenched in obsolete telecom jargon. If the sole goal Protobuf was to avoid having Google engineers be required to refer to the dozens of ASN.1 specs when disagreements or confusions arose, then it would have been 100% worth it for just that reason.