> Instead of regular expressions, Janet’s text wrangling is based around parsing expression grammars. Parsing expression grammars are simpler, more powerful, and more predictable than regular expressions.
I would dispute that this is the case. In PEGs, alternatives are not commutative, unlike in regular expressions. This can lead to quite frustrating debugging. While a valid choice, the advantage over REs is overstated.
The public transport service in Hannover/Germany once had a screensaver that you could configure to show the next departure from your nearest station. I thought that was clever marketing. Today you probably could implement this as a web service.
I like the idea mentioned in the article of exploring limited higher-order functions: functions that can only take functions as argument that themselves are not taking functions as arguments. But what simplification does this buy (in the implementation of such a language) over a language that is fully functional? It is not explained in the article.
This makes you appreciate curation in a museum. Why are these objects shown together? Historical period, size, design feature, material, production method? It looks completely arbitrary.
The main feature of interval parsing appears to be that it can jump over content such that a later part in a file does not depend on knowing everything that comes before it. Has Dogma similar expressiveness?
Filecoin, which is based on IPFS, creates a market for unused storage. I think that idea is great but for adoption it needs to be as simple as Dropbox to store files. But visit https://filecoin.io/ and the dropbox-like app that you could be willing to try is nowhere to be found. So maybe it is an enterprise solution? That isn't spelled out either. So I am not surprised that this has little traction and the article further confirms the impression.
"Annealing, as implemented by the Metropolis procedure, differs from iterative improvement in that the procedure need not get stuck since transitions out of a local optimum are always possible at nonzero temperature. A second and more important feature is that a sort of adaptive divide-and-conquer occurs.
Gross features of the eventual state of the system appear at higher tempera-tures; fine details develop at lower tem-peratures. This will be discussed with specific examples."
My understanding of simulated annealing is that solutions that are not improvements are still accepted with some probability in early steps but that this probability decreases as "temperature" drops. Looking at your description (but not code) I did not see that aspect but it looked like you would only accept improvements of the cost function. Is this correct or where does your solution accept slight regressions with some probability, too?
For covering the subject of writing, the typesetting of the PDF is remarkably poor. The mix of serif and sans serif, the font sizes don't match the structure of the document, and enumerations have inconsistent indentation - to point out just a few blemishes.
What does your business do? Stripe might not have listed your business model explicitly but could still prefer to not have you as a customer if it is an edge case.
Suggestion: parse any number like 12:03 as 12 minutes and 3 seconds (and 04:12:03 with hours) and represent it as seconds. It makes working with durations a lot easier. This is just an additional parsing rule (could also use 12m3 or 4h12m3) like 1e3 for 1*10^3 but is typically not implemented.
This guy needs a copy editor. The meandering writing is off putting when someone is writing on the subject of becoming efficient at a task or process. He is in love with his own writing, maybe considering it entertainment, which he proclaims not to do.
That's a great service. I can think of various features to support more use cases:
* provide an optional label - for the use case where several clocks are used and shared.
* start and share several stop watches from a single page: start them one by one or together. For a race with multiple participants that either start sequentially or together.
* Support taking split times.
* Combine timer and stopwatch: count down from a set time, then start the stopwatch at zero. It currently does this already. This supports races like sailing where the actual start is preceded by a countdown period.
I am using the binary on macOS. The UI is a bit idiosyncratic but it works quite well and is ideal to cut a video down to the essential parts without loss of quality.
> A much better effort, for anyone interested, would be to vastly simplify the OCaml build and package management story to be more Go-like.
OCaml's package management and build system is not complicated for consumers and builds are very fast. What do you feel is complicated about opam and dune?
What is complicated (but got better) is submitting packages into the official package repository. However, this ensures that packages have correctly versioned dependencies, which is good for consumers.
Go does not rely on a central package repository and this makes it easier to use by essentially just pointing to GitHub. OCaml and Go differ in the way they try to use updated dependencies for a build. OCaml by default is aggressive whereas Go prefers stability.
I would dispute that this is the case. In PEGs, alternatives are not commutative, unlike in regular expressions. This can lead to quite frustrating debugging. While a valid choice, the advantage over REs is overstated.