Techstructive Weekly #17
Summaries of my weekly learning and reading for the week 17th to 23rd November 2024
Week #17
What a week, had written code through all the days, thought a lot about solving certain issues, integrated reviewed changes, and also wrote and created a video on the weekend.
This was the week of releasing the thing that I have been building over the span of the past 2 months and really felt good this Thursday to release it. Tested it and worked perfectly, now on to a new set of experiments and building on top of the thing in the upcoming weeks or months even, exciting times ahead.
I completed a 50-day writing routine by publishing three article series: 9, 21, and 17 pieces each. Those are related to mythology (I am revealing it now) but not just yet, let it grow, and will post it here shortly. It felt really good, now thinking of expanding the writing routine to something else or more personal and making reach a wider audience after all I want to see myself as a writer.
Stats for the week
Release the code written and experimented over the past 2 months
Prototype for the new changes as an enhancement on top of the experiment
Fixed 3 bugs
Plans for the next week
Streaming for the SSG project
Create a video for the Golang
omitzero
tag in 1.24
Quote of the week
"It always seems impossible until it’s done."
— Nelson Mandela
While starting the quarter it seemed the task would be almost impossible or not expected to be going to release, but this week it was released. From experiment to release, it felt like a journey, I enjoyed it, initially, it was a hurdle, but after falling a couple of times, getting up, learning, and diving a little deep, helpful feedback from my mentors and friendly environment, I am here on the other side of the hurdle. It really feels impossible until it’s done, believe in yourself, because if you don’t no one will believe in you.
Created
Video: What’s new in Golang 1.24, SplitSeq and SplitAfterSeq:
Last weekend I dived into the golang 1.24, and set up the system to install the latest version of Go that later became a TIL by experimenting and exploring the new change, the video about Split and the new SplitSeq was created.The basic difference is about how we store and iterate the splitter strings, the prior stores it as a slice, the other creates a specific type as an iterator to iterate it on the go.
Wrote: TIL: Build Golang from Source for v1.23+
My first post on the substack is an awkward TIL, I don’t care if it provides value or not, it is just a thing I learned myself while doing something. So, thought of sharing it here.
This was learned while creating the above-mentioned video, I wanted to explore the features coming to Go in 1.24 which is supposed to be released in February 2025. So, while installing I found a couple of ways to build golang from the source, with a bit of trial and error was able to get the simplest way I can think of here.
Read
They all use it, don’t they?
LLMs, Code Completions, and AI Assistants, all are just tools, they might not be fit for all the cases, but they should just be used for something specific. Also, I agree with Thorsten here, if you are not curious then you are falling in keeping up with tech. The curiosity, the spark, the excitement to learn the technology under the hood is really needed to sustain in tech.Lessons learned from 25 years of writing software:
There are so many valuable tips here,Master at least one programming language/database
Use Linux
Write simple and boring code
Build trust
Don’t be shy from using bare bones or simple tools
And many more, really a good post to follow and become a better developer.
Playful Programming:
I want to watch that video, there is so much explained by Thorsten, should be worth watching then, he is a great deep-diving programmer, can’t ignore his recommendations. Just by reading at the explanations of his observations on the video, it seems there is a lot to learn. Next week will be in the watched section.How Raviraj Achar reads books with limited time:
Time is really limited, like everything around you seems to drag into it, the phone most importantly, it feels like a reservoir of knowledge but not wisdom. Taking the time to read is a sign of a level of control over the mind and grit. The process by Raviraj seems a little too complicated or farfetched like Readwise and Notion, those add a lot of friction. I don’t use those tools, I use this newsletter to sift my learnings and tech reading.
Watched
Using sort the proper way in Python:
That was clever and opened a few mind doors of thinking stuff clearly aboutkeys
, the way sorted takes in a list or an iterable is interesting and opens it to a wide variety of options to use it to throw into.
How to Finish Programming Projects?
This is a interesting and eye opener video, I initially used to create projects by taking it as a learning opportunity, but gradually the path to creating something big or focusing on the features too much caused a friction and lead to whole lot of issues in the way. One is burnout, the other is no progress at all instead of tiny day-by-day progress.What did you just do, CSS?
Those are some high-value changes in CSS, I am not much into CSS but looking at the added changes, it seems to be a lot and a game changer to some extent. Turing complete :)FreeCodeCamp (Quincy Larson) interview with Tech with Tim
This is a good talk, while growing up as a developer, I watched Tim while learning Python and Django, so he has been a teacher to me in some way or the other, and seeing his raw thoughts behind his life, feels good to listen to.Write your own programming Language: Computerphile
This was an interesting one, the power of the `SPLIT` function in python really should be the title of this video, just kidding. But the approach is what makes me wonder if that’s the way programming languages are created, really.
That is a bit obnoxious to think in that way, it will become quite a mess after a while (I am not talking about his code but just the approach). I thaught it would be like the theory of computing of state machines right?
Learned
Learned how to install and build golang from source for the latest versions as described here.
The difference between
setdefault
anddefaultdict
I learned that
setdefault
adds a key with a default value only if explicitly accessed, like this:my_dict = {'a': 1} my_dict.setdefault('b', 100) # Adds 'b': 100 only if 'b' doesn't exist print(my_dict) # {'a': 1, 'b': 100}
On the other hand,
defaultdict
automatically assigns a default value for missing keys:from collections import defaultdict my_dict = defaultdict(int) my_dict['a'] += 1 # Initializes 'a' with 0, then increments it print(my_dict) # {'a': 1}
Learned about the iterator in Golang
The iter package released in Golang 1.23 introduces Seq and Seq2 for custom sequence iteration in Go. Using these, you can define custom iterators that yield values or key-value pairs dynamically
Tech News
Android 16: Developer Preview
This is really amazing, the terminal emulator concept really is cool but surely it will be revamped and improved Google supporting this on Android is in itself a big thing in my opinion. It will increase adaptability of terminals and make it really easier for anyone to use and interact with them.
For more news, follow the Hackernewsletter and for daily developer articles, join daily.dev
That’s it from this week, hope you did well this week, and have a happy week and weekend ahead!
Thank you for reading, let’s catch up in the next week.
Happy Coding :)