Reposted by Kay Lackirek @irek1.bsky.social · 11/05/2026I use Emacs for programming but when working with Git, Pass, crontab or other UNIX programs that utilize EDITOR env var I'm in Ed which works very well for small edits. So I'm not using Ed for writing code but I use it daily for things like Git. My full story: portal.mozz.us/gemini/tilde...portal.mozz.usSmolNet Portal 141
Kay Lack @neoeno.bsky.social · 09/05/2026daily! so cool. how does that go for you? i've been considering it lately but assumed it would not be practical. seems i was wrong! 110
Kay Lack @neoeno.bsky.social · 16/04/2026well that's my content schedule sorted right there. thank you mr ai 👍 1110
Kay Lack @neoeno.bsky.social · 19/12/2025Python, like pretty much every year except for the odd Google Sheets day :) The puzzles themselves are hard enough for me! 020
Kay Lack @neoeno.bsky.social · 05/09/2025working with the reasoning model like www.youtube.com/watch?v=u-wD...youtube.comThe Simpsons Homer is slowYouTube video by Stephon M 080
Kay Lack @neoeno.bsky.social · 29/08/2025I was indeed thinking of ColorForth! I imagine Chuck Moore would recognise it as not ColorForth but instead a colorful Forth, but it's a nice opportunity to use colour to notate the way each word is processed. More to come of that. Thanks! 030
Kay Lack @neoeno.bsky.social · 29/08/2025Hello! A little video about Forth. More to come ?? www.youtube.com/watch?v=YZ4n...youtube.comIntroducing Forth poemsYouTube video by Kay Lack 1275
Kay Lack @neoeno.bsky.social · 27/06/2025my view so far - forth is simple and beautiful. and, like all simple and beautiful things, the closer you look, the more you realise that it is in fact a tightly woven web of disturbing complexity but that might just be me 0110
Kay Lack @neoeno.bsky.social · 27/06/2025deep in the forth mines with hacked together forth, in a hacked together virtual machine, running in a hacked together web-based forth IDE. the next video approaches 1251
Reposted by Kay LackAlexander Kuznetsov @alexkuz.me · 03/05/2025This is me working from home btw 0122
Kay Lack @neoeno.bsky.social · 03/05/2025Oh I ALSO made this choose your own adventure story using an online clone of ed that I wrote using ed, in an online environment simulating computing of the time, even down to the sound. That was maybe unnecessary, but did it anyway. toys.0de5.net/ed60/cyo/toys.0de5.netEd60 0184
Kay Lack @neoeno.bsky.social · 03/05/2025Ed is the standard unix text editor. It's also strange. This is a video about ed, why it is the way it is, and an alternative vision of computing in the world that may just be coming back. youtu.be/GoyNMFccbowyoutu.beThe little editor that couldYouTube video by Kay Lack 65610
Kay Lack @neoeno.bsky.social · 17/02/2025oh, and the last video! a bit of a grab bag on algorithms for converting regexes directly into DFAs, following up a loose thread on why Thompson's construction is sometimes known as the McNaughton-Yamada-Thompson construction... tldr it probably shouldn't! youtu.be/tAw9-nTCuzIyoutu.beFun and games generating DFAs from regular expressionsYouTube video by Kay Lack 2204
Kay Lack @neoeno.bsky.social · 17/02/2025can't believe i missed this vintage shot of 80s Alfred Aho for the last video... would have been so perfect! 2140
Kay Lack @neoeno.bsky.social · 06/02/2025Wikipedia says that comp sci professor Rao Kosaraju originated the saying "At some point, the learning stops and the pain begins." — what do you think it means? 2140
Kay Lack @neoeno.bsky.social · 29/01/2025every day i get up, i make another clone of ed the Standard Unix Text Editor, i do my burpees, and then i study Unix v7's ed.c to figure out how on earth it works. feels like leetcode for trying to get a job at Bell Labs in 1975 1251
Kay Lack @neoeno.bsky.social · 28/01/2025thank you for saying that! i’m so glad. what did you learn? if you feel like sharing 200
Kay Lack @neoeno.bsky.social · 24/01/2025new video! there is actually no way to describe this topic in a way that sounds interesting so i'll just say it's about whether 1.5 or 2 is friendlier youtu.be/GZPqDvG615kyoutu.beIn search of the perfect dynamic array growth factorYouTube video by Kay Lack 0162
Kay Lack @neoeno.bsky.social · 15/01/2025there's lots i've glossed over in this thread, so for a deeper dive — the video :) youtu.be/kPqk07Gpj0Ayoutu.beWhat is the everyday list, really?YouTube video by Kay Lack 083
Kay Lack @neoeno.bsky.social · 15/01/2025and that's what it is! most of the time anyway. functional and systems languages often make different choices and then educate their users about them, while general purpose languages like JS also often try to be smart in the edge cases (like sparse arrays) 120
Kay Lack @neoeno.bsky.social · 15/01/2025so on average (called 'amortized') this sly little operation is O(1) - constant time. so we now have a very flexible, kiiiind of almost basically constant time access data structure, which is suitable for embedding into the programming languages all the world uses 100
Kay Lack @neoeno.bsky.social · 15/01/2025this seems to me VERY sneaky. the append operation for this data structure is mostly O(1), but will occasionally be O(n). but! if you graph out the average operations for n appends to a list, it looks like this 120
Kay Lack @neoeno.bsky.social · 15/01/2025and then if you try to add an element that won't fit... it secretly creates another array 2-3x the size and copies all of your elements over 100
Kay Lack @neoeno.bsky.social · 15/01/2025and neither are — these languages (typically, most of the time) use a data structure called a dynamic array. this is essentially a 'wrapper' around a static array. the runtime gives it a fairly generous initial size 100
Kay Lack @neoeno.bsky.social · 15/01/2025so both arrays and linked lists have big downsides, and neither seem to fit the picture of the flexible, fast-access [1, 2, 3] list type we know and love from Python, JS, et al 100
Kay Lack @neoeno.bsky.social · 15/01/2025the problem is — accessing elements means scanning the list until you find the item you want. this is O(n), where the array was O(1). a little worrying for a general purpose data structure everyone is using all of the time (and which people will probably embed in other loops) 100
Kay Lack @neoeno.bsky.social · 15/01/2025you can then play with the links to prepend, append, insert, splice, reverse, or most anything you like — all with quite good performance 100
Kay Lack @neoeno.bsky.social · 15/01/2025the classic answer to this inflexibility is a data structure called a linked list, in which you store pairs of a value and a link to the next record 100
Kay Lack @neoeno.bsky.social · 15/01/2025the snag is that you need to know the element size and array length up front. element size you can get around using pointers, but array length is harder. if your array is hard up against other important data, you can't extend it. 100
Kay Lack @neoeno.bsky.social · 15/01/2025the ability to calculate the location of each item, rather than having to search for it, makes arrays very fast for access and storage. and so long as you know every size up front you can use it to store surprisingly complex types too, like 2d arrays or even trees 100
Kay Lack @neoeno.bsky.social · 15/01/2025in some ways the 'perfect' list is an array. you take a fixed number of elements of a fixed size and store them one after the other in memory. to access an element you take the start address and add the element size multiplied by the index 100