I know it is out of scope for this article, but there are variants where the operations are monadic rather than applicative and the shape of the graph can change depending on values. And also variations with state - where history can be taken into account.
I've been using birdnet, but it seems to want an internet connection to do the identification and sometimes that is dicey when there is a bird that I want to identify. (Also birds seem to shut up around the time you get the app open.)
I'm going to give Merlin a try - the app has UI to download the network for offline use.
Requiring an internet connection for a nature app is absurd. As annoying as it is I get why a big tech company like Google fails at this sort of thing, many of their employees probably never leave a city and so the products always work well for them. But a nature app has no excuse, normal usage will get blocked by that all the time.
That's what Merlin is for but it's a ~450mb install. BirdNet is only a ~30MB install and birds are everywhere, so what's wrong with having an online option for most people who spend most of their time within range of a cel tower?
Yeah, a few years ago I tried the free ones, but eventually settled on Comic Code. I've been using it ever since - it's pleasant to code with. (If anyone is considering this - the "essentials" set with bold/italic is around $30. You don't need the full set.)
I typically wash my wok (and any carbon steel skillet) before eating. They seem to be easier to clean while hot.
But I use an outdoor butane burner for the wok, so I'm not heating it back up afterwards. I usually wash and set it upside down on the counter to drain.
Worse than that - people will start tagging "this value is a Date" via comments, and you'll need to parse ad-hoc tags in the comments to decode the data. People already do tagging in-band, but at least it's in-band and you don't have to write a custom parser.
See also: postscript. The document structure extensions being comments always bothered me. I mean surely, surely in a turing complete language there is somewhere to fit document structure information. Adobe: nah, we will jam it in the comments.
"Use of the document structuring conventions... allows PostScript language programs to communicate their document structure and printing requirements to document managers in a way that does not affect the PostScript language page description"
The idea being that those document managers did not themselves have to be PostScript interpreters in order to do useful things with PostScript documents given to them. Much simpler.
For example, a page imposition program, which extracts pages from a document and places them effectively on a much larger sheet, arranged in the way they need to be for printing 8- or 16- or 32-up on a commercial printing press, can operate strictly on the basis of the DSC comments.
To it, each page of PostScript is essentially an opaque blob that it does not need to interpret or understand in the least. It is just a chunk of text between %%BeginPage and %%EndPage comments.
This is tremendously useful. A smaller scale of two-up printing is explicitly mentioned as an example on p. 9 of the spec.
As someone who cut their teeth on a sun "programmer" layout, I really need control to be in that position. I might try mapping the vestigial control key to escape though. Or maybe the hack that dtj1123 describes (tap is escape, hold is control), if I can pull that off on macos.
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, ...
Jane street briefly summarizes some options here: https://blog.janestreet.com/breaking-down-frp/
And they have an interesting talk on the trade-offs and how their own system, incremental, evolved: https://blog.janestreet.com/seven-implementations-of-increme...
reply