https://www.youtube.com/watch?v=BYjOp2NoDdc
And here are some more details in time series discords
Technical stuff, mostly
https://www.youtube.com/watch?v=BYjOp2NoDdc
And here are some more details in time series discords
From this HN thread I just discovered a file/info organization system called Johnny Decimal.
And it looks very very sane. And I think it can be easily combined with the person-action-object memory system I'm already using.
Going to try it and report back.
I realized today I haven't mentioned Brian Cantwell Smith in this blog before. I'm not intimately familiar with his work, but I've read some parts of his papers, thesis, and talks.
And I can tell you, dear reader... if you're into meta/circular concepts, you'll have a great time reading his work.
Here are some links. The first one is a new talk by him, and later are works I've read and caused some impression on me. Look for more of his talks. All of them are pretty deep, and not " run on the mill" talk you find in youtube.
I find these themes pretty dense, but it's enjoyable to have a peek from time to time. Similar to Dennet's, Spolski's, and Hofstadter's
Have fun
Dan Ingalls and Brian Kernighan are the few people that I can listen for N hours straight, no x2, just x1, and just listen and be in awe.
There's this new interview to him, and I think it's amazing. Nothing to do with Alan's talks. The speed, the body language... many different things, and equally amazing.
https://www.youtube.com/watch?v=EMwHeqQZgFw
Btw, at 2:30 is when he talks about Steve Job's demo.
Also, 2:45 or so, squeak implementation and portability, blowing your mind.
Some time ago I created a new homepage for https://raimonster.com, where I was supposed to migrate my blog to. The migration never happened really (that's why I'm writing this post here), but I learned hugo on the way, and that was already something.
During the learning process, it took me quite a bit of time to understand how hugo would render the site, what were the templates, the posts, the index pages, the home page, and how they "yielded" from one to the other. I even wrote a post about it. It was nice to find I was not alone finding the docs confusing, and this link explains why it is so confusing. Reading that post was like reading my own mind, explaining the reasons of the confusion.
This one is something that depending on the moment you think about this you might agree or disagree, and it's like those optical illusions that when you think "right" the images rotates to the right, and when you think "left", it does to the left.
The principle of "two and done" is a guiding tenet to keep yourself sane, on your toes, and put things on perspective to not give an unwarranted amount of importance to things that do not have them.
Even if "someone is wrong on the internet", knowing when to stop arguing can feel like "not driven enough" on my side, but it can feel also like a liberating proactive empathic way to problem solving.
So the Two-And-Done rule was born, wherein I will state my case the first time, and if whoever is arguing to the contrary does not agree after hearing my position, I’ll let it go. But the next time the opportunity comes up, I will argue my point again. Maybe allowing for a gap of time for people to consider my original point, or maybe allowing me time to refine and rephrase my ideas to be more convincing.
If I fail to get my way after the second time though, I am done. I will even say as much to whomever I am debating if they are the final decision-maker. I will say something like, “OK, let’s go your way then. I still don’t completely agree with everything proposed here, but I think I’ve made my case, and we need to move on.”
Yielding in an argument like this has some weird, powerful effects. One is, it kind of releases you from responsibility if things should go wrong. And if a truly bad decision has been made, it is actually pretty likely that things will start going wrong. (Important Note: If you fail to convince people after two tries, you really do have to get behind the decision, and not try to sabotage or undermine it)
The pretty important part is that you have to get behind the decision.
Today I read this HN thread about YJit and Tenderjit that is a great lesson, and there's a comment there, someone describing some traits of his. I'm quoting it here just to read it from time to time when I review my posts:
I've had the pleasure of meeting Aaron at a number of ruby confs. He's supportive from the largest all the way to the smallest.My personal favorite thing he'll do is ask conference speakers questions that make the speaker look good/best-light-possible. Something slightly technical/challenging, not fully covered in the talk but definitely something the speaker can handle.
To be able to do this consistently means he knows the topic better than the speaker themselves (at least this has been true when I've been there).
This is in contrast to people who ask "gotcha" questions. Spend 3-4 minutes showing off their knowledge and then finally getting to the question which is to stump the speaker. I hate these kinds of people at conferences the most.
Shouldn't be hard, right? supporting people and trying to make them feel engaged and well about what they do, let people shine without having to point out that "actually,....", or "as I said in an earlier thread....", or ... you know....
Since My "On Writing" post, a few posts came through HN that touched somehow on the communication styles, context, and missconceptions on sharing knowledge.
- What happened when I stopped using emojis. That reasonates with my thinking a lot. I'm trying to use only the modern version of '+1' and simple ':)'. The other ones dumb down the expressivity to a baseline that brings nearly 0 info. On the other hand, knowing that old reddit's '/s' has its own family of symbols and meanings made me think that well used, a short symbol can convey the a lot of info (https://toneindicators.carrd.co/). On Context and the power of understanding "where that person is coming from", there's this great example on Greg Wilson's talk What Everoyone in Thech Should Know About Teaching and Learning where it explains how in examining the novice's mistakes, you can infer what he/she didn't understand, and what's the best explanation or example to give in order to solve the enigma and make it 'click'. (As an aside: I think it's a great example of why human interactivity is not redundant once you have docs and wikis.)
Which brings us to APL (again), and its notation. I've been more and more excited by APL, and I'm following now some APLers on youtube, for example Rodrigo Girao which does great short beginner videos on APL solving leetcode problems. Also, subscribed to the shakti mailing list, and reading 'mastering dyalog' when I have some time.
On the strict writing side, I found a couple of courses and docs in https://developers.google.com/tech-writing and https://developers.google.com/style/highlights that deserve a good read. I just skimmed them, but well.... something >> nothing.
A great read of a mars story and great lessons on software design, systems thinking, and probably resilient software.
https://mars.nasa.gov/technology/helicopter/status/305/surviving-an-in-flight-anomaly-what-happened-on-ingenuitys-sixth-flight/
If you want to really go into detail in the greatest space story ever, dont' miss this one from the Moon landing: https://www.youtube.com/watch?v=B1J2RMorJXM
I've been subscribing more and more to newsletters lately. It's kinda RSS on your mail.
I discovered (in https://subreply.com, which is an "interesting" social network I tried once) this Music Newsletter called FlowState. And boy, it's SO GOOD. Relaxing non-vocal flowy music every day. There's jazz, there's (psy-)?ambient, new-age, tribal, house,... I'm surprised every day by a couple of playlists I can snap into spotify and start working.
Of course, reading mail in emacs makes that you can just automate the shit out of it. It placed my radios repo in a clear 2nd place on my daily music listening.
Here's an example of a great thing that appeared yesterday in Flow State. Anthony Braxton: Six Monk's Compositions (1987)
Enjoy.
I've lately been a bit interested in writing style. The triggers were a couple of things:
1) People in my $ENV abusing extremely indirect-passive I-am-not-that-involved I-dont-give-many-fucks-but-I-talk-academically-to-seem-that-at-least-I-am-thoghtful. Yes, the problem probably lies in me, but I digress.
2) I discovered this writing plain English. This page is short, to the point, and I found it amazing that you can apply 99% of it to programming, and behaving, and many planes of your daily life. It caused a big impact. It's like a Fowler's article masked as an English writing guide.
3) https://news.ycombinator.com/item?id=41298774
Then "The Internet" started throwing links and videos at me about writing effectively, like this Steven Pinker one, or this other one aimed at academics writing articles, but with interesting insights from the University of Chicago. Also, did you know that George Orwell has a very cited text on English style? I didn't. But it's cool.
So, I haven't read 'The Elements of Style' or plan to (for now), but I can recommend all 4 links here. You can ingest them in a single day, with your non-tech-geek SO, and have thoughtful discussions. Long term, if something sticks, great. Else, you write a blogpost about those links so you can reference and reread them later on. :)
Here's a weird post (the links are good though).
While usual ups and downs in life and work, I try to keep my information intake as regular as I can. When I keep reading and learning from the sources I know do bring me balance, I'm giving the opportunity to get back to my regular ok-state.
Mood is a reinforcing feedback loop (self-optimizing machine), and if you don't cut it, it can tilt the system and change the equilibrium to a completely different point. And picking the right inputs help me slowing or reverting the feedback loop.
Few weeks ago, by a friend's recommendation I watched this talk by Jens Mönig , and today this one from _why. And talk about learning, and the fun, and the big ideas that make our profession something like explorers, tinkerers. They both question some of the pains we take for granted as inherent complexity of programming, when they are mostly incidental.
And it's "funny" I'm taking _why's inspiration, because at some point, he disappeared from the scene. Not sure about the reasons, but probably burnout? And we go to a grey-ish article about Surviving disillusionment.
The Soul of A New Machine, we see a case of engineering, business, pressure, people enjoying their craft at the same time that they are suffering the extreme contraints of time, tech, decisions made from upwards. But they thrive. And thriving is also a reinforcing feedback loop.
An internet person that helped me get up in a bump I had a few months ago is Jeremy Howard and his fastai courses and code. I saw him and I could easily take him as a model for how to code, approach problems, teach people, communicate, research (APL!), and even use vim! :) And it's very sad that he got bit by today's off-the-charts Code of Conduct policies and wrong-handling-gone-out-of-hand. I feel extremely sorry for him.
Another thing that happened recently to me is reading CHAOS by James Gleick. And again, patterns from randomness. Learning about chaos in order and order in chaos. They are part of what we are.
We like seeing patterns, seeing patterns when others just see noise. It's listening to jazz. And it takes time to teach your ear or eye on seeing those patterns.*
You see a series of numbers, and there's interference. or the series does not stabilize anywhere. First thing you try to do is find a pattern. Do the numbers grow always? Do they alternate between positive and negative? Maybe they are converging?
When things do not line up yet, you try to add a dimension there. Do they move faster every time (no matter if up or down)? Can I imagine the derivative of it being constant? or, is it the derivative of something that might have a pattern?
Can, that derivative be seen as a series, and try to apply the first analysis again? is it always growing? more extreme?..... (That feels like the enhanced optimization algorithm in "Why Functional Programming Matters").
So, ups and downs come in patterns, and sometimes their ups and downs come from very concrete explainable things, and sometimes they form out of a small disruption, or they start a turbulence of crazy chaotic ups-downs.
If not understanding it, can we foresee the chaos coming from a pattern of ups and downs? do we see a pattern, a f'(x), f''(x)? Are we approaching a singularity?
Fuck if I know.
* If we apply the learning lessons from _why and Jens, even if there has to be a basic intuition, it shouldn't be hard to see those patterns. But it is.
EDIT: https://hbr.org/2019/07/when-passion-leads-to-burnout. so true
That's a pretty neat project I've stumbled upon. Radicle.
It tries to do a really distributed code management solution by building upon a few concepts I consider super interesting and rock solid.
I'm gonna be throwing a few keywords that lighted up when reading about it (they might or might not appear as direct references in radicle's articles).:
That's a lot of cool stuff! I wish I had a bit more time, but lately I'm so much into Red language that I devote 80% of my free time to it. Still learning the basics of its toolchain, but it seems very impressive to me so far.
And here is something totally unrelated, but I enjoyed it so much I have to post it somewhere. A reverse engineering video of Contra (NES videogame from the 80's), with explanation of the konami code.
Scientists like to be able to locate things by giving a ``vector'', that is, a list of coordinates in a space of known dimensionality. This is one of the reasons they like orthogonality--it means the various components of the vector are independent of each other. Unfortunately, the real world is not usually set up to work that way. Most problems, including linguistics problems, are a matter of ``getting from here to there'', and the geography in-between has a heavy influence on which solutions are practical. Problems tend to be solved at several levels. A typical journey might involve your legs, your car, an escalator, a moving sidewalk, a jet, maybe some more moving sidewalks or a tram, another jet, a taxi, and an elevator. At each of these levels, there aren't many ``right angles'', and the whole thing is a bit fractal in nature. In terms of language, you say something that gets close to what you want to say, and then you start refining it around the edges, just as you would first plan your itinerary between major airports, and only later worry about how to get to and from the airport.