09 Nov

Amazon Kindle Fire - Adventures Of A 7 Inch Tablet

in Android, Article, Kindle, Tablet
Android 4.1.2 on Kindle Fire

A few months ago I was given a first generation Kindle Fire, Amazon's tablet version of their popular ebook reader. Since it was a heavily Amazonified build of Android (which by itself is not a bad thing) and their own application store is only available to the USA, I decided to load a custom Android distribution called Jandycane from a developer on the XDA forums.

A few months later and I can confirm that it was a good decision. I can buy and install apps from the Google Play store, I can still read Kindle books via the Kindle app for Android, and overall I have more control over my tablet.

When I first got my Kindle I was a little disappointed with its size, compared to a friend's 10 inch Galaxy Tab, but as I continued to use it I realised how awesome the 7 inch form factor is. I'm writing this blog post on my Kindle, and I can hold it in portrait orientation with my hands on each of the bottom corners leaving my thumbs free to type. With such a large surface (compared to a phone's small screen) swipe does not work well and it is essential to type instead. The size of the tablet means that it is small enough to hold and type, something my friend cannot do with his large tablet.

07 Nov

Learning Python - Part 9

in Article, Learn, Programming, Python, Tutorial

This is part of an ongoing series on learning the Python programming language. If you haven't read them yet, I advise you to catch up on parts one, two, three, four, five, six, seven and eight before reading this article.

Like any other language, Python has support for data structures. A data structure is an object that can hold a set of other objects. Python has 3 basic data structure classes: list, tuple and dict (short for "dictionary").

30 Oct

Learning Python - Part 8

in Article, Development, Learn, Open Source, Programming, Python, Tutorial

This is part of an ongoing series on learning the Python programming language. If you haven't read them yet, I advise you to catch up on parts one, two, three, four, five, six and seven before reading this article.

Before we delve further into Python itself, at this point it is helpful to deal with objects and classes and how Python implements them. Python and many other languages are built on objects and classes and use a particular method of programming called Object Orientated Programming (otherwise known by its TLA, OOP).

23 Oct

Learning Python - Part 7

in Article, Learning, Modules, Python, Tutorial

This is part of an ongoing series on learning the Python programming language. If you haven't read them yet, I advise you to catch up on parts one, two, three, four, five and six before reading this article.

In this tutorial, we'll deal with modules. A module is a collection of objects, like functions, classes and even other modules. In Python a module is simply a file with a .py extension. This allows you to reuse those objects by including the module file with your program.

Python has a huge library of built-in modules. Whenever you use Python these modules are available to your program. To use modules or objects within modules in your program you need to import them using the import statement.

12 Oct

How To Join An Open Source Project

in Article, Contribute, Development, Open Source, Open Source Software

How To Join An Open Source Project

As the leader of a successful open source project, two of the questions I am asked the most are:

  1. How can I get involved with your project?
  2. I'm not a developer, is there a way I can help out?

While most projects have some sort of "getting started" guide, and within the open source community there is a general understanding of how to get involved, there seem to be few guides on how to do it.

This is an attempt at being a one-size-fits-all guide. Not all open source projects work this way, and this guide won't address every situation, but it should at least provide a general pointer in the right direction.

10 Oct

Learning Python - Part 6

in Article, Learn, Programming, Python, Tutorial
Python Tutorial

This is part of an ongoing series on learning the Python programming language. If you haven't read them yet, I advise you to catch up on parts one, two, three, four and five before reading this article.

This particular tutorial will be fairly short because we'll be dealing with a single topic, docstrings.

Docstrings, or documentation strings, are special free-standing strings within your code which are used to help other programmers understand how your program works. These strings cannot be put just anywhere, however, they need to be placed as the first part of a code block, whether it is a function, a class or a module.

01 Oct

When Open Source Software is not Open Source

in Article, Open Source, Open Source Software, Proprietary, Technology

Proprietary Software

Over the years I've come across various new open source projects that seem awesome at first glance, but on further investigation leave me with a bitter taste in my mouth. This is not because they use PHP (which is my pet hate, and ghastly in its own right), but rather because I am unable to use them because of the technology choices they made.

One of the systems I looked at recently was built on the .NET framework, which put an immediate damper on it. You see, I don't use Windows anywhere, and the main prerequisite of the .NET framework is Windows, so I cannot run it on my platform of choice, which is Linux.

By choosing to build their software on a proprietary stack they actually denied me the freedom to run the software on my platform of choice. I don't know about you, but that sounds counter to the freedoms that open source is all about to me.

28 Sep

Why Bibles Should Not Be Copyrighted

in Article, Bible, Copyright, Creative Commons, Evangelism, Gospel

Copyrighted Bibles

These days if you pick up any Bible off the shelf and look at the first couple of pages you'll no doubt see a copyright notice saying that you "cannot reproduce this work without permission..." with a few instances where you are allowed to display a selection of verses, generally aimed at the church context. While this is fine in most western world cases, I believe this is actually counter to the Lord's intentions for His Word.

Now, I will admit that I made the title to this article sensationalist, but to most companies.(especially publishing companies) "copyright" equates to a restrictive license. In reality, copyright just indicates that you retain the rights to control the licensing of your work. Licensing is actually a separate system by itself.

25 Sep

Top 10 Open Source Fonts for Linux

in Article, Design, Font, Open Source, Typeface, Typography

This is a guest post by Raoul's brother Etienne, who is not only passionate about fonts and typefaces, but also open source software.

Open Source Fonts

Any modern operating system includes a wide selection of typefaces so that one can get working immediately. Windows comes with its ClearType fonts installed by default, including the award-winning Calibri, while Apple’s OS X has included the coveted Helvetica ever since it was NeXTSTEP back in 1988.

But what about those of us who choose free and open-source software? How can we ensure that the typefaces we use are free from proprietary restrictions? How can we share our fonts with our friends freely and legally? And, most of all, how can we make those using proprietary software jealous of our beautiful documents and publications?

I have thus put together a list of my top 10 free or open-source typefaces. While there are indeed a large number of fonts available free of charge, I have ensured that those listed here conform to either the Free Software Definition or the Open Source Definition.

21 Sep

Learning Python - Part 5

in Article, Learning, Programming, Python
Python Tutorial

This is part of an ongoing series on learning the Python programming language. If you haven't read them yet, I advise you to catch up on parts one, two, three and four before reading this article.

In this part of the series we are going to be exploring functions, including how to define them, using parameters, and retuning values. Functions are one of the most used features in programming.

A function is a reusable block of statements which can be used from multiple places and multiple times. Functions usually have a name, which is used to identify it when you want to use it. Running a function is typically known as "calling" it.

Copyright © 2009-2011 Raoul Snyman. All original content is licensed under the CC BY-SA license.