DONE! I have been doing this since New Years day and I finished. Hooray!
Anyway, today’s exercise was triangle in python. Check to see if the given side lengths form an isosceles, scalene, or equilateral triangle. Not hard although I think I gold plated it a bit. Not as much as a community solution which turned the equivalent of my is_triangle() function into a decorator. Gotta figure out how to make my own decorators some time.
I decided to extend yesterday’s little project, and added an OBJ file loader. I tried adding texture mapping but the texture coordinates don’t seem to be making sense. Granted I just made up a texture so there is that. I also tried loading the Stanford dragon but that was way too slow and I couldn’t make out much since I don’t have proper lighting. I probably should have been using shaders and vertex buffers which is why everything is so slow. Anyway I like the Utah Teapot so it is today’s star.
I decided to go for the Slimline September award and started the Perl track on exercism.org. It strangely seemed like the least foreign programming language. It is probably the easiest to set up too.
Speaking of setup, I didn’t get it working right. There was a nice installer for the language itself, but the instructions for getting the packages working did not work, and my version was still older than what they wanted. I even tried on WSL, but that was no better. Eventually I decided I would just work in the online editor. I was only in it to collect the award, and don’t plan to finish it, so the online editor isn’t so bad.
I must say things like references and the type specifiers really threw me off in many ways over and over.
I did the first five exercises and I got …. nothing. I thought it was five exercises for the Slimline September award. After that I decided I had to do the five they wanted, but I was too unsure of the syntax to not bumble forward more until I felt ready. I only did one today and it took me a very long time because of those special type character combinations and references. I guess I really should have read an introduction to Perl or something.
On submitting the code for the sixth exercise however, something happened. I got my award anyway. I also got the Fundamental award for finishing the learning track. I guess the learning track is only five exercises (six if you count hello world). Maybe the Slimline award didn’t count hello world as a proper exercise. (I just checked and Hello World indeed doesn’t count.)
One of the things I noticed is that some of the strange syntax choices in PHP probably come from Perl. The leading $ on variable names for example.
Anyway, here are the awards.
January looks like a free-for all just do five exercises but I think I did far more than five Javascript exercises back in January and didn’t get an award. I don’t think they made a badge for January. Maybe I will count my New Years Resolution one for January. The rest of the months I haven’t done are (with probable picks in bold):
Functional February (Elixer, F#, or Clojure)
Mechanical March (C, C++, D, Go, Nim, Rust, V or Zig)
Mindshifting May (Ballerina, Pharo, Prolog, Red, Tcl (Tickle) or Unison)
Summer of Sexp [June] (Clojure, Common Lisp, Emacs Lisp, Racket or Scheme)
Jurassic July (C, C++, COBOL, Fortran and Visual Basic)
Nibbly November (MIPS Assembly, x86-64 Assembly or WebAssembly)
December Diversions (ColdFusion, Groovy, Lua, VimScript or Wren)
Today I finally finished the GO track with the dreaded Zebra Puzzle exercise. I started on May 1, 2026 and finished on September 2, 2026. Just over four months. I feel accomplished but not really fluent. I have 33 left on the PHP track. Now I can go back to the How to Build and Interpreter in GO and How to Build a Compiler in GO books I put on the back burner until this was done.
Yesterday I got two new awards from exercism. The first is Lackadaisical for completing the “Bob” exercise in five different languages. The Bob exercise is one of the ones I like best. Nice and easy without being pointless, and a little funny.
The other one I got is for doing five difficult problems on the GO track. Yes I did look at my previous solutions on other tracks for most of them. They were still hard none the less. I have just five more problems on the GO track, all of them hard. They are: Book Store, Change, Dominoes, Knapsack, and the dreaded Zebra Puzzle. By that point the PHP track should only be about a months worth left, and I will be hating that I never got debugging working. After that I may take a break from exercism for a bit.
I may try for that badge of the month thing next month too.
It looks like I got another exercism award. This one is Persistent Perfectionist for submitting revisions for 20 exercises. Today’s PHP was a simple exercise (GO was a hard one). I thought I did it well but when I checked against others they had it as basically a one-liner. So I had to update to match. I couldn’t let that stand when PHP has a dedicated function to do the string translation (it was DNA to RNA by the way).
I am really disappointed by the books I have been buying on Amazon lately.
The WebGL book I got was a mess, there is no complete sample code in the book or on the web that I am aware of and it doesn’t give you enough to boiler plate to do the exercises it wants you to do at the end of the chapter. There are only code snippets in the book. It got me to look elsewhere for code to do the exercises but it disheartened me before I got half way through. I still want to go back and update my python teapot example with the updated code at some point.
My Azure book has an insane font that makes my head hurt reading it. The lower case i doesn’t have a dot on it, making things frustrating to read. It is strangely bold and large too. Also, I am thinking it is not giving me the full meat, this seems a too simple so far. Why do the job applications need you to have five years experience if it is just clicking buttons. I will get back to that one eventually, hopefully it gets better.
My second AI book has me asking why it is even using AI. I know it may be to illustrate a point and their might be savings later but he wants to generate a letter and spends several pages making prompts longer than the letter he is generating to generate the letter. Then he has several back and forth conversations with the AI to get it to not sound like a robot. It would have been much faster to just write the letter. Also when he is done the AI is suddenly blocking out days for a follow up without ever looking at the author’s calendar. <Old man>Do kids these days not know how to write a three to four paragraph letter?</Old man> I am not sure it even has the AI code generations stuff I wanted. I may have goofed up there by not reading the description well enough.
All of that is to say I ordered yet another book (I think I have a problem). This one is for Laravel. I am nearly two-thirds through the PHP track on exercism, and I want to do a project with PHP as a capstone project of sorts. Not sure what it will be yet. Something to-do list-like.
I only have 10 exercises left in GO (all hard, and I will be using prior solutions as a guide, sorry). Then I can start on the Making an Interpreter in Go and Making a Compiler in Go books in earnest.
I got this award for doing five exercises in an app-building language. What exactly is an app-building language. Not sure so I went searching. I found a post about it from exercism back in 2023.
Well it can mean a number of things:
Web applications, the bread and butter of a lot of our days now
Native apps like those that run on your phone or tablet
Desktop apps that directly run on your Windows, Mac or Linux operating system
Domain specific applications
Business applications
And more!
So what are the languages?
We’re looking at a whopping 14 languages: ABAP, CoffeeScript, Dart, Delphi, Elm, Java, JavaScript, Kotlin, Objective-C, PHP, PureScript, ReasonML, Swift and TypeScript.
Seems like GO should be on the list but I probably got it for PHP. It looks like there was a whole year of awards, and they are still active.
Do I want to see if I can get another month award? The languages for September are not favorites. I could maybe try AWK. If I do it seems like I am supposed to do Gigasecond, Atbash Cipher, Darts, Luhn, and Series exercises. I don’t know anything about AWK but it sounds better than Forth and Perl variants.
Looking back at my awards I do have Analytical April and Object Oriented October, so I am already a quarter of the way there.
I also got this one for finishing half of the exercises on the PHP track. PHP turned out to be quite a bit nicer than I expected, but I still haven’t got a working debugger with it, and I had to figure out how to get PHP Unit running more than once. Not sure what I am going to do when I get to exercises where echoing variables won’t cut it.
I do have the physical make code arcade player now. I haven’t done anything with it yet. I still need to get compiling working locally, and set up the device. I think I want to try making a no-name Tetris for it.