I've always found OCaml's (* ... *) comments annoying, because it needs shift for both characters. But I suspect it's easier to type on a french keyboard.
I commented on a relatives post about a giant zucchini, and started getting posts about zucchinis in my feed. A couple of years ago, Facebook noticed that I stopped scrolling for calvin and hobbes comics and started showing me a bunch of those for a while.
I finally got the deletion thing to not error out and am almost at the end of the 30 day deletion period.
It's been a very long time, but my recollection was the Mosaic did images first, and it was non-standard. (The beginning of the end.) I might be thinking of some other feature though.
I was also disappointed that the editing went away after the first browser. (There was "Amaya" which had editing, but it was a research thing and not a commonly used browser.)
My little language Newt is 7 kloc. Dunno if it's worth including, it's mostly an exercise to learn how these things work and is not as polished as I'd like.
- Self-hosted
- Compiles to javascript
- Bidirectional typechecking with NbE (based on elaboration zoo)
- Dependent type checking
- type classes
- ADTs with dependent pattern matching
- TCO (trampoline for mutually tail recursive functions)
- Erasure of compile-time only values (0, ω quantities, but not linear)
Either newt was already in the list, or it got added. We talked a bit about using our languages for AoC 2024 -- looks like you've been keeping busy working on it!
Yeah it has been fun. Lots of directions I can take it:
Since I have an LSP, I've got faster turn around and can add editor functionality that requires poking at the compile state. That's my current thread.
I have a C backend on hold, while I think about how I want to represent data without boxing everything and about whether I want to do reference counting or GC. (Reference counting unlocks "counting immutable beans" if I decide to give that a go, but I'd also like to try implementing GC someday.)
I should do some browser interop stuff and write something other than a compiler in my language.
And there are language enhancements: implementing "Do unchained" from Lean, automatic handling of lazy and/or async modalities, deriving implementations of classes, ...
At an airport once the coffee stand had a girl behind the counter that would just hand you an empty disposable cup. She didn’t even handle cash, it was card only using a self checkout POS system. And it still asked for a tip with the default of 20%.
If you really want to make a deal out of it, you hand it back to the server and ask them to select 0 for you. Mention that you don't think the service deserves a tip, and that you resent being asked.
If enough of us start doing this, it has a chance of applying some back pressure, although unfortunately that force acts through the poorly-paid checkout operator who doesn't directly have the option to influence decisions.
CNN is now reporting that the FAA had a meeting scheduled with the DoD on the 20th to discuss use of the system, but someone decided to use the system earlier. (The 20th is one day short of 10 days.) They also report that CBP was operating it.
Back when I was a kid in the 80's. I cracked one of the Ultima games. I had it on my hard drive and didn't want to stick a floppy in every time I ran it.
The code decrypted itself, which confused debuggers, and then loaded a special sector from disk. It was a small sector buried in the payload of a larger sector, so the track was too big to copy with standard tools. The data in the sector was just the start address of the program. My fix was to change executable header to point to the correct start address.
my story of this is Atari Macro Assembler. The floppy had a specific sector that was damaged, and the loader would test this sector to ensure it was in fact damaged. this was obvious becuase whenever loading the floppy, you had to wait for one of those big "BZZT....BZZT" things where the 810 drive was trying to access a bad sector and giving up. I was able to disassemble maybe the first 30 bytes of the boot to see it checking this and doing the jmp. I just overwrote it with a single jmp and got not just a copy but much faster loading without the BZZTBZZT part.
I've heard that Happy Drive singlehandedly destroyed the commercial viability of the Atari 8-bit software market, because it was so widespread and is so powerful at duplicating games.
When I was in school a lot of the CS students would take a telecommunications minor because they needed a minor and it was "easy". It included a film class.
Don't you end up with PDF if you start with PS and restrict it to a subset? And maybe normalize the structure of the file a little. The structure is nice when you want to take the content and draw a bit more on the page. Or when subsetting/combining files.
I suspect PDF was fairly sane in the initial incarnation, and it's the extra garbage that they've added since then that is a source of pain.
I'm not a big fan of this additional change (nor any of the javascript/etc), but I would be fine with people leaving content streams uncompressed and running the whole file through brotli or something.
I've got so much other stuff I'd rather learn and code I'd rather write (C/wasm backend for my language), but I've also started job hunting and probably should understand how this latest fad works. Neural networks have long been on my todo list anyway.
Knuth solves the bracket issue by redefining his keymap to swap () with [] and + with = (macos keymap files found at the bottom of this page: https://www-cs-faculty.stanford.edu/~knuth/programs.html )
reply