The process really started for me when I realized that God is ultimately a philosophical question (God is Ipsum Esse) rather than a scientific one. If science could answer everything, then we might as well throw out the entire field of philosophy after all..
This is how I started to study philosophy and theology (both _serious_ Atheist philosophers such as Jean Paul Sartre, Albert Camus, .. as well theologians).
I think it has been an absolute net positive in my life. I've gained a wealth of knowledge, significantly grown my network and feel much more grounded in my spiritual well being.
You should however, be prepared to be ridiculed if you outwardly practice your faith. I was surprised how many people would essentially conclude that I am either not educated or "brain washed".
I was also an atheist fundamentalist, I still don't think I believe in God, but that book showed me how Christianity shaped the west. The history of Christianity is fascinating.
* https://www.goodreads.com/book/show/35592365-five-proofs-of-...
Anecdotally, I don't know anybody that became Atheist recently but many that embraced some kind of Theism. No matter how we deal with it, Atheism is linked to individualism and it may make your existence more difficult than it needs to be. By the other hand, Theism is linked to communities. There's nothing better to unite people as a shared belief.
It started when I stopped seeing religion as an "edgy atheist" that would make fun of everything. Then I listened to Jordan Peterson's "Biblical Series" podcast which made me see the contents of the Bible from another perspective.
That made me read and listen more to religion related stuff. I'm also very analytical and critical with everything and if something doesn't make sense I won't simply accept it because I should believe it.
I wouldn't consider myself religious but I wouldn't dare say God doesn't exist because I'm pretty sure He does.
I see it as a journey, now. And it doesn't have to do anything with getting older and being afraid of death. I made my peace with the ending of my own existence/conscience when I was an atheist. That doesn't scare me at all.
And C.S. Lewis, of course, but you're already reading him.
Books by (Brother) Guy Consolmagno, the Director of the Vatican Observatory, are also worth checking out:
* https://en.wikipedia.org/wiki/Guy_Consolmagno
Perhaps specifically God's Mechanics: How Scientists and Engineers Make Sense of Religion. Interview:
But some books (Mere Christianity, The Case for Christ, The Believing Scientist, stuff by Garry Habermas, etc.), Wikipedia, the Bible (especially letters of Paul and historical analysis of them), Reddit, going to Church, taking Alpha course provided by it, talking with pastors, with Christians, random articles (e.g. https://faculty.som.yale.edu/jameschoi/whychrist/), thinking about things myself, etc.
- Japanese (I'm still rather bad, although I know a fair bit of Kanji, vocab and grammar by now)
- Mathematical Logic (very vast topic)
- Programming Language theory, Type theory, better understanding of functional programming language concepts, etc. I'd like, for example, to be able to be productive in Haskell.
- Distributed systems. I'm really bad at thinking about distributed computing (although I suspect that even most people who work on distributed systems are), so I'd like to improve. I'm currently reading "The Art of Immutable Architecture" which, maybe unexpectedly, is mostly about how immutability helps with distributed computing. It's definitely idiosyncratic though, so I'll also need to read some other stuff. I've had my eyes on "designing data-intensive applications" for a while now. I'd also like to learn some Erlang/Elixir at some point.
- History. I'm really interested in history and enjoy good podcasts, audiobooks etc. about it. Currently on the Russian Revolution and also listening to a lecture series on the middle ages.
[0] https://www.audible.com/pd/Great-Moments-in-Weed-History-Pod...
A book that's really changing how I'm thinking. It starts by explaining how science makes progress. Defining a good theory as one that has explanatory power. A good theory explains stuff well.
Then proceeds to apply explanations. How to understand Physics from this frame of mind. How other approaches to epistemology (what we can know) works. What problems they face. What kind of errors other ways of thinking can lead to.
This is the best book I've read about what we can know, and it applies so generally to things I'm interested in. How can I know what I know. What about my team at work, what do we know. How should we communicate. About the products we're developing. How are they valuable? How can we know that it's valuable?
It's especially impressive how Deutsch navigates up and down the ladder of abstraction. Really general concept - then a really crisp example of how it applies exactly to an example.
I've been reading and re-reading this on and off for half a year. It's hard, but I'm learning a lot. Currently half way through the book.
Exactly, yes, 100% this.
More specifically it explains previously understood effects that are encapsulated in current theory in a new way very likely to a higher degree of accuracy, it accurately predicts behaviour of the universe, and explains previous mysteries.
- The Rust Programming Language (book)
- Programming Rust (book)
(I'm going over them in parallel)
To do:
- The Elements of Computing Systems (book & course)
- High Performance Browser Networking (book)
- REST API Design Rulebook (book)
- Network Programming with Go (book)
- MIT 6.824 Distributed Systems (course)
- a bunch of docs and youtube tutorials on things I want some exposure to without going too deep (React, Django, FastAPI, Kubernetes)
- The System Design Interview (book)
- Grokking the System Design Interview (book)
- more Leetcode
For context I'm a data scientist who wants to switch to SWE at some point.
Regarding leetcode, I’ve only briefly looked into the platform, is there anything specific you’re using to work through it?
[0] https://pragprog.com/titles/tjgo/distributed-services-with-g...
For LC - I've already taken a couple of DS&A classes, I have some youtube videos to refresh on groups of problems like graph problems, DP problems etc., and the rest is just to practice solving as much as I can.
- Invest in an expensive ($400, so not really, but much better than what I used to have) guitar so I’d feel guilty leaving it there.
- Make it a point to pick up the guitar every single day, no matter how long.
It’s also great that there are lots of tabs for popular songs out there, and Carl Brown of guitarlessons365 amazing tutorials. It’s been a little more than a year, with a few breaks spanning days and months, I can learn to imperfectly play the rhythm part of many songs within one practice session from online tabs. I’m proud of that.
Good luck on your journey, after some time of playing, I can say guitar is the easiest instrument to have fun with.
- Introduction To Graph Theory
- The design of approximation algorithms
- Introduction To Topology
- A book of abstract algebra
---
Long Term:
- GEB
- Linear and Geometric Algebra + Linear and Geometric Calculus
- Geometric Deep Learning: Grids, Groups, Graphs, Geodesics and Gauges
- Elements of functional analysis
- Cracking the coding interview
- Pattern Matching and Machine Learning
- Elements of Statistical Learning
- Probabilistic Machine Learning
And the list never ends.
I really enjoyed his writing style and found GA to have some very interesting abstractions but university took the best of me and I couldn't finish them. Perhaps this summer.
There's also Clifford algebra, which turns geometry into algebraic statements.
That's what maximizes the efficiency of language acquisition for me. I leave the rest (getting a better understanding of the grammar, speaking it with a decent flow) for later.
Languages to get a better handle on:
Swift - I transitioned out of macOS and iOS development when Obj-C was sunsetting, so that wave swept by me.
Rust
Learn Ukrainian - I'm a native English-speaker and C1/C2 in Russian, but am completely stumped by Ukrainian - like "you sound like you're speaking something I should understand, but..."
So basically my current project is to trim it down.
https://en.wikipedia.org/wiki/File:Programming_paradigms.svg
Learning quantum computing algorithms is on my list as well.
Giving characters over-the-top traits is a good start, but so much to learn about making them stand out in the players’ memories / making them more than tools of acquiring things to do for the players.
- Complicated regular expressions
- Urdu
- Thomas Asbridge's The Crusades [2]
[1] https://www.dyalog.com/uploads/documents/MasteringDyalogAPL....
[2] https://www.amazon.com/Crusades-Authoritative-History-Holy-L...
- Solidify my overall programming skills. I'm still light on a lot of OOP concepts and on some data structures. On one hand I've never really taken to OOP, on the other I just don't program enough that concepts are really internalized.
- Get decent at the Go language. Nothing fancy, I just want to do some concurrency and message passing without getting my foot stuck in the carpet.
- Getting a better instinct for log aggregation/monitoring and process tracing. Dtrace has been on my list for at least a decade.
Other intellectual pursuits :
- I'd like to brush off my Latin and Ancient Greek. I honestly feel I should be able to speak Latin within a few months. But getting a sense for good Latin and appropriate style would take a few years.
- I want to pick up German in the near future.
- I want to go back to university part time (which you can do where I'm from) and finish a history degree. I love computing, but I love history more.
- Learning guitar via https://www.justinguitar.com/
- Learning Spanish via duolingo
- Learning Kotlin via "Atomic Kotlin"
Why guitar? Purely for myself. I'd learned some when I was a teen but my evangelical Protestant parents only wanted me to play "for the glory of God" and so I couldn't play "secular" songs. Now I'm grown and finally have enough time and disposable income to pick it up again.
Why Spanish? I'm latino, but parents never learned Spanish b/c of generational assimilation (having any accent was "bad") and I want to learn.
Why Kotlin? Java has been my primary language for the 10 years of my career and is the #1 language at my company. (We/I also use Objective-C, JS/TS, Perl, and Ruby.) However, I'm always bouncing between learning languages on the weekend, mostly as a hobby. I've tinkered with C C++ Swift Go Python CommonLisp Clojure and Rust. Each language, even though I might not have actually used, has taught me something new and for that alone it's been personally fulfilling to just get a cursory familiarity with the language. Picking up languages also makes it very easy to pick up the next and so on.
Kotlin itself seems like what I've been needing: a Java++. Something I can actually use at work, that won't take much to ramp up others, interacts easily with existing Java code/systems, and solves real problems that Java has. It's like Java with "Effective Java" built-in, as well as some great concepts from other languages (like coroutines from Go).
Been working on "wax on, wax off"-style kicking the tires with Kotlin. Like setting up a web server stack on AWS with it (Spring + Thymeleaf + Elastic Beanstalk + CodePipelines).
Backlog:
- Going through Crafting Interpreters https://craftinginterpreters.com/ using Kotlin (instead of Java).
Now on to getting SQLModel[3] going with GeoAlchemy2[4].
This is all for the school project. The day job is all about Terraform.
[2] https://develop.spacemacs.org/layers/+tools/lsp/README.html
I started making one-game-a-month as a learning exercise to tinker with all the different aspects of developing a game: coding, modelling, making art, composing music and sound effects, and even writing a devlog.
I've been blogging the entire thing. My first one-game-a-month is at https://dudezord.github.io/projects/Gatekeeper, if you are curious.
A few years ago, YouTube introduced me to a man, Peter Zeihan. He focuses on geopolitics and the future of nations. I thought his presentations were informative yet I was skeptical. Always kept him and his predictions in the back of my mind.
Fast forward to now, covid and the Ukraine-Russia war. Now I can’t get enough of his words and thoughts
On my reading list, is his books.
- The Absent Superpower: The Shale Revolution and a World Without America
- Disunited Nations: The Scramble for Power in an Ungoverned World
So far, his predictions have been accurate. And that scares me about the next few years
*edit for formatting
Trying to avoid learning more programming things as I am entirely burned out from that.
Korean, particularly the listening part. Listening and parsing at the same time is really tough. Does anyone recommend italki?
- PHP event loop to use it with AJAX/websockets to make browser games
- SQL. I know SQL but I feel I need a deeper knowledge
- Rust or Go
- Spoken English
I like traditional media, but the setup is annoying and the canvases and papers and whatnot start to pile up.
Berkeley - CS 61B Spring 2021
Helsinki - Full Stack Open 2022
Some LeetCode here and there.
* JavaScript
Todo:
* APL or J
* Lisp
* Forth
* Lua
I especially love learning about how other people have succeeded in their careers, because I believe that there's something valuable to be learned from everyone's experience. I also just love hearing about what other people are passionate about!
Right now, my learning list is focused on books for women in business. Some of my favorites? The Lean Startup by Eric Ries and Lean In by Sheryl Sandberg.
I'm a Go backend Vue frontend guy currently. But I'm eyeballing Java and eventually Kotlin because while the Go language is regulated the ecosystem isn't. And even if performance and resource usage is worse than Go it's still good enough. So I'm trying to see if I can have my cake and eat it too, aka have grpc, RESTful API and reactivity and oidc protected endpoints and how that works with Vue, Flutter or Angular. Maybe eventually even write native Android mobile apps since they're Java also.
But Java is very closed off and seemingly elitist world compared to Go. Only few information outlets exist and the articles are usually incomplete.
I'm observing a decline in Go, many abandoned packages and some of the brains that were what's considered core packages have move away from Go. Gin for instance has a contrib sessions package but it's unmaintained and only select PRs are accepted. Sessions via redis aren't working anymore but since some packages depend on the exact package name of gin contrib sessions one would have to fork and fix both packages. I'm tried of this neglect and want an ecosystem that has not many but high quality packages. I'm also tired of working with half-assed packages like ent.
I feel like Java is where the professionals work and Go at first was full of very smart enthusiasts but now isn't anymore. They've moved to Rust as the next big thing and once they're done there they'll move to the next big thing. But Java albeit ugly and "ugh" is still there and it's used and expanded according to needs. The core is always hibernate and it has a long business history.
I've tried getting into Rust time and again but that ecosystem is even more desolate and the language just doesn't resonate with me.
The downside, JVM is swiss cheese security. If someone really wants to get at you they will.