Home » Articles posted by Tai Kedzierski (Page 8)

BitTorrent Bundles – True Free Advertising is Just Around The Corner

BitTorrent is currently trialling their new “Bundles” file format and mechanism, which allows content creators to create packages for their work to be freely distributed.

Anyone receiving the work will be able to view some of it for free, then be asked to take action to unlock the rest of the content:

  • pay a fee
  • provide their email
  • share the work

I’m hoping that they’ll also include a “View item in store” option as a mechanism for unlocking the content, to give the sharing and viral marketing paradigm a real boost, and turn the face of online advertising on its head!

Thus, persons who specifically do not wish to pay money will still not have to, but ensuring a store link for that particular content (and not the artist in general) accompanies the piece in an otherwise free-distribution format

  1. allows sharers to share, and recipients still have a no-pay way of viewing the material
  2. enables artists to edge persons amenable to the idea of paying towards a store, removing the requirement of said consumers to proactively locate a retailer
  3. which subsequently would make the act of sharing a real free-advertising mechanism

This could work really well, so long as sharing gratis and libere is still possible, and if artists using this can provide direct access to the specific item in an international store.

Here’s to hoping!


Copyright Should Make Way for Creative Commons

Currently, “Copyrighted” is the default state of any creative piece. I think it is time this is changed to be Creative Commons – or something similar. I would distinguish also a right for a piece not to be spliced/abridged. Part of a set, do not distribute separately.

For one, this is the way fandoms view intellectual property, and, let’s face it – without fandoms, merch does not get sold. Additionally, it is through the enrichment of stories and content that better content is created.

I think of storytellers who retold and embellished other people’s stories, I think of folk songs passed down, re-interpreted and re-matched against other tunes, and a flurry of other great things that we’ve gotten from being free to rework, rehash and recombine, and then compare that against an imperative to ensure that only one body has the right to copy and distribute an expression for fear that it is inherently in the copying that money is to be made (a very Pre-War point of view).

Abiding by the book: in law, buskers playing popular songs are repeatedly breaching copyright, fan fictions are a theft of trademark, every design on TeeFury and other t-shirt site is a violation of rights on intellectual property. Taken to an alarmist extreme, referencing popular culture in a published or performed piece is potentially a breach of copyright (the walls surrounding fair use are not watertight – they’d need to be clear for starters).

I think we need to relax a bit. More money is wasted on legal battles than earned riding the waves of popularity and fandoms – who, by the way, really want other people to know about your material. Since we can’t simply say in court “Copyright sometimes applies,” I’d vote for more permissive licenses to be the legal standard. This does not exclude the ability to copyright a work, but a change would highlight the differences between the two licensing schemes, and open up further discussion as to what is really, truly necessary to foster creativity without causing the collapse of creative professions.

Installing CentOS Minimal


[This post is now fairly obsolete and has a few problems. I am in the process of re-writing it. It should still lead you to a fully functioning CentOS 6 system, but overlooks some significant parts, so use due diligence and read up on topics as you go along!]

This post is intended as a guide to Linux beginner-enthiasts to the basic setup pitfalls when performing a minimal install of the Community Enterprise OS, and point out some basic command line techniques that every Linux user should know. CentOS minimal, as its name implies, is very minimalistic, and does not ship with a nice graphical interface, but instead drops you in the command line after installation.

Here’s what I’ll cover:

  1. Download and install
  2. Create a user and add to sudoers
  3. Networking
    1. A note on SSH
  4. First basic YUM operations
  5. GUI installation
  6. Apache installation and locations
  7. Opening the Firewall: iptables
  8. rpm, make and ndiswrapper – driver installation

Read more

Olympic Committee Upholds Russia’s Anti-Gay Laws

Olympic Committee Upholds Russia’s Anti-Gay Laws

Cycling and Public Transport – no cars!


I’d be happy if the council heavily discouraged ownership and use private vehicles within Edinburgh, whilst at the same time starting a Council-led/funded scheme to facilitate the purchase for everyone of bicycles mounted with electric motors (to encourage even the most reticent).

This should leave only public transport and businesses with vehicles, and everyone else with greener, safer, healthier, less noisy, less obstructive, non-congestive cost-effective private transport. Extra motorization and rear-cars for families (motorized private rickshaws!)

Installing applications on the GNU/Linux command line

This post answers these questions:

  • How do I install on Ubuntu/Linux Mint/Bodhi/(a Linux based off Debian) on the command line?
  • How do I install on CentOS/Korora/Fuduntu/(a Linux based off Fedora) on the command line?
  • How do I use apt-get/yum?
  • When should I use apt-get update?
  • When should I use yum update?
  • What is the build-essential package for?
  • Why should I install the “Development Tools” package group?
  • I tried installing from source using the ./make command but I get lots of build errors.


There are several ways to install applications on Linux, depending on your distribution, but for the purpose of this particular article, I am going to focus on the Debian family, which use the apt-get utility – this includes the more popular distributions, Ubuntu and Linux Mint – and the Fedora family, which use the yum utility, as do CentOS and Scientific Linux.

One way to install applications is to use the graphical software manager, but I try to not use that. I decided to get more familiar with installing from the command line, for two reasons: a number of programs you’ll come across may require it, and more importantly if the install fails, it’s best to be able to see the full list of messages from the install – this is generally hidden by the automatic installers.

Repositories and package managers

To start off with, package managers are software that download your software from repositories and install them, keeping track of what’s installed and in what version.

In the most simplistic terms, the repositories are online servers that host numerous versions of a vast number of applications, and the package manager is the utility that connects to these repositories, and installs applications, which come in the form of a number of packages. Depending on the Linux distribution, the corresponding repository may systematically make the latest versions of applications available, or only the latest known stable and fully tested version.

For example, Fedora tends to have the most up to date applications; the repository servers are maintained by Red Hat (who make Fedora) who make these latest versions available through their servers.

On the other hand, Debian will rigorously test and approve packages before releasing them to their main Stable repository. This emphasis on stability means that packages available normally are quite old already, unless you opt to subscribe to the “Testing” repository, or even “Sid”, the so-called “unstable” repository.

The Ubuntu family, like many derivative families, tend to be in between these two extremes, releasing fairly recent versions, but not after a certain amount of testing.

Other offshoot distributions may also use another distro’s repository so long as they are compatible. Thus Linux Mint, which is based on Ubuntu, uses Canonical’s repository primarily, whilst also providing their own.

You may think a repository then is hardly more than an App Store for GNU/Linux, but there’s a more technical side to it – these repositories do not only hold applications, but libraries, code packages that other applications can use. Windows users are perhaps more familiar with the “missing DLL” errors, Mac users probably know they need to hunt for other apps to support the app they are trying to run.

Each GNU/Linux package also comes with a list of packages it depends on. The package manager on your computer then figures out what it needs to install first, what versions and in what order, before installing the package you told it to install. It will make sure another program that uses a different version of the package doesn’t mess with your first app; and when you come to uninstalling the package, it will also remove any packages that are no longer necessary in your system.

Package manager applications

Packages can come in different formats depending on distro, and the trio of package type, package installer and package manager identifies the distribution family of any distro.

Ubuntu, Linux Mint, and Knoppix, all popular distros in their own rights, use the DEB packages as prescribed by their parent distribution Debian, installed by the dpkg package installer, nowadays piloted by the APT package management tools.

Mageia, RedHat Enterprise Linux and Yellow Dog Linux are all children of the Fedora family, and thus use RPM packages, the rpm package installer, and the yum package manager (from Yellow Dog itself).

ArchLinux and its derivatives such as Chakra and Manjaro use specially structured .tar.gz files, and the package manager and installer pacman.

Slackware breaks the mold in that it just has .tgz files, and for a long time it did not have a package manager. A number of third party tools arose in the child distros, including slapt-get, netpkg and slackpkg, and finally swaret that features dependency resolution, which the others do not support themselves.

A number of other systems and families exist, but those are the most common. For the rest of this article, I will focus on apt-get and yum – they are the two with which I am the most familiar, and they are used in the two largest and common families.

The command line, and sudo


In the following text, command prompts are indicated by starting with “$>” – so if a command is listed as

$> apt-get update

this means to use the terminal program and run the command “apt-get update

About sudo

You will find most commands in this article start with the word “sudo”.


sudo (pronounced “soo-doo” by some, I say it “soo-doh” like “pseudo”) is a special command, which means “run the following command with root privilege.” Most of the time, you are best not running any commands as root – this is a failsafe to prevent you from doing something silly, like deleting your entire system whilst performing an everyday command. Which, yes, you can end up doing if you’re not careful. sudo tells the machine you really mean it. Before it does anything, it will ask you for your password, and will then check if you are indeed allowed to run admin commands. If you run a second sudo command soon after, it will not ask you again, with a timeout depending on distro.

First time setup

Before you do any installation, the package manager needs to be aware of all the latest versions, and crucially, dependencies. Before a session of installing with APT, you must execute:

$> sudo apt-get update

This will update APT’s package library.


YUM on the other hand updates its repository list every time it is run, so you don’t need to worry about this.

After freshly installing a distro, it is useful to install the development and supporting build tools you are likely to need in the future – for APT this is:

$> sudo apt-get install build-essential

For YUM this is:

$> sudo yum install @development-tools

This will install a number of other packages that are generally required to build applications from source, most notably the GNU C and C++ compiler suites and libraries, as well as python build tools and perl tools.

Makefiles, installer scripts which usually ship with source code downloaded from the web, depend on these tools being installed on your system, and trying to run a Makefile without them will generate a slew of errors.


The basic APT command for installing a package is

$> sudo apt-get install <package>

Under YUM, there is a difference between a single package with dependencies, and a named group of packages. For an individual package, the following is used:

$> sudo yum install <package>

For package groups, the following two lines are equivalent:

$> sudo yum install @group-package
$> sudo yum groupinstall “Group Package”

See the examples from the previous section for comparison.

You will be asked whether to proceed, after having been given a summary of what packages will be updated and how much extra space will eventually be taken on your system.


Building from source code

If you download the source code for a package from off the web, you’ll normally be given a README and a ‘Makefile’ file. The Makefile contains instructions for building in various modes. Most often, simply switching to the directory and running the following will work (but please, do always read the README file first – do it the courtesy of its name!)

$> sudo make
$> sudo make install

This also holds true if you’re given an installer file – for example, the VirtualBox Guest Additions has a script for installing the VirtualBox add-ons, which requires the build-essential package to be installed. It doesn’t tell you so though – instead, it advises that it couldn’t find gcc (the C compiler).

Updating your OS

Depending on which distro you are using, you may need to upgrade your system frequently, occasionally, or not at all.

Debian, RedHat and CentOS tend to make any individual release supported for a long time, meaning that they will continue to actively develop and push security fixes and bugfixes for that release. You probably will only truly need to reinstall the system once every 7 years or so, a trait which makes these distros suitable for servers.

Fedora on the other hand likes to only have the latest software on hand, and regularly releases new distro versions every six months. Each is supported only for a year after the following version is released, which means under the current six-month cycle, any individual release is only supported for 18 months after its initial release. You’ll need to re-install the system again after that time. In this situation, it is a good idea to isolate your /home directory from the system. For people who tend to upgrade their machines regularly, or tend to experiment a lot on secondary systems (and break these in the process), this is not so much of an issue.

Linux Mint advises that you should be able to keep your current installation as long as you wish: from the Linux Mint upgrade notes: “Unless you need to, or unless you really want to, there’s no reason for you to upgrade.” – check the Linux Mint Community pages for more info. I personally disagree with this stance, as it seems to imply that you can choose to stay on a release that is no longer supported, from a security standpoint. As stated in the linked page, any one release only receives updates for 18 months until it is abandoned. Unless you are yourself well versed in security maintenance (and even then), it is probably not a good idea to stay on a system that is not receiving security updates.

Finally, there is also the Rolling Release model which is adopted by for example the Linux Mint Debian Edition and the ArchLinux distributions, which simply update the current installation as and when you run the upgrade function of the package manager.


That’s the end of the tutorial. Have fun installing lots of fun apps – take a look at this list for a start, and happy installing!

How to move a dialog you can’t see (Windows)

This post answers issues like:

  • I cannot see my window
  • Why did my window draw off screen?
  • How do I get my window back onto my screen?
  • My window still draws on a monitor that does not exist
  • How do I move a window I can’t see?
  • Why does my window draw off screen?

Every office I’ve been at I’ve had the chance to wield two screens. It’s really helpful when you’re trying to handle many windows at once.

Something that plagues users such as I though is that any time you make a change to your screen setup, you risk falling into the trap of the off-screen window.

This comes in two flavours:

  • off screen window : a generic window can be maximized, and you see it has a preence in the task bar along with all your other windows.
  • off screen dialog : a dialog is the type of window that tells/asks you something with buttons such as “OK”, “Cancel” etc. or perform a task such as display the search fields for your program. This does not appear in the task bar, and the only way you know it exists is that your otherwise current window is dimmed.

Either way, the ideal course of action would be to get it back. But how? Your mouse can’t reach it.

Thanks to this blog post by Seraph3D, I found that we can do the following:

  1. Do whatever action makes the dialog/window activate. Do not touch your mouse once this is done.
  2. Press Alt+Spacebar
  3. You should see a drop down menu appear somewhere. Select the “Move option”. If you don’t, then, if it’s a regular window, press the Down key on your keyboard then enter; if it’s a dialog just press enter.
  4. Still without having moved the mouse, hit the Left arrow key on your keyboard. This makes the window locked to your mouse. Wherever the mouse moves to, the window will now follow!
  5. Click your mouse to undo the lock and get your mouse back.

What a relief!

EDIT: One situation in which the above instructions do not work is when using a virtual machine window such as that of VirtualBox. The steps instead are as follows:

  • hover over the taskbar button for VirtualBox – you will see the Aero peek and the window you want to grab
  • right-click the window’s aero thumbnail and select to maximize
  • the window should now be full screen, but still displaying the title bar – drag this

I believe that this works also for other regular windows. For the dialogs… the first method is still the only way.

Art – but no thought for money?

I often read quotes from successful artists – including writers – who insist that they started out with little income, if any, and that in working, they would give little consideration to money, if any at all.

But then I wonder, “if you were making as astoundingly little as you say, how the devil did you survive?

“How did you physically go about subsisting once you had decided that your artistic endeavours trumped all else, even if you may not make a dime from any of them?

“How much of it was down to shrewdness? How much came down to luck? And how much support did you get, from whom – and were they all willing supporters from the start? Or were you even one of those who had help thrust upon them before greatness?

“And, if it were your own dream-filled, bright-eyed, empassioned child you were to advise, and you hadn’t a penny or pencil left to give them yourself: would you recommend they walk that same path?”

I’m sure they mean to foster encouragement – but budding artists in their early days still have to face the fact that they need a plan that doesn’t involve “ditching” their current lifeline – and they’d love to hear how their heroes made it through.

The story of a deli, and the need for coordination

A few weeks ago I was out at the local festival — it was a warm, sunny day, and the entire town was out. Many second hand stalls were hawking their wares, and every so often along the corridor of pots and books and unwanted bric a brac, a catering van was feeding and quenching the crowds as the music in the centre stage clashed and blended with the make-shift alternative entertainment grounds’ percussions in festive brouhaha. A great event altogether.

I decided to take a break with my friend however at a nearby delicatessen that we both enjoy, mostly. I say mostly, as this venue sometimes irks me — not for lack of good produce (which is excellent) or for lack of pleasant service (they are delightful), but for lack of efficiency. Read more

Gaining the first popularity

After being led to the Ada Programming Language Wikipedia entry (and being impressed by what it offers and promises – it is designed for fail-safeness and robustness, and as such is used in satellites, military jets and orbital satellites), I wondered, why isn’t the language more popular, like the less effective and more error-prone C and C++ which are used for coding our operating systems, or Java/PHP/Ruby which power our interwebz?

A few forum posts exist about this, and numerous explanations abound, from petty whining (“everybody who tries it it hates it”) to accusatory (“it’s designed by a committee, and like Esperanto, nobody wants to use that”) through conspiracy theory (“it’s in the interests of repair & diagnostic/IDE vendors to make sure crappy languages persist”) and even via circular reasoning (“it’s not gained popularity because other languages are more in demand”). I kid you not.

In all of that, I only once noted one answer which hit a sensible mark: in a time when there wasn’t a prominent single language, due to the closedness of computer systems, hobbyists could only work with what was lying around, and there was no global applicability in any real sense [citation needed…], C came along and offered what nobody else was: a high-level language for low-level computing, a free compiler, and an operating system to use it on, in an ecosystem that promoted (at the time) code sharing. It was this seed traction that led to C being still the most popular language for system programming today.

Other languages have since risen, but the most popular, with the largest communities, still are application-level and web-oriented – not system level. In the midst of this, Ada still retains (bless or curse) its original image as the brainchild of the US Department of Defense’s brainchild, with little push to make it a business-systems or high-availability systems contender.

The onus then is on the existing Ada community to start building tools and libraries for newcomers to use. Newcomers like to feel invited in by pioneers.