I haven't written here for a while. A lot of changes have been going on behind the scenes for me. Around the time that I wrote my last entry I was brought into a new team within ISV Developer Relations at IBM. As a result, I am no longer editor for the Linux and Open Source content on developerWorks. This is bittersweet for me, as I really enjoyed helping authors to shape their information to share with people who want to learn. In my little intro on this blog I mention that I am really passionate about Linux and Open Source. This is not hyperbole. I've run a Linux desktop for more than ten years. We have no Microsoft Windows or Mac OS in my house. Personally, I don't find this a hardship. I do pretty much what I want and need on my computers and don't seem to have the struggles that others do. (I'm hearing a story by one friend who has been through ten different Microsoft tech support people over a period of days still trying to get his Windows 8 activated. Bleh!)

I've always found that it wasn't that Linux and open source couldn't do things that people needed, but that they just weren't aware of what was available or how they had become tool-bound. Perhaps a Linux environment tends to provide the most benefit to a technical person with a sense of curiosity. In any case, it was a joy to help provide a variety of information to help people try things and broaden their horizons. I got to work with some really talented authors and make a difference to hundreds of thousands of people. Wow!

My new role is going to take me more behind the scenes. I'll still be enabling people to get their messages out, but in a greater variety of ways. It's all fairly new, so I don't really have stories to share. I have no doubt that I'll get food for blogging in my new role.

I will continue to use this space to talk about technology and social issues that I think make a difference. I'll continue share things that I do with Linux and open source so that others can explore them as well. As my activities become more varied I may have even more to share!

Scribus project

Along those lines, I recently had to put together a booklet for a non-IBM project. I had done the writing in a word processor, but when it came time to generate the final format I decided that I really wanted to work with a publishing tool rather than a word processor. In a previous role, ages back, I did a lot of work with Adobe PageMaker. I remember renting time on Macs at Kinko's to create signs, fliers and such. Once I designed a set of sample pages for an elementary level math book using PageMaker. The pages were being shown in an editorial meeting for a major textbook publisher and it was the first time they had gotten a printed mock-up as opposed to a literally pasted page. (That sounds ancient doesn't it?)

It's certainly possible to do a booklet in a word processor, and LibreOffice works fine for that. (Have you downloaded v4 yet?) However, a desktop publishing tool is designed for a greater degree of precision in layout. If you can get your head wrapped around the different approach to thinking you really get a more finished product. The most popular open source publisher project I am aware of is Scribus, and the last time I used it was to do an 8-page, full-color mini-magazine for a convention. I know that many will consider Scribus to be lacking as compared to a PageMaker or a Quark, but the $850 price tag on Quark makes it a little out of my reach, and it's not available for Linux. Scribus is free and available for Windows, Mac OS and Linux. I essentially had to wish for it and it was installed on my system. Here's a sample from their sourcforge gallery.

Of course, working with page layout is different from other kinds of content editing. Publishing programs are much more concerned with controlling how things look than helping you to write. It's literally like having a lot of little pieces of paper that you are going to paste onto a blank page. You assign what is on each little piece of paper, a graphic, some text, etc. Some of this is handled by "frames" in a word processor, but in layout software it just seems to be a little easier somehow... at least to me... depending on the project.

Because of the "pagey" nature of this application, it was easier for me to set up something to be how I wanted it and not have things move around on me when I changed something. I had a few challenges with setting up a dynamic Table of Contents, something that is almost magical in LibreOffice. I will probably review this tutorial by Bruce Byfield before my next document.

If you want to play with layout software, Scribus isn't a bad place to start. It will acquaint you with the basic concepts of layout, primarily separating your design concepts from your content. For a big project it might still be worth using a commercial product, but for a little newsletter, booklet or other projects where you are assimilating various elements into a single document, Scribus might do the trick.

Now, when I'm designing a single page, like a sign, postcard or flier, from scratch, I will tend to use Inkscape. I've even done large, full-color banners with this and enjoy it very much.

More adventures later. I'm tinkering with Blender, the free, open 3D modeling/animation/compositing software. If you think moving from word processing to page layout is mind blowing you just wait 'til you see what happens in this paradigm! I used Blender to create the header graphic for this blog. Everything is composed of 3D elements which were lit and moved around, then "photographed". It's pretty interesting stuff.

Thanks

For everyone who contributed to the Linux and open source areas on developerWorks for me, you have my sincerest gratitude. It was an honor to work with all of you. For the readers to gave feedback, sometimes in the most forceful ways, you have my gratitude as well. It's hard to function in a vacuum and your input constantly shaped my approach to what we covered and how. I look forward to my new adventure.

OK. I'm a little more caught up after the holiday. I'm pleased to announce that the Learning PHP series on developerWorks has gotten some updates (Part 1 was done earlier. 2 and 3 updates just got published.) If you want to dive in and start making use of this popular language this is a great way to do it. I'm actually going to roll up my digital sleeves and walk through the tutorials myself as a coder rather than as an editor. I need to tinker with PHP a lot more and this will get me going quickly.

There's lots going on with the changing of the year, however. Here are a few things of interest.

Linux: 2012 was a very good year

I came across this article from PC World, a publication that is not necessarily known for pushing Linux. There are a lot of interesting points in there. Linux is making money. People are getting stuff done with GNU/Linux. Gaming companies are starting to turn their eyes to the platform. For myself, 2012 was the year where had had less confusion than any other time in my life when I told people I ran Linux. Nearly everyone I spoke with about it had heard of Ubuntu and many said they were considering loading it up themselves if they hadn't already. I know that for many things Linux still makes up a small percentage bump on the user map, but it is going gangbusters in the background and it just isn't going away!

Of course, it isn't always pretty in Linux land. I don't know if it speaks to passion or just poor socialization, but a recent blog post in the Real World Linux community discusses the heated exchange with Linux Torvalds and one of the kernel maintainers when a patch broke something in userspace. I've heard a lot of discussion about whether or not professionals have exchanges like that. They may not where you have worked, but I've witnessed some pretty strongly worded conferences in my career. It's probably not something recommended in the people management handbook, but it does happen. Hopefully everyone will make nice and move on. Of course, ten years ago that exchange wouldn't have been any kind of news whatsoever.

Twitter retrospective

One of the interesting side effects of tools like Twitter is that it gives you a view of the information pie that is hard to get any other way. So much information comes from so many people with tags identifying groups and trends. Twitter has provided a 2012 retrospective page showing what was hot in a variety of topics. My stuff hasn't bubbled up to the top so far, but it's interesting to see who has. It's also interesting—and sometimes aphaalling—to see what people have found important enough to share and discuss. This kind of data is going to become more robust as we go.

New tech

Of course, the new year is not all about looking back. It's also about looking forward. This slide show from InfoWorld has their picks for what is "highly anticipated". I'll admit that some of them don't especially grab me. (Let's see if you can figure out which ones!)

I'm intrigued to see the future direction of Android, though the way providers tend to implement it I won't be able to enjoy it with my existing device. I really wish I could handle Android like I do installing Linux on devices!

The pending evolution of wireless protocols is also intriguing. Wouldn't it be amusing if we eventually fix the high-speed everywhere questions with wireless rather than running cables?

The flexible displays are also pretty interesting and could show up in some surprising areas. Imagine touch interaction that doesn't need to be flat anymore.

I'm also curious to see what happens with the new innovations in energy usage that are evolving. I'm sure there will be more on that later.

Happy New Year, all. I hope you got some kind of a break and are ready to start making a difference with all that you do.

My next proper entry in this series of posts (am I doing a series now? How utterly corporate!) on what I've been doing with open source in the small non-profit office of a church will continue with some of the other tools and techniques that we've used behind the scenes. However, my last one actually prompted some questions, so I thought that I'd take a few minutes to address those before preparing for the holiday coming up. (Why do holidays always end up giving us more work?)

ClonezillaI was generally pleased with what I could do with Clonezilla. There is some good documentation available on the project web site, but I also found a good tutorial that gives a step-by-step demonstration of what it is like to work with Clonezilla. Within the project web site you'll find all the information that I used to create a bootable USB key that contained the full Clonezilla as well as the base image.

Later on, I'm hoping to use those same ideas to make one that will be automated... boot from that key and it re-images the C-drive, no questions asked... and some PXE booting that I'll combine with the wake-on-lan to automate updates we may do down the road. These are pretty techie projects and not designed for someone who is not an expert, but that's really the point. I'm not really trying to eliminate the expert. I think that environments running without an expert available deteriorate into chaos because no one pays attention to the warnings of disaster. Rather, I'm trying to use these tools to make it easier for an expert to volunteer and help out without having to go "in house." A team of technical people can cooperate to keep things running reasonably smoothly doing a little here and there within their schedules.

Other Open Source SolutionsSomeone asked about open source solutions for things such as Point of Sale. This, and other areas such as CRM, are important applications that need to work well for an organization. I am absolutely not saying that open source solutions don't work well. I'm just suggesting that when you select a solution in these areas that it is a much larger commitment than a web browser or word processor. Your business data and practices will be wrapped around this choice. It's not a choice to be entered into lightly.

I'm a huge fan of open source solutions. I generally use all open-source for solving my own problems. However, there are times when I hesitate to recommend that course to others. Why? Well, I'm a techno-geek. I love to play with these things and explore them and make them work. Decades of that attitude have made me so that I'm pretty flexible and adaptable and don't let things like mysterious error messages stand between me and my work. However, I deal with users-- volunteer users who could be at home doing things with their families-- who experience a sort of panic when technical things happen. They may want to have someone to call to answer questions. That person may become me, and that can steamroll into a lot of volunteer time rather than the time I am paid for. That's the sort of scenario that drives volunteer technical expertise away. If the open source option is not stable, or is vastly different from what people might be used to in their commercial background, then I would hesitate.

Another issue which can occur with these situations is there may be some specific business requirements, maybe not within the organization, but in their interaction with other organizations that demand certain protocols or formats. This used to be a big issue with documents going to printers. They needed it in specific file formats, which were generally tool-driven. Much of that has changed over time with things like the openness of PDF, which provides a neutral format which many tools can produce. You will need to what the real business needs are for your organization and make sure that there are not critical business functions which demand specific commercial tools. As much as we might like to keep things "free and easy" these requirements may trump the open ideals. The good news, is that good application of open solutions where appropriate will often free up funds which can be applied to these commercial tools. Continued evolution of open source may mean that "no" really means "not right now." It may be that down the line that interoperability standards put an open source solution back on the table. Keep an open eye and an open mind.

Having commercial software as a part of your environment doesn't necessarily crush the work that you've done with open source there. You should try to select solutions that fit with the environment that you want to create rather than allowing them to dictate the environment that you must have. I like the stability of Linux running on servers in our environment. (More than 3 years without a single server issue and 99% of the support done completely remotely.) I resist solutions could not include a Linux server solution. It's always a battle, because most people who suggest solutions have a pretty narrow view of operating environments. However, in each case we've been able to find an approach which gave everyone what they needed.

I will say that one of the things that I like about IBM commercial solutions (and those of our partners) is that they tend to exist in a multi-platform world. If you can buy (or get donated) an IBM-based commercial solution then it will likely fit into an environment that has a lot of open source and play nicely. (That has been getting better and better over the last ten years and continues to improve.)

Let's say, though, that you've considered your options. You have determined that a commercial answer is not needed, or not available because of resource. You're going to go open-source. There is not a magic way to find the right package. Quite honestly, the way that I begin such a search is go to Google and enter "open source XXXX" where "XXXX" is the function that I'm looking for. The most popular projects for that solution will come up on top of the search. Then I dig through them. I look at the features and functions. I look through the forums for complaints. Lots of discussion entries that say things like "I reported this bug six months ago! When is it going to get fixed?" are dead give-aways. I tend to favor applications that run in Linux, but could run in Windows or Mac. Those seem to me to be the best thought out and working with the most stable technologies. I look for things that use open data formats like XML and standard SQL servers. If it seems to have some proprietary approach to holding the information then I tend to back away. I may need to rescue some of this information at a later time. I want a level of transparency. If you establish your criteria, test for your requirements and are willing to walk away from applications that don't fit then you should be abe to find good fits.

So, why am I not providing a list of recommended applications? Well, I think that this is an area where there is a lot of subjectivity. My perspective of which one is better doesn't really matter because I'm not really using some of them right now. If I deploy one to solve a problem I'll write about it, but until then they are all candidates. I would rather talk about what did work for me rather than what should work for you.

One thing I will say is that at this stage in open source evolution, you take on a level of risk when you invoke an open source solution. It's less from the software itself which, as I said before, tends to be pretty good. The risk is more from the politics and societal view of open source. I think I said before that in my project there are knowledgeable people who seem to withold their Windows expertise on the workstations because we won't run Windows servers. Non-profit environments can get pretty political and you may need to exert a good deal of leadership to make these things work. Some of the answers are not obvious. I highly recommend that you associate yourself, either in person, or virtually in some community areas. There are two good groups right here on My developerWorks:

Optional: You can upload an image that will appear in the overview page
for this group. Please ensure that only a business-appropriate photo is
placed on this site. The photo must be in JPEG, GIF, or PNG format.
Larger images may take several minutes to upload.

The
level of access for a group can be set to open (anyone can see and
join), moderated (anyone can see, but you must ask to join), or private
(only visible to members). You can amend the access level of a group at
any time using the Edit Group form.

You
can choose to associate applications with a group, such as wikis, if
they are available for your deployment. When you do this, a link and a
feed to the parent wiki page are provided in the group's overview page.

When
you create a group, you can associate a specific image with the group.
The image you choose should be closely associated with the group's
identity. You can change the image at a later stage using the Edit
Group form.

A
tag is a descriptive term or keyword that you can assign to a group to
identify what the group is all about. Tags must be a single word or
multiple words connected with underscores or hyphens.

If you are already a member of My developerWorks then it's easy to join. If not, then signing up is free and you can gather with me and others to talk about how to make this stuff work.

I'm on vacation for a bit, but when I return we'll get back to the church office and how we're using wakeonlan, ssh and vnc to remotely support workstations.