I haven't written here for a while. A lot of changes have been going on behind the scenes for me. Around the time that I wrote my last entry I was brought into a new team within ISV Developer Relations at IBM. As a result, I am no longer editor for the Linux and Open Source content on developerWorks. This is bittersweet for me, as I really enjoyed helping authors to shape their information to share with people who want to learn. In my little intro on this blog I mention that I am really passionate about Linux and Open Source. This is not hyperbole. I've run a Linux desktop for more than ten years. We have no Microsoft Windows or Mac OS in my house. Personally, I don't find this a hardship. I do pretty much what I want and need on my computers and don't seem to have the struggles that others do. (I'm hearing a story by one friend who has been through ten different Microsoft tech support people over a period of days still trying to get his Windows 8 activated. Bleh!)
I've always found that it wasn't that Linux and open source couldn't do things that people needed, but that they just weren't aware of what was available or how they had become tool-bound. Perhaps a Linux environment tends to provide the most benefit to a technical person with a sense of curiosity. In any case, it was a joy to help provide a variety of information to help people try things and broaden their horizons. I got to work with some really talented authors and make a difference to hundreds of thousands of people. Wow!
My new role is going to take me more behind the scenes. I'll still be enabling people to get their messages out, but in a greater variety of ways. It's all fairly new, so I don't really have stories to share. I have no doubt that I'll get food for blogging in my new role.
I will continue to use this space to talk about technology and social issues that I think make a difference. I'll continue share things that I do with Linux and open source so that others can explore them as well. As my activities become more varied I may have even more to share!
Along those lines, I recently had to put together a booklet for a non-IBM project. I had done the writing in a word processor, but when it came time to generate the final format I decided that I really wanted to work with a publishing tool rather than a word processor. In a previous role, ages back, I did a lot of work with Adobe PageMaker. I remember renting time on Macs at Kinko's to create signs, fliers and such. Once I designed a set of sample pages for an elementary level math book using PageMaker. The pages were being shown in an editorial meeting for a major textbook publisher and it was the first time they had gotten a printed mock-up as opposed to a literally pasted page. (That sounds ancient doesn't it?)
It's certainly possible to do a booklet in a word processor, and LibreOffice works fine for that. (Have you downloaded v4 yet?) However, a desktop publishing tool is designed for a greater degree of precision in layout. If you can get your head wrapped around the different approach to thinking you really get a more finished product. The most popular open source publisher project I am aware of is Scribus, and the last time I used it was to do an 8-page, full-color mini-magazine for a convention. I know that many will consider Scribus to be lacking as compared to a PageMaker or a Quark, but the $850 price tag on Quark makes it a little out of my reach, and it's not available for Linux. Scribus is free and available for Windows, Mac OS and Linux. I essentially had to wish for it and it was installed on my system. Here's a sample from their sourcforge gallery.
Of course, working with page layout is different from other kinds of content editing. Publishing programs are much more concerned with controlling how things look than helping you to write. It's literally like having a lot of little pieces of paper that you are going to paste onto a blank page. You assign what is on each little piece of paper, a graphic, some text, etc. Some of this is handled by "frames" in a word processor, but in layout software it just seems to be a little easier somehow... at least to me... depending on the project.
Because of the "pagey" nature of this application, it was easier for me to set up something to be how I wanted it and not have things move around on me when I changed something. I had a few challenges with setting up a dynamic Table of Contents, something that is almost magical in LibreOffice. I will probably review this tutorial by Bruce Byfield before my next document.
If you want to play with layout software, Scribus isn't a bad place to start. It will acquaint you with the basic concepts of layout, primarily separating your design concepts from your content. For a big project it might still be worth using a commercial product, but for a little newsletter, booklet or other projects where you are assimilating various elements into a single document, Scribus might do the trick.
Now, when I'm designing a single page, like a sign, postcard or flier, from scratch, I will tend to use Inkscape. I've even done large, full-color banners with this and enjoy it very much.
More adventures later. I'm tinkering with Blender, the free, open 3D modeling/animation/compositing software. If you think moving from word processing to page layout is mind blowing you just wait 'til you see what happens in this paradigm! I used Blender to create the header graphic for this blog. Everything is composed of 3D elements which were lit and moved around, then "photographed". It's pretty interesting stuff.
For everyone who contributed to the Linux and open source areas on developerWorks for me, you have my sincerest gratitude. It was an honor to work with all of you. For the readers to gave feedback, sometimes in the most forceful ways, you have my gratitude as well. It's hard to function in a vacuum and your input constantly shaped my approach to what we covered and how. I look forward to my new adventure.
Essentially, a computer science student was developing an app to help students look at their records for the college when he discovered a security flaw that gavie him access to more information than he should have been able to see. He reported the flaw the college that opened a can of worms resulting in his expulsion. The story reports that the offense was his use of a security tool against the college servers that they regarded as an attack.
Is this justified? He did come forward with his findings and didn't seem to be trying to hide what he was doing from the college. I have personally been guilty of letting my curiosity go a little too far and doing an inadvertent test of my company's security. I was thanked for demonstrating that the security worked and told never to do it again. (It was the first time that I'd ever run a port scanner, nmap.)
Cyber security is a big deal. A quick glance at the IBM Security Solutions list shows a vast array of solutions for various situations. As more and more of our world goes digital and virtual we are much more likely to be victims of cyber crime than physical ones... and those crimes are potentially more impactful. Good security can't rely on obfuscation. You have to be able to know something is there and still not be able to get it. I imagine that those who safeguard the most sensitive information have a number of sleepless nights as the tools available to the average hacker become more sophisticated. Of course, the vast majority of hackers are as Ahmed (the man in our story) claims to be. They are technology enthusiasts who want to see things work well and eliminate mediocrity when they find it. Of course, some of that crowd feels that the lesson needs to be humiliating to be effective, which tends to attract more anger than solutions.
Are any of my readers amateur security sleuths? If you found a vulnerability would you feel comfortable in bringing it forward? Does our current ant-terrorism client create a harsher environment for the good guys?
I haven't been writing so much over the last few weeks. There are good reasons for it, but nothing that would particularly interest my average reader. Rest to say that I am living in interesting times. There's nothing really bad going on, but interesting nonetheless.
There are a few things I'm tinkering with that I'll share later. Today I came across Simon Phipps' article, Vert.x's journey teaches invaluable governance lesson. Essentially, Vert.x is a project that provides a framework running on a Java Virtual Machine that lets you write polyglot applications. You can write your code in a number of different languages and even mix and match code. (You've heard of Spanglish?)
That is interesting unto itself and worth looking at... especially in these days where there are many different applications requirements and disciplines that all really need to mesh together.
The most interesting bit in this case is how the project reached a point where it needed an independent home, separate from any specific commercial interest which could continue to keep the project open. They chose the Eclipse Project as a home over Apache, primarily because Eclipse has a very business-friendly background. (Certainly Apache has worked with applications that have significant business interest, but in this case Eclipse edged out a little.)
I don'thave much to add to Simon's article. It's worth a read, especially by those who view open-source development as some sort of lawless software wasteland.
Soon I'll tell you some of what I've been discovering about the OpenShot video editor. I just may start using this for some things. (Though I still think Cinerella is pretty cool.)
OK. I'm a little more caught up after the holiday. I'm pleased to announce that the Learning PHP series on developerWorks has gotten some updates (Part 1 was done earlier. 2 and 3 updates just got published.) If you want to dive in and start making use of this popular language this is a great way to do it. I'm actually going to roll up my digital sleeves and walk through the tutorials myself as a coder rather than as an editor. I need to tinker with PHP a lot more and this will get me going quickly.
There's lots going on with the changing of the year, however. Here are a few things of interest.
Linux: 2012 was a very good year
I came across this article from PC World, a publication that is not necessarily known for pushing Linux. There are a lot of interesting points in there. Linux is making money. People are getting stuff done with GNU/Linux. Gaming companies are starting to turn their eyes to the platform. For myself, 2012 was the year where had had less confusion than any other time in my life when I told people I ran Linux. Nearly everyone I spoke with about it had heard of Ubuntu and many said they were considering loading it up themselves if they hadn't already. I know that for many things Linux still makes up a small percentage bump on the user map, but it is going gangbusters in the background and it just isn't going away!
Of course, it isn't always pretty in Linux land. I don't know if it speaks to passion or just poor socialization, but a recent blog post in the Real World Linux community discusses the heated exchange with Linux Torvalds and one of the kernel maintainers when a patch broke something in userspace. I've heard a lot of discussion about whether or not professionals have exchanges like that. They may not where you have worked, but I've witnessed some pretty strongly worded conferences in my career. It's probably not something recommended in the people management handbook, but it does happen. Hopefully everyone will make nice and move on. Of course, ten years ago that exchange wouldn't have been any kind of news whatsoever.
One of the interesting side effects of tools like Twitter is that it gives you a view of the information pie that is hard to get any other way. So much information comes from so many people with tags identifying groups and trends. Twitter has provided a 2012 retrospective page showing what was hot in a variety of topics. My stuff hasn't bubbled up to the top so far, but it's interesting to see who has. It's also interesting—and sometimes aphaalling—to see what people have found important enough to share and discuss. This kind of data is going to become more robust as we go.
Of course, the new year is not all about looking back. It's also about looking forward. This slide show from InfoWorld has their picks for what is "highly anticipated". I'll admit that some of them don't especially grab me. (Let's see if you can figure out which ones!)
I'm intrigued to see the future direction of Android, though the way providers tend to implement it I won't be able to enjoy it with my existing device. I really wish I could handle Android like I do installing Linux on devices!
The pending evolution of wireless protocols is also intriguing. Wouldn't it be amusing if we eventually fix the high-speed everywhere questions with wireless rather than running cables?
The flexible displays are also pretty interesting and could show up in some surprising areas. Imagine touch interaction that doesn't need to be flat anymore.
I'm also curious to see what happens with the new innovations in energy usage that are evolving. I'm sure there will be more on that later.
Happy New Year, all. I hope you got some kind of a break and are ready to start making a difference with all that you do.
I'm going through my post-holiday email with a shovel right now. I have some more "New Year" kinds of things to discuss, but can't quite get to it today. Here are a few tidbits of fun for you in the mean time.
I was watching a British program called QI (Season 10, Episode 1. I would post a link but some of the conversation was a little naughty for the workplace. If you find it on your own that's your problem.)
That's so OMG!
When we think of the abbreviation OMG (short for "Oh, my God") we usually think of bubbly girls texting away. It seems, however, that its first recorded use was in a letter by Baron John Arbuthnot Fisher in a letter 1916 letter to Winston Churchill. Lord Fisher wrote I hear that a new order of Knighthood is on the tapis—O.M.G. (Oh! My God!)—Shower it on the Admiralty! He even clarified the abbreviation... though that would seem to defeat the purpose. I suppose I'll never really be Noble. You can find the quote in his memoirs, published in 1920. (http://cmwosdu.de/W3h8Pz )
I unfriend thee!
Many people have been cleaning up their friend lists on Facebook and it seems that "unfriending" someone is a new and potentially volatile activity. This one is even older! The first recorded usage is in a 1659 letter by Thomas Fuller in which he writes I hope, Sir, that we are not mutually unfriended by this difference which hath happened betwixt us. You can see the original letter in his biography: http://cmwosdu.de/XjQPM7
I must use this the next time I have to let a connection go because they get too crazy!
Get your systray back in Ubuntu!
Finally, here's a little tip I found. I was installing blueproximity, a tool to let me use my mobile phone as a lock token for my Ubuntu desktop. Essentially, when the phone leaves the area of the desktop, it automatically locks and automatically unlocks when it returns. That's kind of handy! However, I was having some difficulty with it, some of which was an issue because the systray icon did not come up in Unity. (Yes, I've been using Unity on my desktop. I hate to say it, but I actually am getting used to it.)
I've missed other icons there, but this was the one that finally annoyed me into action. It turns out the default behavior of Unity is to limit items on the systray to those that have been whitelisted. A simple command turned them all back on, including ones that I didn't realize were missing. Unity with a fully active systray is much nicer. Here's the command to turn them all on:
gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"
I used that command, logged out and back in, and, voila! All my icons are back and functional. Of, course, you can whitelist just a few of them. More details can be found at the original discussion in the Ubuntu forums where I found my answer: http://cmwosdu.de/S5y1hK
Happy New Year! More retrospective, futurespective kind of writing tomorrow or Friday when I can breathe!
Today I was reading an interesting Wired article today called "How Joe Biden Accidentally Helped Us All E-Mail in Private". I remember tinkering with PGP during that time and some of the controversy surrounding encryption, especially good encryption. The encryption battle of that time was largely won and we are generally free to make use of it in our lives. Of course, very few people do.
I was demonstrating a network sniffer called WireShark for a buddy a while back. It basically captures whatever packets are passing through the network and allows you to copy them, view them, etc. He was surprised to see that in some cases email was being sent by people in the total clear, with no sort of encryption or anything. In some cases the username and password for thre user's account were easily visible. That's a sobering thing to see, yet people still don't seem concerned about encrypting their information.
There is a lot of talk about The Cloud (cue Arnold Schwarzenegger's voice) and the concern about keeping our information out there because someone might find it and see it. Again... these are clear, unencrypted files and information.
There is already some good, free, open stuff out there to help people increase the security of their information. A lot of it is very easy to use with easy methods for establishing trust and exchanging keys with people you want to see your information while protecting it from the casual mail server admin with nothing better to do than read your stuff as it comes through. (Would they do that? You bet! Those late nights can get lonely and boring.)
Can you make things secure enough so that no one can possibly read it? Probably not. If you are dealing with James Bond sorts of secrets and the high tech espionage centers of the world are focused on you, then they will probably hack you. For the rest of us, we can cut out the casual observer and demand that someone who wants to get into your stuff needs to devote some resources and most likely get a warrant.
From: Scam Mail
DO YOU NEED A LOAN, IF YES REPLY FOR MORE INFO.
At least they are honest about scamming you.
IBM Linux on POWER
I think Linux and the POWER architecture are an outstanding combination. I would really like to see a new POWER laptop to load Linux on. (Apple used to be a good source for that until they decided to go Intel.) POWER servers are competitive in price with el-cheapo models, especially when you factor in consolidating services into a single box. I came across this video which talks about Linux on POWER.
Steve Southworth is funny
Steve Southworth posted this picture with the caption: "The original camera phone."
New VoltDB article in developerWorks/opensource
How many databases do we need exactly? When are we going to have enough? If you have a shop where you are able to support a single database, say DB2, then that's great! However, it's likely that you need to have flexibility in your database, either because you can't always get what you need from the administrators, or you are dealing with customers who have varying situations, or some other unexpected situation that you can't predict. It's always good to have more tools in your toolbox. Talke a look at VoltDB and play with it. Here's what author, Simon Buckle, had to say about his article:
"Having problems scaling your relational database? Thinking about switching to a NoSQL datastore in order to scale but you need your data to be consistent at all times? These are the kind of tradeoffs that you would normally have to consider when deciding whether to go down one route or the other but it is possible to have both scalability and data consistency. Introducing VoltDB.
"VoltDB is an in-memory database written in Java with the scalability of NoSQL data stores, but without the consistency problem; it is ACID compliant. VoltDB is queried using SQL, so it will be familiar to those who have worked with relational databases before. This article will cover the basics of how to install VoltDB and how to use it, so you can integrate it into your application(s). Finally, it will also discuss VoltCache, a scalable key-value store with a memcached compatible API built using VoltDB."
The VoltDB developers tout their project as revolutionizing your application design methodology to get things out fast! Check it out, play with it and you'll be the smartest one in the room when someone brings it up!
Open Source alternatives
Ages back, I wrote a popular blog entry called "Start your learning with Open Source." It must have struck some sort of a chord because it's gotten more than 15K hits since 2009. One of the most common conversations I have with people about open-source software is about subsitutes for the current software that they are using. I reference a few sources in that blog entry, but there is also an evolving Wiki in the Real World Open Source community with a list of open source software. You'll find some handy suggestions in there. You can also add your own. It's just getting started, so we've barely scratched the surface. Take a look and contribute.
Don't forget that there is a discussion board there as well where you can bring up your questions and problems. Have another place where you do those discussions? Tell me where and I'll add them to the bookmarks or feeds in the community.
As you probably remember, I work for IBM. We're a big company and a lot of my work, while satisfying on many levels, is... well... work! I probably deal with many of the same mysteries of the corporate world that you do. From time to time I wonder if I know the people being satirized in Dilbert. After a while it can feel like it's all about the problems and the products and the process of keeping everying going from day to day to day.
Then, some days I get a reminder of how thrilling it is to be around when someone creates the future. We saw some of that when Watson cleaned house playing against two strong apponents on Jeapardy. (See my blog entry at that time to watch it if you missed it.)
This breakthrough will make for faster and faster communication for electronics, and the technique appears to be affordable enough to actually use. That means more computing power available for media, smartphones, tablets, televisions and everything else which might house computing power. This breakthrough will permit the pushing of much more information at unimagined speeds–terabits per second!
It's unclear as to when this will make its way into marketed products, but it is a huge game-changer. I can't wait to see what happens next!
This month Creative Commons marks it's tenth year as an alternative to traditional copyright. You've probably seen this license marked by the phrase "some rights reserved" on photos, music and other works on the Internet. The logo I created for the Real World Open Source group is available for you to use under the cc-by license, which means you can use it for whatever you wish, just give me credit.
Why have a license like this? The digital information age has created a new paradigm for works. Before, works were physical. They were not easily duplicated. Today a digital item can be duplicated and shared almost effortlessly. The understandable reaction by the creators of these works is to clamp down significantly on usage of their work. Service providers are being required to help enforce access and usage of these works. That makes some sense, except that there are people who create things that they really do want to be shared and used.
The Creative Commons license was created to be a legally sound license which would allow a creator to grant limited usage rights which were clearly stated. The basic license are quoted here from their original site descriptions.
This license lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.
This license lets others remix, tweak, and build upon your work even for commercial purposes, as long as they credit you and license their new creations under the identical terms. This license is often compared to “copyleft” free and open source software licenses. All new works based on yours will carry the same license, so any derivatives will also allow commercial use. This is the license used by Wikipedia, and is recommended for materials that would benefit from incorporating content from Wikipedia and similarly licensed projects.
This license allows for redistribution, commercial and non-commercial, as long as it is passed along unchanged and in whole, with credit to you.
This license lets others remix, tweak, and build upon your work non-commercially, and although their new works must also acknowledge you and be non-commercial, they don’t have to license their derivative works on the same terms.
This license lets others remix, tweak, and build upon your work non-commercially, as long as they credit you and license their new creations under the identical terms.
This license is the most restrictive of our six main licenses, only allowing others to download your works and share them with others as long as they credit you, but they can’t change them in any way or use them commercially.
With these licenses a creator can allow work to be distributed freely whily maintaining ownership and some level of creative control of the work. It is also applied to software code. If you haven't looked into Creative Commons it's a great time to learn about it. It is one possible answer to the question posed by Will Grace in the Real World Open Source group about "stealing code". You can't steal something that is freely given.
Supporting LimeSurvey, or your favorite projects
I get a lot from people who talk about "free software isn't free". It's true. Everything created is based on the toil of someone. Many who create these things do it pretty altruistically. They want something that works well and they see no reason why others shouldn't have it. They don't expect reward... though they would do more and give more if they could afford it.
I remember in the earlier days of the PC, there was a good deal of "shareware" floating around. The idea was that you would get the software for free. You would use it and see if it really fit your needs. If you decided to continue using it past your own test-drive period (which was sometimes defined, sometimes open-ended) then you would pay the creator for his work. I don't see as much shareware floating around anymore.
Many who contribute to open-source projects aren't looking for reward, but often a successful project has expenses. There are storage, computing devices, etc. Now that there are so many ways to get donations from people many of these projects are putting out a "give if you want to" sort of donation. bucket. It makes sense. If people donate then it relieves some of the burdens. In some cases it may allow features to be added that could not be done otherwise.
I just made a donation for LimeSurvey, a nifty piece of software that I've used for a variety of things. I'll probably also drop a few dollars with other programs I use regularly. I'm not compelled to do it, but I admire what these people are doing and I appreciate what they make available. I benefit, sometimes financially, from what they provide, so it's only right to share a little back. However, it's my choice. Some people can't afford to do it, but they need the technology. I like the idea of a world in which people choose to pay when they can because it's the right thing to do.
Of course, as I've mentioned before, there are other ways to contribute. Many projects need assistance with things besides writing code. Perhaps there is something you can do to help.
OK. I have some mixed feelings about this one. Let's see what you think.
Verizon has filed for a patent for technology that will allow their set-top boxes to monitor a room and use that information to select appropriate advertising. The device will monitor audio, some level of visual and mobile device access. Here are some quotes from the application. I've tried to keep the blocks of text in context, but highlight what I felt was relevant in that section.
" To illustrate, an exemplary ambient action may include the user eating, exercising, laughing, reading, sleeping, talking, singing, humming, cleaning, playing a musical instrument, performing any other suitable action, and/or engaging in any other physical activity during the presentation of the media content. In certain examples, the ambient action may include an interaction by the user with another user (e.g., another user physically located in the same room as the user). To illustrate, the ambient action may include the user talking to, cuddling with, fighting with, wrestling with, playing a game with, competing with, and/or otherwise interacting with the other user. In further examples, the ambient action may include the user interacting with a separate media content access device (e.g., a media content access device separate from the media content access device presenting the media content). For example, the ambient action may include the user interacting with a mobile device (e.g., a mobile phone device, a tablet computer, a laptop computer, etc.) during the presentation of a media content program by a set-top box ("STB") device.
 In some examples, detection facility 104 may determine, based on data received by way of a detection device, that a user is holding and/or interacting with a mobile device. For example, detection facility 104 may determine that the user is sitting on a couch and interacting with a tablet computer during the presentation of a television program being presented by a STB device. In some examples, detection facility 104 may be configured to communicate with the mobile device in order to receive data indicating what the user is doing with the mobile device (e.g., data indicating that the user is utilizing the mobile device to browse the web, draft an email, review a document, read an e-book, etc.) and/or representative of content that the user is interacting with (e.g., representative of one or more web pages browsed by the user, an email drafted by the user, a document reviewed by the user, an e-book read by the user, etc.).
 Access device 402 may be configured to present a media content program by way of display device 404. For example, access device 402 may be configured to present a television program including one or more advertisement breaks by way of display device 404 for experiencing by one or more users within detection zone 408. During the presentation of the television program, access device 402 may be configured to utilize detection device 406 to detect an ambient action of a user watching the television program. To illustrate, access device 402 may detect, by way of detection device 406, that two users are cuddling on a couch during the presentation of the television program and prior to an advertisement break. Based on the detected ambient action, access device 402 and/or a corresponding server device (e.g., implemented by provider subsystem 202) may select an advertisement associated with the ambient action. In some examples, access device 402 and/or the corresponding server device may utilize one or more terms associated with the detected ambient action (e.g., in accordance with a corresponding reference table) to search for and/or select an advertisement associated with the detected ambient action. To illustrate, access device 402 and/or the corresponding server device may utilize one or more terms associated with cuddling (e.g., the terms "romance," "love," "cuddle," "snuggle," etc.) to search for and/or select a commercial associated with cuddling (e.g., a commercial for a romantic getaway vacation, a commercial for a contraceptive, a commercial for flowers, a commercial including a trailer for an upcoming romantic comedy movie, etc.). Thereafter, access device 402 may present the selected advertisement by way of display device 404 during the advertisement break for experiencing by the users.
So, there you go. Several articles on the Internet have referred to this technology as "spying", and I can certainly see where they have a point. I think some paranoia in this area are probably justified. However, one of the things that we seem to desire is technology that will interact with us more directly, help us to find what we want and deliver what we need. Star Trek computers and Azimov robots all had senses and made decisions based on what they saw and heard. They were always at the ready and seemed to have instant access to the necessary information. In order to do that we will need devices that can be silent observers.
Of course, the alarming part of this is that the device must report its information to some sort of server in order to make sense of it. There is no avoiding that with our current technology. It's a "big data" question and right now that means big, remote computing power. Ideally this sort of technology would all be completely anonymous. Your set-top box would regard you passively and disinterestedly, like a family iron. Without much effort on your part you would be introduced to the news and entertainment that was just right for you at the moment. You would see ads for things that you actually wanted to learn about. Your media device would be a helpful information companion for the whole family. I suppose that's possible.
However, my experience with this sort of help in the past is that it tends to be a little overeager. My inbox is flooded with things that seemed like a good idea at the time. My personality causes me to have levels of duality at times where I may want to deal with contrasting ideas at the same time... for example have something exciting running on the television while I also tinker with something that might seem more cerebral. Contraceptive ads popping up while you're cuddling on the couch could be a great disturbance in what is typically a deligate process of silent negotiation.
Also, would the people who had that information so tantalizingly near have the discipline to not try to grab some of it and try to dig a little deeper, a little faster. Would there be a temptation to get a salesman to call? Would law enforcement start demanding to tap into these things? (I know. If you're not doing anything wrong you have nothing to hide... but there is a reason why we don't all live together naked in a big giant room.)
Oh, and before you rail against Verizon, this is apparently not the first exploration of such technology. According to this fudzilla article previous evolutions of this concept have been patented by Comcast and Google. So, what do you think?
I'm intrigued at the possibility of having technology that is more responsive to what I want, when I want it. There could be some benefit to that, if it is geared toward my needs and not the needs of someone who has to make a sales quota. Is this a treasure chest or is it Pandora's box? Is this something to be fought, or will this adapt into our lives like all of the other technology we have adopted over time?
Also, on developerWorks
Here are a few fresh things worth looking at on developerWorks:
Ian Shields gives us a 2-fer with a pair of updates in the Linux Professional Institute test prep articles. First is "Boot managers: Introducing GRUB, GRUB 2, and LILO" – a look at the mysterious world of getting your operating system to load. There are actually a lot of interesting things that you can do with boot managers if you understand them. This is a grest start. Second is "Create partitions and filesystems:Divide and conquer your disk space" an overview of partitioning and why it matters. On your laptop you probably don't need to care too much about different partitions. On a server, however, good partition management can spell the difference between a reliable system and one that dies because some file got out out of hand and ate the disk space.
In Real World Linux there is an interesting entry about Aakash2, a super-cheap tablet developed in India. This won't be your "power gadget", but such a commodity-level device could make a big difference in getting technology into the hands of everyone who could use it. I admit that I'd like to get my hands on one. At that price, maybe I will.
I suppose that my first question is "Can they do it?" I know that there will be laws and law enforcement. Some people could be hit really hard by this if they want to take out the "big guns". However, there is so much that happens on the Internet that is driven by private providers and personal devices. Sure, they have rules about the telephone lines and the airwaves, but technical people find ways around existing limitations all the time. If we really don't want it, could they really squash things?
How much control should the government have over what is done through the Internet? and who's government? We already seem to have a lot of trouble with isolating information because what is taboo in one area of the world is accepted in another. In the past, geographic isolation shielded people from things that they weren't supposed to know... but that is no longer the case. Does the Internet go beyond any single governing body? Can it be addressed directly by the people who use it?
I really don't have answers to these questions. They are things I am pondering.
Vote now? I thought the election was over!
There might be a test of some of these questions happening right now. If you are a user of Facebook you may have heard that they are looking to make some significant changes to their rules. I won't express my opinion on the changes because that's not the point here. After a lot of discussion on the matter, Facebook appears to be opening this up to a vote. If 30% of the users participate in this week-long vote it will be a binding decisio. If fewer than 30% participate, then it will be advisory.
Let's look at the numbers for a moment, though. Facebook claims to have 1.01 billion users in September of 2012. 30% of that number is 300 million people. In 2011 the population of the entire United States was estimated to be about 311 million people. We only get about 60% of them to vote in a presidential election! Of course, this is global, which has a higher population, but the numbers are still staggering. As of this righting the voting hasn't even reached 1%. (In a presidential election they describe numbers like that as "wasting your vote".)
Other thoughts come up. There seems to be some fuzziness of what is considered the real population. Are they going to do 30% of so-called active users or of the total population? I know of a few dead people who still have Facebook accounts because they were never removed. Do dead people count as part of the voting population? How could that possibly be determined? There are also many people who have accounts that they created long ago (or were created for them by enthusiastic people) who just never got into Facebook. Their account is just a table in a database somewhere with no participation and no stake in the changes. Are they counted in the voting population as well?
My prediction is that the numbers will fall far below the needed amount. I will be surprised if there is even a 1% turnout in this election. Right now the vote is overwhelmingly in favor of keeping the rules as they are. We'll see how that progresses. If the vote is advisory, I would not expect Facebook to give it much weight. They've clearly decided that these changes are beneficial (to someone) and I would expect them to say "Thanks for the advice" and then move forward. This would be disappointing if the vote was largely against it.
If you want to participate in this experiment, the link is open until the 10th of December: Facebook Governance Vote. Bring a few million of your friends
What about the rest of it?
Obviously, there is a lot of Internet outside of Facebook (which is probably a good thing). The real question is not about voluntary online services but things like putting up web sites, doing commerce, using the Internet for your own things in your own ways. Do we need a list of regulations deciding what may and may not be done, or do we need ways to better self select and self-isolate as we choose. I think that these kinds of technology are becoming more fundamental to how we do things. Knowing how to search for what you want on the Internet may be right up there with being able to balance a checkbook as far as life skills are concerned. Being able to keep bad guys from your information is on par with knowing whether or not you might be in a dangerous parking lot. How do we promote informed usage and a little self-reliance. Am I just overly skilled here and don't appreciate how hard it all is? I honestly feel like there are oceans of information about these technologies that I don't understand, but I don't feel lost.
Ultimately, someone will start pushing on all of our uses of the Internet because something will make them uncomfortable... and some people react to discomfort by trying to eradicate what troubles them. When people are largely alike this works. When you have global diversity it's going to be pretty tricky. I don't know where it's headed.
But... again... does it matter? Can they make all the rules they want with fancy kill switches and task forces and scrutiny and it will never be enough to catch up with what people want to do? Does technology become the real equalizer? the real global world?
All I can say, kids, is it's going to get weirder before it gets better.
I caught an article today: "Linux users targeted by mystery drive-by rootkit". I stand by my believe that Linux is the most secure environment that I have used and I enjoy the freedom from many of the security issues that friends experience. However, it would be ridiculous to imagine that Linux–or any environment–is immune from attack.
You probably already know the security basics. Don't hang out at weird websites and let anything and everything run. Use things like Adblocker in Firefox to help cut out little scripts and things that you don't want to run. When things pop up saying would you like to install or run something that you don't understand, don't click "Yes". How do you know you're OK, though?
First, pay attention! You can tell when your system is not behaving normally. When the network seems clogged or processes start getting chunky that could be a sign that things are running on your system that you don't know about. Don't ignore that. Do something about it.
The first step is to look at the processes that are running. In Linux a basic ps -aux will give you information about what is running. If you tinker a lot, like I do, you may bet all kinds of things turned on when you installed them to play with them. The other day I noticed that I had a web server and two database servers that had been left active after playing around with them. Often when you install that kind of software it will set itself to automatically start. These are the kinds of things that can create danger for you if you don't realize they are running.
For seeing how the system resources are running, top is a good quick check. It is a console-based system monitor that will show you what is using resources on your machine. Here's a sample:
Based on my snapshot my audio and firefox are the biggest pgs. I also note that I have mongod running, which is a database enging that I thought I had disabled. It may be that something is using it, or I may not have shut it off correctly. I need to look into that. As a "basic user" I probably don't need to know about all of these processes... but as a "technical user" I really should understand them, at least well enough to know that they are normal.
Dealing with root kits and other nasties
Keeping an eye on all of your running processes is probably not what you want to do. It's good to know that you can spot check with things are misbehaving, but you want to be proactive and stop things before they start. Here are a few things that might help.
Clam Antivirus — Clam was the first anti-virus software that I discovered for Linux. It runs on othe rplatforms as well and seems to be pretty good stuff. Clam does what any intivirus system does. It scans files and compares them with signatures of known viruses. Of course, the value is only as good as the definitions. Clam definitions seem to be updated pretty regularly and it's easy to automate the process. At the very least you should have something like this available. Admitedly, the only virus files that I've ever found with this have been dormant Windows viruses that someone sent me in emails... but it's good to know that.
chkrootkit – This is a common tool available throught Linux distributions. It looks for a number of common exploits and reports issues.
rkhunter – another popular root kit detector that was available through the Ubuntu repositories. This tool works best if you install it onto a "clean" system, i.e. one that you know is uninfected. Ideally you would set it up immediately after installing the operating system and let it initialize. rkhunter looks for unexpected changes to system files and alerts you to possible mischief.
Of course, if you are serious about digging into root kit detection, you will want to look deeper than just running a tool. Here is an excellent article on Symantec's web site: "Detecting Rootkits And Kernel-level Compromises In Linux" which goes into quite a bit of detail about the technical side of this sort of forensics.
Cyber attacks seem to be the way of the future. No one is immune, but you can make yourself less of a target. Some say that eternal vigilance is the price of freedom, and this probably goes for software too.
Today I got another one of those InfoWorld articles with one of those sensational titles called "Beware these open source lock-in schemes". I had to take a look. The open-source world has really come a long way. I remember when telling people a product was open-source would be a cause for immediate argument and accusation. Now there are businesses and governments who are looking for open-source as a requirement. As is always the case, people are stepping forward to take advantage of that interest in somewhat nefarious ways.
There has been a lot of information floating around about the "hidden costs of using open source", as though there were no hidden costs to using any technology. It's true. Any piece of open-source software will make demands of you. You will need to understand it. You will need to spend time making it work the way that you want. You will need to make sure that others who use it also know what they need. I have never bought a piece of technology that came with someone who prevented me complicating my life with it through either improper use or making mistakes.
The whole point of working with open-source from my perspective is leaving your options open. Right now I'm using Ubuntu, but it's not my only Linux option. I have run other distributions in the past and may run others in the future, but it's my choice. Linux is at the core of all of them and the software that is important to me runs on all of them. They keep me because they serve my needs, not because I'm too invested to move.
In the article, Simon Phipps mentions the "four freedoms" of open source, which should be protected in any choice that you make. These freedoms are fundamental and important. I'm quoting them here from the GNU philosophy page with my own comments:
The freedom to run the program, for any purpose (freedom 0).
Have you read the license agreements for many of the things that you use? Most of us don't and when we do we shrug our shoulders and click "Agree" anyway because there is work to be done. You will become amazed by some of the things hidden in license agreements about what yoiu may and may not do with the software and what they may do to you if they decide that you have violated those terms. (There is a South Park episode that parodies this, but I will not point you there. You will have to search for "south park humancentipad" and find it on your own because it is terribly rude.) I don't say that people who license software to you should not be able limit its usage with a license. It's entirely up to them. However, you should know that there is an arena of software that does not impose such limitations. It's really your choice.
The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
Invention stands on the shoulders of previous inventions. It's the way of humanity. Because of the compiled nature of software it imposes a barrier to this sort of learning and development. Again, there is nothing wrong with hiding the true nature of software, but there is something wonderful about leaving it in a way that you can take it apart and learn from it.
The freedom to redistribute copies so you can help your neighbor (freedom 2).
Sharing things that help us has also been a large part of human experience. Think of all the things that are a part of our world that were shared so long ago that we can't imagine a time where people didn't do it. I'm talking about things like making beer, irrigation, use of simple machines... It is natural to want to share best practices with others. Open source software encourages this sort of sharing so that good ideas get spread around, freely.
The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
This gets to the "improvement" concept that I mentioned before. If I have a great idea for improving a commercial product, but the owners of that product don't wish to incorporate it, that's the end of it. I could go create a competing product, but I would really need to be invested in my idea for that. If I share my idea openly about how to modify the commercial product they can sue me for violating their license agreement. (See how all of this fits neatly together.) With open source, I can contribute a simple idea and share it with whomever I wish. Many projects have unofficial patches that anyone can apply to affect the function of the software. Sometimes these ideas are incorporated into the core, but they don't need to be.
So, there you have the four freedoms... the hidden benefits of open-source software. These are the reasons why open-source matters. It's true that these freedoms come with a little bit of effort to make the most use of them. They can introduce a certain level of chaos into your technical life which you will occasionally have to manage... but I'll bet that you do those kinds of things already and call it the "cost of doing business". Think about it.
Things around developerWorks
Tuesday is publishing day on developerWorks, so here are a few items that you might have missed, but shouldn't:
Ian Shields has been doing updates to his series on the Linux certification tests. His latest refurbish is "Plan Linux hard disk layout and partitions". I've worked with Ian behind the scenes at IBM for a while and his shares my perspective on being a repetitive voice in support of Linux and open source in the work place. In any meeting on new things it was always a contest to see which one of us would be the first to ask "will it work on Linux". Ian is the real deal and you can learn a lot from his articles whether you plan to take the LPI test or not.
Over in the Real World Linux community, Himanshu Arora has put up a nice blog entitled "Zsh - The new Linux/Unix shell everyone's talking about". Zsh has actually been around for a while but it's worth learning more about. One of the interesting features of a Linux/UNIX environment is that you have choices for your command-line environment. I normally use BASH, but there are times when another is helpful, especially in scripting. Since you can tell a script which environment it should run you can pick your favorite to type in but have the others whenever you wish.
I was at an event this weekend. It was a non-technical event with a group of artists. One of them had designed something which could be customized and had a DVD showing exactly how to recreate what he was doing. On the DVD he included a PhotoShop template that would automatically remix an image into the necessary pattern. Then he said something remarkable. He said that he also had templates for GIMP, the open-source graphic program and that he could make those available to anyone who preferred the free software. The next run of the DVD will include the GIMP template as well.
This was not a group of techies who were all about open-source. This was just a guy, an artistic guy who used some technology to create his work. He had an open-source solution. This is one of the first times that I have encountered this in "the wild". That's really execellent! I bought a DVD just to show my enthusiasm. I'll probably even play with his technique.
Open source and Linux are spreading beyond their traditional boundaries. I don't get so much in the way of hostility when I announce myself as a Linux user anymore. Progress!
Himashu Arora has been contributing a lot to the Real World Linux and Open Source Communities here on developerWorks. The other day he contributed this commercial by Red Hat with an interesting message about how things that once seemed impossible happen over time if the are real.
You should also take a look at his latest articles:
This article was really the source for many conference talks and finally this book.
Thanks and Best regards,
Staff Software Engineer - Consulting IT Specialist - WebSphere Portal and Web 2.0 SME
Cairo TDC (Technology Development Center) - Egypt
I just love getting news like that. Our readers and authors are people who do things in the real world. They dig deeper, think further. I think it's terrific that an idea that started as a humble article can grow into a bigger, broader project. I'm proud to be part of something like that.