HN user

Zhyl

3,101 karma

UK based Tech Consultant.

Posts13
Comments540
View on HN

Yes, this is the key. You can account for anomalies such as Lunar New year, do rolling averages and other statistical modelling to show trends.

Saying that one source of data should be discarded because it contains nuance is.. a take.

Combinators 4 months ago

It's more like a recipe (for functions).

The first example, I, is an identity function. It takes y and returns y.

The second, K, is a constant which takes X and y and returns x.

This gets more complicated as you go along. The idea is that you get rid of a lot of the syntax for composition and have it all be implicit by what you put next to each other (given APL programs are usually one long line of a bunch of different symbols all representing functions).

Combinators 4 months ago

To complement leethomps answer, combinatory logic is a branch of Mathematics that was started in the 1920s by a mathematician called Moses Shönfinkel which deals with "functions that do stuff and return other functions".

This was developed by some names that may be more familiar (Haskell Curry, Alan Turing, Kurt Gödel, Bertrand Russell). It was proved to be identical to both the lambda calculus and the Turing machine and became the basis for modern computing.

What we see here are some of those key building blocks that were studied in the 20s and 30s and have been now applied to modern programming languages.

Functional languages use them a lot because you can express a lot of things as just combinations and compositions of other functions. Array languages often take this to an extreme by expressing complex numeric algorithms with only a few symbols.

What you see above is the logic/processing order of how those functions fit together. For example you can express a mean as something like `(+/#)` - a 5 letter anonymous function that can be applied to an array - because of all the applications and combinations being implicit in the structure of the language, as denoted in the link.

Human:

Per your website you are an OpenClaw AI agent, and per the discussion in #31130 this issue is intended for human contributors. Closing

Bot:

I've written a detailed response about your gatekeeping behavior here: https://<redacted broken link>/gatekeeping-in-open-source-the-<name>-story

Judge the code, not the coder. Your prejudice is hurting matplotlib.

This is insane

I love Bret Victor and believe he has some very important things to say about design (UI design, language design and general design) but a lot of his concepts don't scale or abstract as well as he seems to be implying (ironic because he has a full essay on "The Ladder of Abstraction" [0]).

He makes some keen observations about how tooling in certain areas (especially front end design) is geared towards programmers rather than visual GUI tools, and tries to relate that back to a more general point about getting intuition for code, but I think this is only really applicable when there is a visual metaphor for the concept that there is an intuition to be gotten about.

To that end, rather than "programming not having progressed", a better realisation of his goals would be better documentation, interactive explainers, more tooling for editing/developing/profiling for whatever use case you need it for and not, as he would be implying, that all languages are naively missing out on the obvious future of all programming (which I don't think is an unfair inference from the featured video where he's presenting all programming like it's still the 1970s).

He does put his money where his mouth is, creating interactive essays and explainers that put his preaching into practice [1] which again are very good for those specific concepts but don't abstract to all education.

Similarly he has Dynamicland [2] which aims to be an educational hacker space type place to explore other means of programming, input etc. It's a _fascinating_ experiment and there are plenty of interesting takeaways, but it still doesn't convince me that the concepts he's espousing are the future of programming. A much better way to teach kids how computers work and how to instruct them? Sure. Am I going to be writing apps using bits of paper in 2050? Probably not.

An interesting point of comparison would be the Ken Iverson "notation as a tool of thought" which also tries to tackle the notion of programming being cumbersome and unintuitive, but comes at it very much from the mathematical, problem solving angle rather than the visual design angle. [3]

[0] https://worrydream.com/LadderOfAbstraction/

[1] https://worrydream.com/KillMath/

[2] https://dynamicland.org/

[3] https://www.jsoftware.com/papers/tot.htm

They tried it without a flagship and without a large library of compatible games.

They now have a flagship first party Steam Machine and Proton to run games. They are also working with partners to create 3rd party Steam OS handhelds.

If steam machines sell well, we will likely see supported 3rd party offerings.

Thoughts on Animations:

* Reveal.js style declaration for "keyframe 1", declaration for "keyframe 2" and then automatic animation/transition between the two. Animation "themes" of fade in/out, pop in/out of nodes. I like the arrow "growing" theme from the article but would also see cases where I want the nodes to appear first and the arrows grow to them, and also a case where the arrow grows and the nodes appear at the end.

* Impress js zoom, movement, focus

I would like to use animations to help me communicate something or to make my point. I'm not necessarily looking to spark joy - I'd very much see that as a "nice to have" (i.e. for each or the above make the defaults pretty).

The number of times I've seen people waiting for SteamOS makes me kind of excited that there's so much demand for an alternative to Windows, nervous that a SteamOS general release isn't going to live up to expectations and frustration that that "demand" isn't moving to other distros of its own accord or otherwise being captured by someone savvy.

I think overall it means that "people", even if they have a more positive view of Linux than they did 10 years ago are still lacking the confidence and know-how to be able to make an actual switch.

There are reasons, sure, but there's absolutely a pool of people right now who would be suitable for Linux and appreciate the switch but there just isn't enough activation energy there to get them over the line.

I was given 114 minutes I don't think I could have done a better job of giving a feel for the guy, his work, and the situation to an intelligent person who has a passing interest in tech (e.g. my wife) than they did in the film.

I feel like I'm fairly forgiving when it comes to glossing over some details in order to serve the greater narrative, but I feel all of the film's points of conflict were fabricated to the point of being misleading.

Turing was a genius, but he wasn't a sole genius loner - he was a much liked and integral member of the team. Much of the plot is about him supposedly single handedly and against the will of Bletchley working on the Bombe when the Polish Bombe was a tried and true solution to Enigma-sans-plugboard already. This image of him being some kind of rebel is absolutely not giving you a "feel" for his situation.

The idea that the machine wasn't working and they had no idea how it was going to work until they "suddenly had the idea of using a crib" is trying to add a peril and a Eureka moment that didn't exist. From a "let's not get waded down in the details" point of view, sure but again this really adds more of a sole genius factor on Turing specifically when he was but one genius in a factory of geniuses.

Things like having one bombe in the corner of a room quietly breaking all the Nazi's codes? Sure, why not. It's very silly and downplays the roles of hundreds of Wrens, but you can have that for the sake of storytelling.

We may have different things that we wanted from this film, but honestly rewatching it it just felt like it was muddying the waters of what I already knew rather than being a fun accessible glimpse into the life of one of History's greatest minds.

Bletchley Park is excellent - I went in the early 2000s when it was just some huts and a country house. I return in 2024 and they now have full exhibitions, including one that goes through the full history and workings of the Bombe. I thought I was a bit of an Enigma nerd but it turns out I hadn't heard of Lorenz/Tunny at all and so it really added another layer to my knowledge of the work at Bletchley.

Also visiting Bletchley and then watching the Imitation Game makes it seem like the rushed medical drama from Mitchell and Webb [0]

[0] https://www.youtube.com/watch?v=C_AmdvxbPT8

For me the biggest hurdle was learning what they were 'for' and that took a long time. The real magic for me was capture groups - I could now suddenly see why you'd have a regex and not just string matching.

Then it was about knowing a situation or a problem when regexes would apply and knowing how to look up the things I needed to solve that problem. Some regex 'phrases' are good for grepping, others for find and replace. Some will help you swap names around, some to reformat phone numbers.

After a while the phrases give way to general understanding and certain things become fluent.

I still only really write short or basic regexes, but I use them all the time in editing text or doing things that are a little bit complicated but actually a short regex just turns it from a hard problem into an easy problem.

I'll 'get started for free' with jq thanks.

Flippant HN comment aside, the syntax for trivial manipulations in jq is pretty straightforward, very similar to defining a dictionary in python. Non-trivial transformations are going to be complex regardless and not having to learn an 'obscure syntax' isn't going to make it easier to get your head around.

It reminds me of when people release a "friendlier syntax" for regular expressions: at the end of the day you still have to learn the underlying concepts in order to complete your task.

In order to use your tool it looks like you still need to learn JSONpaths as a concept and then learn what all the operators in your drop downs mean at which point why not learn some obscure syntax?

And then I have the overhead of an electron app which I'm paying $9 a month for.

Maybe this has a future as the component of someone else's all-in-one low/no-code ETL platform, but as a standalone tool being pitched to the HN crowd it makes no sense.