Archive for the ‘ IT ’ Category

Compiling Linux

Yesterday I compiled my own Linux kernel and although it wasn’t actually that hard in hind sight, it did take a couple of days and many hours work. I am super proud of myself 🙂

What is the point of compiling your own copy of linux? Well many of the sites around babble on about increasing support for drivers or making your system quicker. But to be honest I don’t really know why you need a copy of linux you made yourself, the reason I did it was so I can work on directly programming to output ports on my computer (And to do so I need a few deleted files that can only be regained with a fresh compilation).

So here is how I did it (Not that anyone else will need to):

  1. Firstly I did everything on Ubuntu (12.04), I used a virtualised system so I didn’t mess up the computer I use everyday.
  2. Next I got Ncurses, it is used to make the menu where you decide what the new Linux will support.
  3. Download the kernel; I saved it to the desktop but in hindsight saving it to the home folder is probably better. Unzip it
  4. Next navigate your terminal to where you saved the the unzipped kernel.
  5. Type ‘make menuconfig’ this is where you say what hardware you have (to make sure your Linux doesn’t support extra stuff your computer doesn’t have).. Because I didn’t care what my kernel did I just exited straight away. The program then creates the .config file that will be read when creating the kernel.
  6. Type ‘make all’ this is where the computer reads all the source code you downloaded, matches it against the settings you created in the last step to create something the CPU can read. Note that if you downloaded the most recent kernel (3.6) you will see that it is around 80mb. THIS TAKES AGES TO COMPILE. Legit you type make all then wait like 6 hours while the computer does it’s thing (Depending on how fast your computer is).
  7. Wait some for it to compile.
  8. wait some more…
  9. Then it will finish compiling, you feel a rush of relief then you quickly do the next step before the computer decides to change it’s mind.
  10. Type ‘make modules_install install’ and wait like half an hour for it to finish installing.
  11. Restart your computer.
  12. Type ‘uname -r’ and notice you have the version of the kernel you downloaded.
  13. Bash head against wall..

After all this my Ubuntu actually ran slower and was more painful to use, but irregardless I have a copy of the Linux kernel that I compiled on my own.

Note: This is the tutorial I roughly followed.

Note2: What is a kernel? I actually am not sure myself, I think it is what programs talk to when they need to interact with hardware. I.e you press save in Microsoft Word and MS Word goes ‘Yo, Mr Kernel, I need to save this shit somewhere’. The kernel then goes ‘yer no worries mate’ and does all the work but is never recognised.

Almost there

I doubt I am the only one who thinks to themselves that they are ‘almost there’ when learning new things. I find it happens a lot with my programming. I finish one book on the topic, but then I need to read another because I feel so close to knowing everything I need to know.

But I guess this is the problem, focusing on the finish and not the journey.

However it would be nice to know how far up on the progression ladder I actually am.

Software Patents

When the first spreadsheet program was made it revolutionised business. It became known as a ‘killer application’ because it alone made having a computer worthwhile to many businesses. If software such as this is made the owner should get recognised. It is ground breaking and the creator should be rewarded for his/her amazing talent.

However these days rarely does software gets created that is of this calibre. But the low quality software that is created is treated as if it has the right to the same spotlight.

If you talk to a programmer you will always hear how the profit driven managers always push them to create code cheaper. This profit motivation leads to low quality software. In fact programmers trying to create solid code will often be scolded for wasting company time.

If an individual or team creates a killer application that is coded well they should be rewarded. They should have market dominance to allow them to recoup the costs of the application and be profit for their contribution to society.

Companies that push for lower quality code then create a vague patent should not be rewarded, this is not innovation nor is it contributing to society.

Until patent cases learn to distinguish the two legislation will always be messy and will never promote innovation.

********

Patents should probably be awarded to people, not to companies. Company patents lead to hoarding while personal patents would lead to companies hiring amazing developers so they can create the innovative products.

Time for Linux to shine

It’s almost common knowledge that windows operating systems are sub-optimal, the only reason that they are popular is because they are everywhere and software will always work on windows. This is a feedback loop all the way, people use windows because their favourite programs are on it and their favourite programs are on it because people use it.

Apple has had some good growth in operating system market share. Their computers are pretty solid and are a breath of fresh air to users because they don’t explode on touch. However since the death of Steve Jobs I doubt that they will continue growing (Jobs put a ridiculous amount of effort and vision into his projects).

Since the pre-release of windows 8,  people are realising that it is not the right operating system to convert to. Valve, one of the important ways for gamers to get games has noticed this. With a good proportion of tasks possible from inside a web browser, and computer gaming soon to be available on Linux, maybe people will be motivated to switch to the free operating system.

I had wanted to learn the Unix system for a while and I switched to Ubuntu last time windows crashed on me. I soon learned that if I want anything from windows all I had to do was make a virtual session (Which is really easy).

Considering that the competition is dwindling Linux might be around more in the future. I am never going back, hopefully the rest of the population will agree.

Beauty in Inatimate Objects

I caught myself yesterday sitting in awe of the beauty of two mathematical concepts yesterday. Literally, I just sat staring at these ideas for 5 minutes because I couldn’t believe that they were possible:

  1. The first is a way of encrypting data, the XOR cipher. The reason I am so amazed by this cipher is because of how simple it is (Granted it is probably too simple to do anything worthwhile) but as I saw this tiny program decrypt useless information into meaningful data I couldn’t believe it. It’s tiny, it’s simple, it’s beautiful…
  2. The other one was Division by two in Binary; simply by shifting the bytes right one place you divide the number by two (Upon further research I realised this was related to shifting the decimal place in a normal [Base 10] number system, it divides or times the number by 10). Again, so simple, so beautiful…

But enough of being nerdy, the point is that the more I research and learn about this stuff the more I appreciate how amazing some of the methods within are. This apply’s to other area’s also, after studying anatomy I began to appreciate how complex everything in the human body is.

If you look hard and deep enough into anything you will find the beauty behind it. This guy stared at screws for a while and began to appreciate the beauty behind them!.

Occasionally when you wrap your head around a concept you can’t help but be dumbstruck by everything about it, it’s like discovering something that is flawless but at the same time indestructible.

This type of beauty is superior than the visual definition of beauty (e.g. “Look at all the Colours!”), it inspires you to move forward and clears all doubt that you are following the right path. When something has the capacity to do that it should be cherished.

I guess the conclusion I came to is that everything is beautiful, and it should all be cherished. Because it’s friggin crazy that anything exists at all.

 

I.T. in the Workforce

An interesting thing I read a while ago is that many people go into IT because they have some computer literacy. As a kid they pulled apart things and were pretty good with computers. But then they apply for a programming job and have to compete with all the computer whizzes.

On the other hand, using their computer skills but applying for ANY other job they become really desirable to employers, and are at the top of the applicants. IT skills are extremely valuable in every industry except computing (where its assumed knowledge).

So these people could have done so much better if they had avoided the computer industry simply because then they are  so valuable for business.

 

Technological Singularity

Yesterday’s post on the end of the world was rather depressing, and there is a decently sized part of me that believes that we will bring such horrors upon ourselves. However my more optimistic side believes we will actually transcend into a technological singularity. I base the assumption that this is more probable because the people predicting it are physicists and doctorates rather than survivalists and anti-technologists.

This post will be in a similar format, what is the singularity,  the traits of a post-singularity society, how to excel/survive in this society and my conclusion on it.

The idea behind the technological singularity is once we develop our computing power and AI techniques to a certain point (referred to as the singularity) they will become self optimising. This means that robots will be not as smart as humans initially but they will be self aware to the point where they can improve their replaceable components (Most importantly their brain). Combining this with inter-robot digital communication (copying files is faster than being taught something) will mean that their ability to learn will grow exponentially. Soon after they will be many fold smarter than us and improving everything we do in ways we will not understand initially (But this includes improving nano-technology which has the ability to bring humans up to their speed).

Hyper-development of our species will arise and every single problem that has ever occurred will seem simple and insignificant.

Many fear AI development after watching The Matrix and Terminator but they are being irrational because energy creation (from the matrix) will be renewable and infinitely easier from nanotechnology, and, the terminator assumes that they want earth for themselves (They will realise that life in alternate reality is better than physical reality.. plus if they really wanted it we would have no chance and would fall instantly).

Anyway here are the characteristics of a post-singularity world:

  • Physical products and services cost approaches zero
  • Daily scientific developments (probably hourly)
  • Problems such as famine, environmental damage, and power consumption will disappear
  • Immortality (and regained youth)
  • Instant downloading of every skill you ever want.
  • Total Equality (Will definitely be a socialist society)
  • Total connection to everyone at all times
  • Probably no anonymity, unless you want that (Robots don’t judge or care anyway).
Everything physical will be manipulatable and the value of information will sky-rocket.
So the things that will be useful will be creativity and the arts. Not that that will be a problem, you will become totally knowledgeable in every field you ever dreamed of and combining this information will become natural for all sentient beings.
In general you don’t have to worry about anything except boredom, but then again finding fun challenges in alternate realities will probably occupy most of our time.
For any who are curious, the singularity is probably 40 years away.
So in conclusion when I hit about 60 life will change permanently (Most importantly, total reversal of the ageing process). So enjoy your life for the time being, If you are reading this it means you have access to the internet and are in the small percentage of the worlds population that is privileged enough to be on the receiving end of inequality. Inequality exponentially rewards the few (Have you ever partaken in the miracle of FLIGHT for example), so have fun while this lasts.
The only thing to be concerned about is living long enough to witness the singularity, so EAT HEALTHY, exercise, and all that other tough stuff that extends your life as a mortal. Because it would be a shame to miss immortality by only a couple years.

Software Patents

Its all around the news, companies suing each other back and forth to try and gain royalties from as many products as possible.

Things like “devices with touch screens” should not be patented and the purpose behind this is pointless, no inventor is protected nor is there any safety from “loss of innovation”. To name a few resulting issues of software patents, Microsofts own division dedicated to android royalties, trolling companies where no products are made only lawsuits filed, and companies fearing development due to the risk of lawsuit.

The logical conclusion is that software patents should be excepted from the patent office or at least have their effectiveness reduced to a couple months (Years of patent protection on products with life cycles measured in months).

But I suppose courts always take ages to respond to new world problems.

IT and Software Dev

I have always had a keen interest in computing, as a kid pulling apart toys and building things with lego evolved into skills in this area. Although I don’t study computer science I make an effort to read and program as often as I feel motivated to do so. Recently I had a project in website design and I followed the youtube channel and taught myself a heap to do with HTML and CSS.

A few months back I worked through dive into Python, MySQL, PHP plus a little of Javascript.

Also I read up on TCP/IP.

The following goals I have to teach myself in development are:

  • Further knowledge in Python
  • Assembly
  • Graphics programming
  • Android Development (Java)
Normally I can pump through a large amount of material in these areas if I manage to motivate myself. This motivation to do Hours of reading comes in bursts but as the war of art (If programming is viewed as a creative pursuit) states, the way to overcome these demons is to simply be consistent. If I simply sit down and force myself the motivation will eventually come.
I am really interested in this as having the technical knowledge is complementary in becoming a technical founder/co-founder of a start-up.
Now for the motivation…
Design a site like this with WordPress.com
Get started