Posted on 28th of July 2023
| 519 words
In the vast and ever-evolving landscape of software development, programming
languages play a pivotal role in how developers interact with computers and
build applications. While a plethora of well-established programming languages
exist, there has always been an intriguing curiosity and desire among some
developers, including myself, to embark on the quest of creating our own
languages.
Existing programming languages come with their own set of strengths and
weaknesses. However, they may not always cater optimally to specific domains
or problem sets. This has been a driving force for many language creators who
seek full control over the language’s semantics. Building a new language
offers the opportunity to tailor the language’s features and syntax,
empowering developers and teams to solve certain classes of problems more
efficiently compared to existing solutions.
However, it is essential to acknowledge that creating a new language is no
easy task. Beyond the initial development, considerations for onboarding other
developers and promoting adoption must be taken into account. Moreover, when
considering building a language within a company setting, one must be mindful
of potential monetary implications.
The decision to build a new programming language should not solely be driven
by pragmatic concerns; it is also an intellectually stimulating exercise. The
process involves delving into various aspects of language design, including
syntax, semantics, and the implementation of the compiler or interpreter.
Aspiring language creators gain a deeper understanding of computer science
principles and enhance their problem-solving skills through this complex
undertaking.
Throughout my journey in the world of computer science, I have dabbled in
creating multiple toy compilers. Though they may not have been groundbreaking,
they ignited my curiosity about compiler implementation. Despite having
explored various compilers and interpreters of varying complexity, I felt a
lingering sense of not fully comprehending the intricacies occurring under the
hood.
Fortuitously, the summer provided a respite from my regular work commitments,
granting me the perfect opportunity to embark on a more serious attempt at
building a language from scratch. This time, I was determined to delve deep
into the intricate details of lexing, parsing, and code generation. This
ambitious undertaking offered an exciting challenge, and I was eager to
explore uncharted territories in language design.
The journey of building a new programming language is undoubtedly exciting and
rewarding, fueled by an array of motivations. Whether it is optimizing
performance to meet specific demands, addressing domain-specific challenges,
or simply exploring innovative language design paradigms, language creation is
a conduit for personal growth and innovation.
As the development of my language progresses, I anticipate gaining a more
comprehensive understanding of how programming languages shape our
interactions with computers and applications. I hope that my creation, like
many others in the world of programming languages, will contribute to the
diversity of tools available to developers, enabling them to craft exceptional
solutions tailored to their unique needs.
In conclusion, the decision to build a new programming language should be
approached with a blend of curiosity, pragmatism, and enthusiasm. It is a
journey that fosters personal growth, deepens technical understanding, and
holds the potential to revolutionize the way developers solve problems and
interact with computers.
Posted on 16th of July 2023
| 312 words
I stumbled upon a fun-sounding challenge from Werner Vogels'
blog
so I wanted to partake in it personally. The challenge was to list
your favourite album for every year of your life with a restriction of
only one album per year and no repeats of artists.
Here is my list:
1995: Alice in Chains, Alice in Chains
1996: Type O Negative, October Rust
1997: Deftones, Around the Fur
1998: Neutral Milk Hotel, In the Aeroplane Over the Sea
1999: Sleep, Jerusalem (Dopesmoker)
2000: Godspeed You! Black Emperor - Lift Your Skinny Fists Like Antennas to Heaven
2001: B.R.M.C., Black Rebel Motorcycle Club
2002: Queens of the Stone Age, Songs for the Deaf
2003: Songs: Ohia, The Magnolia Electric Co.
2004: MF DOOM, MM...FOOD
2005: Boris, Pink
2006: Tool, 10,000 Days
2007: Porcupine Tree, Fear of a Blank Planet
2008: Have a Nice Life, Deathconsciousness
2009: Them Crooked Vultures, Them Crooked Vultures
2010: Nails, Unsilent Death
2011: Gillian Welch, The Harrow & the Harvest
2012: Death Grips, The Money Store
2013: Jason Isbell, Southeastern
2014: Swans, To Be Kind
2015: Kendrick Lamar, To Pimp a Butterfly
2016: Gojira, Magma
2017: Slowdive, Slowdive
2018: Anna Von Hausswolff, Dead Magic
2019: Justin Townes Earle, The Saint of Lost Causes
2020: Lianne La Havas, Lianne La Havas
2021: Silk Sonic, An Evening with Silk Sonic
2022: Weyes Blood, And in the Darkness, Hearts Aglow
2023: King Gizzard & the Lizard Wizard, PetroDragonic Apocalypse (as of July 2023)
Challenge turned out to be quite hard for me since most of my
favourite artists and albums are from time before my birth, but I
managed to find something for each year. Especially difficult aspect
was leaving great albums out. Rule of no repeats of artists didn’t
make it easier either. Most likely I missed some great artists/albums
so this list most likely just represents how I currently feel.
Posted on 10th of June 2023
| 522 words
I’ve been a longtime fan of Julie Evans’
writing
and recently stumbled upon a great post of her called Some blogging
myths
which
inspired to me write something about the same topic.
I have always seen blogging or personal websites as this powerful
platforms for self-expression, enabling people from all walks of life
to share their thoughts, ideas, and experiences with the whole wide
world. Beyond that, I’ve never really given too much thought to it.
While it’s true that if you happen to be some sort of artist, or even
a blogger, that uses his site for some capitalistic reasons,
attracting traffic and engagement is important. This can be seen today
in social media. This basically means that people tend to approach
blogging nowadays from this mindset. Meaning, that they are only able
to write about topics that are popular or, especially in tech world,
about topics that they consider themselves being an expert in.
Now I don’t say that you shouldn’t write about these sort of topics if
you really happen to be expert in the field in question. But, limiting
the topics solely to topics that are likely to generate traffic, you
most likely inadvertently stifle your own authenticity. Blog should be
a place for you to have freedom to explore diverse subjects that just
happens to pique your interest. By doing so, you invite your readers
into a genuine and vulnerable space where they can connect with you on
a deeper level.
This sort of safe haven fosters a certain trust and connection with
your audience. When you write about wide range of topics, even those
outside your comfort zone, you invite readers who share those interest
or experience to engage with you. This way you create an inclusive
environment where your audience can feel heard and understood
strengthening the bond between you and them.
While first and foremost blog is mainly about your voice but at the
same time it’s also about providing a platform for other to share
their stories and experiences. Embracing a wide range of topics sparks
conversations that can educate, enlighten, and inspire everyone
involved.
I don’t say that if your blog is dedicated to a either popular or very
niche topic would be a bad thing. If that’s something that you enjoy,
godspeed. The way I see it is that if I would limit the topics
written in my blog, I would inadvertently hinder my own personal
growth as a writer and individual. Exploring new subjects, especially
those that you’re by no mean an expert of, allows you to expand your
knowledge, learn from others, and develop new skills. Possibly it can
also help you to discover hidden passions and uncover something new
about yourself.
When you write about anything that sparks your interest, you also
demonstrate that it’s okay to write about anything and to step outside
the boundaries of popular opinion or expertise, you empower
individuals to express themselves more authentically in their own
spheres. This sort of vulnerability and explorations can serve as an
inspiration and catalyst for others to break free from limitations and
embrace their true selves.
Posted on 1st of June 2023
| 224 words
Not so long ago, Geoffrey Hinton, another “godfather of AI”, raised
his concerns about the future of AI and his own feelings towards
it
.
Now it seems, another “godfather of AI”, is feeling lost with his
work
He is the second of the so-called three “godfathers” of AI, known
for their pioneering work in the field, to voice concerns about the
direction and the speed at which it is developing. […]
Prof Bengio told the BBC he was concerned about “bad actors” getting
hold of AI, especially as it became more sophisticated and powerful.
“It might be military, it might be terrorists, it might be somebody
very angry, psychotic. And so if it’s easy to program these AI
systems to ask them to do something very bad, this could be very
dangerous.
“If they’re smarter than us, then it’s hard for us to stop these
systems or to prevent damage,” he added. Prof Bengio admitted those
concerns were taking a personal toll on him, as his life’s work,
which had given him direction and a sense of identity, was no longer
clear to him. “It is challenging, emotionally speaking, for people
who are inside [the AI sector],” he said. “You could say I feel
lost. But you have to keep going and you have to engage, discuss,
encourage others to think with you.”
Posted on 7th of May 2023
| 297 words
Lots of non-fiction for me this month, mainly revolving around
attention span. Very interesting topic overall, especially considering
the highly technological dopamine filled world we live in today.
Gloria Mark: Attention Span, Adam Alter: Irresistible, Alex
Soojung-Kim-Pang: The Distraction Addiction:
I decided to group these together since all three of these books
revolved around technology, addiction, distraction and attention
span. I’ve read a lot about these subjects so I didn’t necessarily
learn too much new, but still, I would say these books were worth a
read.
Basically, the key takeaway from these were the fact that modern
digital technologies have changed the “structure of our attention”.
We use screens more and more using software and products that
constantly hinder our attention with constant bombardment of various
stimulus from different sources.
But then again, it’s easy to blame technology for this and the
culprit for distraction comes already from the state of mind on how
you approach your given tasks.
Is the cause of your distraction social media? Maybe email? Maybe
some IM app like Slack? Finding the main reason for your own
distraction is very beneficial, since when you know that, it’s easy
to limit access to it.
Jenny Odell: How to Do Nothing:
Great book on how this overly capitalistic rat-race that most of us
are in can be very detrimental to people. Big reason for this was
the fact that nowadays people tend to see that every hour of the day
is potentially monetisable. So we’re not “allowed” to do nothing
anymore. Which is sad. As a practising buddhist, I really like this
message. Pausing and engaging with the world can be very beneficial
in finding new and interesting meanings in our everyday experiences.
There’s no need to be in some sort of constant hustle.