martes, 12 de noviembre de 2019

very proud of my history

So now that I'm transforming this blog in a twitter account (for my ~15 followers), I just wanted to mention that when I type 'pdf' in my firefox, the suggestions I get are the following:


And I'm extremely proud of that :)

lunes, 11 de noviembre de 2019

Some Forth Implementations

To finish up one of the geekiest weekends in the last months, I just wanted to point to a few Forth implementations, from where I learned some nice tricks (from both forth and the implementation languages)

- Bashforth/Perlforth
- Rubyforth
- Miniforth
- ItsyForth

I spent a lot of time grasping Bashforth, with its usage of some smart tricks that you don't usually see in bash scripts. Also, the fact that array indices are used as a sort of pointers makes total sense, but it wasn't obvious to me at first (I had to research a bit about "delcare"). Perlforth is done by the same guy, so it uses a similar approach.

Miniforth is Lua, and uses a different kind of implementation, and gets to bootstrap something forthish in 40 lines of lua.  Not bad :)

Rubyforth is the one I touched less, but looks like a variation of miniforth with more Forth compliance.

Now a quick bash quiz: What does it echo? AnswerHere

#!/bin/bash
fun() {
        local var="local value of var"
        echo "$ref";
}
var="global var"
declare -n ref=var
fun 

Well, there are two more canonical forth implementations that is worth mentioning them here, because if you're gonna just look at one implementation, you should take these ones as more "de facto" implementations.
- pforth
- jonesforth

sábado, 9 de noviembre de 2019

J's awesome

So here are a couple of nice reads that, although they're not new, they somehow teached me something new today about J.


First one is this 9 minute video on the "i." integers monadic verb.  It's super simple. So simple I almost dismissed it as trivial. "Monadic verb that returns an array from 0 to the parameter you pass it", right? Well... There's more than meets they eye.  The trick is that for non-array programmers it's not obvious that the parameter can have many dimensions. And what zeroes mean? and negative numbers?

Next is this super nice interactive J demo.

And a classical: Loopless programming.

miércoles, 6 de noviembre de 2019

SICP and Hal Abelson

So I got recently hooked up to SICP again, and binge watching the 80's classes in HP.

Also, rereading parts of the book and feeling that magic again.


Starting from there, I've researched a bit more from the authors, and I've focused in Hal Abelson.

Usual links:



Emacsconf 2019!

Emacsconf last Saturday was a blast! I planned to attend for a couple of talks and ended up staying the whole day!

Quite interesting talks, made by passionate contributors, cutting BS to 0, and somehow the talks were broad enough to take something from each one of them.

Even digressions in the irc channels were also interesting. Of course, the tribe that joins a saturday on an irc channel and a video streaming of emacs stuff for 9 hours, we're more than ok to discuss about window managers, programming languages, and all sorts of emacsy geekyness not entirely related with the talks. There was a very good vibe there.

A couple of talks focused more on the meaning of emacs as an FSF flagship, and the political meaning of the project. Very important to note that in a gathering of emacsers. I sometimes forget that emacs is as much of a software artifact than a political statement.

Jitsi behaved ok for 70% of the time, but the first 30% was a bit worrisome.  Connection dropping and audio cutting was a bit frustrating. The organizers did a great job solving those (I can imagine the stress), and they had the "recorded lightning talks" card up their sleeve.  Kudos to them, and to JohnW who got most of the jitsi difficulties in his turn :/.  Luckily he was calm and patient enough to flyby those hiccups and the message went through ok.

Annnnd the closing keynote.  That one gave some food for thought...  Better html support, different implementation language (learning from Remacs?) different extension language, looking at vscode in depth, attracting contributors, bug reporting....

Thank you everyone involved in one way or another. Organizers, speakers and attendees.  I had a great Saturday :)

miércoles, 30 de octubre de 2019

Postgres 12 and a db course

Postgres 12 was recently released with some great features like concurrent reindex, jsonpath, and other stuff: https://www.postgresql.org/about/news/1976/  and https://www.postgresql.org/docs/12/release-12.html are good general info pages for the new stuff there.

Then, this is a great course about databases. It is about the internals of databases: https://www.youtube.com/watch?v=1D81vXw2T_w&list=PLSE8ODhjZXjbohkNBWQs_otTrBTrjyohi&index=1 . Really cool (at least the first 4 lectures)

Another sql thingie:
Julia Evans has this select order of execution that also is quite helpful if you're learning SQL https://news.ycombinator.com/item?id=21150606 .


viernes, 18 de octubre de 2019

Updated interview questions

My new questions for interviews:

  • Tell me about 3 (tech?) talks you think are worth mentioning (you like them very much or you dislike them)
  • 3 books (technical or not)
  • Show me something in your Github, or github log (timeline matters)
  • Would you recommend me to read any code from a library? 
  • do you have any comments on the following code? Imagine it comes in a PR you are reviewing. 
  • name 3 famous computer scientists/programmers. Expand on why if you want.