I don't think your comment is fair to the author. If there was not such caveat, then there would not be a need to write that article.
HN user
oleganza
Building Safely & Flame. Previously: Tonkeeper, Slingshot ZkVM, BTCRuby, CoreBitcoin (obj-c toolkit), Gitbox app.
Web: http://oleganza.com
Twitter: @oleganza
Email: oleganza@gmail.com
[ my public key: https://keybase.io/oleganza; my proof: https://keybase.io/oleganza/sigs/AJQSAr3c4OGeX1kGNlkC7CA4GCHrwFxd_d0NRObC-P0 ]
Sorry for the irony, but the article is so long, i asked gpt to extract key points.
I think what'd be a stronger point is talking about centralization of the quality models. Modern AI tools are inherently centralized around huge shared infrastructure that gives enormous leverage (== capacity for abuse) to those owning the infrastructure. This is true even if you have strong competition among several players: each of them would converge on some business model and majority of users would not be bothered with long-term consequences if they receive very tangible short-term value.
The tooling is amazing, amount of productivity we unlock is fantastic and it's getting better by the day. But we need to watch out for collateral damage too. The future is somewhere there, but we can steer it towards being more or less hazardous.
Your response was more correct in a professional sense than producing the piece of knowledge you've been asked for. I'd prefer to work with people who value everyone's time and write programs accordingly. If the interviewer was looking for a valuable expert, they were lucky to get you on board.
It's just not cool to have kids. There are many more ways to have fun and status in society, so having kids is either coming as a social burden ("i am expected to by my spouse/relatives"), or a religious thing. Rationally, it's such a pain in the ass to have kids, while you can have some much more fun without them: travel the world, meet people, learn and explore! Clearly, having kids is net cost and suffering.
Yet, those who opt in do have a different opinion. We got two a decade ago, and then a couple years ago through of FOMO that when we are 45 we'd look back and regret missing the window of having another couple of kids. So we did. I'm 39, have four kids, had to get a bigger car, pay the airline tickets through the nose, spend a lot of time on kids' stuff, and love it. My family is the center of the universe and I'm the happiest and wisest dad alive. Everyone else is childish ;-P
These seem like particularly specific excuses. If you are not into having kids, there are many different ways to rationalize that (but why?). If you are into kids, you'd have to overcome all sorts of pain and suffering, car culture is by far not the worst of them.
(Father of 4, 39 y.o., non-religious.)
As a father of four (2+2: third one was born after 8 years since the second one), I thought all the trouble in the world would come and go, but what'll stay is us having a second life with kids when older ones get all independent teenagers. And we are not 40 yet.
The transportation costs are annoying, but worth it.
Correct. These kind of metrics invite fraud exactly because they are not rooted in reality. "Money circulation" is a bad metaphor. https://oleganza.com/all/money-does-not-circulate/
TV examples show that Apple simply has done their scrolling right, while everyone else did not work out the necessary details.
Maybe it means "LOCs changed"?
I asked ChatGPT what traits should vibe-oriented programming language have and oh boy did it deliver.
(https://chatgpt.com/share/693891af-d608-8002-8b9b-91e984bb13...)
* boring and straightforward syntax and file structure: no syntax sugar, aliases, formatting freedom that humans cherish, but machines are getting confused, no context-specific syntax.
* explicitness: no hidden global state, shortcuts and UB
* basic static types and constraints
* tests optimized for machine evaluation
etc.
ECDSA is a horrible workaround for patent on Schnorr signatures. Here's my talk from 2019 about the issue.
https://www.youtube.com/live/2IpZWSWUIVE?si=-LRRbU2mJgL9LiNP...
exactly my thought. I never made it to Vista. In 2007 I changed WinXP (always used it with the classic grey theme) for OS X Tiger on a MacBook and never went back to Windows since then.
I wonder where a decent alternative will be lurking in the next few years? Apple is losing some grip, but all others are still worse overall.
You don't have to play this game - you can always write within unsafe { ... } like in plain old C or C++. But people do choose to play this game because it helps them to write code that is also correct, where "correct" has an old-school meaning of "actually doing what it is supposed to do and not doing what it's not supposed to".
Magic prefix (similar to byte-order-mark, BOM) is also killing the idea. The reason for success of any standard is the ability to establish consensus while navigating existing constraints. UTF-8 won over codepages, and UTF-16/32 by being purely ASCII-compatible. A magic prefix is killing that compatibility.
That’s a “hot take” that people take as an axiom. What if it isn’t? What is the precise definition of “participating in society”? What level of earning and spending is considered morally good and who’s to decide that? (Meta questions arise when discussing conflicts of interest of the deciders.)
I love how people bring up deflationary spiral as a "peril" while the prerequisite for it is the universal and smashing success of Bitcoin.
The only "problem" Bitcoin poses for economies is for governments to fine-tune their local economies via currency production and related controls. In that sense, we should watch how events unfold in Turkey.
* among major "regular" economies, Turkey has the highest % of people holding crypto (≈20%). Second only to special zones UAE and Singapore (31%, 24%).
* Turkish lira is steadily inflated over the last 30-40 years, well over 10% and recently over 50%.
* Turkey does not have mandate for pricing goods in local currency: you can pay in dollars or euros, along the local lira.
* When you enter Istanbul airport, Every. Single. Gate. is marked with BTCTurk ad, inside and outside - the major crypto exchange in the country.
* Istanbul city market is full of traders who use USDT on Tron.
The experiment of social game "Bitcoin" boils down to this: will the people self-organize the functioning economy with monetary freedom, while the gov loses its grip on it; or will the economy collapse without government's regulation and protective management?
Get married, make a couple of children and a lot of life issues go away — you'll always have something to actually get done ASAP instead of just staring at a todo list and wandering around.
Thank you Jimmy, great article.
My 23+ year experience in computer science and programming is a zebra of black-or-white moments. For the most time, things are mostly obscure, complicated, dark and daunting. Until suddenly you stumble upon a person who can explain those in simple terms, focus on important bits. You then can put this new knowledge into a well-organized hierarchy in your head and suddenly become wiser and empowered.
"Writing documentation", "talking at conferences", "chatting at a cooler", "writing to a blog" and all the other discussions from twitter to mailing lists - are all about trying to get some ideas and understanding from one head into another, so more people can get elucidated and build further.
And oh my how hard is that. We are lucky to sometimes have enlightenment through great RTFMs.
Sorry for lack of clarity, but i was saying “Keccak” and not “sha3” for that specific reason: it’s a permutation building block suitable for a whole range of constructions - cshake, kangaroo etc. sha3 specifically is an overkill and unnecessary imho.
CShake128 is much better replacement for hmac and sha512 in (zk)proofs, while Kangaroo for things like FDE and massive volumes of data.
That's a valid point. However, modern hardware and crypto algorithms are fast enough that it pays off to have "do it all" protocols, with as little tradeoffs as possible.
Example: Git users do need both corruption protection AND secure authentication. If authentication is not built in, it will have to be built around. Building around is always going to be more costly in the end.
Unfortunately, 20-30 years ago considerations such as "sha1 is shorter + faster" were taken seriously, plus all the crypto that existed back then sucked big time. Remember Snowden scandal in 2013? That, plus Bitcoin and blockchains moving towards mainstream brought about review of TLS, started SHA-3 competition. Many more brains turned to crypto since then and the new era began.
The tradeoff is not that simple (I wish it was :-).
Usually it goes like that: someone made something useful optimised for a specific use-case with certain time (or competence) constraints, within a total lack of decent alternatives. Then people adopt and use it, it becomes the standard. Then people want to do more things with it, and try to build around that thing, or on top of that thing and Frankenstein monsters get born and also become standard.
If you start from scratch you can do a crypto protocol that is both better designed (causes less UX pain and critical bugs) AND performs better on relevant hardware. Also do not forget that performance is easily solved by hardware: Moore's law and then custom hardware extensions are a thing.
Example: Keccak is so much better from the composition perspective, that when used ubiquitously you'd definitely have ubiquitous hardware support. But if everyone continues to use a mishmash of AES and SHA constructions on the pretext of "Keccak" is not as fast, then we'd never move forward. People would continue building over-complicated protocols, bearing subpar performance and keeping the reputation of dark wizardry inaccessible for mere mortals.
When I learned crypto 5-10 years ago, it turned out that a lot of "building blocks" are mostly hacks. Looking back from 2020s we see that some of the standards that we use for the last 20-30 years can in principle be thrown out of the window (they can't for compatibility reasons, though) and replaced with much cleaner and more universal replacements.
If we do not talk about modern exotic stuff (post-quantum crypto, zkSNARKS, homomorphic encryption), the 99% of everyday cryptography is based on two building blocks:
1. Symmetric crypto for ciphers and hash functions.
2. Algebraic group with "hard discrete log problem" for key exchange, signatures, asymmetric encryption and simple zero-knowledge proofs.
Historically, these two categories are filled with a zoo of protocols. E.g. AES is a block cipher, but SHA(1,2) is a hash function.
Today, you can roughly achieve everything of the above with two universal building blocks:
- Keccak for all of symmetric crypto: it is suited both for encryption, hashing, duplex transcripts for ZK protocols etc.
- Ristretto255 group based on Curve 25519: for diffie-hellman, signatures, key derivation, threshold schemes, encryption and more.
The problem is that none of the described features is implemented in a turnkey standard, and we are still stuck using older crypto. Heck, even Git is using SHA-1 still.
Then, after you have your building blocks, there are more hairy stuff such as application-specific protocols: TLS, Signal, PAKE/OPAQUE, proprietary hardware security schemes for full disk encryption and access controls etc.
what's ironic about that?
BTC saved the value over the years for all its holders, including even those who bought during the height of mania and have suffered temporary setback for a few months.
For an asset where no one promised anything but uncertainty, that's the only asset that you can rely on as your insurance against asset seizures, inflation, pumps-and-dumps (compare BTC with any other token with marketing - BTC marches on, while all these tokens get pumped/dumped and then stay forever at zero).
We did it with our kids 7-8 years ago and it worked perfectly. They were riding bikes with pedals within a week or so.
The article does not mention the important difference in the steering wheel behavior: when you ride with trainer wheels (or a tricycle) you learn to steer by turning the front wheel; but when you balance on a bicycle you steer by rotating your body and turn the wheel only afterwards to "catch" the bike. These two modes of riding are almost opposite and if you learn the first one, you'd have to unlearn it the hard way.
Because your life is measured in hours, not miles.
Also for the most flights the alternative is not driving or riding a train, but not travelling at all over that distance.
Examples: 1) unnecessary business trips ("that meeting could've been an email"); 2) long-range vacations ("let's travel somewhere local 1-2 hr by car instead of 3-6 hr by plane")
I came here to write this exact comment. The article is wrong in assuming that WP is wasteful. It gives huge optionality to the users: engineers probably can afford going with a static page and then changing the entire architecture of their webpage once they need some interactivity, but non-engineers want to go with a scalable solution: where they start with a contact info and slowly end up with a personal shop or whatnot without reinventing the setup at each phase transition.
Speaking of optionality and opportunity costs: many engineers are trained to see the unseen opportunity costs in technology ("YAGNI" and "tech debt" are often used terms), but often fail to see the economic opportunity costs: those that would waste time and cognitive effort of human beings, not the machines. Example: many engineers like to fantasize about micropayments architectures "because efficiency", but people cannot calculate those. They are better off with a nice round monthly subscription just to minimize number of microdecisions they have to go through daily.
This demo reminded me of 2001-2002 when I was hanging out on forums about Macromedia Flash: people were making crazy demos with a mix of hand-drawn shapes, animations and ActionScript.
What you can do in modern HTML+CSS+JS is incredible. Too bad people bury it down under millions of layers of frameworks and code transformers.
I disagree. Netflix is successful because you get a never ending stream of entertainment for a predictable cost. No need to make consumer decisions on each and every piece of fun.
It takes extra effort to avoid this trap. I and my wife had to make a conscious decision to abstain from watching any TV shows because of their addictive structure - same goes for the algorithm feed of reels. If we need to watch a movie in the evening, it must be a complete thing in itself, not a beginning of a 5-season saga.
People want to be hooked up on subscription because schools and parents do not preach long-term values (well, maybe only orthodox religious minorities do).
We are in this situation because of a shrinking time horizon for the modern society (aka "high time preference"). People want instant gratification, buy-now-pay-later, pay attention to the packaging, not content. Most citizens are conditioned to live here and now. Even climate change activists frame the issue (that is supposed to be about long-term thinking) on a very short scale: do something hysterical right now, otherwise the world's gonna end tomorrow.