Archive for the ‘Uncategorized’ Category

Once I was out of High School and College, I was glad to get way from peer pressure.  I was glad my choice of shoes, pants and shirt was not the subject of other’s conversations.  I was never part of the privileged or influential few.  I was rather part of the unimportant masses.  Those judged by others and marginalized by many.  I thought that was over, but I recently realized that once again I was chasing after something that, in the end, really didn’t matter.  What was I chasing?  The latest version of a software package.

I have been running Manjaro Linux for the last year and a half.  I like the distro and it has run well for that time.  My only gripe was about the sound.  For me, it was always not quite right.  I had trouble keeping my speakers running, but my headset jack seemed to work all the time without a problem.  I wanted a non-Ubuntu, rolling release distribution.  Updating every year or so was just ridiculous and I really am not crazy about the direction that the Ubuntu people are going.  I use the XFCE desktop and I has been running great.  I slowly realized I didn’t need most of the updates that were being incorporated into my install every couple of weeks.  It was then I realized I didn’t need a bleeding edge version of my software packages.  I also didn’t need a rolling release.  I also realize using a long term release candidate was ok.  After some looking around and evaluating, I have settled on Linux Mint Debian Edition (LMDE).  I have always liked Cinnamon as well.  Now I know I have been waiting for  LXQt, but I also am not ready to use the version that is out there now.  So I backed up what I wanted to back up and went ahead and Gparted my drive to prepare for re-installation from a USB 3.0 image.

So far I have loved my new install.  I am setup for dual boot.  I am going to get a version of LXQt installed to see what it looks like.  Not sure if it will be Siduction or Manjaro with LXQt.  I don’t need bleeding edge versions, or a super small memory footprint.  I just need something to run this old Toshiba Laptop and be able to do the few things I do with a laptop.

I have stepped away from peer pressure once again and it feels good.

 

I am back

Posted: January 16, 2015 in Uncategorized

I am back and will have new content soon. 

The brief answer is you.  Since most computer users started with Microsoft’s products, we have a mindset that someone else is in charge of our computing experience.  As for operating system updates, Microsoft is in charge.  They have moved more and more toward automatic updates rather than user controlled updates.    Upon moving to Linux, I have kept the old mindset of the maintainers of the distribution as the ones being in charge of my Linux.  The truth is, Linux is open source and I, the user, can learn and understand each part of Linux and even become the maintainer of MY install.  Well, we  Linux users  need to take charge and realize WE are in control.  I have come to that realization and have taken my first step to controlling my Linux install.  I will update my Linux when I want to an with what I want to.  This will cause me to have to learn more about Linux, but the info is there, I just have to read it.

That first step is compiling a kernel for myself.  I watched Linux4UnMe ‘s YouTube channel.  He had a video up on Vanilla Kernel Compilation Tutorial (Ubuntu, Mint etc) which is here   I completed my first kernel compile on CrunchBang.  Nothing went wrong.  There is a tutorial on their site I used but use his instructions.  The one thing I discovered is when it gets time to do the ‘make menuconfig’ there are some options.  ‘make oldconfig’ uses a command line choice which is mind-numbing.  I did it that way.  DON’T use this.  ARGH!  This option just drives me nuts.  It would be useful it you were compiling a kernel without an xserver being installed.  Use ‘make menuconfig’ or ‘make nconfig’ instead.  It gives you a better way to learn the different options to set when recompiling a kernel.   This experience has got me thinking.  I am planning to load a fresh install of XFCE on Crunchbang.  I HATE openbox, but love the Wheezy underneath.  I can update Wheezy, but openbox is what it is.  I plan to learn how to update the different OS parts.  I might even uninstall all software but the terminal, editor, and a few other minor pieces of software so I can then work my way back up and install fresh copies of what I want.

Time to dig into manuals to see how to upgrade the gcc compiler and its proper dependencies for a 64 bit version of Linux.

 

Take charge!  It is your Linux.  Decide what gets updated and when.  You can do it!

It was the best of times, it was the worst of times . . .  I never actually read the book “A Tale of Two Cities” by Charles Dickens, but a book covering these three kernels and how they interrelate would be fascinating.  A few years ago I heard of the Hurd, and I wanted to see what was up today. (Yes, I couldn’t resist that play on words.)  I then decided to see how BSD and its derivatives related to GNU/Linux.  Here’s the tale . . .

It all started with Bell Lab’s product called UNIX, which stands for Uniplexed Information and Computing Service.  The unique trait with UNIX is that you got the source code for the OS as well as other things.  That way you could modify it and recompile it if you wanted.  The compiler for C was the new thing because for the first time, source code was portable because you just needed the pcode to assembler part of the compiler in order to take source code written in C to compile for your machine.  A group from the University of California, at Berkeley got really aggressive and heavily modified and ‘fixed’ some issues they saw with UNIX.  In fact, their fixes and adjustments to UNIX were so popular, they made it available.  Computer Scientists really studied the code and the methodology behind this new and powerful system.  UNIX was made available to Universities at a lower cost so that people would be hitting the market trained to operate and maintain the UNIX system.

About the same time, a new computer innovation hit, the 16 bit home computer.  Computer Scientists wondered if they could bring the UNIX system to the PC.  There were many in Berkeley, who tried this kind of project.  They called themselves Berkeley Software Distribution (BSD).  Many used the letters BSD (Berkeley Software Distribution) in their project’s name.  The Berkeley modifications to UNIX had the letters BSD associated with it.  Soon AT&T sued the Berkeley group because they were worried about their intellectual property rights and wanted to make sure Berkeley wasn’t taking code that was constructed by AT&T and using for their own purposes.  This lawsuit put a hold on everything that had BSD in its name.

A man by the name of Richard Stallman announced on Usenet the founding of a project he called GNU.  It stood for Gnu is Not Unix.  Its goal was to make a version of Unix, following Open Source standards.  It was, as I understand it, to be in the spirit of Unix, but not a dedicated port of Unix.

What is a kernel? As I currently understand it, it is the program that interfaces with the physical hardware and the applications that a user wants to run.  BASH, Firefox, apt-get, and almost all commands from the terminal, as well as your desktop apps are just that apps that the kernel runs in coordination with other things.  All operating systems need a kernel.  Kernels are designed with a certain philosophy in mind.  One type is a monolithic structure where everything is together.  Another type is a distributed kernel where the different tasks are run concurrently and they communicate with each other.  This, from my understanding, is called a micro kernel structure.  Unix, from Bell Labs, has a micro kernel structure.   Back to our story . . .

Stallman wanted a micro kernel structure due to some perceived advantages.  Just before the GNU project was announced.  One of the BSD projects, which became known as FreeBSD was coming along nicely.  The FreeBSD OS is a ‘port’ of Unix without ripping off AT&T’s intellectual’s rights.  FreeBSD is developed and maintained as an entity.  Stallman’s GNU project was to be a community effort.  This means there would be many maintainers and developers.  This is one of the BIG differences between GNU and FreeBSD projects.  Stallman was tempted to choose the BSD kernel, but due to the lawsuit, he stayed clear and started the Hurd kernel project which would be the center of the GNU operating system he proposed.   HURD stands for HIRD of Unix-Replacing Daemons and HIRD stands for HURD of Interfaces Representing Depth.

Somewhere in Finland, a young man who had been captivated by assembly programming on his VIC-20 computer, began a quest for this new computer, a PC running an Intel 386 processor.  He also had discovered a work called Minix.  This is another work where the UNIX foundation and design was ported to a PC.  Using an open standard, he began work on a kernel, not because of Stallman’s announcement  as I understand, but because it was in his nature to write a kernel because he was enamored with assembly programming.  His announcement totally stunned the world and drew the focus off of the HURD project.

Having a working kernel, even though it is monolithic in nature, was better than no kernel, and the dream of getting the GNU system running was very intoxicating.  So intoxicating that the GNU project became known as Linux.  Now this name change has been disturbing to Mr. Stallman.  That is why I refer to it as GNU/Linux rather than Linux.  If HURD gets to a workable state, which I understand it is to an extent, then the releases are called GNU/HURD.  Debian Project is one of the entities working on the HURD kernel.  In a very short time, Linus’ kernel was turned into a working kernel and the GNU/Linux operating system rose to life.  The HURD project has suffered from a lack of support due to most people not really caring about the architecture of the kernel in their computer’s operating system.  I believe very few people even care about such heady and intense considerations.  I also don’t think most people care about the Open Source movement or the Free Software Foundation and the philosophy behind them.  They just like the free OS and apps.

I wonder what would have happened if Mr. Stallman had chosen the BSD kernel?  What would be different today?  Would we even know about Linus Torvalds?  What do you think?  Give me some feedback.

One of the best things I like about GNU/Linux is the choices that it offers.  You can do so much with GNU/Linux.  GNU/Linux allows you to adjust and tweak settings to your liking.  Open Source philosophy allows you to read manuals and dig into the guts of the system to make it what you want.  That is right, you can adjust many, if not all, parts of GNU/Linux.  If you wanted, you can get all the source code and compile it just for the computer you want to run it on.  Most people don’t get started with GNU/Linux that way though.  The process to compile and assemble a working box takes some skill and effort.  Most people get started with a version of GNU/Linux that is easy to install and use.  Ubuntu is that distribution that many people have started with.  Though, many move onto a different distribution for one reason or another.  For me, though, the ability to tweak is a trap.  I start to tweak and then sooner or later I don’t know when to stop.

Other than icon sets, cursor sets, wallpapers, window themes, and sounds, you can also load applications to do system tasks to your liking. There are many built in programming languages.  Bash, which is great for many tasks and is mostly used in the Terminal Window. Python is an open source object oriented language.  Java and C/C++ are also easy to install an IDE to compile and run.  C/C++ come with every version of GNU/Linux and just needs an IDE to use.  The best choice is Eclipse which can be used for both Java and C/C++ development.  Not to mention the thousands of apps that do this or that.  And that is where I am at, in tweaker’s paradise.  I don’t get anything accomplished because I am getting everything the way I want it.  Well, today I am calling a halt to that.  No more tweaking.  None.  I am running with what I have and what it looks like.

So, when you use your Windows system, realize I have choices you don’t.  I have options you can never have.  Linux.  It is a great choice.  You need to check it out.  Try a Live CD of xubuntu, which is my favorite, or Kubuntu, or even Ubuntu.  You might discover the fun in computing again.

I have been wanting to learn Java for a while. I recently decided to choose a project to stimulate my learning of the language. Give my learning some focus and attention. If you have been ready this blog, I am developing a 4X strategy game. Well, as I have been reading on Java to remind myself and to understand some of the basics of Object Oriented Programming (OOP) I have grokked the concept of polymorphism. Well, not grokked, but I understand it now. I see a purpose and a reason for it to exist. Here is how I understand polymorphism. If anyone has anything to add or clarify, go ahead and post something. I would love to understand or have clarified anything I have wrong.

Polymorphism of SHIP to FREIGHTER

Polymorphism of SHIP to FREIGHTER

Polymorphism is a way to reuse a class. If a new class had to be made for everything, then the language definition, let alone any complex solution to a computer problem would be huge. The purpose for polymorphism is to allow reuse and redefinition of a class. In my case here is how polymorphism helps. Any 4X Space game will have ships, lots of ships. If I made a class for every ship and every modified ship, then I would have a real bloated program, but with polymorphism, I can do some very cool things. Here are some basics. I can define a basic SHIP class that has the properies of hit points, attack strength, defense strength, owner, location, and speed. All ships in my game will have these properties. So instead of writing methods for each ship to move, attack and repair, I can write it once in the SHIP class. So ALL ships will move, attack, defend, and repair the same basic way. This helps to add consitency to my program. I can still have varieties of ships by extending the SHIP class. One way to do that is to create a Freighter and add cargo space. I will later write methods that will load cargo and remove cargo for the freighter class.
I am still prototyping the classes and ideas, but I am looking forward to developing this because it is giving me some concrete examples of how to use items in OOP that I previously didn’t realize how to use them.

I read this quote on a discussion board. I really like it and it gets to the heart of the purpose of the user interface:

The day that these monster one-man army developers start doing GUIs, they will conquer PC gaming. I love their ideas, but if you are unwilling to bridge them to me, then the effort I have to make can be outright frustrating and disappointing.

Basically they are the equivalent of your brilliant but absent-minded and introverted university professor in gaming.

The key is this quote “bridge them to me” a user interface is the way the developer brings into focus the game play and data that is necessary to play the game with enjoyment. Too much data and the user is confused. Too little data and the user has no creativity to express in the game.

This quote has gotten to the heart of the matter. A game can be great, but the user interface can make the game unplayable or confusing.

We’re in a heat wave.  I keep hearing Global Warming.  I don’t believe science has enough data to know.   I realize that there is something going on, but how do we know it is not a local increase rather than this drastic, permanent increase?  Any function can have a local increase or decrease, but is the function overall increasing?  That is where I wonder.  I am tired of the Chicken Littles of this world.  Blaming everything on Global Warming.  The recent cold winter, a year ago, was blamed on Global Warming.  Everything outside of a narrow band of expectation is blamed on Global Warming.  Well, let us make sure we are right.