Sunday, November 20, 2011

The Open Prosthetics Project


      The Open Prosthetics Project was started by Jonathan Kuniholm and his colleagues from Tackle Design. When Jonathan returned home from his tour of Iraq, he was missing part of his arm, and it was replaced with what he refers to as WWII technology. The basic metal hook that many amputees wear when attempting to replace their hands or arms are claimed by many to be the most effective. This is kind of sad if really thought about, seeing as the “better” and newer mechanical arms are only used by around 5% of amputees. This caused Jonathan and his colleagues to dismantle his prosthetic arms and discover they could easily improve all of them. With that in mind, they went to work and started Open Prosthetics Project.

     One might ask, What is the Open Prosthetics Project? Well, just like in the world of Linux and and open source software, the Open Prosthetics Project is set up as a collaborative for anyone and everyone that wants to help. At this point many feel that the prosthetic market is not big enough to properly support research and development, hence why there hasn’t been any major changes or updates to prosthetic limbs that are out now. With the project being open, this allows for anyone worldwide to input ideas. The hope is to even get the private sector in on it so that adequate prosthetic limbs can finally be produced.

     One project they are working on is Articulated LEGO Hand. This is a hand that moves like the fingers and wrist of a real hand does. The model has changed a lot since it was first shown in April, and there are even two similar designs by the same person. Below is a video of him demo-ing that hand. At this point it has not been powered by motors, which is one of the next hurdles to climb over. Another one of the projects going on is the Adaptive Grasp Idea. The thought behind this one is that the hand conforms to just about any object it picks up. To prove this, a latex glove was filled with small glass beads. The hand was then placed into position and had a vacuum applied to it. This, in turn, causes the hand to conform to the object and can even allow it to pick up things with very little effort. This, like many of the ideas on the site, is just a concept, and it still has many issues that would have to be figured out before taking a real look at this path.


Sunday, November 13, 2011

Net Neutrality


     My basic understanding of network neutrality is that it's an idea or belief that the Internet should remain free of government or corporate restrictions and that all packets should be treated equally. However, there is a big debate on the exact meaning of net neutrality and if the government should be brought in to place broad regulations over the Internet in an attempt to keep net neutrality alive.
     At this point the big concern is that ISPs (corporations) are possibly looking to filter or slow data they don't want going through their networks and limiting what the consumers on their networks may have access to. For example (this is hypothetical), Charter and Comcast are both cable companies with TV being the main service offered. So to encourage customers that have only Internet to start paying for TV as well, they may slow down video streaming to those costumers or charge them more for it. Other concerns are out there as well, such as limiting voice and video chat over the Internet by ISPs like AT&T or Verizon or ISPs limiting which search engine you can use, making it difficult or impossible to get to websites like Google or Bing.
     With talk of this happening, I can see why a lot are getting worked up, but to invite the government in to regulate yet another part of our lives, just in case... No, thank you! If or when things like this do start happening, I feel the market can help to correct the problem by people like myself, that would just switch to a different ISP.
     Also in some ways this is already happening, at least when it comes to speeds. I can pay less monthly and get a slower speed, or I can pay more and get a higher speed. I'm fine with this, and, in fact, I like it that I have a choice in speeds and in ISPs. Some companies are known for slowing down P2P connections used in things like Lime Wire or Bit Torrent. Still, I don't want the government to step in until it has to, if it ever does.



Sunday, November 6, 2011

Linux Job Hunt!!!

From what I'm being told on some Linux job based websites is that,

" Linux professionals are the fastest growing job category in the IT world."

With that being said one thing to keep in mind is moving may likely be involved. A lot of Linux Admin jobs seem to be popping up in San Antonio, TX.  Like in this link or this job offer.  Of course not all of them are in TX like this job offer based out of New Hampshire .

A lot of the offers I looked at pretty much had five or six main things the all seemed to want from any applicent, and that's:

  • Average of 2+ years experience working in a computer technical field
  • Must have Linux experience
  • Ability to configure and update kernels
  • Knowledge of PHP, MySQL, and/or Apache  
  • Technical Certification of sorts (A+, N+, Linux+, etc...) 
  • Bachelor's Degree

Many things need to be taken into consideration when looking into a new job, especially when moving is involved.  This is something my wife and I are leaning as we get ready to temporally relocate to North Dakota for work.  

Lastly just to show that moving isn't always needed here are two links to Linux based job in the Reno/Sparks area.


Sunday, October 30, 2011

Brazil is Jumping out of Windows



     In response to a podcast dated Sept. 15 2004, Brazil made a big push against Microsoft and I say “way to go!” The president at that time declared that the country was no longer going to support Microsoft and in fact was going to switch over to Linux and or other open-source options. He even went as far as calling Microsoft drug pushers and claimed that the “free” software to low income families Microsoft was offering was just a way to get the country hooked on Windows. Microsoft of course wasn't very pleased by this but played it cool and responded with:

"We strongly believe that governments and computer users should be free to choose whichever software and other technology best meets their needs. But when all the costs and benefits are taken together, we think Microsoft offers the best value."

     Not only would it cost an estimated 2 billion dollars a year to license all the pirated software the government admits to using, but also by making the switch from Windows to open-source software, Brazil would save another 120 million dollars a year. This movement has a lot to do with finances and the fact the the government feels Windows is too expensive, but this change also has some other feelings and reasons behind it as well.
     There is a large community that think not only about the fact of the software being free, but also about the fact that a lot of times the free software works better, faster, and is more secure when it comes to things like viruses. Also some feel that nationalism comes into play and in ways freeware and open-source software is not only anti-Microsoft but also anti-American. These feelings are being supported with Brazilian based distros of Linux.
     One last plus side to note is that some of the largest open-source tech support companies are based out of Brazil. With the open-source movement increasing the business to those companies, it also in turn, is helping Brazil's economy by supplying more jobs and cash flow. I feel this was a very good decision on the part of Brazil and it's government. I can't wait to see the outcome in the next few years and also really hope to see more of this happening world wide.



Other resource:  http://news.bbc.co.uk/2/hi/business/4602325.stm



Moving along with the Linux based propaganda...



Sunday, October 16, 2011

Organizational Transition


Your organization wants to use open source but does not understand how the licensing works.  Explain in a well-written memo to your boss, in laymans terms, how it works and what suggestions you have for your organization using Linux. Check for typos and make it professional.




Chris Jackson
XYZ Inc.
817 Plumas
Reno, NV 89509

Bob DeBoss
XYZ Inc.
1000 River Run Rd
Reno, NV 89999


Dear Mr. DeBoss,

I was informed that you wanted to move in the direction of open source for you company and could use some help if figuring out which direction is the right one. One thing I can tell you right off the back is that with any open source license it must be kept in mind that this will give anyone the right to download, modify, and distribute any software you release under the license. They will be able to do this without paying for any of the software or royalties to you as well.

Now if you are looking to go completely open and are more concerned with collaboration than commercial use then you can go for something like the GPL. This license really pushes for an open community where use of open source in conjunction with commercial proprietary software is looked down upon. Where BSD is the opposite and gives one the right to use the software any way one see's fit. This includes open source, proprietary and commercial software.

This subject is a really large one and can be very intimidating. With what little I know, my recommendation would be the BSD path because of the commercial presence of your company. Keep in mind that there are at least 20 different licenses for open source and more research may prove useful. Please feel free to contact me with any other questions you may have.

Sincerely,

Chris Jackson

Sunday, October 9, 2011

Linux Kernel Numbers


      The numbering system for the Linux kernel in actually pretty simple once broken down. Thus far three different numbering schemes for the kernel has been used. Linus Torvalds released the very first version of the Linux kernel in September 1991 with version 0.01. Many other versions using this numbering system followed like 0.02, 0.03, 0.11,0.12, etc. So the numbering system was just counting up with each release. Then came version 1.0 released in 1994, and it was at this point the version numbers moved to a 3 part set up like so, 1.x.x. In this format, the first number was the kernel version, the second number indicates major kernel revisions, and the last number is for smaller revisions such as bug and security patches or new features and drivers. With that being the case it can be said that the kernel number and the kernel version are related, but two different things.
      Moving along to the release of kernel 2.6.8, there was a critical error so bad it demanded immediate attention. Once attended to, some felt that not enough code had been changed to justify a minor revision, so instead of changing the numbers from 2.6.8 to 2.6.9 the four number system was established and kernel 2.6.8.1 was released. Again once it is broken down the numbering of the Linux kernels are not so hard to understand and can even be helpful at times. It could be very good to know that a certain kernel revision does not work with your hardware or has a major bug in it and that you may want to avoid updating or using a distro that comes with that kernel.
      This was just my few thoughts to the questions, how are Linux kernels numbered? Are they the same as versions? What is the advantage (or disadvantage) of this numbering system?  And now for something completely different...  


Sunday, September 18, 2011

Commands, Arguments, and The Cathedral and the Bazaar


  1. What is an argument? Give several examples.



An argument or command line argument is extra data, like a file name or an option, that is added to the end of a command and is normally separated by a space and or a single hyphen. This argument is then used by the command as input when it is called on. Take the tree command which displays a directory listing in tree form. If one adds -a to the end of the command, tree -a, then the listing will show hidden files. To list only directories and no files then the command tree -d is used. Another example is cal command which displays a very basic calender. When typed cal -m, the calender is displayed with Monday being the first day of the week. If the command looked more like cal [month] [year] but you have the brackets filled with a real month and year then a calender for that date would then be displayed.


  1. Use the man pages to tell me two options for the ls command and what they do.



The ls command will list the contents of a directory. When it is placed with some arguments that changes to a degree. Like ls -a will list all files including the hidden ones or ls -l will list the files and give details on each of them. If you don't want to read the size of files in bytes then you can use the ls -lh which will list the files with the sizes in a human readable format like mega or gigabytes.


  1. Use the internet to look up "The Cathedral and the Bazaar" and tell me what it is and why it is important.
An essay written by Eric S Raymond, "The Cathedral and the Bazaar" is a document about open source software and the way it works. Raymond give credit for the metaphor to the book “The Mythical Man-Month” by Fred Brooks, where the cathedral represents the traditional commercial software development style, with tight management control, small teams, and long intervals between releases. The bazaar represents the whole releasing early and often style challenging Brook's Law and using a large team of developers and testers. Through out the essay Raymond shows many reasons why the bazaar open source style is more effective in producing high quality software and one of the main ideas behind this is that fact that the more widely spread source code is for testing, straining, and tweaking, the faster any and all bugs will be found and fixed. Or as Raymond coined the Linus' Law, “given enough eyeballs, all bugs are shallow.” Along with the story of an email application Raymond also give 19 guild lines in the essay which I'll list below. All in all this was a really good essay that brings about a lot of ideas in my own mind and also helps me connect a dot or two in the computer world and I can't wait to read it again.



Here are Raymond's 19 guidelines:
  1. Every good work of software starts by scratching a developer's personal itch.
  2. Good programmers know what to write. Great ones know what to rewrite (and reuse).
  3. Plan to throw one away; you will, anyhow.
  4. If you have the right attitude, interesting problems will find you.
  5. When you lose interest in a program, your last duty to it is to hand it off to a competent successor.
  6. Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
  7. Release early. Release often. And listen to your customers.
  8. Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.
  9. Smart data structures and dumb code works a lot better than the other way around.
  10. If you treat your beta-testers as if they're your most valuable resource, they will respond by becoming your most valuable resource.
  11. The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.
  12. Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
  13. Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.
  14. Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.
  15. When writing gateway software of any kind, take pains to disturb the data stream as little as possible—and never throw away information unless the recipient forces you to!
  16. When your language is nowhere near Turing-complete, syntactic sugar can be your friend.
  17. A security system is only as secure as its secret. Beware of pseudo-secrets.
  18. To solve an interesting problem, start by finding a problem that is interesting to you.
  19. Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one.















Sunday, September 11, 2011

What is a kernel?

What is a kernel?
     A kernel is more or less a resource manager that manages things like processes, memory, and hardware devices. The kernel also allows access to resources in which multiple users compete for. 

There are seven sub systems of the kernel to manage the system and it's resources, these include

  1. System call interfaceThe SCI allows a user space application to interface with a service the kernel provides.
  2. Process management- Focuses on running processes and puts in place a scheduling algorithm so threads or processes can share the CPU.  
  3. Memory management- Sets up and manages pages, keeping track of which ones are full, partly used or empty. When many users or processes eat up all the available RAM, then swapping takes place and less important files are relocated to the swap partition.
  4. Virtual file system- The VFS specifies a standard interface that each file system must support and is a buffer for common functions like read, write, close, and open.  It also interfaces for device drivers.
  5. Network stack- This sub system provides users with a variety of network protocols such as TCP and IP and makes connections allowing data to be moved from one node to another.
  6. Device drivers- Device drivers are just that, device drivers. A peace of software or code that allows the OS and hardware to communicate.  In Linux the drivers are coded right into the kernel.  
  7. Architecture-dependent code- Code that is dependent on the architecture of the CPU and available for other operations that may depend on the architecture.
     So that is my very basic overview of the Linux kernel, what it does, and the seven different sub systems involved. 





Tuesday, August 30, 2011

7 Things You Don’t Need to Know About Me


1. I have lived in the Reno area for just over seven years and was originally from Spokane, Washington.

2. My major is Computer Info Tech, Networking, which is a good place for me to be starting but I’m not sure if I’ll stick with it in the long run.  I love working with computers but unsure what area I really want to focus on yet. 

3. I think I have a computer hording problem…  after really cleaning things up and cutting down on the working and non-working PCs and components in my apartment, my wife and I are now down to only five computers.

4. I collect classic games systems and have a lot of different console including all of the ones put out by Nintendo and all of the systems put out by Sega minus the Sega Master System.

5. Although I do love to game and watch movies, I really get the most enjoyment from outdoor and physical activities like, hiking, camping, or rock climbing.

6. I have been married almost four year now and we have no kids, but we do have three super sweet Guinea pigs named Piglet, Fluffy, and Pokey.   


7. Not sure if this is a required class for me when referring to what credits I need to get a degree, but it is in the way, that I am so sick of windows and want to attempt to make the move to Linux as my main OS.