Tag Archives: linux

Thinking about Linux

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

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

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

What is Linux?

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

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

photo of Linus Torvalds
The father of Linux, Linus Torvalds

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

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

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

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

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

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

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

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

 

Open fun with Microsoft Surface Pro 3

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

Then I saw this article:

CNN Discovers Promotional Surface Pros Make Fantastic iPad Stands

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

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

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

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

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

DIY Android Apps

Did you ever want to turn to a manager, or someone in marketing, or just anyone who doesn’t live personally through the pain of what it takes to move an application from concept to clickability and say “If you think it’s so easy, why don’t you just do it yourself?”  If you are currently employed as a developer it’s likely that you have resisted that rather career-limiting urge.  Yet, dreams can come true.  Google has released a tool called the “App Inventor,” which provides a drag-and-drop environment which will allow anyone who can design a slide presentation to put together an Android application.

The good news, is some of the more ridiculous application requests may take care of themselves.  The bad news is that this will make for a lot of weird stuff out there in the Android application market.

App Inventor runs across platforms, which is the typical Google way.  I haven’t tried it out yet, but I will soon.  Maybe I’ll post some sort of weird app for you to enjoy.  If you do something with it, why not upload it onto My dW and share it?

Rumor: Google is leaving Windows

This just in… or at least into my inbox:  “Google Closes the Blinds on Windows
It looks like the company, which successfully became a verb, and has built a love/hate relationship for many in the technology world has made a choice.  Apparently they are in the process of removing Windows from the organization and offering Linux or Mac for all of their users.  In this report, Andrew Storms, the director of security operations at nCircle Security, comments that the move smells more like cost-cutting than security. “[But it’s] been cleverly spun into a PR effort to strike at Microsoft,” he said.

Even if it is a cost-cutting move, so what?  If removing Windows from your organization saves money, money that one might want for other things, like paying employees, marketing, development of new business, things that go way beyond providing a platform on which to run your applications, what’s wrong with that?  If you could buy fuel for your car more cheaply and still get where you want to go, wouldn’t you do it?  If you could refinance your mortgage and get a better deal, wouldn’t you do it?

As the open-source movement continues to provide multi-platform tools and as more and more functionality moves into the browser, the platform running your applications becomes less and less relevant.  For many, the only thing really holding them from making such a move is the will to move.  If this all really goes through as rumored, perhaps that example will provide will for other companies and individuals to officially make the change that they’ve been hinting at for years.  If that happens, it will make some interesting changes in the software and hardware industries.  Developers who have kept their development Windows-centric, claiming that there was no point in supporting anything else but Windows may suddenly discover that they have multi-platform approaches after all.

I think that finally breaking that ice will help computing to integrate in areas that have been held up.  I remember several years ago seeing some of the technology concepts which had your house working together.  IBM had this ad about how little bits of technology planted around could make life easier.  Frankly, I think centering our computing around Windows has made it very difficult to do this sort of ubiquitous technology.  It wasn’t that it wasn’t possible to have more integration between Windows and things that couldn’t run Windows.  It just didn’t appear to be easy for some reason.  As a Linux user, I became frustrated with the ways that gadgets I would get came packaged with all of this Windows software with no information about how to interact with the device in any other way.  Generally this was not a problem, because in many cases Linux would recognize the device as a file system or something and I stumbled across an open-source tool to help me out.  A good example is the calibre program which I use to manage my Sony book reader.  It makes book management very easy to deal with and even helps me convert between formats to make for a better experience.  I can group ebooks together in a series to help me find them and read them in order.  It’s nice.  (It’s also multi-platform!)  A bad example is my TomTom navigator, which, despite the fact that it uses Linux as it’s operating system, has it’s interface software only available in Windows (and more recently Mac OS X).  It’s begun to be supplanted by my Droid phone for navigation… which is a shame because I think the TomTom does a better job in many ways.

It’s all about standards.  Not “this is the only platform that people should use so you should only bother programming with our tools in our way” sort of standards, but true open standards that are independent of tools and platforms.  The more we adopt predictable ways for technology to communicate the easier it will be for people to create devices and software that can do it.  Perhaps this sort of quaking in the desktop world will cause people to wonder what they’ll do if the market changes, and they’ll start reaching for those standards.  Whatever happens next, I think it’s going to be interesting.

Quickie today about commercial control vs. true open source

My new Twitter follower Robin Mulkers (mulkers) pointed me to a great article written by Jeremy Allison, a major contributor to Samba, about the demise of Sun and how their decisions about how to handle their open-source contributions may have been part what killed them.

He brings up a lot of really interesting points that I have also observed about how some people approach open source, and why it may be unwise to believe that you can really win a siege against it.  There is great power in openness and we are only beginning to scratch the surface.

Patent news I like to hear

I got a fun bit of patent news today.  In a widely-reported news story, Novell and Red Hat have prevailed in a patent case, alleging patent infringement brought by IP Innovation LLC, a subsidiary of Acacia Research Corporation and Technology Licensing Corporation.  Groklaw has analysis.

As I’ve said before, I’m not opposed to protecting intellectual property.  People should be able to profit by their own ideas.  However, technical patents, especially software patents, have developed a great deal of complexity.  I think it’s easily arguable that the current system for awarding patents has a number of weaknesses and that patents are awarded that don’t necessarily have merit.  Unfortunately, it seems the only way to challenge a patent is in court, which is an expensive course of action that only the biggest players can afford to do well.

This situation is a real challenge for the open-source world, where ideas are freely contributed and distributed.  It’s made more complex by the fact that there are people working on projects that have to deal with just about every technology in existence.  I really don’t have an answer, or even a solid question about this.  I can see little experimental attack on the Open Source keep.  Only time will tell if someone is gearing up for a genuine siege.  Even if there is a massive commercial and legal battle against the open source world, will that kill it?  How many Linux users quit using Linux until these various court cases were settled?  How easy is it going to be to stuff this genie back into the bottle?

In the mean time, it looks like a time to celebrate.  As more people have more exposure to open-source software maybe it will become less of an issue.

I’ve been putting this off…

I’m sure that all of you are focused individuals.  I’m sure that all of you see tasks clearly laid before you and that you systematically work your way through them with the persistence of a census-taker… each one in turn until all the jobs are done.  How wonderful that must be.

I’ve always been full of curiosity.  I seek knowledge and experiences of all kinds, which has led me in many interesting directions.  It’s probably also the reason that I’m so drawn to open-source, because there is always something new to discover.  Recently, I came across this article:  Work Smart: How to Make Procrastination Productive

I like the way this person thinks.  Procrastination isn’t so much laziness, or fear of action.  It’s a sort of intuitive prioritization where things get done, just not in the way that some would consider logical.  Are there out there who suffer from my fascination with the next shiny thing moving at the corner of vision?  Does this broaden your reach or weaken your grasp?

One of the things that I’ve been exploring in my distraction is what one can do with a Web Cam.  (Great!  Some of you are already writing your own jokes.  Fine!  Laugh it up.)  I hadn’t looked to seriously at webcams because I just didn’t have a specific need for one.  Additionally, most equipment like that tends to be pretty Windows-centric and, while I can usually find the right piece and get it to run OK under Linux, I just wasn’t motivated.  Then, I’m in a big-box technology store beginning with an F where I normally don’t shop because I don’t find that the cheap prices are worth all of their other hassles.  (I might as well order on-line!)  Yet, there I am, looking for an adapter for my Droid, that I thought I need to have that day.  I happen by the webcam section and start looking at the different models.  I find a Creative Live! Cam Socialize HD, which actually lists Linux as an option under it’s system requirements!  I’m so pleased and surprised that I find myself taking it home.

I connect the camera and it works right out of the box!  Yay.  I talk to my dad and convince him to get a web cam as well.  The next night we experiment a little and decide that for bed time we’ll let Grandma and Grandpa join us for story time.  It’s pretty cool.  My daughter read her story (she always reads one to us too) and she would read the text and show the pictures to the camera.  Another night we did it again and Grandma and Grandpa had a story for us.  What a wonderful way to reach out and touch bases with each other.  As someone with a home-office I appreciated the value of being able to have some virtual presence and sharing seemingly insignificant things.

Now something weird has started.  Skype, which is what we were using, has suddenly decided to only use my camera at 15 FPS, rather than the 30 that it will do, and all of the settings and adjustments are shielded from me in Skype.  I can make it work fine with the other, open applications that talk to the camera.  I did some digging and found that this was not unusual for the Linux version of Skype.  I don’t know if they are behind on the video technology that’s available through the Linux kernel, or what.  Perhaps they are doing some of that intuitive prioritizing.  In the mean time I’m looking for other options that are more open that will also be easy for my dad to use.  I’ve even toyed with setting up my own SIP server using Kamailio, but I haven’t had a chance to learn the in and outs of how it works.  Too many shiny things… like getting articles done, drawing a paycheck and other things that.

Maybe soon my intuitive priorities will align and I’ll be able to share with you the secret formula for doing this yourself.  In the mean time I’ll share a little hint with you:  You don’t need a fancy service to connect to your computer from anywhere.  You can do it with SSH and a system that you leave connected to the Internet.  I’ll give the basics for the adventuresome and maybe write up a more substantial tutorial later:

  1. Set up the openssh server on your home system.  Make sure that you have a port opened to the Internet for ssh.  I recommend choosing something other than 22 or you’ll just get your log files clogged by script-kiddie attacks.  I also recommend setting it up so that you require key authentication for a good connection.  It’s a little bit of a pain to deal with the keys, but it makes your setup exponentially more secure.
  2. Get a dynamic DNS address and configure your home network to update that address whenever your home IP is reset.  Now you can get to the home system by domain name rather than having to know the IP.
  3. On your “work” system set up ssh and vnc.  Whenever you want your system to be reachable set up a reverse-port-forward (-R) of the vnc port (590x) back to your home system.  At that point, only your home system will be able to connect back to the work system through VNC.
  4. If you want to connect from another machine, establish another ssh connection from, say, your laptop to your home PC, doing a standard port forward (-L) to the same port that you reverse-forwarded.  Now you Use VNC to go from the laptop through the home PC to the work machine.  Here’s a brief example:

Connecting Work PC to home:
ssh -i mykey -R 35900:127.0.0.1:5900 myuser@mypc.dyndns.info
Connecting from Home PC to Work PC through encrypted channel:
vncviewer localhost::35900
Connecting from remote laptop to Work PC:
ssh -i mykey -L 35900:127.0.0.1:35900 myuser@mypc.dyndns.info
vncviewer localhost::35900

That’s the sort of expert view.  Maybe some of you can use it.  Selecting a higher port like 35900 helps avoid firewall issues where lower ports are blocked.

Ooo!  Something shiny!  I’m just going to take a moment and–

Maybe it’s time to reduce our FAT intake

In the continuing action on the patent battlefield, a recent announcement declares that “German appeals court upholds Microsoft Long File Name patent.”

This is the sort of thing that caused problems for TomTom and is likely to cause problems for other device manufacturers as Microsoft begins to explore ways to augment their revenue stream.  Please don’t get me wrong.  If Microsoft is legally entitled to receive royalties for this technology then it is appropriate that they pursue those royalties in whatever manner they see fit.  It would be nice if they could take the more magnanimous route of allowing it to be freely used by anyone, but that does not appear to be what they want to do.

So, why do we still want to use the FAT file system on devices?  There are other, unencumbered file systems that are available which would do the job —  arguably a better job — that FAT does today.  The initial argument is that everybody uses Windows and so we have to follow that protocol.  While it may be true that many people use Windows, FAT is no longer the de facto standard in a Windows environment.  FAT is just a legacy carry-over which could be allowed to go to pasture.

I would like to propose that manufacturers consider using the open ext2 file system.  There are Windows drivers for ext2 available.  The openness of ext2 breaks down the barriers of drivers for any operating system.  When someone buys a device, they are accustomed to having some sort of driver disk that goes with it.  The device could simply install the ext2 driver along with whatever other helper software was provided.  If this became more common, OS manufacturers might simply start providing a driver as part of the standard software stack.

The open-source world provides viable alternatives for many problems.  Rather than fighting this further, let FAT go and start working with a truly freely-available alternative.