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.
As editor for Linux and Open Source on developerWorks, I sometimes have to go back and dig through older articles as I evaluate new submissions. The nature of these topics means that people are always finding new spins on existing tools and techniques. However, I don't want the new stuff to supplant the existing material if the older articles are still valid. In Linux especially, I'll find that information that is several years old is still valid and useful because the technology improves behind the scenes without messing with the established interface.
So, today I'm going through a proposal for an article talking about approaches to using Snort (an open source network intrusion prevention and detection system) and I find this article from 2008: "Shut down idle computers on your network automatically". This was published in the Linux zone before I became editor there and I just missed it at the time.
That is just cool! What an interesting combination of technologies that combine creatively to solve a problem. To me that's the real world of IT. Even with all of the sophisticated "off the shelf" solutions and custom developement that happens in an environment, the people in charge of getting things done are still going to have to use their own creativity to patch over missing elements. Sure, these functions usually get incorporated into the other tools over time, but this sort of creative solution helps an astute IT team fix things right now. In some cases this sort of solution works just fine and prevents having to purchase an expensive commercial solution when it emerges.
I want to raise a glass in toast to all the people doing the hard work of keeping things running for people. Your work is never appreciated when you do it correctly (everything just works) and you are unfairly maligned when problems do come up. Hopefully these kinds of tools in your toolbox help keep you nimble and make you miracle workers.
One of the benefits of rooting an android phone is that you can install custom ROMs. On my Motorola Droid I ran CyanogenMod and enjoyed it very much. It added a number of features that I liked, such as allowing me to blacklist SPAM calls I would get through my phone.
Unfortunately, CyanogenMod is not yet available for the Droid Bionic. So, I tried Liberty. However, before I installed a ROM I took some sage advice and installed the Safestrap program on the phone first. Safestrap creates a recoverable state on the phone so that when I do very bad things (and I have) that I can go back to a known state on the phone. So far I have put my phone in a mode that made my blood chill a couple of times and was still able to recover by simply rebooting into Safestrap and toggling the safe mode. Very nice. If you like to do dangerous things with your phone and risk hundreds of dollars worth of investment, I highly recommend Safestrap.
(Why are some of us made so curious?)
I don't know what started me on this process, but somehow I got curious about doing custom URL shorteners. After a little searching, I found out that bit.ly offers custom domains as a part of their free service. How sweet is that?!
Get a domain that works for you. There are a number of interesting options there, some of which are pricier than others. Through Godaddy, the .de (Germany) domain costs me about $17.99 per year. Ah, well. It's less than a vanity license plate. I was going to use osdud.de, but it seems to belong to a German dart association. OK, I'll make them a little longer for the branding.
Once you have your domain, go to your bit.ly account and look at the account settings (Figure 1).
Figure 1. bit.ly account settings
There's a section that lets you add a Custom Short Domain. (Figure 2)
Figure 2. Custom domain settings
If you modify those settings it will let you enter your own domain name. Upon entry, you'll be told what IP address to put into your domain record to direct it to the bit.ly servers.
That's it. Once you've done that and domain servers have updated then you will be able to talk to bit.ly through your own domain name, e.g. cmwosdu.de. From there, any link you create with that account will have your custom domain.
Want to see it in action? Read the next bit.
Microsoft is the King of Linux
This is probably old news to some of you by now but I ran across this article: cmwosdu.de/HCfD6F (See the URL!?)
According to the article, in the recent round of statistics: "Microsoft contributed 688 changes, or about 1% of the accepted changes to the kernel since 2.6.36." That doesn't sound like much, but it's not too shabby, especially compared to the number some might expect, which is 0. The changes appear to largely deal with virtualization. Quoting again from the article:
"Much of the work Microsoft did centers around providing drivers for its own Hyper-V virtualization technology. Microsoft's Hyper-V, part of Windows Server, can run Linux as a guest OS. Linux kernel developer and LWN.net editor Jon Corbet, a co-author of the study, estimates that Microsoft's involvement peaked around last year's 3.0 release of Linux and will diminish over time."
So, the additions are largely in support of running Linux in a virtual environment with Windows as the host. Ah, well. I suppose that's not shocking. However, it does show that Microsoft has decided that Linux is not going away and that they need to accommodate it in some way if they are going to meet customer demand.
Personally, I don't miss Windows. I've been happy in a Linux environment for about ten years or more now.
It looks like I'm going to be spending some time with Blender here pretty soon. It's an open-source 3D modeling and animation application that has grown to include some pretty sophisticated video compositing. For an example of what that means, look at this demo real by Pablo Vasquez.
I probably won't be doing anything that cool. I need a number of years worth of artistic development (and maybe a genetic infusion of artistic talent) to do anything like that. However, I can probably cobble together some flying logos and such and maybe a few interesting video effects. If anything comes of it, I'll share.
New articles on developerWorks! Watching them publish is like that first time that you open a bag of coffee, so fresh, so new, so invigorating.
If you've been following our Spring Roo series then you are undoubtedly looking forward to the next installment, which is "Part 5: Write advanced and wrapper Spring Roo add-ons". Shekhar's series has been very popular, each article getting tens of thousands of views and high ratings. He continues to push forward, guiding you through creating a template for advanced add-ons and then extending it to add your own functionality.
This series is extremely hands-on and I imagine that anyone who has been following it already has functional items. I think people are inspired when the read what others are doing. Take some time to share what you're doing with Spring Roo in the Real World Open Source group. If there are some really good entries maybe I'll come up with a way to highlight you. It won't be an official IBM recognition, because that involves many lawyers and such, but maybe we can do something fun. Maybe I'll design a cool T-Shirt or something.
I'm afraid that I tend to hack my stuff. I root my phone; I mess with my laptop and try to connect things in weird ways. I hack my home router. I just love exploring ways that I can make things work differently than they were intended. I also enjoy taking existing hardware and software and using it to take the place of expensive commercial options. I seem to have a kindred spirit in Carla Schroder.
This week, Carla walks us through using hostapd, a strong security solution that can take the place of a complex RADIUS server for WIFI in locations that don't need a full-on Enterprise solution. Like most open-source infrastructure solutions it is elegant and easy, with a little know-how. Carla gives you the knowhow to get started. I'm actually thinking of applying this in a church network that wants more control over their wireless.
I have some compulsory tasks to complete after being away from the office for a couple of days. After that I want to share a couple of technical adventures I've been having with phone rooting and URL shortening. I'll tweet when I do that update, so you should definately be following cmw_osdude on Twitter.
Today I read an article on opensource.com called "Unschooling is the open source way". I'm fascinated with the subject of alternative approaches to education. I think that humans are naturally curious. We are driven to want to explore and create. Somewhere along the way that behavior is either rewarded and nurtured or discouraged and discarded.
In my youth, people who cared very much for me tried to help me to focus my curiosity in specific directions. Some of the things that attracted me were considered "not productive" and I was discouraged from pursuing those things to some degree. I was never a very good follower– sort of a lone explorer– so I never fully grasped onto the so-called "important things" and I never got a complete foothold on what I was naturally wired for. Needless to say my formal education process was a bit of a struggle. Now, in the "real world" I find myself embracing my genuine curiosities and not simply trying to do what I am directed to do. The result? I'm having a better time than I ever have in my life and applying skills to my job that no one would have thought to suggest.
I think our future world demands that we stay curious. We have moved far beyond the Industrial Age's need for a person who will spend their entire career performing a set of menial tasks. Technology can and should step in for those things because humans are too valuable for them. Unschooling specifically cultivates the curiosity that is natural to children and helps them learn how to learn. Once you know how to teach yourself things then you can go where need takes you.
Here is a brief TED video by Gever Tulley, discussing his approach to teaching life lessons through tinkering:
Our future society demands people who have multiple skills with the ability to gain more when the situation demands it. They need to be driven to move forward despite the obstacles that are thrown at them by their forebearers. Perhaps a healthy dose of unschooling is just the right way to make it happen.
I said I was going to check out Mint to satisfy my curiosity about why this might have made such a leap on distrowatch.com. Well, I loaded it up and wanted to give you a quick reaction.
I've run a variety of Linux distributions as my desktop over the last many years. For the last several years I've stuck with Ubuntu. I fired up Mint from a USB drive to see if it might be compelling. My original goal was to use some file system linking magic to try out some of my key applications, like Lotus Notes, while booted into the other environment. Unfortunately, my encrypted drive made it difficult for me to do that. I didn't really feel that I needed to, though. I saw enough just poking around.
In general, I didn't see anything wrong with Mint. It loaded up fine running Gnome and seemed to talk to my laptop just fine. This is not really surprising news, however, as it would be more news to me if it did not talk to my laptop at this stage of Linux development. Here's a decent video walkthrough of what I saw. It's about 8 minutes, but shows you all of the key points.
Overall Mint was a decent experience, but no something that I felt I needed to switch to right away. In general I think that many people went to Mint to run away from having Unity as the default desktop. If you haven't had the Unity experience, here's a demo of that as well.
Personally, I didn't care so much for Unity. However, it was not difficult to change it. In fact, I found a nice little video which shows how easy it is to change. (I like this woman. I wonder if I could get her to join us over here on developerWorks?)
Another concern for people was that some of the codecs were not supported "out of the box" on Ubuntu. This was really not a problem either. In the Ubuntu repository they have a series of "restricted extras". You'll find it by searching the software repository. Ubuntu doesn't install these things by default because of licensing issues, but if you install them it's fine. This is an extremely simple step. Perhaps Mint supports more codecs, but it's just not that vital to me. I'm comfortable with simply adding elements as I find that I need them.
So, for now I'm not going to worry to much about Mint. Perhaps when I do an installation for someone in the future or on another machine I may give Mint a try. (My wife's machine has been running Kubuntu for a while and might be due for a refreshment.) Feel free to add your own opinions.
I really enjoy Uche Ogbuji's writing. He has a way of addressing a topic that reminds me of conversations I would have with colleagues while I sipped a refreshing adult beverage in some exotic locale during my time as an architect for developer relations. For me, exploring new technology is a pleasure. I love it when I walk away from one of these conversations saying to myself "Oooooh! I need to try that." That's how I feel when I work with Uche's articles.
This week, Uche is talking about PubSubHubbub, or PuSH. Never heard of it? Here's a quick video:
Look interesting? Now get your hands on it and play by reading Uche's article: "Hacking PubSubHubbub". In this case, Uche is taking back the word "hack"– which I dearly love– and making it about exploring and making things, not breaking things.
I downloaded the Mint DVD yesterday but have not fired it up. I'm suspecting that I will like it based on what I've read, which means I have to do a full system backup and all that, so it will likely be a day or few before I am fully on the other side of it. However, I'm hoping to test out the live-boot today and try a few things. I have some article work to do, including getting some things scheduled with Troy, who has been very patient with me. I'll keep you posted on my progress.
If anyone reading this is already using Mint, I'd be interested in your feedback on it. You can write it here or put a new blog entry in the Real World Linux group. I just created the group and haven't had a chance to get much going there. If you post now you'll get the first entry!
The other day I was commenting on an article question where I pointed them to distrowatch.com, my favorite site for keeping up with the latest in Linux distributions. I noticed that the top-listed distribution and continuing to grow rapidly is Mint. I was intrigued. As someone who has used Ubuntu for the last several years I was curious as to what might be different about Mint, and why the sudden growth?
Essentially, Mint is a based on Ubuntu, which is, in turn, based on Debian. Apparently, their goal is to overcome some of the issues that people have with an out-of-the-box Ubuntu installation with codecs for playing DVDs and other media. It's all compatible with Ubuntu repositories, so able to reap the benefits of software that is already set up that way. Why is it suddenly so popular? Some say that it's because of Ubuntu's Unity, and their push to change the desktop experience-- whether you want it changed or not.
(skip this paragraph if you already know all about Linux and desktop choices)
If you are a Windows or Mac user, you probably tend to think of the operating system as a set of icons and tools that you push around with your mouse. This is pretty much the way these things are sold. (Would you like one mouse button or two?) In Linux, this aspect of computing is known as the "desktop" and it is an optional layer. Many don't bother running a desktop on something like a server where it is rarely accessed locally, allowing those memory and compute resources to be used for other things. This decoupling of the desktop means that not only can you choose not to run one, you can choose which one you run. There are many choices, the most popular being KDE and Gnome. You can load one, or another, or have several on your system and switch between them at will depending on your taste.
When I updated my Ubuntu to 11, it replaced my desktop with Unity. It's designed to work more like a smart-phone or tablet environment and I couldn't stand it. If I wanted to be running a tablet I would use a tablet. I use a laptop or desktop machine for a reason. Fortunately, I found an article which told me "How to replace Ubuntu 11.10's Unity desktop with good ol' GNOME". That got me working again and was a testament to the flexibility that I enjoy about Linux... but it was still a pain. Ubuntu has apparently made this move to help attract people to their distribution, using the same logic to sell Mac or Windows. This is probably sound marketing and good business for bringing new customers. It has the side affect of angering the existing technical customer base who have grown to enjoy and trust the Ubuntu environment. (I guess I can't speak for the whole base, just me and a few friends.)
So, what do you do when your distribution starts to tear away from the things that made you choose it in the first place? In the Linux and Open Source world, someone creates a fork from that path to the pit of despair that continues to embrace what you like and maybe adds a little more. In this case, that's Mint. I have downloaded it and will do some tests to see if my IBM software will still run. If it does, there is a good chance that I will join the thousands who are moving from Ubuntu to Mint. I've got nothing against Ubuntu. I still support it... they've just started to leave me behind as a customer. I hope they figure that out.
To me, this is a good story. It reinforces that flexibility that makes the open source world so interesting to me. Linux has always been about choice and access to technology. That is constant. I'll let you know what I think of Mint. If you try it first, let me know.
I've still been fighting to get my life back to normal after SXSW 2012. If you missed out on all of that you can still catch up on the action from the developerWorks team at the developerWorks SXSW Adventure 2012. I've also uploaded my live video broadcasts from that week onto my YouTube channel. There will be more broadcasts in the future. Right now I just need to type this out without worrying about how my hair looks. (I'm afraid I'll never trulhy have TV hair.)
Open Source summons demons and creates flesh eating zombies
I hesitate to point you to the source of my rant, and I'm afraid it's going to be a rant today, because it will add hits to their site and make them feel that people want to see more of this garbage. I've got it! I'll point you to a cached version of the article.
Are they saying that open source software is more plauged with security flaws than commercial software? No. Are they saying that open source developers refuse to consider security when they develop? No. Are they saying that open source developers are less skilled at security than commercial developers? No.
They are saying that developers who use open source projects don't always keep up with the latest version of libraries to take advantage of the security updates, or that they let their code stagnate on older versions of a library. I know I'm probably knee jerking on this, but I'm really irritated at this sort of sensationalized approach to talking about good IT and development habits. The truth is that in general open source projects do a pretty good job of keeping up with security vulnerabilities if there is sufficient interest to keep the project running. True, some projects decline, but I'm sure there are people running older versions of commercial software who haven't updated either. (Are you telling me you've never seen someone running an application on something like Foxpro 5 because the guy who wrote the project is long gone and they don't have anyone else to update it? Besides... it's working just fine.)
The real point that is being made here is that if you are going to be security conscious you must be update conscious as well. If, as an individual developer or company, you decide that it is too much trouble to keep something up to date then you probably should stop distributing it, or open it as a community project so that others can step in and pick up the slack. As a user, if you find that you cannot use a product because it requires you to load back-leveled libraries to make it work, you should become suspicious and factor that into your decision.
Software is a constantly moving target. The best way to keep yourself up-to-date is to use a distribution that has a supported automatic update system, and only use projects that fit into that scheme. I use Ubuntu, which has an excellent package system. Red Hat and SUSE have good ones too. For the most part, the projects that I really use are either a part of that repository or support me adding their own site to my update list.
One should also factor the risk. Many pieces of software have unusual vulnerabilities. If you look at hacking sites you find some really strange and surprising ways that software can be compromised, but often under very specific conditions. The trick is to get the user to create those conditions or find where they exist. Awareness that bad things can happen and paying attention to the warning signs will keep you out of a lot of trouble.
If I titled that article it would say "Lazy system administrators and developers propgate security flaws". I think that's a little closer to the truth.
If you've been missing my entries here, it's because you've been missing my entries in the developerWorks SXSW 2012 Adventure blog. In fact, I just wrote another entry. I'll be back here next week, but in the mean time you should catch up with me there. Also, don't miss the live video broadcasts that I've been doing from my Android phone. I'm going to move those over here at some point, so be sure that you are following me on Twitter (@cmw_osdude) to keep up.
I just retweeted an interesting article about testing done to measure the number of defects in various kinds of software, including open source. There were outstanding examples where the error rate was ridiculously low. (If you aren't subscribed to my Twitter account, then you should subscibe now.) It's worth a read.
Of course, this comes as no surprise to me. Once I broke free of the proprietary software bonds I've found that in general this software just works better for me. Yeah, sometimes I have to dig for technique, but once I understand the technique there aren't usually too many more surprises. It just works. It's logical to me that software that works would be low in defects.
This made me think about something else that I encountered recently. There is a radio ad that talks about what to do if your employer is using pirated software. You turn them in, of course, and maybe qualify for a cash reward. (This may limit your future in the company, but I guess you were on your way out anyway.)
I have a crazy alternative. What if, rather than busting your employer, generating fines and maybe prosecution, you used this as an opportunity to introduce open source software. Most of thetime when people are using software they don't pay for its because they need the functionality but don't have the budget. They most likely don't know there are alternatives, they just use what they've been sold on. Imagine if you did this. You'd solve a problem for the employer, make everything legal and you'd also be supporting open source.
Of course, the guys paying for those ads are hoping that your company will end up in a situation where they can dictate a price rather than prosecuting. They might not like this as a solution... but everyone has burdens to bear. So... if you know that you are in a situation where people are pirating, don't get even... go open. I think you'll be surprised at what you can replace.
This blog entry talks about some good resources for finding open solutions.