Blogs
Linux Kernel - Boot process and memory management links
While trying to get a quick grasp on linux boot process and memory management techniques on x86 architecture (to know what has changed on latest Linux 2.6 stream), I happened to look at one of the blogs - which I must say impressive in its coverage of these topics. The links are below:
All of the above links are from the blogs of Gustavo Duarte's personal website. Excellent articles - a must read for newbie Linux kernel hackers interested in learning the inner working of Linux booting and x86 memory management intricacies.
Keep up the great work Gustavo!
Site brought up and running
Finally, I managed to get back my site up and running from old backup. Seems like I have lost 6 months worth database stuff (blogs, users, comments, events and so on). I'm still working on it right now.
The future of MySQL ?!
As murky as it turned out to be, the latest news has it that Oracle is currently signing up on acquisition of Sun Microsystems (who currently owns OpenOffice and MySQL).
The real problem could be the future of MySQL. The way I see it, MySQL's technology/innovation died already after Sun's acquisition. Now, Oracle would kill the brand too, and perform the last rites.
We now have just "one" database for the large-scale enterprise - Oracle Database Server (well, there's DB2, Informix and MS SQL Server too - but they are not that significant in the Web development market). MySQL as a brand will be missed. Let's hope that the core MySQL developers come out with something better (out of their MySQL fork).
We miss you MySQL!
About my current position... (to all those who've been eagerly waiting for my training programs targetting individuals)
Update
I have now a proper training venue setup close to my residence for conducting training programming for individuals on various technologies. Currently, I'm working out on my schedule to make this happen on a consistent and timely basis. Once I'm set, I'll announce training programs that will be scheduled every month on my company website. Thanks for your co-operation.
I'm very much excited about the fact that my website (in-spite of extremely less updates due to lack of time) has attracted many people in different ways.
Of late, I've been receiving phone-calls constantly from individuals who are interested in various training programs listed on my Training section of my website. I sincerely apologize to all those who've been waiting for so long hoping that I would commence on some sort of training program for them. Time and space have both become a strong limitation for my endeavor into training.
As of now, my schedule gets blocked almost 2 to 3 months in advance by my associated vendors for training programs to their corporate clients. Most of these training programs happen outside of Chennai (in Bengaluru, mostly) which keeps me constantly engaged for each training program. Due to this, it has become very much difficult for me to keep up my word on doing training programs for individuals right now. The other issue has been with space - right now, I lack the training infrastructure of my own (training space, lab setup) which also is another limitation.
A request to all individuals who are interested in my training programs: Kindly drop me an e-mail with the topic that you are interested in. If there are enough members interested on similar topics, I can schedule it 3 months in advance for a week or so at a convenient venue.
If anybody is interested in organizing training programs for individuals (organizing venue, interacting with individuals who are interested in training, working out on costing/commercials and co-ordinating with me on blocking my dates in advance) - please feel free to get in touch with me (my contact details here ).
Thank you all very much for your patience and support.
Monkeys with Money!
What would a monkey do if you pass along a $10 cheque and ask for a cup of coffee ?
Simple! The poor chimp would look up the note, scratch it's head, lick the note, bite, chew and spit it out. Now, what happens if you get your multi-million dollar worth software project outsourced for "cheap" labor ?
The following link demonstrates the competency-levels of cheap outsourcing IT labor:
Isn't it time that the outsourcing factories introspect their team competency levels before its too late ?
Are you still thinking about flipping that switch ?
So, you're happy, comfortable and self-satisfied working on Windows platform - you are willing to live with fighting spyware, viruses, trojans on a regular basis. You are also accustomed to frequent system hang-ups, reboots and malfunctions of the weird kind.
Why ? Because you believe that Windows is user-friendly and Linux is hard and difficult to setup/configure/install and use - Oh wait! When was the last time you struggled getting Linux to work on your desktop ?
Linux has come a long way fighting other "user-friendly" OS head-on for desktop adoption. If you are not convinced, you *must* look at a couple of Linux desktops running the latest OpenSuSE, Ubuntu or Mint Linux! Linux is now much easier to use and live with - than Windows. Installation and configuration of most Linux desktop distributions have become extremely easy with support for commonly used desktop hardware out-of-the-box - which means no more finger-twitching with hardware drivers. What's more ? no more spyware, viruses and unnecessary weirdness that you'd have accustomed with on Windows platform. Also, most Linux distributions come with an overwhelming amount of software bundled with them - from web browser, email client, multimedia players, chat/instant messaging programs, games, educational software, development tools (the list goes on!)
And yes, what you would really enjoy is the freedom that comes with it - freedom to use your desktop the way you always wanted!
Still not convinced ? You must download the e-book
"The Easiest Linux Guide You’ll Ever Read - an introduction to Linux for Windows users” - a book by Scott Morris - A full 162 page well written download-able PDF document at that site should convince you :-)
So, if you're still sitting there contemplating about flipping that switch, wait no further - you'll never repent for it.
A stroll to "Other side" of the world!
Last week, I had the privilege of walking into Microsoft Global Technology Support Center (Bangalore) and talk about Open Source. While the agenda as per plan was about explaining the features, benefits and advantages of LAMP stack, we did have a lot of digression into other facets of Linux, Apache and FOSS in general. It was indeed a wonderful experience being there interacting with some of the brilliant engineers at Microsoft and exchanging ideas with them.
I gave them a talk on features of Linux, Apache, MySQL and PHP. They were not impressed with the technology stack (especially PHP and MySQL). Their claim was that ASP.NET and MS SQL Server scales a lot better with more features to boot with, and much easier to use and deploy. Yes, I had to admit their claims - but thats not what most companies want. Most companies want a technology stack thats completely flexible to begin with. Most companies want a technology stack thats "free" (as in freedom/price/initial cost of deployment). The fact is, most companies tend to postpone the complexities.
Scalability, support, ease of management are things that are postponed to a later stage (mostly to be shelved downwards on the OS/Network architecture stack).
One thing that I realized about myself - I had completely lost track about any latest development at Microsoft. Since, 2000 - I had become a "completely" full-time Linux/*BSD user. I had no idea of what Windows 2003 server was, nor did I even glimpse at Windows Vista (which I managed to do - last week at Microsoft). Infact, I never had to depend on Microsoft Windows or any products that empower them anymore - GNU/Linux served all my necessities.
The strong argument of Microsoft engineers who attended the discussion against me were - "Things have changed drastically since the last 7 years... you are talking about bugs and vulnerabilities that existed 7 years ago. Technology at Microsoft has come a long way in terms of stability, improvement and many other aspects over these 7 years..."
There were some key facts/thoughts that came up to me after the discussion:
Microsoft has changed a lot over the last couple of years. They are coming to terms with the practicality of the software ecosystem today. Rather than "fight" Free Software/Open Source, they are also willing to embrace them to serve their business goals.
There was one very important quote that came up - "A healthy system will always have two or more conflicting ideologies. If a system is encompassed with just one way of thinking or just one way of doing things - it is fundamentally flawed". Just like we have Communism Vs. Capitalism, Democrats Vs. Republicans, now we also have Closed Source/Proprietary/Commercial Vs. FOSS.
There was a time when the PC industry was dominated my Microsoft (I'm talking about the '80s and '90s) - where we had not much of a choice, we lived in a system where there was just one way of doing things. Today, we have a choice, and this choice has in a way led to healthy competition - to make better products.
Microsoft is now strongly focussed on building products that are better, scalable, secure, easier to manage and deploy. With many FOSS products slowly eating into many commercial product's market share - it has become evident that to maintain customers and to retain them in the long run, Microsoft has to stay in the edge for providing features and backup with support on their products.
One of the key factors that foster spiraling growth of any product is from its community. The engineers who attended the session were eager to know my many university students, colleges, start-up companies and many academicians in general are up *against* Microsoft today. A hard question to answer without being partial to the FOSS way of thinking :-)
Maybe the whole world could be in blind belief that Microsoft runs an evil empire. But when I walked into their office, all I found was brilliant engineers who are willing to listen. They are tech-savvy, work and learn from various upcoming technologies without politics - a true sign of an Engineer!
While the session ended, I got a glimpse of the features and power of ASP.NET. Still, I must say that it should never be compared with the LAMP stack. Rather it is a technology armed against the J2EE stack.
At the end of it all, I'm happy that FOSS is pushing closed source software companies to be more responsible, customer-centric and build products that add "value" - which is a very good sign. After all, people will now 'pay' for software if it makes their life simple and add value right ?!
Lets hope better software to come in the future :-)
Training as a career!
I started my computing career as a trainer back in '95. In those days, I've had this reputation of being an electronics wizard who was good at demystifying the intricacies of an IBM PC-compatible hardware. Teaching as a skill came to me quite naturally, and I'm proud of being the most favorite teacher amongst students since '95.
Over the years that followed, I managed to diversify my career/skill-set (system programmer, web developer, FOSS technology specialist/developer, Independent developer/architect, so on). All my past experiences (based on both success and failure) have helped me refine my thinking and grow higher. One role remained in me consistently over these years - that of being a mentor to a chosen few who liked me for what I am and what I do.
From time to time, some of my students have asked me - "Is being a teacher, worth a career ?". Even today, at-least one participant who attends the corporate training programs that I conduct often ask me "With this technical expertise, why don't you become a senior developer or something like that ?" I often interpret that quote as "Why are you wasting your career as a trainer ?!". And then there were some companies - my clients who after reviewing my training feedback have been generous enough to offer me somewhat hard-to-resist job offers at their organization. While I really appreciate their incentive, I had to sit with them and explain the fact that I'm happy with what I've been doing right now. A few other simply ask me "Why are you a trainer ?"
Coming back to the basic question that crops up in everyone's mind: "Is being an IT trainer worth a career ?" My answer to this question is "definitely yes!" provided that you are skilled enough to be a trainer.
The problem is, many scale me as an IT trainer on the same rank as "Teaching faculties" of run-of-the-mill computer training institutes. Yes, I started my career working as a part-time (and later full-time) teaching faculty at a computer training institute - but moved on - after I realizing my own potential. So, what makes me feel different than many others ? Before answering that question, I should rather point back with another question - "Why am I not working at a computer training institute today as a full-time teaching faculty ?" The obvious answer that anyone who knows me would come up with - "They can't pay you for your experience and skills".
Now, think about it - most of these training institutes (at-least in India) pay too less for being a teaching faculty. Thus, skilled professionals never see training as a career at all. Skilled professionals move on to become programmers/developers and climb up the corporate ladder to become Project Managers, Technical Managers, Chief Architects, CTOs and so on. The brave ones take the risk of starting up their own company/consulting firm.
So, what's left at the IT training sector are a bunch incompetent and totally non-skilled professionals - The ones that failed to get into the IT industry as a programmer/developer take up the job of being a teaching faculty at a computer training institute. There are a few skilled professionals with missed opportunities who land up as teaching faculties too - very soon they become the star trainers in these institutes. Now, how long can a skilled professional stick to remain as an IT trainer ? He looks for a better opportunity and then jumps the boat. Thus, most (if not all) computer training institutes are known to offer mediocre to poor-quality training owing to their lack of skilled trainers.
The heart of the matter is: Computer training institutes pay too less for being a full-time teaching faculty (when compared to many software companies paying their programmers at the same scale). There was a time when many computer training institutes had training faculties with exceptional communication and student-management skills (they were groomed to be!) while still lacking in their technical expertise/ability (they lack the time to self-learn!). Today, these folks with good communication skills have headed to form the workforce of booming "Call Centers" as they pay better!
Where there is a lack of resource - there lies an opportunity - to create the necessary resource and to thrive on its benefits. This is exactly what I learned in my experience. There are excellent programmers, developers, managers today who fill the gap too easily when the necessities arise in companies. Every company today have become adaptive. Technologies keep changing, customer's requirements change rapidly - but the skilled professionals in the company remain the same. The solution: most companies prefer training their workforce in order to help them adapt to rapidly changing trends and norms in the industry.
Every company is looking out for skilled trainers. A trainer who's not a programmed presentation Robot - but a trainer with first hand experience in developing software, managing software, teams with strong and diverse expertise in the breadth of IT. This is exactly where I fit in!
Now coming back to the question: "Why am I considering myself - the career of being an IT Trainer ?" The answer to this question is manifold. Firstly, I started my career as a trainer - thus training as a skill comes to me very naturally. Secondly, I've been more of a technology explorer over the years of experience that I've sustained in the industry. Over the last 12 years, I've managed to learn and master many different and diverse technologies. A quick look at my training link should reveal this fact.
As a developer, I cannot classify myself exclusively as a System's developer or a Web developer or Database developer or anything similar. I'm equally well-versed with many technologies (most of which aren't even linked to each other). I can be a System Administrator too, or a Security Analyst - then again the perspective gets narrowed down. Not all of my other skills fit in there.
Now, with more than a decade of experience in the industry, I can climb high up the ladder to be a Technical Architect. In fact, a couple of my acquaintances did approach me with the offer to manage their company as a COO or a CTO or being a Managing Director. While their offers did impress me, what they lacked was the satisfaction that I've been enjoying for the last 4 years.
As an Independent Consultant, I've always worked on what really interested me. This is where my multiple skills added to my advantage. I really never had to worry about "company vision", "company focus", "company milestones" and so on. It was (and it still really is) all about me alone - and I'm happy with that. Of course, in the long run, I do plan to start-up a company on my own. I'm just working my way out to it. A company of "me and my team" - a company that does not entangle us into processes and its bureaucracy; but a company that let us do what we really like and what we are good at. That's one of my long-term dream.
The immediate career milestone that I foresee for myself, is to establish myself well enough - both financially and in reputation to form a training institute of my own. I've helped many start-up companies and institutes more as a mentor, and a catalyst and have move on over the last 4 years - through which I've gained immense experience and exposure into "How to run an organization".
Right now, I'm in the process of setting up a team for it - I'm on the lookout for people with similar skills and focus as me - which is rare. The best way to setup a team is to create them. And the only best bet at doing this is by building a strong, healthy and iconic reputation as a technology and career mentor. This explains why I'm focusing my career as an IT trainer.
The other fact about being an exceptional trainer is: I'm the most sought after trainer for most of the technologies and topics that form my skill-set. And yes, all this comes at a price! Many training organizers (most of them from Hyderabad) feel a jolt when they hear about my commercials - I really can't blame them as there are lots of "cheap" unskilled corporate trainers too at large in that city - not to mention, there are many many run-of-the-mill training organizers who's focus is only to make quick money - than delivering proper training programs to their client.
There are many successful "Corporate Trainers" whom I've met over the last 10 years in the field - and they are happy about what they do! What really matters in being a successful corporate trainer is the art of guiding, motivating and building skilled professionals. To a large extent, a good corporate trainer acts as a catalyst in improving the productivity of each participant attending his training program.
So can anyone take up a career as an IT Trainer ? I doubt that. To be a trainer, you'll need manifold skills - expertise in technology - both in breadth and in depth. It is more embarrassing (if not unavoidable at all moments) to be clueless about a question raised by a participant. Expertise in technology isn't sufficient to be a trainer - though thats a primary requirement. I know of many programming wizards who cannot explain what they do! To be a trainer, you'll need to have exceptional communication skills - the ability to keep the participants awake, listening and attentive for 8 hours at a stretch! At most companies in my experience, participants who attend training programs expect the trainer to show them how things work rather than running through boring presentations covering facts that they already know, or those that they could gather by looking up at Google/Wikipedia!
A trainer must have lots of patience, and must study the participant's level of understanding and manoeuver the training program adaptively. A trainer must also be confident, brave and have excellent command over the subject he's training. The last, but not the least - trainer must be charismatic in some way! The participant should feel confident about the trainer the moment he interacts.
There's lot more I can pour in... but I feel that this write-up has already become too lengthy! Maybe I'll edit it someday and make it more presentable :-)
The end of the matter is: Yes, being a competent skill-worthy trainer can be an excellent profession!
Life as a leaping frog :-)
Another year passed by, before I could take note - and here I am, shuffling time and dates trying to accommodate the best in what little the time can facilitate. Seems like I'm getting used to this city now (residing at a very busy, noisy and a bit shabby part of the town - Mogappair West). Over the last 6 months, I've been hopping back and forth between Chennai and Bangalore on work. Seems like I've made up for what I thought I had lost in the past 2 years - large established client contacts.
For the last 2 years, I was strictly concentrating on building new clients here at Chennai. Somehow, it seems that the market is slow and somewhat stagnant here at Chennai. Few clients and few good offers had kept me busy for sometime (with some good old clients who knew me since ages from out of this city). Now, I'm back to form as an almost full-time Corporate trainer. I've finally managed to stream-line my focus on training alone where the market seems ripe for my technical skills and my teaching abilities.
There was a time (while I resided at Sholinganallur) that I had a fully capable lab setup for handling internal training programs and finding it hard to gather enough mass (of students) consistently for training programs. As usual, I'd also blame myself for the lack of *consistent* time schedule. As of today, I've been constantly contacted by individuals who want to get trained by me - so what's holding me back ? The sheer lack of time (I've managed to keep myself engaged even during the weekends) and yes - no space/venue to host any training programs that I used to do, while at Sholinganallur.
I've also been meeting people/businesses who wish to be associated with me for business (training institutes, start-up dot-com, FOSS technology-oriented ventures) and all they point out is - "You cannot scale up as an individual - you'll need us at some point in time to grow" - while my hard hunch cautions be to be as I am - free, independent, self-contained and focussed to where my interests lie.
I'm just trying to give myself some more time before I associate with any business body or sell my soul to a VC. There are many more leaps to hop and there's so little time at hand.
Meanwhile, hopping into various BIG companies, meeting with their team and getting a hint of their work-culture, guiding them to learn and explore technologies that help them grow higher - are all that keeps me happy and motivated.
I'm also happy that over the last couple of months, I managed to tie-up with some of the best training organizers around - hard working, dedicated, focussed with an edge in business. They remove the big burden off my shoulder now - managing my schedule, client-interactions, and every other nuances of business that a person like me hate burying hands into. I'm thankful to them for letting me remain in what I'm good at - technology, consulting and training. Else, I'd have been shuffling roles as a business/marketing whiz too (the other facets that I had to wear-on, painfully for the last 4 years).
One of my acquaintances quoted "With the amount of experience that you owe in technology, and your technical expertise - you are aimlessly hopping like a frog from one company to another...". What he apparently failed to realize is that frogs leap forward not aimlessly - but largely in hunt for their prey; then there's survival, comfort and everything else that keeps them leaping forward. Trainers *do* have a highly reputed career if they stay focussed in what they do and their needs wisely - I guess that's going to be a topic of another blog of mine.
What I need to stress here is the fact that one can aspire to grow as an individual with proper time, skills, people, money and stress management. You do not need to start-off as a VC-backed company to scale up. Prove your worth as an individual, and at some point a "company" shall surround you for what you're worth.
Let's hope 2008 to bring success and prosperity to all! Happy New Year!
Back again after a long time!
Almost an year since I posted my last blog. Many events occurred in my life for the last 11 months. The most painful of them all - I've lost my pets - Brownie and Julie - my most pampered pups. Its a sad thing that dogs have such a short life. I just wished they lived as long as humans. I always believe that dogs are the most gifted friend by nature to mankind. My pets especially have been the most loving, loyal and humble ones. They've spent all their time with me as a close friend and have been the best of my joys. I miss them both forever :-(. These days, while I'm staying without my pets, I'm filled with compassion for the stray dogs too. They are such humble creatures that have been largely misunderstood and abused by the large part of us. Life moves on...
The other painful aspect was to shift my residence. I lived peacefully at the outskirts of Sholinganallur for 3 years, and I had to vacate. House rents in Chennai have reached beyond their obscene limits. I managed to shuffle a couple of corporate training offers in Chennai and Bangalore till January, this year and shifted my residence to Mogappair. My parents have moved to Bangalore to stay with my brother. I miss them a lot.
Right now, I'm residing at a decent apartment in Mogappair. The good thing is, its highly accessible to main parts of Chennai than Sholinganallur. My wife finds this place more comfortable as all supermarkets are accessible at walkable distance. This is unlike Sholinganallur, where a decent supermarket used to be atleast 6 Kilometers away from my residence. While I lived in Sholinganallur, no good commercial establishments existed within 5-6 Kilometers from my house - things look different now, perhaps. ATMs, and bigger complexes have sprouted and the real estate prices have multiplied by 10 times in 3 years. It was a cooler and peaceful place though.
While I managed to shift to Mogappair, and get everything else settled - shifted phone connection, gas connection, ration card - needed for my wife's identity here, shifted my bank account and after a long wait, I managed to get BSNL DataOne connection just last month. Now, it seems that I have to shift once again. This time, the landlord has his own personal reasons to use this apartment in which I reside for his own self. The hunting game started last month again. The painful task of searching a decent house for reasonable rent. Unfortunately, most of the houses that I get to see are shabbily built and are priced too high to be affordable or being worth.
It is very unfortunate that houses are being controlled by the middle-men brokers (a.k.a real estate agents) who hike up the price to their whims and fancy. There is *no* regulatory authority that control the rapidly growing price rates of real estate and house rent. Owning a decent house is slowly becoming a distant dream for a lot of people here. Sometimes, I just feel that I should move out to the distant outskirts again, perhaps close to farm land or somewhere similar. Sad part is - will I get good Internet connectivity ?!
Over the last 2 years, I've been refining my thoughts and focusing more on corporate training. I did manage to bag a couple of big deployment/architectural development offers from companies - all of which kept me busy for a while.
My internal weekend training programs have stalled for a couple of months now. My weekends too are getting filled up with consultancy work and my week-day schedules have become largely unpredictable.
I'm working hard to make a dent in the corporate sector in FOSS promotion in the best way that I could - corporate training! Lots of competition exist, but I'm now proud of being the best recommended corporate trainer in Chennai and Bangalore by all of my clients so far, for all FOSS technologies that include Linux, PHP, MySQL, Perl/CGI, Shell Scripting, Python, UNIX System programming and so on.