Yesterday I spent some time with a dear friend in San Antonio, Texas who is in his 70s. We couldn't get together in person, because we're a couple of hours apart, but he got a new iPad and I realized that he should be able to use video technology. It went pretty well. We got him going in fairly short order and were able to talk face-to-face. His health has made it difficult for him to get around as much, so this is going to give him the chance to have more people time. That's good. That's what technology should do. It's good technology too, which works from his iPad and my Linux and my Android and someone else's Windows. Technology should break down barriers, not create them.
Here's the weird part, though. Before contacting him, I discovered that Skype, the tool we decided to start with, had an updated Linux version out. This is weird. Skype has been traditionally "fringe friendly" to Linux. We've been back-leveled for years with little or no interest in moving things much forward. Suddenly, Microsoft, one of the Great Satans, makes the update happen. Maybe it was already in the works and they just pulled aside the curtain. Maybe they jumped in and put a team on it. I don't know. I do know that the last thing I expected from Microsoft's purchase of Skype was for them to make it easier for me.
Microsoft takes a lot of punching from me. I used to use Windows exclusively and now I just don't care for it -- though I support people who do and don't whine about it. Many of their applications and development methods have been problematic for a more open world, which is frustrating and often counterproductive. I've been hearing that Microsoft is cultivating a new perspective which may be beneficial to an open world. Suddenly they've done something that helps. I have to give them a tip of the hat for that. Updating Skype is a big deal. I don't expect I'll be using Windows any time soon, but I'd like to have the chance to interact with Microsoft technologies in an open way. I'd live to start working with them rather than around them. Maybe things really are changing. Perhaps we've really entered into the Age of Aquarius.
Today I saw a Wired article "Linus Torvalds Gives Nvidia the Finger. Literally." (WARNING: This article contains some explicit language-- which is probably why it's kind of funny.) At the bottom in the comments was a comment by Dave Shaw which said "How about a kickstarter campaign to cover the cost of developing drivers for Nvidia and AMD drivers for Linux? I figure all the money Linux users save on their OS could be diverted to these projects."
You know, that's really not a bad idea. In the past one of the criticisms of open source was that they offered nothing to a commercial organization. It's expensive to develop these drivers and connections and the company just can't make its money back from the work. They just don't have the resources to do it. OK. Fine. That's fair enough. So, how much do you need? What's the number? What's fair? We could use crowd-source funding tools to try to collect that money from the community and hire someone to get it done. If we can't raise the cash then they are right, there's not enough demand. But, if we do raise the cash, then I think a lot of this needs to be re-evaluated. I don't mind paying in to get something like this done, if I can afford it.
So, hardward companies out there who don't support Linux. Give us a number. Give us a shot. Maybe the community will surprise you. We might even overwhelm you.
What's inside your kernel?
There's a newish Linux kernel out so it's time to see what's changed. Yes, just about anything you've done will still work because Linux has a penchant for being backwards-compatible. If you don't keep up, though, you may still be doing things the hard way. M. Tim Jones took a peek under the hood for us and has highlights. Take some time to read "Introducing the 3.3 and 3.4 Linux kernels". There's Android integration, open vSwitch, file system changes, networking enhancements and other interesting changes. Tim also takes a look into what may be coming next.
How's your compiler coming?
If you've been following our series on creating a working compiler using the LLVM framework then you'll be glad to know that Part 2, "Use clang to preprocess C/C++ code" is out. If you haven't been following, then it's time to catch up. This type of tinkering is what I love best about Open Source. Don't see what you like, make your own. It's not for everybody and most problems are better solved by just taking something off the shelf, but there are those special times and special problems when being able to "roll your own" makes the difference between solving a problem and setting it aside. Our readers are solvers!
I was visiting with my parents and my father made an interesting revelation to me. He said that when he's helping people with computer things he now offers them free software solutions as a first option to solve their problems. He says that the free things are often good enough for their needs and he's not imposing a cost on them by helping. This is interesting to me because he was one of the people who argued with me about the value of FOSS. I'll probably never get him running Linux, but he gets it. Start with the free stuff unless you have a compelling business reason to do something more. That way people aren't wasting oportunities to use technology while they wait around for the funds. Later on, if you find you need things that are only provided by the commericial options then you invest; then you know what you're looking for.
Of course, I also find that most people don't choose open solutions because they don't know they exist. Often there are alternatives or methodologies that are buried in all of the tons of technical knowledge and information availble. It's hard to track all of that when you have "stuff" to do... unless, of course you're Watson. So, when I come across something that might be holding people back from making a choice, I try to share it. Today I came across an interesting article for those who are trapped in Solaris because they are used to certain tools, namely ZFS and DTrace. Slashdot pointed me to "ZFS and DTrace running on Ubuntu Linux". Who knows... maybe this will be just what someone needs to move into a more open environment.
Propriety getting in the way
I may make someone unhappy by sharing this, but it fits right in with what I'm discussing about choices. I do some technical support for a church. I've set up servers (Linux, of course) and helped to keep some things running. One of the ways that I've been able to be helpful was because I set up SSH in a way that allows me to securely tunnel into the network and do things remotely. We even set up wake-on-LAN so that I could turn workstations on and off as needed (Windows, sadly). A while back some used Cisco equipment was donated for networking. Nice stuff, but it requires some pretty specialized knowledge to work with it, knowledge that really requires training more than dinking around in forums. I don't have that. Neither did anyone else on the team. We had people who stepped in from time to time but there was always something odd about the configuration that didn't work eventually, and when it didn't work people would turn to me. My only option was to pull the Cisco stuff out of the equation.
So, recently a Cisco expert comes in and sets up a lovely multi-tiered platform with all of the devices elegantly separated into VLANs with mile high firewalls and such. It's beautiful, brings tears to the eyes. Of course, it turned off my SSH tunnel. No worries. We'll have a fancy VPN before you know it... when they get around to it. In the mean time I can no longer access the systems. I can't just take a moment out of my day to check on something. I have to schedule an appointment to physically go to the site. That's not so good for a night owl who does most of their tinkering in the dark. It's also not so good for someone who's schedule always seems to be stuffed with things to do. Recently an attempt was made to punch that SSH hole again, it's just a port forward. I know how to do it with IPTABLES. I can also do it with pretty much any Internet router on the planet, whether it's running DD-WRT
or not. For some reason this was a complicated issue on the Cisco equipment. Something was blocking something, and the time got used up so it remains undone and isolated.
My main fear is that all of this will be corrected eventually, but that something will go wrong. If our latest superhero tech is not available then it will all be a mess. It will cost time, or money or both for an organization that really should be focused on its altruistic endeavors. How many schools, charities, clubs and other organizations get into the same mess? Someone comes in with a great offering, but then things change and the offering becomes an obstacle. Going back to my dad's comments, wouldn't it make more sense to keep those things more open so that they aren't held hostage, so that they don't depend on people with the "right gifts"? Alas!
Create a working compiler
I love having a chance to play with building blocks. Yes, it's nice to have someone do the work for me and I appreciate all of the rich applications that are at my disposal. However, those don't always fit my warped way of thinking about technology or the exotic messes I can create for myself. Besides, sometimes I just get curious. The latest article that we published in the developerWorks Open Source area is one of those fun, foundational things that just might come in handy some day. It talks about how to use LLVM to create your own compiler. Does that sound like a Hurculean (or should that be Heraclean?) task? Getting started is not that bad. Check out the article, "Create a working compiler with the LLVM framework, Part 1" and find out for yourself. Don't forget to rate it and add your comments.
Magic logs with libvert and KVM
Recently I saw The Avengers, and Tony Stark did a lot of fancy work with his fancy virtual 3D intefaces-- which are becoming close to reality. Even without that we do a lot of things virtual. We have virtual meetings, virtual relationships and more and moe virtual machines. The interesting thing about doing something virtually is that you get to cheat a little. You can take advantage of the non-physical nature to do things that you normally couldn't. You might take advantage of that by doing a major business presentation webcast in your pajamas. In virtual machines we can look at things that are going on behind the scenes that would normally require some pretty fancy hardware monitoring devices and engineering.
In the Linux zone this week we have "Track KVM guests with libvirt and the Linux audit subsystem". It demonstrates how to use libvert to log events going on in you KVM systems and then use them in conjunction with your host system logs. The potential for this sort of thing is petty interesting. You might be able to track various health issues with running images, or do automated tasks such as creating additional systems based on behavior. I imagine this could be very handy for clound implementations. It's easy to explore so check it out.
(QUICK ONES are bigger than a tweet, but not much!)
A colleague, Willy Farrell., pointed me to a free (as in freedom and free beer) XML editor called Notepad++ It's designed for Windows but ran OK for me under Wine. I thought I'd point out a few other options for XML editing since developerWorks articles need to be in XML.
Notepad++ - Windows-only. Seems good to me. Not WYSIWYG, but my friend is a deep developer type. Looks like it's very good for that.
Serna - This is a product that also has a free and open version. It's Java-based and works fine in Linux.
Amaya - This is the editor put out by the W3C folks, who should know something about the standards. It seems to work well.
Right now, I struggle with setting up any of these to give me a good WYSIWYG view with the developerWorks article kit, probably because I'm just not pointing them to the style sheets in the right way. I will admit that for my regular editing I'm using a rather expensive professional editor called Oxygen, which came with my editor's chair. It works well in Linux and I like it. However, if I was not so endowed you'd be sure I'd have my answer in one of the free options... because I'm stubborn that way. Perhaps I'll spend some time figuring it out. If I do I'll share my findings like I always do.
This has been a very difficult week to concentrate on anything. In the United States we had a holiday, Memorial Day, honoring fallen soldiers. That shaved a day off of the week. Then my nephew is graduating from High School this weekend and we need to travel for that, shaving off another day. Finally, there are all kinds of little end of the school year things going on, which make for constant interrupts. Yet, things get done.
One of the things that we did was to go to my daughter's classroom where she showed us things she had done during the year. Several of the projects were done on a computer and I brought a little flash drive to save them. It made me realize that I need to be a little more proactive on getting my daughter (9 years) building her computer skills. So, I'm thinking of ways to keep her going on all of that. Here are some things that I plan to offer her (all on Linux, of course):
Typing - learning to type will make a huge difference to her. No reason to wait. Plenty of typing games and things like that that are browser-based.
Office Suite - At school they used Microsoft Office on a Mac. I'll probably get her going with LibreOffice and show her how she can not only do slide shows but also create documents and drawings. I might show her the spreadsheet too, but I don't imagine she'll have much to do with that yet. She seemed to like creating slide shows. Maybe I can get her to take some of her summer reading and turn it into slide shows.
Graphics and photos - she has a cheap little digital camera. I should make sure she knows how to bring in her own pictures and show her how she can edit with GIMP. I may try to get her to try making her own stop motion video with her still camera. She might enjoy that. Plenty of options to take a series of stills and turn them into a video.
Scratch Programming Language - When I was younger, turtle graphics was the popular way to introduce people to programming. Yesterday I found Scratch, "a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web." Wow! This is some interesting stuff. Rather than writing code, developers stack functions like blocks to do a variety of things. It's easily designed to create interactive stories. It looks to have the functions necessary to do more complicated things as well. There's a public gallery of projects to examine.
That ought to keep her busy... and give her some cool things to show off when she gets back to school. Of course, I'll be checking some of this stuff out for me too.
I just got off the video feed talking to Scott Lanningham for his video podcast. Scott does this "rich media" full time and he's really good at it. Lately Scott has been traveling to some of the IBM functions to shoot footage with a number of notables in technology. It will be a little bit before my conversation airs, but you can see what Scott has been doing by checking out developerWorks new media. There's lots of good stuff there.
Secure your LInux like the Russians
OK, I know that that SELinux (Security Enhanced Linux) was originally created by the NSA (National Security Agency, or originally "No Such Agency") in the United States, but this week we have another one of the global offerings from Russia. This is the first of a series and I'm working on getting the rest of them.
SELinux started as a full-blown distribution but then became a set of components that could be added into existing Linux distributions-- a smart approach. I just looked it up and the minimal versions are available as part of the regular Ubuntu repository. Not everyone needs to run Linux this securely. I certainly won't do this on my laptop. However, the universe with the Internet and Cloud Computing in it creates much stranger situations that we've ever had before and you may need more enhanced security even if you aren't trying to protect national secrets.
Speaking of M. Tim Jones, we just published something by him which will be interesting to those of you trying to fathom Hadoop: Practice exercises. Remember when you tried to learn things as kid. You'd be given the problem and then exercizes to help you cement your knowledge of the concepts. That's when you'd have the problems like "A train is southbound going 90 miles per hour while a Kangaroo is hopping toward the tracks at 15 miles per hour..."
We sure don't get that in the real world. All you get is a problem hurled at you with an urgent demand to find the solution. Sometimes I wouldn't mind a few simple exercizes to get me going. Tim agrees and he put together these to help you get your concepts down. You will need to have a running Hadoop envioronment. Check out "Practice: Process logs with Apache Hadoop". There is a Hadoop knowledge path coming which should help you to explore Hadoop in a logical way. Look for that soon.
(QUICK ONES are bigger than a tweet, but not much!)
Today I made a few tweaks to the blog which you might want to try as well if you use the Community tools. First, I added the features. If you've set up a custom blog template, like I did in "Using CSS Sprites in your developerWorks Community blog", then you are pretty much set up for this. Simply go into Settings, Preferences, Templates in your blog and edit the _options file. Search for the word "feature" and you'll be taken to a section like the following:
#* ***************************************************************** *# #* Optional post tag to flag featured posts. You must have a *# #* minimum 2 posts tagged for the feature widget to display. *# #* ***************************************************************** *# #set($template-featured-tag = "featured") ## NOTE: adds minimum 60k page weight #set($template-featured = 0) ## 0=show featured widget on homepage and blog entry page 1=show featured widget only on homepage
You can change the featured-tag to anything that you like. Then anything that you tag with that will be added to the features widget. Note that you must have at least two items tagged this way before the features will appear. You can also decide if the widget should appear on every page or just the home page. I'm doing every page for now, but may change that if you find it annoying.
Next, I decided that I didn't like the button that leads you to the features.
The standard button looks like the one below:
I made this image with some clip art and am releasing it into the public domain. Feel free to use it for anything you like.
Once I made the graphic, I had to find the code where that graphic was defined. Basically I right-clicked the existing image and found its URL. Then I went into Settings, Preferences, Templates and opened the Weblog file, which contains all the major functions. I did a search for the filename "featured-arrow.png". Lo and behold! There was a simple image statement pointing to that file. I uploaded my own version, repointed the URL and it works! While I was in there I also added an ALT and TITLE tag to help with devices that can't display graphics and so that the graphic will explain itself if you hover on it.
I imagine that you could use the CSS Sprite technique to make it a little shinier. A few tricks like this and your blog could really start to reflect you!
I just LOVE some of the names of Open Source project. They reflect the fun that open-source developers have with technology. Some are weird recursive achronyms like WINE (Wine Is Not and Emulator). Others are just odd names, like SLURM, which stands for Simple Linux Utility for Resource Management, but sounds like invaders from another planet.
I now have this picture in my head:
"Look at how puny these humans are."
"The SLURM are clustering."
"That doesn't give us much time!"
Actually, SLURM is a pretty interesting technology that helps you harness systems together to get supercomputing power from them. This kind of concept has been around for a while, but it just gets better and better. With cloud, big data, and the gamification of applications you may not know where you'll need more power. Being able to harness things like this together will make you someone who can make something happen.
Remember when web was all about pages? lovely, hand-crafted works of art? Wow! Those days are gone! I just can't imagine beginning any kind of web project that way today. Today's web sites are about assembling information dynamically and letting what is most important to a user be most easily available while supporting multiple disciplines on the back end, because not everyone building the site will be a programmer.
Content Management Systems grew out of this. If you are looking at a serious business solution I would certainly take a look at IBM's Enterprise Content Management software. Yet, as a developer you are probably going to have plenty of opportunities to integrate with one of the Open Source solutions that have been come so popular.
I've worked primarily with WordPress and Joomla for my web work, because I was usually trying to get up something quickly that would do the job and let people easily act as editors. However, if I wanted to craft a little more, and almost certainly if I was integrating with my application, I would be using Drupal. It's has a lot of modularity and configurability.
Of course, with any Content Mangement System (CMS) the look and feel is important. Themes are the way to do this and it's a valuable skill to be able to design your own. In this week's article, "Enhance your Drupal web site with custom themes", Tim Ogunjobi looks at just that. Theme design is more than pretty pictures. A well-designed theme can help you integrate functionality seamlessly. A poorly designed one has the look of a lot of duct-tape. This article may actually get me more into Drupal.
What do you want to talk about?
One of the joys about editing the Linux and Open Source zones in developerWorks is that I get exposed to a lot of fascinating technology. I also get to indulge my own curiosity about thing because people write about things that interest me but I don't have time to explore on my own.
I don't get a lot of feedback from readers about what interest them. I think it's largely because Linux and Open Source people are self starters and don't necessarily think about asking, but I want to remind you that you can always shoot me an email with things that you'd like to see. I can't promise to get everything that you ask, but I'll do my best. If you're the only one talking to me you might become a powerful influence indeed!
I'd seen some information about how this is done with other sites using a technique called CSS sprites. David Walsh provided the quick and dirty explanation that finally got me going on this technique in his blog entry, "Creating & Using CSS Sprites". Essentially there are two efficiencies that you are using. First, the grapic for the button is designed with all versions together, but the view is framed using the style. On a mouseover event the style sheet will automatically offset the view to show another verion of the graphic. Since the graphic loads up front there is no lag time to get another version. Also, using the style sheet allows you to replicate this technique across multiple buttons of the same dimension without having to replicate the code. You define the style centrally and simply invoke it.
Take a look at David's blog to see how this works... and it does very well. I set it up in a WordPress site. Here I'm going to explain the techniques I used to invoke this technique in the developerWorks Community space.
From your blog, select Settings. (You must be logged in to the community.)
Select the preferences tab, then Theme.
Set the theme to minimal and then save. (This changes you to the minimal template.)
Press the Customize button which appears.
Now you are using a custom theme which lets you edit your styles. Click on the Templates link to see these files. It will look something like what you see in Figure 1.
Figure 1. Files for custom theme
Next we need to make our button. You can have your graphics stacked side-to-side or top-to-bottom. It's up to you. What I did was go into GIMP, and double the canvas size along one dimension. Then I copied the picture and pasted it as a new layer. Now I can use the filters to do things to the graphic and easily replicate an effect across several buttons. Figure 2 shows the sprite I created for this demo. The top version will be the normal view and the bottom version will be the highlighted view.
Figure 2. CSS Sprite image stacked vertically
Now, I upload that into my file uploads. This is also done from the Settings. (Go to Settings, Create & Edit, File Uploads.) Once the file is uploaded, you can click it to open and get the URL. Now comes the fun part. Go back into the templates and open the _css file for editing. Go to the bottom and create a new style section for your custom additions. It will look something like the following code:
By setting up a separate section it makes it easy to keep a local copy and then just dump it back if something changes on the server end. Let's look at what I did:
First there is a named style definition called tux-wizard-link. If I apply this to any link it will frame the graphic to be 284x284 and use the defined graphic for the background. I believe that I can leave this out and define it for each individual link to provide different graphics using the same style, but I haven't tried it yet. For now, I'm sticking close to the original concept by David.
Next there is a definition for how this style behaves when a hover (mouseover) event occurs. Here we tell it to shift the image up 284 pixels. That's it for the style. Save that file and you have a new style available to use in your blog. Now you place the link using the following code:
<a href="#" id="tux-wizard-link" > </a>
The ID invokes the style definition and it just works. Here it is live:
The link doesn't go anywhere, so don't be surprised when you click it. The one oddity with using this technique on the developerWorks community is that you cannot see if it's working in preview mode. I actually had to do a publish into my sandbox (a nonpublic group) in order to see it was working. I'm not sure of a way around this. It's great for during design mode, because you can do all the testing before you bring it live. I have my sandbox where I can do my testing. For a live blog I'm not sure how you test it without alerting everyone that you've published something.
So, what can you do with this? Well, you can set up some pretty snazzy tabs and other buttons in your blog that load quickly and work well across browsers. I'm not a CSS expert, but I think you might be able to set this up so that you can define a specific button style and simply crank out buttons with identical dimensions. Even if you have to replicate the code for each button in the style sheet it's not so bad.
QUICK ONES are bigger than a tweet... but not much!
I finally saw The Avengers this week and enjoyed the concepts of all the 3D interfaces that they use in that universe. In this article, "MIT Creates Amazing UI From Levitating Orbs", we see how MIT is exploring how 3D spacial interfaces might actually work. Grabbing space with your imagination is cool and all that, but it seems like it would be very difficult to do well. I know that in the console driving games I've always struggled with the fact that I can't feel what the car is doing. (I'd never noticed that many of my driving decisions about things like speed an braking are made based on how things feel more than how they look.) In the same way, a rich 3D experience with no tactile component is going to be harder for many people to use.
MIT's work is looking to add a physical component by letting you move around an orb that is floating in space. It's crude for the moment, but these things always are when they start. I'm very intrigued to see which what this goes. It could be very interesting.
I use a VOIP (Voice Over Internet Protocol) line as my office phone. The monopoly phone company charged me a ridiculous amount for the privilege of the line because it was business-oriented so I fired them. They still call me relentlessly to tell me they value my business and I get to fire them all over again, and tell them how stupid they are for not getting the hint. That's not what I want to talk to you about, however.
One of the services I have on this line is a "visual voice mail". All the messages that come in are translated using speech recognition technology and sent to me as an email. The technology is not perfect. Some of the translations I get are pretty amusing... except for lately. It's voting season, and I'm getting a round of robo-calls with messages about this politician and that one. Guess what! The transcription from the political messages I get are perfect. That means that somehow, the message has been optimized for text-to speech. How do they do that? Can someone train me to talk to my phone that way?
Today I got a tweet from Mark Fernandez pointing me to the article "The Disappearance of Open Source?" It was mildly depressing. Basically it affirmed a concept set forth in everything from "The Little Red Hen" to "Atlas Shrugged" that says those who can do for themselves and those who can't sit around until its done and then whine about it. I hate saying this, because I am a true believer in the value and concept of open-source, even when it's not free as in free beer. If you haven't read it, perhaps now is a good time for you to read Eric Steven Raymond's "The Cathedral and the Bazaar".
My rant is essentially this: If you are reaping the benefits of open-source software, especially if you are getting it for free then you should be grateful. The world has not always been this way. It is not an entitlement, but a gift from people who are willing to solve their own problems and then make the solution available to you because they think such things should be shared. They don't owe you a gorram thing! (a little Firefly lingo, there... See how I am right now?)
If you can create your own solutions purely with open-source software and don't need any outside help then go for it! Be proud. You are in an elite minority. You are someone with knowledge, drive and determination to pioneer. You deserve every benefit you can gain from that. You are one of the haves.
If you cannot do this because you lack the skills or don't want to take the time and you need someone to fill in those blanks for you then you are one of the have nots. You have a few options:
Do without. You've lived without it until now, maybe you can get along without it.
Wait until it's easy. Open-source projects evolve and it's likely that over time the problems you have now will be resolved by others who have stuck with the project during the rougher times and given it some polish.
Get help from one of the haves. Find someone with the knowledge and experience to carry you through the problem.
If you choose option 3, you should bear in mind that the person helping you is going to need some motivation. That may require some paying. Don't like it then you really ought to go with option 1 and 2. If you act as though you are entitled, if you criticize and complain while demanding help then you really need an attitude adjustment. At first that will be tolerated, but eventually the "haves" will realize that there is no value in what they are doing and that they should focus on solving their own problems rather than yours. Eventually this will leave you only with option 1 - do without.
Open source culture provides a great deal of benefit by removing barriers to people who are willing to work and learn to use technology. It provides an unblockable path for people who are have nots to become haves by putting in the required work to reap the benefits. (Did you read "The Little Red Hen"?) Those who are willing to take that road will find it remains open. The licenses However, you can create a situation where no one will give you a map, nor directions, nor the time of day.
Companies having to de-emphasize their open-source qualities in order to not confuse customers is troubling. If you are one of the ones who makes them feel that's necessary then you need to walk away from open source and go invest in some very expensive solutions. Open source just isn't for you. If you understand the value of Open Source and you know people who seem engaged in this struggle, then please try to help them to appreciate its value.
Right now I'm going to go make a donation to some open-source projects that I used today because they need the love.
Today I got a tweet from author, Uche Ogbuji, about his blog entry. I've noticed for a while that Uche is a poet as well as a technical guy. (I love it when people mix art in their life.) Here he combines a bit of both and points us to a Wikipedia report he participated in on analytics. Check it out!
World Wide offering from Russia
This week in developerWorks we are publishing our first World Wide offering with an article about IPSEC. You know the old joke: "What do you call somone who speaks many languages? A polyglot. What do you call someone who speaks two languages? Bilingual. What do you call someone who speaks just one language? American!"
I admit that I fall into this category a bit myself. I speak some French, but no one cares. I want to learn Spanish, but haven't really had the time. In general if it's not in English, I miss it. While we have a good deal of English conent on developerWorks, we have contributors world-wide, much of it in Chinese, Russian and other languages that most of us did not pick up in High School, especially if you grew up in the U.S. An effor has begun to bring some of the popular articles in other geographies into English so that they can be enjoyed by more people. This week's article, "Use of IPSEC in Linux when configuring network-to-network and point-to-point VPN connections" originally appeared on developerWorks Russia. You may find that it has a slightly different spirit and rhythm than our articles that originate in English, but I think you'll find the information useful.
IPSEC is a security protocol for doing encrypted network connections across unsecured networks. If you are using a VPN into your office, you're probably using it now. This is a great way to connect networks and systems together and the article really takes a lot of the mystery out of it.
Look for more World Wide articles like this in the future.
That sounds like a horror film with Bela Lugosi as a mad doctor who has come back for his revenge! Actually, it's the second part of our brief series introducing Riak. You might want to review Part 1. In Part 2, "Introducing Riak, Part 2: Integrating Riak as a heavy-duty caching server for web applications", you'll see how you can take a big bite out of web latency. Caching isn't always the answer, but if you can make good use of caching along with efficient applications you can make your site fast, fast, fast!
That's all for now. I hope to have that demo for you soon. I'm still tinkering with a few things to make sure the work before I start recording. You don't want me to look silly, do you?
Since HTML brokenness can fubar the editor here in the developerWorks Community, I'm taking a test-drive of ScribeFire, a browser plugin that provides an alternative editor for blogs. So far it seems pretty nifty, but I won't know for sure until I see if this posts.
Suping up your Android phone
Today I got a tweet from @marekw about an article called "How to make Android faster, more productive and more secure than iPhone". Whether you believe the hype in the title or not, this has some pretty useful tips. I had been using the Dolphin HD browser for some time but am really impressed with the speed and clarity of Opera Mobile. True, Opera is not open-source, but they have been solid supporters of Linux and now Android. They appear to embrace the standards well. I'm going to try it out for a while. I can always switch later on.
I'm enjoying the chance to tinker
I'm hoping to shoot a video demo here soon with the ffmpeg technique I talked about earlier. I'll probably start with creating a multi-boot USB key with Ubuntu Linux, GPartEd Live, and Clonezilla Live. To do that I really needed a USB headset. I wanted something low-profile so I could wear it in a video without looking like a 70s DJ. I settled on the Plantronics .Audio 648. It's working fine for what I wanted, though I'm missing the functions of their little buttons. At some point it would be interesting to make use of those, but they were not my reason for purchasing.
This should give me a real "hit the button and go" approach to recording demo type material. After I produce a few I'll provide a train the trainer sort of video showing exactly how I'm doing everything. Doing simple demos in Linux is really easy. Adding a little polish to them is not that much harder. Stay posted.
OK. I'm going to hit the button to post this now. Wish me luck!
So what are you doing reading this? Shouldn't you be calling your mom, or taking her to lunch or celebrating the fact that she made you possible? I know, I know. You're on it.
My mom is the only person in the world who seems to believe that I can do anything and will be great at it, despite any evidence to the contrary. If I skinned my knee she's still be there with a hug. I know that at my age that should seem a little ridiculous, but it's actually nice to have at least one raving fan. She doesn't always understand what I'm doing or where I'm coming from, but that never seems to matter. I suppose it's that kind of spirit that has kept me curious and willing to explore. Thanks for that, mom!
Dell announces Ubuntu-powered Ultrabook
A number of news stories are covering Dell's announcement that they will be shortly supporting the Ubuntu distribution of Linux on the Ultrabooks. This makes complete sense to me. I've run Ubuntu for years on my laptops and see no reason why I shouldn't be able to easily purchase computers pre-installed. (I know there are reasons, but they don't make sense to me.) Like all the speculators, I'm wondering if this will be the project that will get the ball rolling.
Dell is aiming this project at developers, siting that they have received repeated requests for Ubuntu. This does make sense to me. A technical audience can appreciate the value of a Linux environment and will likely look for less handholding. Techies generally already know what we want a computer to do and simply go about doing it.
I'm really pleased with Dell's choice of using a major distribution. In Linux desktop projects I've seen in the past the manufacturer has tended to use some strange distribution that has been heavily customized for their offering. In essence it was just a lame attempt at vendor lock-in. My question always was why not just provide Red Hat, SUSE or, now, Ubuntu.
I don't imagine that this project will be the Linux desktop Panacea. It may help continue breaking down barriers to Linux in the workplace, making it easier for those of us who need Linux to use it without having to jump through so many hoops. It's a good start. I hope it gets the attention it deserves and that other manufacturers will jump on the wagon. Time will tell.
I was a little out of it in the last post. These kinds of things are very draining. My wife is doing fine but recovery has made us all sleepy.
Today I came across an older video depicting a medieval helpdesk providing support during the "book changeover". It still makes me laugh.
I have certainly worked a good deal of the other side of providing support and it can be extremely challenging to help someone who apparently has not paid any attention to instructions that they have already received and who is creating a great deal of urgency and emotion for someone who just walked into the situation. Cheers to everyone who tries to make it all better.
Last Friday my wife broke her arm. She's OK, but it's involved a good deal of interaction with the modern healthcare system. Yesterday she had surgery to install a plate to help the bones heal correctly. It's all straight-forward and things should be fine, but it has created a good deal of chaos. The experience had some negative sides which added fear and uncertainty in places where it was not necessary, partly with the way that our data was handled. Here's video I shot of my thoughts while I was waiting for her to get out of surgery.
She came out fine and the adventure continues, but this sort of thing really impacts people's confidence in the service they receive. It also impacts your ability to provide service by creating loops which heighten frustration and emotion when it could be helping to make people more efficient and effective.
Today I'm helping to take care of her so I won't be producing much else. I thought I'd share this in "the moment". Later on I'll be able to look at it more logically. Right now I'm immersed in the humanity of it. I suppose that every service should be focused there.
In a previous entry I described how I was using ffmpeg to do screen captures for demos. I wanted to share a few new tricks with that. I wanted to make it easier to shoot demos, so I created a special wallpaper when I'm doing one. My screen dimensions are 1920x1200. So, I created a background of that size using GIMP and a graphic I found on the web. I haven't fully vetted this for copyright, so if this belongs to you and you are upset, let me know and I'll redo it.
Within that background I drew a 1280x720 box (the resolution for HD video) and bordered it with a yellow line. Now I know where to put all of my frames when I do the demo. Anything outside of that box will not be recorded.
Finally, I altered my capture command by changing -i :0.0 to -i :0.0+139,152. This tells ffmpeg to offset the capture by 139 pixels on the x axis and 152 pixels on the y axis.
It is highly unlikely that you will be able to use my wallpaper as-is, though you are welcomed to try. I'm sharing it freely (provided that it is freely available from the originator!). You will probably need to make your own for your situation. Now, when I'm doing a demo, I call this up. The video gets a black background (which I could easily repaint any time I wish) and I can run other things around my capture without having to edit it out.
Yesterday I got a little frustrated at being tool bound. Today I'm
getting my article set up in an external editor so I shouldn't have any
I wanted to comment a little on the article I mentioned yesterday, "Government and library open data using Creative Commons tools".
To me openness in data is very important when it comes to organizations
and government. If you are running a business and you want to use
proprietary data formats with proprietary software to hold your data,
that's fine. That's entirely up to you. It's yourmy
data. I should not be required to purchase any special software or
worry about what happens if a company goes out of business, or simply
changes their mind as to what they want to be doing. (Have you seen
anyone with their information trapped in an old Foxpro application,
written by "some guy" who is no longer available? It's tragic!) I
think it is excellent that governments are starting to explore tooling
and making data more easily available. After all, we pay for all of
these things with our taxes. We should be able to leverage this
information for our own purposes. Can you imagine the amazing data
mashups that will happen over time? I can't wait to see where it all
I try to take the same attitude about data when I'm in some sort of
organization or club. I've seen too many situations where some
talented person with fantastic software connections swoops in and does
all kinds of great work for a club, then moves on. No one else has the
skills (or the licenses) for these great products and the whole thing
deteriorates and eventually has to be started from scratch by the next
volunteer. I try to get people into collaborative software so that
information is available to everyone who needs it and can be kept
up-to-date rather than trying to figure out which combination of people
has the most current data. I usually use Google Docs because anyone
can access it and most people already know it. However, it's not the
only way. I feel the same way about web sites and databases. Keep the
technologies simple and open and when your superstar steps away someone
can come in and pick up where he left off. All it takes is some
commitment and willingness to learn. Cost is not a barrier.
Speaking of organizations and coding, we have a great article this
week by Uche Ogbuji on developerWorks this week! He's talking about
how to use GitHub to help your group collaborate on projects. Of
course, these kinds of things work with things besides code. I've
often thought about applying this sort of document management to some
of my editorial work. Maybe this article will help me kick it off.
I've mentioned before how much I love repurposing equipment. It's
one of the things that got me interested in open-source in the first
place. I could take older equipment and breathe new life into it, or
discover new capability. It's fun if you like to tinker and it can
make you incredibly resourceful.
Some time back I reflashed my Internet router with DD-WRT. You can relive that in my entry, "My freak router".
I've continued to run this with great success. This week, Carla
Schroder gives you step-by-step information on taking your own modest
Internet router and unleashing its capabilities to give you more
control and security. Check out "Add Linux power to wireless routers with advanced tips and tricks for DD-WRT".
Let me know what you do with it. Also let me know if you know of other
projects like this that deserve some light. I try to keep up with
them, but I don't get to explore them all.
Coming soon, I'll be doing some more video work. Interesting stuff
a-comin'. Chroma-key, compositing, CGI, sound sync and cleanup... all
with free, open-source software on Linux.
One of the prices of having my name out in public as I need to do is
that I get all kinds of SPAM (much of it in Chinese?). I've decided to
share some of the more ridiculous ones. Here's one I got today:
Proposal to ibm.com
From: "Abigail Hunt" <email@example.com>
My name is Abigail Hunt and I was wondering if you are interested
in exchange links, I'll place your link on my sites exactly here:
I'll place your link in less than 24 hours, then I'll send you an email with my info.
If you don't want to receive more mails just reply with "unsubscribe".
Yeah. I know that IBM is very interested in promoting your alternative
healing sites. We've always been really big into herbal remedies.
We'll get right on that. I know that these are all automated things,
but the idea is just silly. It makes me laugh. Feel free to contact
"Ms. Hunt" if you want to take her up on her generous offer.
I had a couple of extra entries that I wrote for here but the built-in
editor ate it. I don't have time to recreate the genius, but I'll give
you the links:Government and library open data using Creative Commons
I'll comment on these items when I have the time again and have overcome my grief of the tools.
TIP: If you write blogs here do it in an external editor or you may become bitter and angry. I use kompozer
and then paste it in. Any HTML editor will do. At the very least copy
your entry into the clipboard before you hit the post button so you
have a shot of pasting back if it fails.
Thursday I attended a session with the Austin Forum on Science, Technology and Society, presented by the Texas Advanced Computing Center. I did a video blog, but then wrestled a little with the best way to edit and render it. (I set up a render farm at home, which I'll write more about later.)
Here is the fruit of that labor... a modest video blog. I'll have more bells and whistles later, now that I'm settling on my technologies.
This session was "Using Technology to Refine Physical Education in the 21st Century", by Jen Ohlson, Founder/President of Interactive Health Technologies; Best-selling author; Director; and Producer. Here are the relevant links:
One of the challenges for using Linux is to translate everyone else's view of the world into what works for me. I remember when I was wanting to print a document in a book form, with the pages automatically set up to stack. I searched and searched in vain to find a tool that would do it and found nothing. Then I discovered that the function was already built into the printing system.
Here we go again! This time it's with video capture of the screen for doing demos. I know that a lot of people use Camtasia and such for Windows, but that's not available in Linux-- at least not that I've found. As it turns out there is a very straightforward way of capturing video and audio using ffmpeg. Thanks to Alexandru Csete with his wiki page that got me started.
I'm going to give you a quick demo of how I do this in the video below.
So... what did I do there? I actually did 2 captures simultaneously. The first one was started in another tab, using an almost identical command. The second was for show. At the end of the video I didn't stop talking before I switched tabs to stop the primary capture, so you get a glimpse of it. The audio is being captured through my laptop microphone -- which is why it's all so noisy. However, it would be very easy for me to change this to use my USB microphone or any other input I wanted.
-f alsa -ac 2 -i pulse all describe how I want the audio captured, going through alsa and recording in stereo. -f x11grab -r 30 -s 1024x768 -i :0.0 describe how I want to capture the video, grabbing from the Xserver at 30 frames per second with 1024x768 frame (starting in the top left) and using the default input. Note that this means I could set up a VNC session or something and capture from another output if I wanted to get fancy. -acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 nop.mkv define how I'm going to encode the output, using standard PCM and H.264 to a file called nop.mkv. The -preset ultrafast and -crf 0 are h.264 settings that affect how it's incoded. (I had to look those up here.)
I can easily write a script for this and attach it to a button (if I must). I'll probably just set up a script called godemo which will fire everything up and let me press a key to start capturing. This means I can record a demo almost instantly. Expect more of this, because I'm exploring a number of social media techniques in Linux and some of it is pretty good stuff that you will want to use. This is just a quickie because I was pretty excited to find it.
I know that many of you get information from your managers that makes you want to duck and cover. I don't want to upset you, but I get information from mine that show they're paying attention. For example, Tom_Helmer just pointed me to "Forrester: Hire software developers who take part in open source projects". It talks about how employers looking for technical skills are beginning to appreciate the value of open-source projects on a resumé. Now that I think about it, I wonder if he's trying to tell me something?
Seriously, open-source is an outstanding way to learn and build skills. It's true if you're wanting to learn every side of technology. As a developer, you get to spend some serious time helping to solve problems, which is good for your karma. You also get to work cooperatively with a diverse group of people using a lot of virtual technologies. Do you think that skill set might make you appealing in this global economy?
I'll say it again: If you are out of work and looking, or you want to change your skill set you need to not only be looking at open source but you need to get involved. It will keep you productive and fill in your technical gaps.
Have you ever moved from one technology to another and found that conventions in one were applied differently in the other? That can be embarrasing at least or disasterous at worst. Wouldn't it be nice if someone had walked you through those little issues? I can't do it for everyone and everything, but Arpen San is offering this for C++ developers who are beginning to work with Ruby. Read his article "Meet six misunderstood Ruby features" which is now live on developerWorks.
More encryption with graphic processors
Also featuring this week is part 2 on how to get your graphic processors to lend their number-crunching skills to encryption. "Protect your data at the speed of light with gKrypt, Part 2" is also live. I find something very appealing about this sort of hacking. I think it's beautiful when people find ways to use technology that were not originally intended. I think that sort of innovation drives the future much more powerfully than anything done by governments or companies. Ideas are typically individual inspirations which are then leveraged by the others.
Speaking of innovation
Here's a video bonus for you. This series by British documentarian, James Burke, gives a very intersting view of how Western society has innovated its way forward into the future. Some of it may seem dated (like the cold-war technologies), but it's good stuff.
Hello, world. I am updating my Ubuntu desktop to 12.04. If I seem to have disappeared, you'll know what happened.
Actually, I expect it to go very smoothly. My [Linux] updates typically do. Of course, the first thing that I will do is replace that Unity trash with Gnome or something. Fortunately, I get the choice on things like that. Sorry, Windows and Mac folks. It sucks when they change your interface forever.
I'm talking to an author about doing some more material on Arduino. I love the concept... basic hardware components that you can program to do stuff. It's very extensible, able to connect with all kinds of sensors and motors and other things.
While researching the current state of Arduino on developerWorks I found a couple of oldie-but-goodie articles that are worth reviewing:
These are very cool. At some point I may try to have some unboxing video of my own Arduino kit and keep you posted on what I do with it. Open-source software is awesome, but when openness moves into hardware it creates real opportunities to change everything. I'm not talking about making money-- though there is certainly opportunity there as well. I'm talking about the chance to make technology accessible to everybody. Imagine the value for society if anyone in the world could inexpensively set up a climate station that would interact with open data systems to provide feedback and suggestions on how to handle crops or other things based on the data collected. Imagine the impact on students if they were able to explore robotics and automation. This is how we get to a Star Trek sort of world, where technology frees us to pursue our true interests and abilities to their fullest extent rather than settling for what situation we can find.
Check out these Arduino projects and share things that you've done with Arduino here, or in the Real World Open Source group. I'm genuinely curious and I think your projects will inspire others.
I wanted to share a couple of fresh articles that were published on developerWorks this week.
Free remote control
I hear commercials all the time for products that allow you to remotely control your system. They always sound really expensive to me, because I already do that for free, and have for years.
VNC is an open source application that will let you remotely control someone's computer across a network. It runs on different operating systems and is a fantastic way to do troubleshooting, lend a hand with something or do some work remotely. However, it can be tricky to get VNC working correctly in a multi-user environment. Normally it's run from inside a login session. It can be done, however. I know, because I had to do it the hard way, by doing research and experimentation. You get the easy way. You can read Roderick Smith's article: Enable multiuser logins with VNC
Getting the hang of Linux applications
I've been using Linux as my regular environment for a very long time now. It's been amusing how I find myself struggling to figure out how to find and run things when I end up on someone's Windows machine. It's just not set up the way I think anymore. I know that the same thing happens to new Linux users who have a Windows background. You already know how to use a computer. You don't need someone to hold your hand and give you baby instructions, but you need a little guidance.
Tracy Bost has been helping to fill that gap with his Linux for Windows Administrators series. This week he's going to help clarify some of the different ways in which applications are executed on Linux. How can you get going if you can't run anything? You can read the new article now.
That's all for now, but there are several things floating around. I know I'll have something tomorrow.
I recently bought a Kindle. I had a Sony book reader that I was pleased with for quite some time. I still like it, actually, but it was starting to feel slow to me. I also wanted to be able to take advantage of some of the Kindle features that I get with my Amazon Prime subscription (like book borrowing!). So, I went for it.
My favorite tool for working with book readers is Calibre. Some time back developerWorks featured an article on this incredibly useful program. It seems to consume just about any ebook format I care to throw at it. It allows me to organize my library, convert from one format to another and update the metadata of everything (even pulling covers and publication data off of the Internet through sources like Amazon). It talks to the book reader, and lets me load and remove items easily.
Recently, I've been working more with the news feature. It has about 1200 preloaded feeds covering every type of interest. You can also add your own, using what they call a recipe and an RSS feed. Essentially, the reader will pull down the feed and format into an indexed magazine, then upload it to your device. It's wonderfully consumable and a great way to catch up on bits of specialty news.
There was not an existing news source for developerWorks, so I created one. Here's what the raw code looks like:
title = u'developerWorks'
oldest_article = 7
max_articles_per_feed = 100
auto_cleanup = True
feeds = [
(u'Agile Transformation', u'https://www.ibm.com/developerworks/mydevel...
(u'AIX and UNIX', u'http://www.ibm.com/developerworks/views/aix/rss/li...
(u'Business Process Management', u'http://www.ibm.com/developerworks/v...
(u'Information Management', u'http://www.ibm.com/developerworks/views/...
(u'Open Source', u'http://www.ibm.com/developerworks/views/opensource/...
(u'SOA and Web Services', u'http://www.ibm.com/developerworks/views/we...
(u'Web Development', u'http://www.ibm.com/developerworks/views/web/rss...
(u'WebSphere', u'http://www.ibm.com/developerworks/views/websphere/rss... (u'XML', u'http://www.ibm.com/developerworks/views/xml/rss/libraryview...
I had to truncate the long lines here, but you can download a copy of the full thing. I add this recipe to my subscription list. I've set it up to download on Wednesday morning, since most items will publish on Tuesday. Now, I will get an automatic weekly download of these items to my Kindle. I still have to connect it to the computer to get them, but it's pretty handy!
I looked at some of the other recipes, like the BBC, and they get pretty fancy. There is a lot of tweaking that one can do. The manual page explains it all in detail, but I don't have time to comb through it right now. Maybe I'll enhance this one later. If so, I'll share it here, or may try to share it through Calibre.
Please note that while I'm using a Kindle, this should work with any book reader. Calibre really is the Rosetta Stone for ebooks. I love it. I may go make a donation right now.
Today I got this article, "Spoiler alert: Your TV will be hacked". Essentially the author reminds us that as our televisions become Internet devices that they are prone to the same sorts of attacks that any computer could suffer. It's not just televisions, either. All so-called "smart devices" are basically computers and need the same sort of care.
In the author's case they were doing some white-hat hacking to see if they could exploit a television set-top box. The box was likely running a variety of Linux and did not give them many opportunities, but then they found a web server. The manufacturer had chosen an old open-source application which had been abandoned several years ago. There had been no patching of this application and at was vulnerable to several attacks. They were able to root the box and controlled the entire system.
In general, an exploit has to either be run by a user, like Trojan Horse sort of application, or it needs to be able to interact with running software that can be forced to misbehave due to flaws brought about by the humanity of its creators. In an embedded device it is unlikely that you will be running strange software, though as games and little plugins become more available for these things one needs to be careful about the pedigree of anything you add. The vulnerability of the embedded applications is more complicated. As a user you can choose not to install weird stuff on your device. You can't control the choices that the manufacturer made.
Think about the scenario in the article. The set-top box had a web server. Why? Perhaps this was a method to allow the cable company to interact with the system for updates and such. I don't know. If it wasn't critical to the function of the system it should have been removed. When something moves from development into prototyping and production any bloat fromt he operating system should be removed. Anything that is not required for function is a potential exploit. We may not know what it is at the time of production, but if it's discovered later then your system is vulnerable, all because of something that you didn't even need.
The second, more damning thing is this open-source web server. I don't have a problem with it being an open-source project. Obviously I encourage that sort of thing. The thing I found troubling was the fact that it was an obscure project that had been abandoned several years ago. Wow! Really? Perhaps it was an active project when development began and was abandoned later. If that was the case, then the manufacturer should have replaced that project with something that was more current. Everything will become vulnerable over time as exploitation technology develops. If it can't be updated it must be replaced or else its a lurking vulnerability.
I guess that brings me to my last thought on this. As all of our devices become "smart", there needs to be a solid way to update them regularly. Updating firmware should just be a part of our lifestyle. Of course, that capability adds another vulnerability in that if someone can hack the updating mechanism they can install their own software. As consumers we need to develop awareness of this sort of thing and be able to manage devices just like we check to make sure our doors and windows are locked. We need to not be annoyed by these things when they are necessary and look at them as a part of owning the device. At the same time, developers and manufacturers need to not shield their consumers from this necessity. I know that the prevailing wisdom is that consumers are lazy and not to bright... but I think that if they are trained on the importance of maintenance and the procedures are straight-forward then it will all work out fine.
Of course, if devices had more openness to them in general it would make it easier for white hats to come up with ways to protect them... but that's a whole other discussion.
There are generally multple ways to solve a complex problem. The right solution for you will depend upon your skills, your resources and your personality. (Yes, companies and development teams have a personality.) With big data there are a lot of new approaches to thinking about data, which are all very cool, but they can be overwhelming if you are used to approaching things from a certain point of view. Dr. Sherif Sakr examines some of the different ways of working with big data and helps you identify which ones might best leverage your existing skills and understandings.
It's always great to grow and learn new things, but sometimes it's nice to start from the standpoint of familiarity. Personally, I'd probably gravitate to Hive because I like the SQL-like feel. You might be different. Check out his article, "Use SQL-like languages for the MapReduce framework" and give it a rating.
The better to encrypt you, my dear
I've been fascinated with encryption since I first read about secret codes as a kid. PGP (Pretty Good Privacy) and later GPG (Gnu Privacy Guard) are interesting tools that I wish more people would use.
One of the challenges of using encryption casually is that it does require a good deal of number crunching. Would that we could harness more power to help with the encryption. Say! What about the graphics processor? Jawad Masood begins a two-part series exploring gKrypt, a tool which employs general purpose graphics units (GPGPUs) for data encryption. This could make it easier for you to secure things from identity thieves and other nosy people. Check out "Protect your data at the speed of light with gKrypt, Part 1" and give it a rating.
Living in Austin, Texas is great for a number of reasons. One of them is access to things like the Austin Forum on Science and Technology, a set of presentations sponsored by the University of Texas in Austin covering... well.. science and technology.
Of course, even when you live right here you still get busy. While I'm encouraged to attend this sort of thing there are usually a ton of things that make it difficult to take a day away. Technology to the rescue! It appears that they are starting to put these on YouTube, so if you miss them live you can catch up. How cool is that. Here's an example of the latest one (as of this writing). The subject is design, a topic on which we can probably always use new information.
I was going to embed the playlist here but the community tools require me to use the old-school embedding approach rather than iframes. That doesn't seem to be supported for playlists, so you'll find it one click away. Sorry for the inconvenience.
Uh... I'm really studying HTML5
When Windows emerged they included Minesweeper and Solitaire. The justification was to help train people on the mouse and I know a number of people who spent a great deal of time in intensive mouse training.
I'm going to apply the same logic to HTML5. Here's a fun game called Torus which has been written using HTML5.
Backing open source with dollars
There is a constant criticism that open source enthusiasts just want free stuff after everyone else does the work. I don't think that's a fair assessment. I think it's more fair to say that open source enthusiasts don't want to pay over and over for work that's already been done. As open-source is applied to more things like hardware such as Arduino and even civilization through Open Source Ecology, it is evident to me that this open-source concept runs much more deeply than simply trying to get discounts. It's based on the idea that knowledge and discovery can belong to everyone who is willing to make the effort to understand it.
So, when someone wants to do the work to create and make that creation generally available, but they need some help to make it happen, I see myself as an investor in the future of openness. (Did you read that part about me not representing IBM? This is one of those points when it's probably important that you know I'm speaking as an idividual.)
I found an interesting project where people are trying to create an open-source, pressure sensitve stylus for use with tablets. Essentially, it will let you use your tablet computer like a piece of paper to draw on with the same tactile experience you would have with a pencil. That's a big deal for making this sort of technology more intuitive and easier to use. The project has a Kickstart page where they are trying to raise funds to bring this into commercial production. This will become something you can buy, or build, depending on your own resources. I'm incredibly excited about the opportunity to invest in the future of things like this. I kicked up some dollars for this because I want to see it happen.
I'm not trying to coerce you into investing, but I want all of you to see that it is possible to make something happen with community support. This particular project may not make their goal. They have a steep ramp at this point. However, other projects will. Ultimately it is possible to have work done for the good of all that is sponsored by the people who want it to happen, regardless of whether it has corporate support. To me that's a big deal. It helps carry us over the threshold into a more open world for everything. In my opinion, that world is what will drive us into the future.
For a number of years I've had a casual fascination with an application called Blender. When I first found it, it was a free tool for creating 3D animation that was abut 10M in size. I didn't really have any particular talent for animation, but I was immensely curious. I tinkered with it a little, mostly hampered by my lack of time and the fact that I didn't really have a pressing demand for creating 3D animation. I did use it to create a few flying logos for videos. Here's one I did for some TGMC demos in 2010:
Blender has grown to include sophisticated video editing and compositing, physics engines and more. It can be used for rendering stills and animation like before, but it also has a game engine which can be incorporated into your own applications. Here's another video I found that highlights some of what people have been doing with that:
If the music is too loud for you, just mute it. You know how these YouTube compilations are. I'm sure those are not the most sophisticated work that's out there, just what this guy found.
I would really like to dig into Blender. I'm looking at it as a video editing and compositing tool. I like Cinellera a lot, but I've heard that Blender is more in tune with some of the CGI approaches of modern video. As we move forward I'm having to get into other methods of communicating. It's fun, because I get to exercize other areas of my brain and creativity. The problem, of course, is that I don't have the background or my own studio to play in and IBM is not likely to buy it for me any time soon. However, perhaps tools like Blender will let me sneak into doing some more expressive things and it will all just blossom from there.
I'll keep you posted on what I do. Right now I've been geeking out on getting things recompiled to have all the features that I want. (A lot is often turned off on distribution due to licensing issues. Hooray for open source and good howtos!)
Cool blog feature in developerWorks Community
I know that many systems have this, but the developerWorks community does too. I actually wrote this on Friday, but scheduled it to publish today, so you don't get flooded with things when I'm having a particularly chatty day. If you want to "future publish" your own entry, it's under the Advanced settings when you have a blog view. You can also customize the URL and control how long people may comment. There's a URL slot to link to external media, but I haven't played with that yet.