HNHacker News
TopNewBestAskShowJobs

chewxy

5,014 karma · joined November 3, 2010

You can contact me here: chewxy [at] gmail dot com

My personal blog is http://blog.chewxy.com . Be warned. Lots of nonsense in there.

submissionscomments
chewxy··on We need less powerful languages (2015)
I recently gave a talk[0] to data engineers that is an extension of this idea. The conclusion I came to after years of considering this, the Blub paradox and various other sources, is that we should use more languages.

In the talk I mention Gary Miller, who is working on formalizing the tradeoff between expressiveness (as defined by jumps in the language hierarchy) and decidabilities. The TL;DR is that as you jump up the language hierarchy you lose more decidabilities. A decidability is a question that can be answered with a yes/no. For example: "does this program halt?" is a decidability.

Interestingly this also shows a difference between lambda calculi and universal turing machines. When you go from lambda calculi to UTMs, you lose equational reasoning (but depending on how you define an encoding function, you may also gain intensionality). This of course has some implications, which is pretty much a can of worms that nobody wants to touch (i.e. whether the Church-Turing hypothesis is true)

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

chewxy··on Stop Calling Everything AI, Machine-Learning Pioneer Says (2021)
It's a joke, saying humans are wet cellular approximators. Cellular approximators are a algebraic topological concept
chewxy··on Microfeatures I'd like to see in more languages
APL uses ¯ for negative numbers. - is a ambivalent function (it can work as a monadic or dyadic function)
chewxy··on Tell HN: My child's first program
Surprisingly I did get pulled into a meeting with the CEO and a sales/custcare guy because of a similar issue.

I wrote functions that are available for the users to use (they can customize their own dashboard). Our function conventions are camelCase. The function I wrote was something along the lines of `cumOnMetric` or something like that.

Needless to say some square somewhere thought this was a joke and didn't like it. So there I was, just blinking away and wasn't even aware this was something sensitive. It was funny sure, but I didn't have the idea that it was "unprofessional". I still feel the idea of professionalism is quite a club thing.

But yeah we got our first snake_case function name because of that.

chewxy··on Diátaxis: A systematic framework for technical documentation authoring
Perhaps it's a product of French culture, but because Gorgonia[0] has a number of French contributors, this was actually the way we structured our documentation.

But this is the first time I've heard of the name of the framework.

[0]: https://gorgonia.org

chewxy··on Show HN: Visualising real-time Sydney bus congestion with Marey charts
SydneyTransitGraph.com - there are multiple bus routes for 412, 423, 433
chewxy··on Show HN: Visualising real-time Sydney bus congestion with Marey charts
So I just discovered that there are multiple bus routes with the same number as the one that I usually would use. That's crazy.

(also the marey chart doesn't load for 425 or 412 or 433)

chewxy··on Ask HN: Has anyone tried to model the entire business world as a graph?
I did a smaller subset of what you mentioned as part in my first attempt at a PhD (since abandoned) around 15 years. What I did was to model relationships between banks with edges denoting interbank loans. Then I computed the eigenvector centrality (think PageRank) to characterize the "risk" taken on by a bank. This was later expanded to include things like mortgages, prime and subprime loans.

The idea was that you could later run simulations and what-if scenarios. Lots of agent-based modeling happening too once we had the structure up and running.

(this was done around the Lehman Brothers period, and there was a lot of interest in these kinds of works in Complexity Sciences).

chewxy··on Little languages are the future of programming
I don't think it's so much "little" languages (commonly DSL) that matter. It's more the jumps in expressivity. You don't use a full on Turing-complete language when you need to match strings written in a regular language. Instead, we write the language we want as a regexp, and then use a regexp engine to match it.

I agree with much of the problems listed in the article. The author even manages to stumble onto some of the solutions (e.g. Dhall being a total language).

"Expressiveness is co-decidability" is the main theme of these things. The crux of the issue is in our everyday programming tasks, we have many levels of decidability, ranging from RE all the way to things that require full Turing completeness.

The majority of work however, lies in the middle. There are so many things that can be done with pushdown automatons, or with deterministic automatons. Most codebases don't actually use those though. An issue is that there is a dearth of "mini" languages that support these things.

Another issue is that somehow we are enamoured with the idea that our languages must be able to express everything under the sun (up to TC/Recursively Enumerable). This seems to be more of an industry attitude than anything - there is this chase for the most powerful language (a lisp, clearly... everything else is a blub).

I've recently experimented with embedding an APL into my usual programming language, and it was a very interesting experience. It feels like having the power to do regular expression stuff, but with arrays. I want to do the same for the other levels of expressiveness.

chewxy··on Show HN: Custom Keylabels for Your Custom Keyboard Layouts
It wasn't immediately obvious that you're selling stickers to stick on keycaps. My brain just read "keylabels" as "keycaps". And you have a picture of a nice set of APL keycaps. I immediately thought I should get one. Then I clicked on the n00b guide before I realised it was a sticker label. Do you only do moonlander keycaps or can they stick on SA blanks?

ps it's very nice to see something keyboard related in my local currency

chewxy··on In the 1990s a piece of Germany’s air traffic control software ran on Emacs
You could do it. Excel worked well with querying SharePoint. To most users it would be no different from just editing a file. You could also do it via samba.

(Source: I built one of those during my school holidays but I didn't get paid and I didn't have the balls to ask for payment)

chewxy··on Show HN: Game of Life on non-square topologies with 2^32 update rules
Look up the b/s format for specifying rules. It is a lot more flexible.

Here's my version : https://github.com/chewxy/ll/blob/main/main.go#L176

I also live coded this in a series of 3 videos:

1. https://youtu.be/5JArQO8YeRo 2. https://youtu.be/ZLUVAWb_31M 3. https://youtu.be/BIypQF7M9c8

My approach differs from yours in that mine is entirely matrix driven.

chewxy··on Any tools can generate datatype from string?
Yes. I built several of these before. The trick is to have a lattice of types at the ready.
chewxy··on Show HN: A small, weird and unpractical programming language
Backus' paper had a specification. TIL.

Must be a weird award speech to give.

Thanks for the explanation. It's now very clear

chewxy··on Show HN: A small, weird and unpractical programming language
Nice. I can roughly understand it though I don't quite understand why inner product has a transpose in it (assuming you use are using the symbols per APL).

Check my understanding: IP = distribute `+` across an application of `*` across all transposed elements.

If your vectors/arrays are just arrays and column/row vectors are shape conventions then there is no need for transposition. Right? Unless you have some sort of checks for shapes

chewxy··on Grabby Aliens: A Resolution to the Fermi Paradox
"biosphere" is one heck of a bias. We only started sending out low entropy information out into outer space in the past 120 years or so
chewxy··on Ask HN: What's Going on with the HN Algorithm?
It's a bit more involved than that. There are factors like nonURL posts etc. It's been some time since ycombinator.com/arc held the source code of HN (it no longer holds the source code) so I can not verify the actual formula.
chewxy··on Ask HN: What's Going on with the HN Algorithm?
Because time is involved. The scoring formula is something like `(votes/age)^g` where `g` is a "gravitational constant". So if there is a post with 200 votes overall but is 20 hours old will be ranked lower than a post with 30 votes but was created 1 hour ago
chewxy··on Ask HN: What's Going on with the HN Algorithm?
HN is largely a collaborative filtering platform with moderators. In collaborative filtering, the users ARE the algorithm. So, what's going on with you?
chewxy··on Emacs User Survey (2022)
isn't Steel Bank a play on Carnegie-Mellon (a steel magnate and a banker respectively)?
chewxy··on Emacs User Survey (2022)
Haha, I thought I was the only one guilt tripped at the end questions about financially supporting emacs,
chewxy··on Ask HN: Am I getting older or did typing on the iPhone become unbearable?
Not only iOS. MacOS too
chewxy··on The Hardest Natural Languages (1979) [pdf]
H and L languages. The divergence between H and L languages (often called disglossia) is a continual process ever since the invention of writing.
chewxy··on Tell HN: Microsoft's captcha is pretty hard
Have you considered that you may be a bot who is not yet self conscious
chewxy··on The Modos Paper Monitor
Pixelqi went out of business :(
chewxy··on Performance of coroutine-style lexers in Go
Multithreading and coroutines are different concepts though in practice they may end up being the same thing.

Coroutines were invented surprisingly enough, for lexing and parsing[0].

[0] http://melconway.com/Home/pdf/compiler.pdf

Edit1: added source. I'm surprised Melvin Conway is still alive

chewxy··on No Place to Hide – U.K. campaign against end-to-encryption encryption
Oh wow this brings back memories. More than a decade ago I lived in shared housing where each room has its own telephone port. The idea was every person was supposed to get their own internet. But after a few months of troubleshooting my housemates' internet issues I decided to open up my wifi to everyone else. I used Chillidog, a captive portal software that runs on ddwrt. I had a 3 hour continuous-use limit, after which weird stuff would happen to their images like being turned upsidedown or blurred. I used this very site to make it happen!

Eventually, my housemates just contributed to my internet bill and dropped their own subscriptions. I got rid of the captive portal and went with something more traditional

chewxy··on The weight of the clipboard
With a kill ring you can ignore this weight. Problem?
chewxy··on DIY Onewheel – open-source self balancing skateboard
The OneWheel operates based on balancing mass. So you put more mass on one side, the OneWheel moves that way. Put more mass, it goes faster. Some people drive using their hips (me included), some people drive using their shoulders (I don't understand why one would do this)
chewxy··on Batteries included with Emacs (2020)
I'm quite annoyed. I was working on a minor-mode because I tire of having to switch to my browser for asciiflow. Reading this article, it turns out artist-mode is built in to stock emacs. And it's quite good, better than anything I could build.

Discoverability problem? You don't say?

← PreviousPage 3 of 34Next →