The Masses Don’t Exist

Some food for thought: If Linux/open source is so great why hasn’t it reached the mass market?

It’s an interesting question, especially for someone like myself who wants the open source/software libre movement to succeed both socially and economically. This question should interest even people who don’t really care about software or programming. Because if the FOSS community and companies could demonstrate that doing business in an ethical manner, and even show that ethical business can do perform better than “ethically neutral” business; this would have a huge impact on society.

However the term mass market is actually confusing. The mass market does not actually exist. In business, you don’t actually sell for the “masses”, but for a wide aggregated market of various consumers. A word processor (like Microsoft Word or OpenOffice or KOffice) works well for teachers, students, writers, office workers, secretaries, et cetra. But each of these kinds of individuals is actually a narrow (vertical in bizspeak) market. The word processor as a product just spans such a wide market, because its similar functions work a vast number of these vertical markets. Would you call a tool like a screwdriver or hammer as a mass market utility tool? Probably not.

So where does the so-called “mass market” exist? Only in the minds of individuals. The masses are a derogatory term used for a group of people whose lack of judgement makes them a prime target for exploitation by unscrupulous individuals. Even the wisest of people, act without reasonings things through. Some of us do so more than others. But humans are not herd animals and we should not be treated that way.

Unfortunately some people, organizations and companies want the mass market to exist. The mass media wants it for profit and power. Tyrants want it for profit and power. Seeing a pattern here? Nothing good for the majority of the human race can come of this kind of thinking. These organizations and individuals simply want to exploit the most vulnerable. It’s a good to see a tyrant brought down by the so-called “masses”. And it’s a good when we see the mass media, the mass publishers, and other mass market companies to suffer when their “mass market” leaves them and punishes them economically.

The truth is everyone a unique individual with unique talents, a unique background and unique needs. When you view persons as individuals and not as members of some “group”, then the masses simply don’t exist. Modern societies, law, technology and business theory are all based on the concept of individualism. And those who refuse to treat people, be they citizens, clients or end users with individual human dignity should be and will be punished for their folly.

Getting back to the commercial adoption of open source and Linux. Since the masses don’t exist, no single effort of the open source community is going to replace all the world’s computers operating systems with Linux and a free desktop. Rather Linux as a platform needs to suit the needs of the end users or clients. The business opportunities around open source and Linux are myriad. The real issue for open source business is to come up with a sane business model.

There will be no “Year of the Linux Desktop”. For some it already has happened. For some it still has not yet come. And for others Linux and open source will never work. Wide adoption of Linux will only occur if it meets the needs for a wide variety of individuals.

Task Logs – Managing Fragmented Time

As promised last week, an update to my self-experiment. After a week of battle testing, consulting with Lina (my university counsellor) and observing myself, I can report success in with my self-experiment. But first, lets backtrack to the “theory” behind my idea.

Last Friday, I came up with an idea to deal with creating continuous spans of work time in an environment that distracts and fragments time into sections. Fragmented time caused by distractions, creates a feeling of disorganization, confusion and frustration between switching. The greatest problem I found with switching between small tasks and my main (course) work, was the inability of getting back to the work. After some problem, I realized that I encountered this problem and a solution in another place, operating systems design.

Modern operating systems seem capable of multi-tasking. Yet the majority of computers have only one or two processors (hyperthreading and multi-core acting as two processors each in some degree). So how can a single processor run two servers, a media player, a web browser, and office suite at once? It doesn’t! The operating system switches between individual tasks rapidly creating the illusion of multi-tasking.

The CPU can switch between tasks without loosing its place by logging. Before the processor switches tasks, the operating system notes what the processor worked on, how far it got and other relevant information. I applied this same idea to enable fast personal context switching.

Before I switched from a major task to another one, I logged what I worked on. The log details the task, what I needed to do next and any ideas I wanted to remember. In its basic form (one form I use along with an activity log) I note the name of the task, what I was to do next in the task, and a bullet form list of notes. Additionally you can jot down the importance, due date, urgency and personal emotion (look at my modified activity log sheets) on the task log.

When I discussed this with Lina, she was quite impressed. She pointed out that this method, deals with the three issues in time management: organization, motivation and prioritization.
The task logs firstmost are organizational tools. They behave sort of like more advanced todo lists, and help you organize your thoughts about a task. Task logs also help motivate you. They show your progress, set your mindset toward the task and motivate you to finish off the task quickly. Finally task logs help with prioritization. Sitting with number of task logs in front, can help you decide which needs the most attention in a given time. In the short I have used them, task logs helped me switch between activities efficiently.

I like task logs, in that by helping me switch from and to a task, I can work on different tasks without a long “warm-up” period. Anyone who deals with lots of writing knows how difficult it can be to put pen to paper. And if something interrupts you, when you come back to writing you need to get back into the mindset of the task. The task log shortens the warm-up time, effectively “stitching” my shorter fragments of time into a single time span. With a task log, I don’t have to sit and think “What do I need to work on again? And what did I want to do?”. Instead I can look, and say “I did this, I need to do that… so… lets work on that task now.”

But even a super-fast CPU finds switching between tasks expensive. Taking task logs takes more time than doing without them, if you never needed to switch between tasks. In an ideal world, we could work on one thing at a time. Unfortunately, the ideal does not exist and so we need to deal with issues like fragmented time. And I believe task logs can help with fitting long term projects into shards of times and making me more productive.

Check out this page on mindtools.com on activity logs.
I will post a sample of “emotional” activity log and and a sample of my task log, sometime tomorrow.

Self-Experiment: Fast Personal Context Switching

Time for a self-experiment, where I get to play the part of the guinea pig. And you get to observe the final results. Speaking of time, this university semester I felt rushed and busy like never before. I found myself with six assignments/exercises a week, and in a constant lack of time. In response I started going to time management counselling. Armed with calendars, todo lists, activity logs, my trusty PDA and advice from Mindtools.com, I felt I could do no wrong.

I discovered a problem that kept holding me back from achieving more. At home, with all things going on, my time become extremely fragmented. The fragmentation frustrated my attempts at coming up with a coherent schedule and sticking to it. And getting into the mood and mindset of performing school work – assignments that I tried to avoid – felt like climbing Mount Everest again and again. However when I interrupted and continued games between chores, I did so without missing a moment. Why could I do one well but not the other?

When you look at my situation, it resembles the life of a CPU. Why a CPU? Take a look at your computer. Your computer with one CPU can multitask well. The CPU seems to work on many things at the same thing. In reality, one CPU can only do one thing at a time, but the operating system switches the tasks for the CPU. Under Linux – the OS I use and understand best – every program (process and thread) becomes a task. The OS allocates a certain amount of time for executing a task, and then switches between them. Whenever the OS switches, it stores a record of what task it was working on, how far did it go into the task, and any extra information it needs to restart the task later. The OS then starts or continues another task. Eventually, the OS gets back to the stored task, retrieves it, figures out what to do, and executes the task until the next switch. So what?

Well, I often have to drop one thing and pick up another. Just like an OS, I switch from one task to another. Yet when I re-start my previous work, I sit trying to get into the work again. Being the distractible type, I get fed up and wander off to game instead of homework. And I need continuous blocks of time to do work in. So what to do?

Remember how the OS stores some information of its work in one task, before it switches? Well this week’s experiment is do the same. Before I go off on another task, I will write down the following:

Task: (what was I working on)
Working on: (which part or section I was working on)
Self-Progress: (how I am progressing through this section – well, badly, struggling, etc.)
Next work: (what I need to do next)
Notes: (any important things I need to jot so I don’t forget them)

Well this work or is useful? I have a pad of paper and pen ready, and we will see. Next week, I will post any interesting developments and results of this self-experiment.

Recovery!

Its been while since I’ve been online. There is a real good reason for that. I recently had a few issues with Kubuntu. Basically I started modding my setup a good bit. Things basically started not working, and I couldn’t get the system to work as I hoped to. So I attempted to reinstall Kubuntu, and thats when things went from bad to worse. Really worse.

Instead of doing something productive, I had to deal with worst case scenario reinstall. Yes worst case, without hardware failure. The past few days have been mostly picking up pieces and rebuilding my computer into a Gentoo Linux box. For those interested with the itsy-bitsy, tech-linux-geek details read on. As a sidenote after noticing other bloggers, I have decided upon writing shorter blogs. Each entry will a particular theme, not just a massive mixed stream like my previous entries.

The devil is in the details they say. Its true. Before I started to do anything to my setup I should of backed everything up using my DVD-R drive. This would of made things simpler and faster. Needless to say, I didn’t actually take my own advice, which lead to a series of nasty events…

I had read up on XFS during an Operating Systems assignment, how cool it was and everything. So I decided to use it. I was previously using Ext-3 which is the slow, but steady standard filesystem of Linux. Having a separate partition for / and /home I really wasn’t worried. So I installed Kubuntu 5.10 with an XFS root. I ignored the warning about GRUB and XFS not playing well together. (GRUB being a bootloader) The installer had wisely chosen LILO (an older bootloader), but I though nothing off switching it to GRUB being a fan of that particular program. The new system wouldn’t boot. I was stuck without a way into my Linux or my Windows partitions.

A few things I learned MUCH, MUCH later, is that XFS is meant exclusively for massive, high through-put servers. Also that older versions of GRUB would simply die when dealing with XFS. Hey, and I verified that.

So I tried a number of things. Reinstalling Kubuntu 5.10, leading to GRUB errors. Installing the funky new Ubuntu 6.06 with graphical installer. The installer took one look at my messed up partitions (compliments of Dell for being too kind and adding two extra restore partitions, then mucking them up too). So I tried going back to Gentoo. I tried the brand new Gentoo graphical installer, which died out like Ubuntu’s. I decided upon using the console installer for Gentoo. After it died, I realized to my horror that I had or it had wiped out all my partitions. Panic!!! My precious files… gone… nooooooooooooooooo…

I was honestly truely panicking. I looked for a way to boot into Windows and using a partition restorer. No luck. Now I was really in a tight spot. Most of my data was not backed up. And now I couldn’t access it. Then I read a post somewhere, that it was possible to recover it in Linux.

I used gdisk to find the last known parameters of the partitions. Then I guessimated them using fdisk. I then crossed my fingers and installed Gentoo the old fashioned way, by hand. Not extremely fun, but at the end of it I had a working Linux system. After adding GRUB back into its rightful spot, I could now boot into Windows and Linux. After getting into Linux, I learnt that my partitioning was off by a little bit. After coping over the data into the working root partition, I found that only some non-essential files didn’t make it. The next few days were rebuilding, reconfiguring and yes, backing up my data onto DVD.

So the story ends happily with mostly safe data, a working Gentoo system, and I almost have it configured to my desire. Needless to say, that was a close one. Phew!

Morals: Never give up, even the seemingly irreversable is possible. And BACKUP BEFORE DOING ANYTHING SLIGHTLY INSANE!!!!

Finally Peace?

Hehe I hope so. The peace part I mean. Err… I’m getting ahead of myself…

Finished my second exam today, this one being for Programming Languages. Not pleasant, since there was a good degree of Scheme on it. I actually hoped for more of a theory exam but no… mostly Scheme, Prolog, a BNF, and implement pseudo-language question thrown in for flavour. I finished in the expected time, a good chunk of my answers felt weak, so not too happy. None of this means that I will fail the course. So far I have not failed a single assignment or the midterm. In fact I’m expecting a 55-65% mark overall. Nothing to balk at in general. Still I learned alot of what makes a programming language, a language. I learnt about 3-4 new languages: Scheme, Prolog, ML and C++. Overall a pretty good achievement.

On Monday I had my Operating Systems exams like I mentioned. One word says everything about the exam: cakewalk. I got every question, finished a 3hr exam in 1.5 hours, and nearly all my answers were as airtight as… well… think of the most airtight thing… and then take that to the exponent of 100. Oh yeah! I must confess that I am bit of an expert in operating systems, being overexposed to the topic by playing with Gentoo Linux, Minix and reading Andrew Tannenbaum’s Operating Systems books. Yes I read both of them. Anyways I am a bit of a freak in that sense. Come to think of it, many of my classmates consider me to be an expert in a lot of the theoretical-technical part of CS. Being a host for an oversized ego, I neither admit or deny the honour.

Life otherwise has been placed on hold. With one more exam on next Friday, I can finally get back to doing StudentABC work. Since Keith asked me… please, please go visit his site: StudentABC. Its an excellent resource for citations especially for websites. Works near flawlessly for MLA and APA. Heck, I helped do the research and test cases for it. In the near future we will have support for parenthetical citations too. Once I get my lazy butt over there to work on the test cases. And its a totally free service. (Probably should convince Keith to get PayPal though for donations. ;-))

The real progress has come in brainstorming for my novel, Beneath My Icy Cloak. I have come up with a real basic plot, a few characters, and have done most of the research about technology, etc. When I started on the project, I decided to cut out the fantastical “technology” most sci-fi has. I even scrapped all forms of FTL travel. Why? Cause its extremely unlikely to happen anytime soon (read as before the next millenia) and its probably not physically possible. I actually nearly got bogged down on selecting suitable starship drive technology. I finally chose a combination of solar/magnetic sails and nuclear propulsion drives for travel. After some tossing and turning, I decided to keep some warp tech. Yes it helps travel somewhat. But I made it that it is so unpredictable that its mostly used for… other uses. I guess I need a tiny bit of artistic license. Anyways, I have a location, a back story, and now all I need to do is to solidify my skeleton of the story. A select few friends will get the honour of helping me edit it. How long all this will take? I’m not sure. One thing is for sure, I will publish this one. I doubt it will make its way to your local Chapters-Indigo or what-not. But you never now.

Gotta run.

Easter… and Life After School

Happy Easter! I would say more, but it seems awkward. I’m try not to flow all over the place with emotions if I can (Yeah, whatever dude one glance at your blog is like listening to a emo-kid.), and so… If you are not the religious type, I hope you enjoy your time off and that one day you find the meaning for life. If you are religious, I hope you find the way for a peace-filled, prosperous and happy life. If you are Christian (just like me bro…) well we already know about God and Jesus, and how cool He is, and is love… in that case may He bless you and keep you this coming year. After all Easter is about His undying love for humanity. (And if you feel awkward, and are looking at me awkward, then go read G.K. Chesterton’s Orthodoxy. And stop looking at me that way.)

This Easter was a time of contemplation, self-reflection (Hey, its dark and empty in here!) and a soul-washing. Needless to say, after some scowling from my folks for past wrongs, an awkward confession with a priest, and some quality sulking (And depression) I feel much more empowered and tranquil. I know exactly what I need to do and how about dealing with my issues. So I’m in a bit of zen-like state. Only its not Zen, Buddism or anything resembling an Eastern philosophy. Nope, it good ole’ bible thumping (As if he reads the Holy Scripture.) Christianity. Now if only I could stop feeding myself on cake, and bouncing of the walls long enough to actually, like concentrate on prayer and stuff…

Its been 6 days since the last day of classes, and 5 since my last assignments. I feel very, very relaxed by those thoughts. I mean I just have 3 exams to deal with and then I will be done by Computer Science major. I’m debating whether or not to do either a major in Biology or a specialist in Bioinformatics or just finish university already. I’m leaning toward bioinformatics though… cause micro/cellular is flipping cool.

I actually have done work since my last post. I’m so impressed. I am productive, things are getting done, and my boss (and good friend) Keith is no longer unimpressed. I just need to keep this up. I got a unique job at my previous employer. Its not a development position, rather an office-rat job but I can try my wings at living/working in an office. Fortunately I already am familiar with the people I will be working with/under, so I will feel like a pea-in-a-pod. Awesome. I am thinking of getting a future job as a part developer/specialist in biology. I think that a synergy of biology, informatics, cybernetics and engineering will happen real soon in the future. I want to be part of it. Either that or get a job at NASA as a mission specialist/drone consultant. 😉

OK, this being my last semester of computing, programming has reached the natural and normal peak of being enjoyable work. I’m no longer obsessed by coding, yet I am still willing to develop useful applications as a hobby. I final realized what I thought was unobtainable. I’m competent in a number of languages, both ordinary and exotic. I can develop complex applications in the fields of Web, Internet, database, graphics and entertainment programming. I can think methodically, in a mathematical manner. I’m organized enough handle various styles of development. However, I still think my talents in biology, and communication could definitely use some work. And my personal and business skills need some polishing.

Talking about personal skills, I’ve picked up some tips and hints about dating. Definitely want to try those out sometime. I may not be a Don Juan (yet), but I think I have enough charm to keep a girl distracted long enough that she might tag along with me. (My calmer and less clingy self has gotten more looks, even from Kat… which she will deny to no end.)

In other news… Rudy wrecked his old Saturn and recently bought a “newer” Saturn wagon. Now the questions are has he learned his lesson (turned over car and upset but mostly unhurt friends inside) about “racing”, will those 6 demerit points make him a cooler headed driver, and how long will his new set of wheels live? My friends are begging me to enroll in a summer course with them, cause I would be ever so cool to be with. My financial outlook is looking very good, meaning I’m seriously looking into getting a car and pay for the insurance myself. I’m going to triumphantly return back to developing one of my started open source projects. Also plans are underway to finally write one or two novels this summer. So things should get interesting very, VERY soon.

Finally a shout to shaka0070. Thanks for telling me about Content-Type.com I will definitely take a look at that site. And thanks for reading! Now I got to run, I need to prepare for tomorrows’ Operating Systems exams. [Dramatic music.]

To be continued…

Here’s Some Snow For You to Eat, Mister Groundhog

It decided to snow yesterday night. Which meant the first thing I did this morning was shovel the driveway and sidewalks. Apparently something got messed up, since on Groundhog’s Day the prediction was that spring was to occur the next day. The winter had been ridiculously light this year, so everyone expected a soon spring. Even mother’s snowdrops burst out of the light snow cover around the old pine tree’s stump on the front yard. They are probably still there. Under around a metre of snow. I have yet to see metre high snowdrops.

As is the custom of Saturday mornings, the rest of the day has started off slow. No real surprise there. My folks have come up (dreamed up for the sarcastic alter ego in me) with a number of tasks that I have to complete today. I reiterate; no real surprise there. However, I plan to finish my journal entry as I promised yesterday.

University is the life for me, yahoo! Right… Third year course in Computer Science are starting to become interesting fortunately. (Side note: mom bugged me about undoing the 2 metre high snowbank on top the snowdrops. I guess we will get to see the snowdrops this year. That and seeing a grown man using his hands to move a 2 metre high snowbank, 3 metres to the right of its current position.) This semester will be probably be my last in the actual CS major program. Which means I will have the opportunity of maybe TAing next year, and be in class whose girl-to-boy ratio is not worse than 1:20.

This semester I am taking Web Programming (to satisfy the hacker in me), Programming Languages (adventures in Scheme and Prolog) and Operating Systems. All of these I find interesting, and I have yet to actually fall asleep (from boredom that is) in one of the lectures. Web Programming being taught be Arnold Rosenbloom, means that are assignments will mirror the real world applications. That translates into massive code-monkey projects, which we can’t open source or subcontract to others. Lazy me. As for Operating System Fundamentals are being taught by G. Scott Graham. This results in a lot of technical details, derailing of lectures by introducing tangent topics, and assignments that may or may not be explained in the course content.

Programming Languages is being taught by an amiable younger (younger than most of the older faculty, if that means anything to you) professor by the name of Richard Kruger. This course I call my Adventures in Scheme. Now there is a language thats different. I really feel like I am learning programming all over again. Which is a nice feeling, I guess. I keep on having to ignore the itty-bitty nonsense of thinking in imperative languages, and dealing with memory issues. In fact, I found that thinking in “Scheme” alone helps alot with the assignments. Programming in this LISP derivative, sometimes feels intiutive and sometimes counter-logical. So I get this love-hate type emotion when dealing with this language. The best way of describing this emotion is with a mind-image:

Imagine being placed in an abstract world. One of those checkerboarded, cubicist, and colour-uncoordinated worlds of dreams and freaky puzzle games. Experiencing such a world in the first person, would be at time totally familiar. At others totally alien in the most mentally alarming manner. That is how I feel about this course. Since I would enjoy such a trip (prefer the land of the Sentinel over Hawaii); I find the entire course as a novel, refreshing adventure.

Now to crashland into Reality’s lap, I want to discuss my impressions on the people around me. I have been getting along much better with my family generally. My brother is becoming as a irritiating and obnoxious like I was at his age, only much less rude and in a much more lovable manner. This week being Reading Week, I decided to go out on Wednesday to meet some of the leaders of my brother’s Polish scout troop. So I went with my brother to the scout meeting, just to find out almost none of the leaders were there. For some reason, I volunteered to deal with the “Zuchy” (read as a Cubs/Brownies). Damn little brats. I had the honour of working with a girl from the older Girl Guides, Gosha as the leader of “Zuchy” decided not to show up. So I had the experience of being a teacher-substitute of Kindergarten/Grade One class. Yummy. Which basically meant extracting troublemakers out of trouble, yelling my voice off, and dealing with silly conversations with smart-ass mini-punks. One of the best conversations/rumors was that I was either the boyfriend, fiancée or husband of Gosha. Righto… like I would be married to a 15 (maybe 16) year old girl. Not that she was bad looking. But WAAAYY too young for an old fart like me. Too much of an age difference anyhow. Damn kids. In a funny way I did enjoy myself. But I made sure I never showed it.

The next day, Rudy invited me to go go-karting. So he picked me up around 9:30, and along the way there we find out that his “so-called” ex-girlfriend Shelly was not feeling too hot. So we ended up going to her house. I never really liked Shelly, but since Albert and Rudy were there I obliged. I probably shouldn’t of gone, since my opinion of Rudy and Shelly went down a few notches that night. So we talked a bit, over wine and beer (hated the wine, and I never tried Corona). After deciding to hit a bar later on, Rudy and Shelly decided to get stoned. Since I was there, and I hate the smell of weed, they decided to go outside to smoke. I am totally against getting intoxicated in any manner, I found their actions very childish. Since they didn’t want to take their precious bong outside, and Shelly couldn’t roll to save her life; they made an improvised bong out of a small plastic water bottle. Sigh… since I never liked Shelly, her smoking up just added to my abysmal impression of her. And Rudy… he is simply immature. I don’t know who was more immature Rudy or those “Zuchy” that I had put up with yesterday. I vote Rudy. That is just sad.

When they finally finished, we hit the road to get to a bar. Poor Albert had to get directions from those two crack-heads. After a near hour of rather pointless circling, we arrived at a sports bar ran by the father of one of Albert’s old acquaintances. We played a few rounds of pool, in which Shelly even in her state beat us down badly. Since it was late, I found it a little difficult to concentrate on the game. I think it was more of the late hour than the single bottle of Stella Artois beer I had there. Around half-past midnight, we left the place, and had to stop by a Tim Hortons to satisfy some folks’ munchies. Again another long sigh… I ended up getting a ride home with Albert at one in the morning. Overall it was a waste of a decent evening.

To end this entry in a positive note, I am still working in my work-study job on Datasphere. I was supposed to have a nasty meeting Wednesday morning, but that by the grace of God was cancelled. So I have recently buckled down and done some serious work in that region. I am hoping to work off an fair number of the hours I owe them in the next couple of weeks.

Well I better be off, since I have a number of tasks I want to complete today. Till this evening’s post, farewell fellow blogspherenaut.