Interesting, I was about to say -1, 0.9, 1.0, because I don't know is almost as useful as the correct answer!
HN user
hhhAndrew
OK I love used books but this diatribe is a thing of beauty.
Mathematica is the earliest thing I am aware of with this feature where it was Alt+. to expand selection in their notebook interface starting in the early 90s. But the thing I miss most that I still can't shake the muscle memory of after almost a decade of not using much Mathematica, is that single/double/triple/n-click scaled this way as well. So double-click selected a whole word (as in all editors), triple-click selected all the comma-separated multiple args of a function, 4-click for f(a,r,g,s), and so on.
Yep on ChromeOS each user's home dir is separately encrypted with their own password.
+1 DJGPP/Allegro key life experience on my parents Windows machine, thankyou!
After reading TFA, I have to cop this as fair criticism :). Thanks.
Agreed with others it's just what you're used to. I was inverted-y for most of my gaming life because I started with flight sims where it was mandatory, reflecting the real life hardware. So I used the same in FPS games when they came around. Decades later I had kids and had to spend some time sharing a mouse with them, and didn't want to condemn them to a life of having to look for "inverted Y axis" in the settings of every game (+1 to the post above who requested an OS-level setting for this!), so I left it on the default in Minecraft and learned the other way. Now I'm actually bilingual and can swap from one to the other with about 2 minutes warm up time. This is the same as what happens with driving on the left/right side of the road if you spend a lot of time in different countries driving.
With my kids I drew the grumpy line at Minecraft's new Autojump setting tho ... They had to learn with that disabled.
One idea for what happens next, that rhymes with pop-up blocker revolution, is Gates' "disintermediation of everything" via AI, where agents on our behalf will be able to "find me a video I like and don't show me the ads", "renew my electricity contract and don't let them soft-scam me with their tricky pricing structure", "buy groceries online and don't get tricked into buying candy from a promo", etc. Agents make become like popup blockers in that way. Subsequent to that, I reckon we may see some sites adopting TOS forbidding people to have AI agents visit on their behalf.
(Maybe skip the mini-insults & make the site nicer for all?)
Anyway I think GP has a point worth considering. I have had a related hope in the context of journalism / chain of trust that was mentioned above: if anyone can produce a Faux News Channel tailored to their own quirks on demand, and can see everyone else doing the same, will it become common knowledge that Stuff Can Be Fake, and motivate people to explicitly decide about trust beyond "Trust Screens"?
This is how Eiffel works. Instead of private, protected, public, you specify the set of classes a method can be seen by: `feature {ANY}` for `public:`, feature {NONE} for private, feature {Self} (IIRC) for protected, feature {Foo, Bar} for descendants of Foo and those of Bar, etc.
It seems a standard childhood memory! I had a chicken and salad sandwich downgraded to a salad sandwich while I held it my hands as a child. Couple of decades later, almost identical thing happened to my own kid.
In 2004 I owned only my laptop, with no full size keyboard -- but the sword fighting minigame really benefits from a numeric keypad. And so I bought a USB numeric keypad, which is an odd little accessory which, every 5 years or so, proves handy for some reason or other.
+1 this breadth vs depth framing. I notice this in aider itself: What right does that project have to support all those command line options, covering every little detail, and all optionally via Env variables too, and/or yaml file, and .MD docs of them all up to date? Answer: aider itself was clearly used to write all that breadth of features.
I get so much value out of this site in all sorts of important fields (to my career, or to my interest) where I am playing catch-up. But every couple of months a thread pop up in a field I am closer to state of the art, giving me a helpful reminder about the Gell Mann Amnesia Effect. I am sure others with variety of "Before Hacker" backgrounds experience the same in their own fields.
In what is surely not a coincidence, 2012 is also the year in which a Stack Exchange question about how to generate these beautiful diagrams in Mathematica came up: https://mathematica.stackexchange.com/questions/11657/factor...
I wrote an answer there that produced these diagrams from fairly few lines of code.
The question there referred to same now-broken link mentioned above so the origin still unknown.
Oh my, this is so amazing. I can't wipe the grin off my face. I never thought I was would see Hammurabi (https://github.com/maurymarkowitz/101-BASIC-Computer-Games/b...) again!
With this I can pinpoint the exact first bug I created, and debugged. The year was 1991 +/- 1, the place was Canberra Australia. For unknown reasons that changed my life forever, my Dad got on board with this "computer" thing and bought an "Osborne" 486 PC. That year I went to the school fete and, for AUD 0.20, picked up a used copy of this book, leafed through the pages, settled on Hammurabi, and after some struggle and discussions with friends, managed to run Q-Basic and typed this program into it. And it sort of worked, but something was wrong, and after much experimentation I found that on line 11 (only today, with this post can, I finally state the true line number) I had written "LET P=P+1" instead of the correct "LET P=P+I". After a fair bit (days) of trial and error and 10-year-old reasoning, I figured that out, and so it began.
This! I used to think fridging bananas ruined them right away as they went brown, until I learned the insides are perfectly fine.
In fact, it can be nice to do one's explorations in the REPL and then reify one's discoveries as tests.
This is how I wrote unit tests when I worked on Mathematica: try out every edge cases of the function in a notebook, and then use a tool to extract all the input/output cells and convert them to tests. I didn't know the term reify for this practice, I like it!
I like this take.
Previously there was a tension between easy-to-write (helper functions to group together oft-repeated lines of code, etc) vs easy to read (where often modest repetition is fine and is clearer). I felt this tension a lot in tests where the future reader is very happy with explicit lines of code setting things up, whereas the test author is bored and writes layers of helper functions to speed their work up.
But for LLMs, it seems readability of code pretty much equals its writability?
To make code more authorable by LLM, we approximately just need to make it more readable in the traditional sense (code comments, actual abstractions not just code-saving helper functions, etc).
Mathematica notebooks aren't related to juypter.
I don't think that's fair. Rather, IPython, and later Jupyter, explicitly (successfully) sought to create a Mathematica-like notebook experience for Python.
I got an LLM to explain it to me. That sort of thing is definitely in their wheelhouse.
Adding to the pile of anecdotes of dirty browser hacks we're proud of: In 2002 (few years before Ajax went big) I rolled my own Ajax-y thing using a hidden iframe with a form inside it to send & receive data from the server while the user never saw a page reload. The app I used it on was for a client whose rather bad idea failed a year or so later but I'm proud of my part of it as a junior dev with a crazy idea!
This thing would be a nightmare to clean. If you have ever had a jetted bath you will know what I mean.
The book Chess for Tigers by Simon Webb explicitly advises this. Against "heffalumps" who will squash you, make the situation very complicated and strange. Against "rabbits", keep the game simple.
I once saw a mind blowing series of slides from a Dutch transport engineer at a conference, showing the succession of steps taken over the years on a single country lane to reduce the chance of collisions to essentially zero.
It started as a one-lane-each-way road like we all know.
Later ome space was shaved off the sides for bike lanes.
Later the lanes were repainted (without being moved) to appear much narrower. Drivers are more careful when they find it difficult to successfully stay within the paint.
Later (mind blowing part), the one-lane-each-way was repainted as a single narrow lane shared by both directions. So the only supported line of travel guaranteed a head-on collision. This causes drivers to drive very carefully...
Yes! Here's a pic of dappled sunlight from the 2012 partial eclipse in bay area: https://photos.app.goo.gl/qBGGPUEu8bZB4Dgi9
+1, great definition, not sure why cynical
Mathematica. Usefully homoiconic with an underlying compute model of "get AST, pattern-match-and-replace within in, repeat until fixed point".
Greg Egan. Agree with others in this thread that Permutation City is the most important. But Diaspora is not to be missed either. Egan's unique value prop is: crazy-thought-experiment sci fi (2D world with 2 time dimensions is his latest and is typical) but hard, harder than you can believe. Sci fi so hard, you don't find any cracks and are left thinking wait a minute ... This must be true then?
Gene Wolfe. Book of the new Sun. Wolfe's unique value prop is, create an interesting sci fi or fantastical setting, and tell it through special narrators (unreliable, liar, child, amnesiac, etc) with wonderful skill, producing a puzzle with a lovely solution (that you will only partially solve).
This may be a great complement to the first half of the nand2tetris course.