Blocks v2.1.0

It is yet again time for another release of Blocks, version 2.1.0!

As you may recall, the last Blocks release was v1.0.0. Why such a large version jump? Well, I did this to make up for my failure in releasing v1.0.0. You see, I essentially rewrote Blocks in v1.0.0. It was without a doubt the biggest changes I ever made in the program’s lifetime. v0.9.1 was really and truly the v1.0.0 release, and with the large changes I made last time I should have called it v2.0.0. Thus in this version, I am rectifying my mistake + the changes I made this time around. That explains the version increase. 🙂

With that bit past, I can move on to the biggest news in this release.

Continue reading “Blocks v2.1.0”

Advertisements

You want to be a programmer?

Fun fact: this post has been stuck in drafting since 24 August, 2013!

I am not sure if there is an uptick in the number of people saying this or I am just around more people, but I have been hearing this 6 word phrase (and its variations) a lot more than I used to:

How do I become a programmer?

Before I begin, I must define what a programmer is. In my book, a programmer is one who writes and creates desktop, mobile, or web applications using any recognized programming language, such as Python, JavaScript, C#, C++, etc.

Continue reading “You want to be a programmer?”

Python – What is the __future__ module?

I was asked an interesting Python question recently: what is the __future__ module?

If the __future__ (PEP that introduced __future__) module seems vaguely familiar to you, it is because I use it in most of my Python tutorial scripts and have briefly talked about __future__ in a few of my tutorials, but I have never really explained what it is.

You know how you must import sys in order to access the functions located in the sys module? The same goes for accessing the special items located in __future__. However, you cannot simply import the __future__ module like any other module. That is because __future__ backports standard functionality in future Python versions. Because making them standard at in a typical patch release may create breaking change (and breaking changes should never be made in a patch release), the Python developers instead a reference to the new feature in __future__ and waited to introduce the new standard behavior in a minor- or if it is a highly volatile change, major- release.

Continue reading “Python – What is the __future__ module?”

Python – Comparing against multiple items

I see this scenario and solution more often than I probably should: you have a value that needs to be compared against multiple possible values, and if there is a match perform a certain action. Usually the solution to this common event is to create a series of if...elif...else conditions, one for each possible value, running the commands after each passing condition, and using the else clause as the non matching case. An example of such a condition would be like so:

Continue reading “Python – Comparing against multiple items”

Blocks v1.0.0

Blocks has always been a landmark application for me. What began life known as “The Blocker” and a simple command window quickly transformed into my very first full-GUI application, and continued to be a landmark by performing syntax checks on the files it created, something I had not tried before. Blocks has also been the informational resource for the (still incomplete) Building With Blocks tutorial, which examines the file format in context of manually modding the Island Xtreme Stunts Trouble in Store mini game levels.

It has been over a year since the last release of Blocks, namely v0.9.1. Just like my other projects, Blocks was put on hold because of college work. Although I have had some time to work on JavaScript-based projects since then, for a while I have been longing to get back to some Python programming. In order to transition back, I decided to work on a smaller project, a category in which Blocks in a member. Today, I am proud to announce yet another milestone release of Blocks v1.0.0!

Continue reading “Blocks v1.0.0”