Category Archives: blog

An it harm none, code as thou wilt

The other day I had a little problem to solve. It was not a complex problem. I wanted to generate a set of coupon codes to hand out for something. I wanted them to be in an alphanumeric format like A3YH-UB4S. I often do things like that in a LibreOffice spreadsheet, because I’m sort of lazy that way. I tinkered for a while at getting the randomness to work the way I wanted and to generate the numbers and letters the way I wanted, then realized I was going to have to write some sort of macro code to make it do what I wanted. At that point I decided that if I was going to write code, rather than write it in the spreadsheet tool I would do something external that could generate my list. I decided to use Python. I’ve been interested in doing something with Python for some time, mostly because there seems to be a lot of integration for it in tools like GIMP and Blender. The logic involved was not really rocket surgery. I did some searches to find out how to do the basic loops and output and soon had a trivial little program that did the job.
import random
import sys

for x in range(0,100):
    for y in range(0,9):
        if z<10:
        if y<>4:

If I work with this often there are a number of things I’ll probably do with it. For example, there is not real uniqueness check that is happening. It’s possible to generate duplicate codes. Ideally I should track each code generated and make sure there are no repeated values. I could also have a way to change the number of entries generated, and their format. However, for the time and task I had, this worked fine. I piped the output to a text file, pulled that into my LibreOffice base and generated the coupons.

Feeling proud, like the Brave Little Tailor, I made a social post about my first Python program. Of course, I immediately received feedback from some of my technical friends. Some praised my choice of Python. Others questioned it and suggested languages and approaches that would have been  a better accomplishment. However, my job was done. This was not something I plan to release (though I guess I just did by posting it here). It was a way to quickly solve a problem and let me see what coding Python was like.

There are many situations where we want to use technology to get something done. Sometimes these are critical circumstances that have far-reaching impact. In those cases it is very important that we understand the moving parts and how our actions and choices impact the rest of the environment (especially as we are more cloud-facing). However, there are also many situations where something just needs to be done and it’s fine to reach for the nearest technical duct tape for the job.

Depending on your role, it may be that your duct tape gets moved into production fairly often, so you should probably always consider that and not do things that are too weird. But technology is also about curiosity and finding new skills and ways to do things. If the duct tape will do, don’t sweat it. You solve your problem. You learn some things. The world continues to spin. Explore and experiment and be proud of your creations.

(I used Bluefish as my code editor. I’m becoming rather fond of it.)

Thinking about Linux

When people talk about computers they usually label themselves a Windows or Mac person. I’m a Linux guy. I’ve run Linux on my computers for about 15 years. My family runs Linux on their computers. No, we’re not a super-cyber-family who hacks all the time. My daughter is 12 and mostly interested in her music. My wife works with Girl Scout events and is not deep into technology. In that time we’ve not had a single virus infection on our computers and we’ve been able to get things done. Maybe Linux is a good answer for you too.

Screenshot of Chris's laptop. He's running Ubuntu Linux with the Cairo desktop, giving him a Mac-like feel for some functions.
Screenshot of Chris’s laptop. He’s running Ubuntu Linux with the Cairo desktop, giving him a Mac-like feel for some functions.

I’m going to spend a few posts talking about Linux and why I use it. A few of my friends, after seeing how I get things done have also decided to move to Linux. Ultimately, I’m not trying to convince you to make a change. My goal here is to help you understand that you have choices and help you decide if Linux might benefit you.

What is Linux?

Tux the penguin
“Tux” the penquin has long been a symbol for Linux. You’ll see a lot of variations whenever Linux is around.

Linux is an operating system, the core software that runs your computer when you first turn it on. The operating system is the layer between the programs that you run—word processors, music players, Internet browsers, etc.—and your hardware—disk drives, keyboards, pointing devices, monitors, etc. They’ve always been around in one form or another and many have passed into obscurity that you’ve never heard of.

photo of Linus Torvalds
The father of Linux, Linus Torvalds

For personal computers the most popular systems are Microsoft Windows and Apple Mac OS. You’re likely already familiar with them, so I won’t go into more detail. In 1992, a developer named Linus Torvalds began a personal project to develop a new operating system. He based it on a long-standing system called UNIX, which had been running for decades on complex back-office computers. UNIX was designed to multi-task, or perform many different functions at once. A personal version of this seemed ideal for the way that computer usage was going.

Fast forward to today and his variation, called Linux (See what he did there?) has become very successful. Much of the Internet runs on Linux machines. Your high-end televisions and many other Internet-connected devices use it as well. I even saw a bar-top video game that ran on Linux. (I found out because I was curious what a button did. It turns out that it rebooted the machine. Curiosity is going to get me into a lot of trouble some day.)

While it’s true that Linux can run on very big, complex computers, it also runs well on laptops and desktop machine. If you have an Android device you are already running something that is based on Linux.

Linux is open-source software. That means that the code behind Linux is available for anyone to see. It is licensed with the GNU Public License (GPL), which means that it is specifically intended to be freely available. You can get the source code, compile it and use it without any cost. Obviously you would need to be a little nerdy to do that (and I’m afraid I have). However, there are pre-built installations of Linux with guided installations that are as easy to set up as Windows.

These distributions are easy to download from the Internet. In many cases you can test drive them or run them off of a CD, DVD, or USB disk without having to install anything on your system.

What this means for you is that if you want to you can get Linux for free, install it on your system, and use it for free. Modern installations have a graphical interface and all kinds of software included, everything from office suites to media software.

Photo of Lego-style blocks
Because Linux is free it’s easy for people to get creative and remix it in different ways.

A really interesting site to browse and learn about different Linux distributions is DistroWatch. There you will see all of the different installations that people have designed. It’s actually a little overwhelming because people treat Linux like Legos® and are always building new stuff with it. However, don’t be nervous. In my next entry I’ll break things down into a few distributions that I think are most useful to start with.


Overcome with nostalgia

Today I ported a few more of my old developerWorks blogs onto this site. One of them had several videos about classic computer commercials. (By classic I mean that they might be from before you were born…which is not your fault. You’ll be classic some day too!) All the old YouTube videos were still intact. Take a look, it might make you smile.

For the curious, I’m also starting to get my AustinComputerWizard site running, to support my freelance consulting. It’s pretty bare bones right now. (The cobbler’s children have no shoes!) Look for it to get some legs here pretty soon. I’ll likely be providing some free tutorials and things through that site and leave this going as a general blog. There will be some level of cross-pollination, though. If you know people in the Austin area who could use a compassionate nerd to help them, please send them my way.  I can also do some projects remotely. It would be lovely if this could get off the ground and let me spend time helping people do cool stuff rather than wandering around in job-search land.


Open fun with Microsoft Surface Pro 3

Like many, I’ve been fast-forwarding past the Microsoft Surface commercials as I watch recorded episodes of The Walking Dead. (Though, I will admit that I had to use Google’s listening capabilities to find out what that music was… it’s I Am the Best, by 2NE1.) It looks cool and all, but it also comes with a Windows lifestyle. I don’t mind if you decide to use Windows, but I’d really rather not.

Then I saw this article:

CNN Discovers Promotional Surface Pros Make Fantastic iPad Stands

photo of iPads propped up against Surface Pro devices
Last night, CNN wasn’t just covering the mid-term elections. It was also pimping the Surface Pro 3, conspicuously placing a kickstand-ed unit in front of a bunch of its commentators. The catch? They were actually just being used as iPad stands.

This makes me laugh. It’s such a beautiful example of how people react to having technology pushed on them when they are trying to get something done. I wonder what sort of time was spent setting up the SPs and trying to orient staff on how to use them. Did they just pass them out or was there a concerted effort that was ultimately just ignored.

When I first saw the Surface Pro 3 I thought it looked interesting, but, as I mentioned before, I wasn’t interested in moving to Windows for the privilege. I wondered how long it would take to see Linux running there. The answer… it already does:

So… I would probably need some time to poke through the tweaks for the keyboard and bluetooth, but I have no doubt that those things would all fall into place at some point… possibly by magic as the updates embraced the nuances of the hardware.

I could totally get on board with this! I wonder if they have any leftovers from CNN I could use!

Hey! Space taxi!!!!

Saw the news that Boeing, SpaceX win contracts to build ‘space taxis’ for NASA. It’s been three years since the space shuttle Atlantis made it’s final flight and US space travel was dependent on Russian vehicles.

The race for a privately produced spacecraft has gone on in the background since before the shuttle was retired, sometimes obscurely, sometimes with bursts of interesting developments. I largely followed things on the surface, so knew that SpaceX was looking promising, but not really knowing the details. I imagine we’ll all know a lot more very soon.

This is the SpaceX Dragon commercial cargo craft in 2012 Will the passenger vehicles be similar? (Photo from WikiMedia.)

There are concerns about the privatization of space. The opportunities and scientific developments that come from space exploration are important to everyone and some are concerned that this marks a trend to limiting the benefits of space to the elite.  I’m not worried, though. I think this marks a new era in space and might lead us closer to the time when a trip into space is as common as an airplane trip to Florida. That’s some time away, obviously, but perhaps in our lifetime.

I’ll be watching developments with interest.

Do you make posting too hard?

The other day at a WordPress meetup the presenter was talking about content and how many businesses struggle with creating it. When I was managing editor for developerWorks I dealt with a lot of authors at different stages of comfort with writing. I found that many of them made things harder than they needed to be. Their writing was stilted and artificial, as though they were trying to impress a professor.

Writing a blog, or making little updates to you content shouldn’t be difficult. It should be natural. There are also dozens of little opportunities during the day where a question or an idea comes up that is worth sharing. It doesn’t have to be international news, just something that keeps people in touch with you. Think of the traditional journalistic questions: Who, what where, when, why, how. Speak to one or more of those about your activities and you’ll be off to the races.

Keep a little notepad or electronic document for one-liner ideas. I use Google Keep for some of this sort of thing, since I can can access it from my whatever. I jot down things that people comment on as interesting, links to news stories that might need some comment, cool things that I did that I might want to demonstrate.

Later, when I want to write but feel uninspired I can look through my little list and there’s always something to do.

If this is interesting to people let me know and I’ll write a little more detail about writing when you need to. Of course, if you want some personal help I’m happy to consult and help you generate a solid editorial plan!

Care and extermination of trolls

The other day I read the riotous article that George Takei posted about the Rainbow Cake discussion. If you haven’t read it, it’s worth your time.

That, and some personal situations—past, present and likely future—got me to thinking about the nature of trolling and our responsibilities. I have decided that trolls are not an endangered species and that we are fully within our rights to treat them as vermin. In other words, we not only shouldn’t feed them but we are fully within our rights to pull them out of a conversation and clean up the mess they left.

For those who are not fully buzzword compliant:

verb: troll; 3rd person present: trolls; past tense: trolled; past participle: trolled; gerund or present participle: trolling
  1. informal
    make a deliberately offensive or provocative online posting with the aim of upsetting someone or eliciting an angry response from them.
    “if people are obviously trolling then I’ll delete your posts and do my best to ban you”

Some people troll deliberately because they think it’s fun to watch the dominoes fall. Some people are just fixated on certain things and can’t help transforming any conversation into a rant about it. (Think of the person you know that will turn your story about a flat tire this morning into a conversation about how George W. Bush or Barack Obama have destroyed the country.) In either case, what you have is a sort of crazy person who is changing your conversation to be all about them.

At a dinner table people can exert a sort of uncomfortable silence that will turn the tide of this sort of conversation…usually with a comment about the weather. In Internet conversation it just spirals out of control… like rats in your house. So… I’ve made some decisions about trolling and I thought I would share them with others who may be overwhelmed with good intentions and suffering needlessly for it. You may agree or disagree with my choices. It really doesn’t matter to me.

This is your conversation

If you are in a forum or something that has guidelines about participation you may have to allow these sorts of ravings. If this is your own blog, Facebook post or what have you you do not. Somewhere someone has created the idea that because it’s social media that you have to accept the equivalent of people screaming obscenities in your face. This is not true. If someone is taking a conversation about your cake recipe and turning it into some sort of childish, mud-slinging conversation about religion, or politics, or whatever, you don’t have to put up with it.

Now, there are situations where you might need to be open to honest critical discussion, and not all uncomfortable conversation is bad, but that’s up to you. It’s your party. It’s your living room. It’s your feed. If you don’t like stuff that’s in there you are completely within your rights to manage that stuff.

You get to clean house

All threads have delete buttons next to the comments. You own that thread. If someone is messing things up there is nothing wrong with deleting their comment. You are not stepping on their free speech rights. You are not oppressing them. You are maintaining control in your own house for the comfort and safety of your other guests. If someone became unstable during a party there would be nothing wrong with removing them. The same goes here. If people are uncomfortable with that idea they may become upset and never want to come to your house again. That’s fine.

If someone wants to unfriend you because you refuse to put up with their boorish intrusions into your conversations you should probably just accept that. Perhaps they aren’t really your friend after all.

Use the tools that you have

There are several methods at your disposal to deal with this sort of thing in Facebook. Other environments will have other tools.

A simple way to deal with problem comments are to simply delete them. If you want it’s probably nice to send them a note saying that you removed the comment because it was off-topic. However, if you think this will cause more trouble than it will solve you aren’t obligated to do so. In this second case you will probably also want to…

Exclude them from the conversation. Each individual post has privacy settings. If you select custom you can exclude individuals or entire groups from a particular conversation. I use this feature a lot to not bother people with aspects of my world or my thinking that might make them uncomfortable. I treat it the same way I treat inviting people to a party. Here is a breakdown of how I do it. Guidance for all of these can be found on the Basic Privacy Settings & Tools help page (
* I set the default for all of my posts to be for “friends.” This way things largely stay between me and people I have chosen to engage.
* I post some things publicly so that everyone has things to see. (Sharing George Takei posts or things I am promoting generally go public.)
* I marked some people as acquaintances. This is done in your friends editing. These are people who don’t know me so well and with whom I would probably not discuss a personal decision. It’s not an insult, it’s just a degree of closeness.
* I marked some people as family. These are the people who are closest to me.
* I created a lot of other groups appropriate for particular kinds of messages. I have things like film geeks, performance artist, no adult material, etc. This gives me more control over who gets certain messages. I don’t want to bother my less technical friends with messages about how I just figured out how to automate a server process with bash scripting. But I do want to share that with my technical friends. I don’t want to talk about bewbs with people who don’t prefer adult material. My politics group contains 2 people and I rarely use it, but when I do it’s for very serious discussion about the world with people I know I can trust with my concerns and questions.
* When I post anything that I might want to limit, I choose custom privacy and include and/or exclude certain people or groups from the message.
* I will restrict someone for a while before I unfriend them. Facebook has a special group called restricted. These people remain your friends, but they don’t see things that you post to friends. When someone is being particularly troubling, I will put them in this group to cool down a bit without the unfriending drama. They only see my public posts for a while. Later on, when I’m more sober about the situation I can switch them around.

Some may see these restrictions as lacking a certain maturity… but I see it as helping to manage your virtual conversations the same way that you would manage them in person.

You can change the privacy of a conversation after you have started it. If you do one for friends and decide you want it public, or you posted it to friends and decide you want to restrict it. You can’t stop people who have already seen it, but you can deal with the future.

A scenario

You have posted your recipe for a rainbow cake. Someone gets snarky. Delete their post so other people in the conversation don’t have to deal with that poison. If you think it continue to be an issue also change the privacy for that post to custom and exclude them. That post will simply become unavailable to them and the conversation will continue. People who didn’t see the unpleasantness will never know it existed. (Many won’t bother reading past that stuff to get back to the conversation.)

Stopping trouble before it starts

Another important privacy setting that I have activated is who sees how you participate in conversations. On the timeline and tagging settings ( there is a setting:

How can I manage tags people add and tagging suggestions?
When you’re tagged in a post, who do you want to add to the audience if they aren’t already in it?

I set this to “only me.” This means that I don’t inadvertently invite people to a conversation where they weren’t already included. There are a few other settings that I also restrict to help with inadvertent sharing. If you’ve never gone through all of these, they are worth exploring.


You are under no obligation to engage with these people in this way, especially if it makes you anxious and uncomfortable. That’s not friendship. That’s not being social. Yes, try to be kind to people and try to work things out. Develop your conversation skills and a thicker skin… but it’s your house, your party, your feed. You control it as you wish.

If someone needs to eject you from their party for being an ass… try to be cool about it and do better next time.

Making my own memes

noun: meme; plural noun: memes
An element of a culture or system of behavior that may be considered to be passed from one individual to another by nongenetic means, especially imitation.
  • a humorous image, video, piece of text, etc. that is copied (often with slight variations) and spread rapidly by Internet users.

You see them every day on Google+ and Facebook. These silly pictures get passed around because they speak to us. “Yeah! I think that too.” A while back, a friend of mine, Justin Kirchhoff, asked if everyone just passed these things around or if they actually got creative and did their own.

I realized with my favorite open tools that it was pretty easy to add my own observations and sense of humor.  Figure 1 shows the first one that I did, using GIMP.
Image: Victorian gentlemen in hats with a caption reading 'Hats are masks that show your face.'

Figure 1 – My first meme graphic

This was more work than I had planned, as I found a public domain picture with a collection of Victorian gentlemen in hats. I had to cut them all out and arrange them. This was the harder way… but I now had something original to share.

Next I did Figure 2, in Inkscape.
Image: Drawing of a frightened woman with caption 'Repost this if you're terrified of what people will think of you if you don't repost everything they tell you.'

Figure 2 – My 2nd meme graphic

This was a response to all of the posts I was getting that said I didn’t love my family, or support animals, or want to cure terrible diseases if I didn’t pass their message around.

Yesterday I put one up about the World Cup, shown in Figure 3. (Forgive me World Cup fans.)
Image: Picture of The Avengers from the film with Tony Stark dribbling a soccer ball captioned 'When people talk to me about the World Cup I picture this in my head to stay engaged in the conversation.'

Figure 3 – the one I did yesterday

Making these kinds of things is pretty easy. In general I always try to make use of images that are in the public domain or available through the Creative Commons license. (If you are unfamiliar with Creative Commons you should check it out. It’s made for people who like the culture of remixing art.) This last one obviously uses an image that belongs to Marvel. I could not sell it or anything like that, but the others I could.

Both GIMP and Inkscape allow you to import images.  If I don’t have a picture of my own, I usually do some Google searching. In their image search there is a mechanism to search by license. I did a search for “cat” that was “Labeled for reuse with modification.”  See Figure 4. (You may have to click the Search Tools option to see those.)

Screenshot: selecting 'Labeled for reuse with modificaiton' in Google image search
Figure 4 – Selecting your usage rights in a Google image search

Doing that search found me the lovely picture shown in in Figure 5.

Image: photo of a scary cat face
Figure 5 – a face only Mother could love

Not all pictures in the search are truly usable. You get some false positives. I always go to the site and do my best to confirm that the picture is available. In this case, the picture came from a site called Pixabay, which specializes in providing freely usable images (bookmarking that!). On the image page there is an information block (Figure 6) that shows this picture is, indeed, public domain. That means I can use it in any way that I wish and even profit from my remixing. Yay!

Screenshot: information for cat image confirming it's in the public domain
Figure 6 – information block for cat picture

So now I have my image. For this one I think I’ll use Inkscape, because I don’t really have to do any editing, just add text. Since Inkscape is a vector-drawing program it’s really easy to size and place things. If I had to do some alteration to the image I would probably take it into GIMP. Figure 7 shows the image with added text. I just made a text box and added my phrase. Yellow text showed up well with the picture. A drop shadow helps it to stand out and be readable.

Screenshot: editing the picture in Inkscape
Figure 7 – editing the picture in Inkscape

Inkscape saves things as SVG files so we also want to export the picture as a .png (or .jpg if you prefer). Figure 8 shows is the completed image.

Photo: cat with caption 'You brought home a puppy? When do we eat?'

It’s easy enough to recaption this by going back into Inkscape, changing the text and then resaving.

This all may seem ridiculously simple to you… and perhaps it is. I just wanted to point out that with some public domain images and some open-source software you can easily express yourself as well as any meme image that passes by your screen. You don’t have to just share the ones you get. You can start some new ones. Maybe one will go viral!

Added the “Software” page

I’ll be writing about my adventures as an open-source kind of guy, but I do get questions about the software I actually use. I created this Software page to give a starting point for people to see how I get my stuff done. It’s not a comprehensive list, but I’ll add to at as something occurs to me.

If you have questions about a particular piece of software, send a note to me and I may be able to address it here. Please bear in mind that I’m not free tech support. I’m a fellow adventurer in the open-source universe. However, I do enjoy conversation about solving problems and finding ways to innovate with available resources.

POWER to the people in Linux

A recent comment on another post prompted today’s entry. (I love it when life is a conversation!) Here’s the question.

Miron Cristea

Hi! I have an IBM Power workstation running AIX, but I want to install an Open Source OS on it. What do you recommend?

I think POWER is a great architecture and am a little jealous that you have one available.

Without technical details on your specific system it’s hard to give a solid recommendation. IBM has a community for discussion of Linux on POWER. I’ll bet that a question there with details about your machine would get you a solid answer quickly.

Distro.Watch shows a few Linux distributions aimed at the POWER architectureYellow Dog Linux used to be the only real recommendation, but now there are a number of choices, including Fedora and Ubuntu. As I recall, the trickiest thing was getting the system into a mode where you load something else… requiring split-second timing with an obscure key-chord. Hopefully it will be easier for you. I really think that you’ll be able to get this going in no time.

Of course, the big Linux news with POWER is POWER8. One of the big sticking points in development for this architecture was the Big Endian/Little Endian issue. Essentially the modes for addressing memory were reversed between some architectures (specifically POWER and Intel) meaning that software written for one had to be rewritten for the other. Yes, there were libraries that helped, but using them cost precious mips (which is why developers were using direct addressing anyway) and many just were not aware enough of the issue to give it any thought. This made traversing platforms a costly venture which many avoided. It also wreaked havoc with open-source projects by requiring some forking of code to support multiple architectures, which often didn’t happen.

So, one of the big news for POWER8 is that has native support for little-endian (Intel-style) addressing. This means that a whole flood of existing Linux (and other) software will likely run on POWER8 with little more than a recompile.  According to this IBM page you can get a starting Power System for under $8k. That’s not so bad, all things considered.

I’d like to see POWER make a move back into workstation and laptop space. It’s really efficient for number crunching, which is good for all kinds of graphical and data space. I’d love to see what I could do with Blender on one of those!

I hope this helps you get started, Miron. Let us all know how it goes!