You can learn anything No images? Click here Developers of now have it differentThe CMS project continues. If you want to see the rough spec I produced for it, that's available here. That goes through my design thinking generally. Some details of the API has changed but overall things are lining up with that idea. The code I'm working on presently is here. Still quite low-level building-blocks stuff. Fun, except for the validation stuff I'm doing now which I don't particularly enjoy. I tried some Norm, seems good but wouldn't help me cast things, then I figured I'd use Ecto Changesets since they are already there. We'll see how that shakes out. They aren't the best at nesting it seems. Input is welcome but may be arbitrarily dismissed ;) Publishing since last newsletter The previous livestream where we set up the PETAL stack according to my guide is up on the site (and YouTube). A second episode of Regular Programming is up at regprog.com, this one is about code reviews. You should probably subscribe in your podcast client to get it, it is all about the RSS. Do let me know if you enjoy the podcast, it is still a very recent launch and we are keen to hear if it sits well with people. The thing me and my friend from RegProg is doing where he learns Elixir with me via ElixirSchool and Livebook has had another episode. This time we poke at Collections. The episode of Beam Radio where we have the delightful Frank Hunleth on is also available. Livestream today Today's livestream will be at 13.30 CET and on the YouTube channel and I'm planning on doing native, cross-platform, desktop UI in wxWidgets with the Erlang wx module. I've poked at it before. It is a monstrous piece of kit to have just right there. Let's investigate. Call to action? I don't have any particularly scalable way for my readers to support what I do at the moment. I'll figure something out eventually I'm sure. For now I'm happy doing this on the margin from my consulting work which is doing well. That said, if you enjoy what I do the absolutely best thing you can do to support the effort I put in is to share my stuff with the people you know that would benefit from or enjoy it. So if you know people who would benefit, do let them know. And be cool about it, they might not get it, I'm not for everyone. We don't learn in the same wayMy PC on your line, ever since the feds cut mine I had the chance to talk to a young high-school student at a previous job. He was the programming wiz of his school and very enthusiastic. He had been inspired to start building a Facebook for his school by watching the movie The Social Network. The fictional retelling of Mark Zuckerberg's story was a great inspiration to him. Jaded and cynical developers of my vintage might look at that and feel that we've fallen into a complete dystopia when that is a source of inspiration. But honestly, looking back, I would have eaten up absolutely ANY media portraying the journey of a clever programmer into success against the mainstream world. I can certainly worry about the ideological consequences, the ethical and moral consequences, when your heroes are Silicon Valley overlords. But while my estimation of Zuckerberg is that he seems to have always been a bit of a prick and now he is one of the filthy rich that can no longer relate to actual humans, his original story is interesting and can be inspiring. What did I take for inspiration? The rebellious hacker teens of the 80's. The free software movement. The Hackers movie (still love it, so good). The mysterious underground of warez groups. Code is mainstream. Software development and tech is no longer an underground or odd niche. It isn't everyone's day-to-day but it is very common, as a career, as a phenomenon. There are still undergrounds in it, there are still cool stories to dig up and take inspiration from. But the field is immense and very mainstream. An industry. I learned a lot by aspiration and immersion. I wanted to be a hacker so bad, but mostly I wanted to make things that looked cool. So I kept doing web stuff, experimenting and learning and failing. Tutorial by tutorial. That approach is probably only tenable during your teens or if you have extended periods of free time for some other reason. And a particular mindset. So when people ask me about learning I find it really hard to give recommendations. What books should I read? Don't know. If I add up the half-read comp-sci books I have I've probably read three full ones. What is a good beginners guide to X? No clue. I haven't had to be a from-scratch beginner since 2002 or so. I can give a decent guess sometimes. What should I learn? I can give suggestions but deep in my bones I feel like the really worthwhile learning happens when you try to build things. Because that's how it is for me. But the questions are valid. I think most people learn and internalize more when they do things than when they read things. But you should absolutely read things. You should probably watch videos too (I'm partial to conference talks). I think the way to achieve immersion and start filling out the cracks in your understanding is by pulling in a lot of input about interesting things, building things and letting your brain work on synthesizing all that input both passively and actively. Video was not an option for learning when I started so I was textual for a long time. I still mostly watch videos on tech for conference talks. So I don't have good advice on using video or which paid courses to take. I've never followed a curriculum to learn what I do. But I'm sure that can work great. I just can't tell you it will because it isn't the path I've followed. I can tell you I've seen folks come out of bootcamps and make it. I've seen people go through Groxio courses and make it. I've seen people go through university and make it. I did none of that. Maybe books work great for you to learn anything. Sweet. Good thing to know. I'm working my way through a CS book now and am definitely learning things I wouldn't otherwise. For me non-fiction books are a bit of embracing discomfort. At any point they might launch a math formula at me and I'll be dead in the water. Keep your options open for ways of learning. Also, recognize what has worked for you in the past and don't dismiss that as being not serious enough or imposing some kind of impostor status on that path. I'm a tutorial-following, script-copying hacker at heart. I've just layered years of experience on top of it and now feel like I mostly know what I'm doing. Whatever helps you program the computer to do things is probably a good way forward. Until it isn't. Then adjust accordingly. How do you learn? You can always email me at lars@underjord.io or start a conversation on Twitter where I'm @lawik. Thank you for reading as always. I appreciate every bit and byte of your attention. - Lars Wikman |