Learning python

Part of learning a new programming language when you already know a couple is getting deep into the nitty gritty of it. With Python being the new BASIC I decided to start with something, well, basic.

I remember “back in the good old days” when there was a goofy standard of “web-safe colors”. Specifically there were 216 defined colors, so I decided to start by writing a program to take an image and covert it as if it was presentable in the late 1990s.

Read More

It came down to a Capital T…

I had an opportunity to take a coding challenge from Dorsia with very strict rules:

  • No AI
  • No googling for info
  • Use your own code editor
  • Share your screen and video

Everything started perfectly. I was able to get the initial tests functional and things sailed very well. Then I had to write an exclusion routine and test cases for that. This is where the wall started to fall in…

I spent over 40 minutes on a problem I couldn’t diagnose, which left the remainder of the challenge with minor doubts. After getting up and walking around things magically fell into place and it came down to the letter “T” that was sabotaging me, as well as my code editor.

Read More

dovecot – out of the box setup

Trying to learn a new programming language is a daunting task. My process is to take programs that I’ve written before and rewrite them in the target language of choice.

I’ve got a PHP program that interacts with my IMAP server (smart-imap), reads all the messages in the Inbox, takes the localpart of the email address, creates a folder and moves that email into that folder. If the localpart is part of a pre-determined list of email addresses that have been sold off for Spam it’ll move it to the SPAM folder. If there are no localparts that match the domain name of the server then it drops it into an UNSORTED folder.

Today’s language of choice is Python, specifically 3.9.21. To do this entire feat without breaking things I need an IMAP server, and dovecot 2.3.16 is going to be the death of me.

Read More

Interview coding challenge failure…

Today I went through a standard coding challenge: “Create a minesweeper board with variable rows, columns, and bombs”. The challenge was for 20 minutes, spent 31 minutes, and cannot really figure out why it could never generate.

After my previous posting of “omg my server didn’t have virtual memory” I decided to fiddle it out. With my own fingers this took 12 minutes tops, but the amount of regret I feel is priceless.

Read More