Friday March 9th

Old is New Again

I went to SCALE today

  • I actually spent the bulk of my time volunteering. It was nice catching up with everyone and the group of them was joking that for some reason I know everyone. It didn’t feel that way, but it’s pretty easy for me to be social in the tech community. Just my kind of people, I guess.

Some people got these soldered together

  • The LCD displays Conway’s Game of Life and has some other puzzles to solve. The image is a rotary phone. That’s actually pretty neat. It’s a perfect analogy for a lot of what I’ve been thinking about; old vs new.

Front of the Board

Back of the Board

So it’s a pertinent tie-in.

  • My brain is still racking itself over the profundity of the conversation I had yesterday evening. More specifically, a couple things.
    • If I learned so much in four hours from this guy, what about a year? Or two? It’s compelling to think about.
    • We spoke about a bunch of things: from history of languages and how to think about them (for example, Mathematica is a Lisp, Influence of SmallTalk on Objective-C (objects…in C), Simula, Fortress and others, how Java was almost functional because the language designers couldn’t agree and one wanted to integrate that idiom into the language), to idioms and ways to think about how to design a language (the Design Patterns book came up). Suddenly, the idea of going to some Big 5 “What’s New” conference didn’t seem that appealing. Learning about some new library or framework wasn’t on my mind at all. I had a compulsion to look back. It seems like there is a lot to learn in looking back than trudging forward. I mean, we’re bombarded by these things that are supposedly forward-moving every day, right (via Hacker News, etc). But what if they actually…aren’t?
  • It reminded me of the conversation I had with my mentor at JPL when I attended my first I/O. I was burned out from being around a lot of people, but still in joy, I visited my favourite place, the Computer History museum. Suddenly, I didn’t really want to go back. The stuff in there seemed more interesting than any of the breakthroughs the company had to announce that year. And last night, this same mentor agreed, “Of course!”.
  • He also spoke about the difference between doing long-term research vs ones that are fast increments of not that much. The latter really reminds me of the yearly promotions of these Big Five companies. It’s disappointing. We can do better.
  • I asked him if he thought (this is something I’ve been thinking about) that we were losing a bit of something in the way people’s brains were wired when they had to debug and solve problems using punch cards and pen and paper. He said that one thing he could say is that IDEs were being used by some as a crutch. I agree with that. I remember seeing pair-programming with one guy who was a .Net guy, and he spent the first 20 minutes of our 30 minute pair-programming just setting up his IDE, because “the IDE does everything…you’ll see”. That was a great experience for me because it taught me about what I didn’t want to be as a programmer.
  • I was encouraged to not only read Design Patterns, but HOPL I and II, which were before the languages that we know today ie the Pythons, etc.
  • I particularly liked what he said about rethinking anytime you are convinced that X is the only paradigm that matters. That’s often a huge blind-spot of several programming communities I’ve encountered thus far. People know me as “Haskell girl”, but I’ve only recently started digging into Haskell, and still play around with Python and Julia, and up to last week did a bit of Mathematica and Lean. So it pains me when there is a bit of arrogance about the way. Plus, it puts newbies like me a bit off, quite frankly.

I’m happy

  • I’m happy to spend the rest of my year reading, researching and just thinking about exactly what I want. I’m really happy with the decision to carefully pick and choose what I’d like, as part of the process of where I’m headed, regardless of what happens within the next year.
  • There is this whole new world that’s away from the frameworks, the libraries, the things I should be doing if I want a job, and I’m happy to spend time away from that to just focus on being a good programmer who learns a larger vocabulary, is aware of the history of Computer Science and has a breadth of knowledge. Even if it takes a year, two, five or ten. To me, it’s worth it.

And..that’s it.

Written on March 9, 2018