Thursday, May 24, 2018

Install Chrome under WSL

Even though WSL on Windows 10 is great at giving engineers a 'Nix-like environment on a Windows machine to develop, build and test; I ran into an issue where my Karma tests were failing due to the inability to find a suitable browser to execute the test suite one. I found some help online to help with installing a Chrome directly under the WSL. Below are the steps i used:

Thursday, April 26, 2018

Debugging on WSL: Breakpoint ignored because generated code not found(source map problem?)


VSCode's support for debugging Typescript-based projects is really second to none in my opinion,  so much so that i made the switch from Atom.  Atom, though, is still is my goto editor for all my Terraform & other configuration-related projects.  Back to the topic at hand, debugging a React app on my Windows 10 machine with WSL enabled, my breakpoints were not triggered due to  'missing' source maps, even though the tsconfig.json had source maps generation enabled during transpilation.  I had followed the debug configuration setup described here.

Solution:
It turns out that running the application/debugging under the WSL,  this extra property is needed to be added to launch.json in order for the source maps to be found: sourceMapPathOverrides.

 



Wednesday, April 19, 2017

Infrastructure As Code - Terraform

Web first! Cloud first! That's the mantra at work, where the goal is to eventually move all existing apps to the cloud. Woohoo! Toss in the need for the apps to be platform-agnostic after years of being wedded to Microsoft stack and it makes for exciting times. After a quick comparison of the major cloud vendors out there in terms of richness of  offerings for what we intended, it's no surprise AWS won hands down. Prototyping by hand and running commands from the AWS CLI is okay for the trivial stuff like launching an EC2 instance or updating security groups. However, for things like CloudFormation where there was the need to launch and deal with multiple instances, the dependencies amongst themselves, correctly configured security groups based on generated IPs and manage all this within some source control; Terraform was the answer.  It's incredible that it's open source meaning we have the ability to fork the code (which I have :) ) and tweak things as we see fit without waiting for the community to address them.

Monday, February 20, 2017

Optimized Builds with Docker

Toying with Docker in the past, it's true power wasn't really revealed until it became a necessity on a API project due to the need to ensure that installed dependencies were the same regardless of which machine - dev or the build server itself was used. Essentially, the process was to define two Dockerfiles - one for building the .Net Core app and another for hosting only the necessary "build bits" from the earlier build. The former reduced the need for the Jenkins server to have all the required packages installed on it, and the latter was as an immutable tiny but fast image one could run locally or in prod.   Here's a more detailed instruction on how to do the same: Building Optimized Docker Images with ASP.Net Core. Hats off to the guys in Redmond!

Wednesday, August 27, 2014

These aren't the droids you're looking for!

For the past few days, i've spent time dipping my feet in the Android SDK and generally building baby apps to get a feel and understanding of them. This is in preparation for a larger app i'm building as part of my side projects at work so its fun all around. In the past, i've dabbled with Symbian S60 and pre- BB OS 7 but when it comes to app development the ease with which one can just get a working app installed and tested is astounding. Definitely loving it so far! 

Wednesday, July 23, 2014

Spring cleaning or sorts...

Finally got round to rebuilding my musty mouldy repo a couple of days back and began to check in some patches albeit easy ones just to get back in the groove. Next stop for me will be upgrading to VS2013. As usual, i need to have the best tool out there to play around with although emacs & Eclipse will continue to be my main preference for development. What can i say? A dork gotta have his toy.

Friday, January 10, 2014

Catching up...


Well it's been quite a while. Okay, a year since my last post. I could have used the recent “polar vortex” as a reason for the incredible delay but no - it's not even a remotely plausible excuse. Briefly, a recap of that undocumented year. Beginning with the most major, i finally ditched using Windows as my main OS for both coding and “recreational” activities and switched entirely everything to Linux; long overdue, on my part. The reasons being multiple. Right off the bat, as there was no suitable Win-based open source alternative for ccache, mind you, my build times ranged anywhere from 55-71 mins for full clobber builds and about 30mins for incremental builds. Again the latter time was fully dependent on which parts for the tree i had made local changes to. Honestly, fiddling my thumbs during those periods, especially early mornings when i had to pull new commits and update my local repo just got more and more frustrating. Toss in the lack of full Intellisense support even while using Visual Studio made my code edits even slower. A refactoring attempt was the final straw. With brilliant work done by Eclipse CDT developer, Andrew Gvozdev, which in turn allowed an easier time setting up and using the IDE for Mozilla C++ development, it was time to jump ship. Of course, emacs or vim could've been handy but hey it's a new millennium and in my case only a memory hungry editor with all the bells and whistles will do. With the switch, it's refreshing to see build times cut down to ~25mins for full clobber and ~4mins - max i've seen so far- for the incremental ones on my core i5 6GB RAM machine. Obviously,  with *nix's less overhead in process creation compared to Win, it fits nicely with the build system Mozilla has. It's mouthwatering to think what it'll be under a machine with a greater processing speed, RAM and of course SSD type disk. Stupefying, one could say.

Overall, i did get some nice things done such as the LLVMpipe fallback WebGL renderer option for Win and *nix users with a somewhat obsolete hardware who attempt to access and play around with cool things such as the interactive demos seen at the Chrome Experiments. By default Firefox, will use whatever software renderer is available, that is, the existing native GL driver. To explicitly use it, the user must manually change the gfx.prefer-mesa-llvmpipe configuration to true, assuming there's such a pre-built library located on the system to begin with. For those interested in the nitty gritty on how to build one locally, see: https://sites.google.com/site/buildllvmpipe/. Currently, i've thrown in my lot with the implementation of the WebVTT format. A fellow contributor, Rick Eyre, has an excellent blog post on what's been done and aim to achieve in the long term so i wont go into details here but with Apple and few others already stealing a march on us, it'll be most welcome to have more contributors to get it all polished and ready for the public. All hands to the pump, i say! Again for the curious to test out what's been implemented so far, turn this config option: media.webvtt.enabled on and sample a few demos online or even better create your own!

Enough of the techie stuff!

The fun part was hiking some of the popular trails again -for the umpteenth time - of the wonderful Long Trail and attempting my best impression of a daredevil Lance Armstrong during the summer; just the cycling part and not the other unsavory bits....As a rabid Liverpool fan, one can only expect me to be equally passionate when i play football(fussball? futbol?)- loathe to call it soccer. A man of the match performance as a defensive midfield terrier with two assists and a highly rare goal was the summer highlight personally. There's nothing like hobbling off the field of play feeling like a Marco Materazzi-cum-Vinnie Jones rolled into one. Secretly, i think if opposing teams knew the reason for my admiration of players like Nigel “The Lawnmower” De Jong, i very much doubt they'd dribble in my direction. [Cue: insidious laughter]


Wednesday, October 10, 2012

Auto-scrolling Visual Studio Output Window..

Instead of initiating a Firefox build from the command line , I have a script that I use to get Visual Studio to build and pipe the output to the Output window.  Chalk it down to being too lazy to switch windows and enter the build command at the console. Often warning errors flash by and clicking them just stops the output auto-scroll. It can be re-enabled with [Ctrl] + [End]. I just wish it could have been built into the context menu of the window.  Oh, well….probably will get it in the upgrade to VS 2012.

Monday, April 30, 2012

Error CXX0017: Symbol not found….yes it’s there, numpty!

While inspecting a global variable to ensure that a specific library had been loaded and properly initialized, for some reason after adding it to the debug Watch window, its symbol still couldn’t be loaded. It so happens that when such variables are within nested namespaces they can’t be detected and it’s up to the developer to manually qualify them.
Before:

image

After:
image

Sunday, March 25, 2012

Debugging Mochitests with Visual Studio

Debugging an xpcshell test is far straightforward when compared to the more general mochitest. In the course of fixing a bug where change events weren’t being fired for a focused and blurred text input or textrea when the user switches focus, I encountered a situation where after my initial fixes, an extra change event was then fired. To hunt down the culprit code responsible for the redundant dispatch, the current docs on debugging mochitests weren’t particularly helpful to those of us working on windows machines with Visual Studio.  This technique is largely thanks to Josh Matthews and Mark Capella:

  • Modify  testing/testsuite-targets.mk by deleting the autorun option under RUN_MOCHITEST.
  • Afterwards, run the entire mochitest suite for the branch where the particular test you want to debug is located. Wait for the browser to open with the associated tests. In Visual Studio, go to Tools->Attach Process and select the firefox.exe process showing the loaded tests.  This should switch to the debugging view.
  • Place an appropriate breakpoint in a relevant selection of the code that will most likely be triggered and then click on the link to the test that is to be debugged in the browser window.

Easy peasy lemon squeezy debugging Smile

Thursday, March 8, 2012

Building Firefox with pymake

Up until recently I had been doing local builds of Firefox for my patches with GNU make before switching over to pymake which is a bit faster. I had missed the doc strongly suggesting builds on Windows use pymake instead. Depending upon the files the patches being built touched, I could count on twiddling my thumbs from anywhere from an hour and 20 minutes  thereabout  to two at most. With pymake it takes just under an hour. It course it does help to have the latest hardware to speedup build time. More RAM wont hurt and neither would getting one’s hands on a core i7 machine be bad for starters.  Speaking of RAM, I had to run off to Best Buy and get some for my PC and  thereafter completely botched the installation. A workaround got them working, but then again I am careful with movements so as not to jar them loose out of the sockets.

At some point, I will have to upgrade my machine and eventually move to using Visual Studio 2011(in beta as of now). So this post is largely a note to myself in order to set up my development environment as fast as possible and correctly.

  • Install the latest DirectX SDK available from here
  • Grab and install the latest Mozilla-Build tools. Should be installed to the C:\ directory
  • Within the mozilla-build directory, after selecting appropriate start-msvc##.bat file - where ## corresponds to the installed Visual Studio version, ensure all OK after running it.
  • Console is by far one of best open-source utilities I have used.  It provides a windows Powershell-like interface by providing multiple tabs, text selection etc, which puts the default windows command terminal in the shade. It’s not a shell mind you! Often, I keep tabs opens each for a specific purpose: managing my mercurial queues, building code changes, one for redoing the final linking and finally another for running associated tests. After downloading and extracting,  copy the Console folder to C:\mozilla-build\msys.
  • Next create a copy of the start-msvc##.bat and rename it to start-msvc##-Console.bat or any name to distinguish from the original batch file. This will be used often, so a shortcut of it to the desktop will prove most useful. Using notepad, edit the following lines:

from => cd "%USERPROFILE%" "%MOZILLABUILD%\msys\bin\bash" --login –i

     to => start /d "%USERPROFILE%" "" "%MOZILLABUILD%"\msys\Console\console.exe

  • Obviously getting and unbundling the source and is well documented  here, so I wont go into too much detail other than pasting what I have in my current settings for both .mozconfig & hgrc files

.mozconfig

. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=C:/mozillafirefox/trunk/src/ff-dbg
ac_add_options --disable-optimize
ac_add_options --enable-debug
ac_add_options --enable-tests
ac_add_options --enable-debug-symbol

hgrc

[paths]
default =
http://hg.mozilla.org/mozilla-central
try = ssh://'mon.nom@somemail.xyz'@hg.mozilla.org/try/

[ui]
username = Mon nom <mon.nom@somemail.xyz>
editor = vim

[defaults]
qnew = -Ue

[extensions]
hgext.mq =
hgext.rebase =

[diff]
git = 1
showfunc = 1
unified = 8

  • Since make.py-pymake- is nestled deep within src/build folder, trying to invoke it from anywhere within the src directory is unwieldy, ugly and error prone(learnt the hard way). For example running a  simple mochitest or xpcshell test brings it home. A simple set of aliases helps to reduce it. In c:\users\<username>, create a .profile file and enter the following into it:

alias pymake="python -OO build/pymake/make.py"
alias pyblink="pymake –C ff-dbg/toolkit && pymake –C ff-dbg/toolkit/library"

        The first alias is primarily for rebuilding the entire project from the src directory or a sub-directory as well as running tests. pyblink is mainly for performing the final linking in objdir folder to reflect code edits.

I guess the next step is to build with:  pymake –f client.mk Smile

Sunday, February 19, 2012

…belated Happy New Year?

Four months after my last post, and here I am with a new blog post. If there ever is an award for the tardiest blogger on the planet, the least I can expect from my nomination will be a podium finish of sorts. From my last blog post till date, my addiction – hold your horses, it’s not opiate based –got stronger until it finally had a stranglehold. Scrabble Free. Boy oh boy, one of the best games for both the iOS and Android platforms although I favor the UI on the former, specifically on the iPod Touch. It has that perfect je ne sais quoi quality. Oh, oui oui!. Recently, testing out the game on a Samsung Galaxy Tab I had gotten for my sister found the app wanting a little bit in terms of usability but I cant be too picky knowing the lengths the coders over at EA in Montreal have gone to get it working seamlessly with the original iOS players through Origin. I will concede that creating a nice UI with Java is akin to pulling teeth. Been there.

Besides, onto other things, I spent late fall and early winter keeping tabs on the Pointer Lock(nee MouseLock) API implementation by David Humphrey and his team of brilliant students at Seneca College in Toronto. This is a subset of Mozilla’s WebAPI effort which aims to provide an HTML5 phone experience. The curious thing was that I didn’t set out to know the intricacies of a DOM API implementation, I just sort of happened onto it through a simple bug fix which just evolved. Briefly, what had begun as fixing Firefox playing media at volume although specified within its media element’s attributes to be muted after loading, ended with the implementation of the defaultMuted attribute to reflect the status of the muted attribute. They were a lot of aha moments but that was the point which i can definitely say, my understanding of the interrelationship between the content & dom portions of the codebase and the HTML specifications as detailed was enhanced. I am currently working on implementing support for a couple of attributes for the input element. Fun stuff so far. More on that later. XPCOM is another beast to tackle but our skirmishes have been enlightening all the same.

Christmas? Another memorable one where I broke out in cold sweat in a ladies store. No, it wasn’t Victoria’s. That’s a feat too daring for one as ‘shy’ as me. Why do us guys look so awkward in the women’s stores?Perhaps…an atavistic fear of other men discovering we have ‘softer’ sides?

Valentine’s Day? Don’t Ask.

Thursday, October 27, 2011

The funniest Mozilla bug thread!

So here I was snooping around Mozilla’s Bugzilla hoping to ferret out an interesting bug to quash when I stumbled on this peculiar bug, 95849. Definitely, this is the joke that keeps on giving and for a good solid ten years it has certainly delivered the laughs. It’s things such as this that makes the hours spent poring over code all the more worthwhile and enjoyable. Kudos to all the commenters and contributors!

Wednesday, April 13, 2011

Smartphone OS Wars, Nokia & CEOs

V-Day. Not that fateful day the Japanese decided to throw in the towel after seeing the horrors visited on Nagaskasi. No, not that one. Rather, valentine’s day. A day to spend with that special someone or in the case of quite a number of Finnish engineers for Nokia, a day to mull the impact of what that week’s seismic announcement of an alliance between their company and Microsoft means for them and their careers. To be honest, they’ll be gutted. Not only have they been told in not so subtle terms that their flagship OS, Symbian, is not good enough to take on the next generation of smartphone operating systems from major rivals but that they aren’t even trusted come up with a competing version. A double blow for the Finns; a champagne moment for those much maligned at windows mobile. For the latter,  seven is definitely the charm.

Before i delve into analyzing the deal, there’s a question which begs to be asked.  It often pops up in “water-cooler" conversations amongst techies. Do the suits upstairs know what they are doing? Simply, did Mr. Elop make the right call? It’s quite derogatory to describe non-technical staff members in that manner, i admit.  The recent move of Larry Page into a hands-on management position got me thinking about what makes one a success of an executive overseeing a product division or the entire firm itself. I limit myself to tech firms. Success here does not include maximizing profits by slashing the workforce and asking the remnants to equally share the workload to maintain quality. Nope, i apply a rosier(ideal?) definition: a situation where an executive presides over an increase in the revenue stream of existing products either by their improvement or the introduction of new products or services. Should that executive leave his/her post with neither a significant change for the better or worse, in my book that still qualifies as a quasi-success. How much change is significant? Finding an answer to that could be the subject of a thesis. Theoretically, every firm independent of size can be said to have  a “change-threshold” beyond which effects tend to be adversely manifested or send the firm on a upward trajectory. For the purposes of discussion, my definition will identify Microsoft’s erstwhile chief software architect, Ray Ozzie, tenure as a quasi-success. Eric Schmidt’s handling of Google from a startup to the 800 pound gorilla they are today is an example of a successful oversight. The litany of executive missteps and failures aren’t too hard to find. Managing people, making them interact and perform as envisaged is hard enough. Of that i am a realist.

So what’s the secret ingredient of success besides having the intellect required of the job? From my readings, it appears that those with a long history(read: worked with the bolts and nuts) in the sector they’re overseeing, a hint of narcissism,  possessing an unshakeable belief that they’re almost always right yet  can identify their own faults, adapt and step aside for a fresher smarter individual tend to experience success per my definitions. Does Elop tick the boxes? The Nokia board obviously thinks he does. However, using all of 5-6 months to arrive at a major decision of this magnitude raises an eyebrow. The other red flag-given his background- is settling on Windows Phone 7 as a viable solution to their woes despite having Meego in the wings. A damning indictment is the memo he sent to the staff. Was the last one utterly necessary? Not being privy to internal deliberations means that one can only make educated guesses.  Despite having a strong presence in every market, Nokia never really made inroads in the North American market. Could that have been due to a marketing issue? As of this writing, i am yet to see a Nokia phone advertised on TV for any major US telecom network. We’ll know if after shipping new handsets, the problem still persists. After all, Samsung and other Asian manufacturers seem to be doing well.

Depending on one’s view and interest with regards to Nokia, the range of responses to the deal centered mainly around profound optimism and pessimism. Vic Gundotra remarks and Elop’s response to them just frames the issue nicely. The deal obviously means that Nokia”s performance in the future will be beholden to the success of the Microsoft’s mobile OSes. This will ultimately reduce Nokia to being a handset manufacturer. RIM’s acquisition of QNX software which coincidentally does many of the things Meego hopes to do means that Elop will frequently be on the special hotline to his Redmond golf buddies to make sure they deliver. With Google slowly tightening their hold over Android and God-knows what Apple is brewing for the coming months, Nokia’s board will be hoping that the new fellow hired made the right call. The alternative? Elop unintentionally tried to put out the burning platform with…napalm.

Wednesday, January 19, 2011

2010: A Year in Review

With an ankle sprain and a sore jaw, i bade adieu to 2010 and welcomed the new one. In case one was wondering, i suffered a humiliating old-lady-like tumble down the stairs. When one’s back begins to creak from shoveling the snow off the driveway then i guess such falls are expected. Resolutions? Nada. When a state of equilibrium is attained, trying to perfect that is folly. However, the concept of having resolutions is to ensure that the mistakes, missed objectives and other failed aspirations of the old are not repeated in the new one. This well applies to individuals and corporations regardless of size. So with the start of the new year, i look back at the highlights, lows, blunders and eye-popping moments in the technological industry that some may not have been aware of. Resources such as PC World, NYTimes, Wired etc provide more than ample reviews of the tech sector for the last year.

Of all the engineering disciplines, software design and development is largely abstract. By that, before the product is shipped, a service implemented and rolled out; most of the prior deliberations about the kind of functionality that software will provide, and how its constituent modules interact in a predetermined orchestrated manner to produce the desired effects are mostly done in the mind. Although various software aids are used throughout from development editors, code testing and coverage tools to analyzers to check the logic as well as fine tune the software to the desired performance; at the end, it’s humans doing all of that. Homo sapiens, the root cause of almost all bugs. The ones we’re absolved of all responsibility are the typical ‘you’re-just-out-of-luck’ hardware failures. So bearing in mind that software might not work as specified, there’s also the insidious situation where it works so well that it actually does a bit more than intended…the stuff of nightmares! Like all good horror stories, a friend’s tale of his team losing part of the code repository brought to mind the T-Mobile Sidekick fiasco two years ago. It usually begins with a harmless event which with hindsight turns out to be quite a blunder.

There’s a reason why clients are regularly encouraged to get an upgraded or updated version of any software they’re currently using. Apart from the offering of newer features, the upgrade often offers a ‘safer’ option as compared to the previous version since all known bugs will have been thoroughly resolved.  So when bunch of criminals stole Google’s Gaia source code, the shock was palpable. After all, Gaia was Google’s single sign-on system that controlled passwords needed to access a particular Google application a user was interested in. As much as the sophistication of the attack mechanism is to be admired-from a purely technological viewpoint, of course- it was appalling to learn about the initial flaw which served as the vector for the attack, upon a forensic audit. Google had basically been hacked through a zero-day exploit via IE6. As incredulous as it sounds, yes Internet Explorer 6 of all the browsers available to Google in 2010! To be fair, they might have had a valid reason for hanging onto this browser but that begs the question of what legacy internal application was making them use it in the first place.  There’s a joke that a successful dealer doesn’t partake of his own product…for a resolution those in Google’s IT department might want to try any of these: sample what its team responsible for Chrome having been brewing of late; take a tour of Mozilla and download a copy of their renowned fiery resident or better yet get a couple of eager code-happy interns to drag that dinosaur app kicking and screaming into modernity.

Talking of code theft has just brought to mind another case of 2010 albeit this time with Goldman Sachs. Ah where would ol’  trusted Goldman have been had dear Uncle Paulson Sam not bailed out AIG? That’s another matter of course. When their talented VP of Equity Strategy, Sergey Aleynikov, who had been working for years on high frequency trading software for the firm decided to tend his resignation and leave for greener pastures, he cleaned out more than his desk alone. He nabbed a “few” source file copies as well. It’s one thing to save a snippet of an algorithm or a clever workaround one did code but to ‘back-up’ 32 MB of the accompanying supporting files is pure larceny no matter how one tries to belittle it unless of course the individual in question can afford the kind of lawyers O.J Simpson had.  Unfortunately his legal defense team’s arguments weren’t convincing enough to the federal grand jury. Incredibly, not to be outdone, 26 year old Samarth Agrawal of Societe Generale’s high frequency trading team had also decided to ‘share’ a few lines of the firm’s Distribution Quotation System’s code with  Tower Research Capital LLC. Upon being caught red handed, he spilled the beans and admitted he had been angling for a position with them-as if he was on minimum wages at SocGen. I would love to be the fly buzzing overhead when both men get to meet in the penitentiary yard. Oh, the giddy talk of algorithms. At the time of writing this, Oracle is facing a lawsuit for code theft….Once is an occurrence; twice, a coincidence; thrice, time to check the water cooler supplies for contamination.

The unluckiest guy of 2010 definitely has to be Grey Powell. Grey who? Well, he was that Apple engineer who had a few drinks in a bar mostly frequented by geeks and left an iPhone 4 prototype there just a few weeks before its scheduled public release.  The resulting saga between Cupertino and Gizmodo ranged from denials to a SWAT-like raid before Apple’s General Counsel’s letter finally got the prototype returned. Hollywood couldn’t have scripted it any better. I guess that old saying about finders keepers was made irrelevant once and for all. The episode just didn’t end there. Apple released the new version of the phone which subsequently brought to light the shortcomings of its in-built antenna and signal-strength indicator computing formulae. Both got somewhat resolved but not without the scrutiny of the media. When the dust settled, the executive in charge of hardware development for the iPhone needed a new employer. And Grey? It’s believed he’s still with them, after all it would have been a bad PR move to give the fellow a shove when the world is watching when it was something that could easily have happened to any other person.

Obviously, i could continue to drone on and on about the not too noticed bits of last year, but was there something-a new product, service etc..- that piqued my interest in the last calendar year? Two stood out for me. For someone who cut his teeth programming with Turbo C++ and CodeWarrior, the first time i switched to Visual Studio 2005 was so sweet.  Two iterations later, Microsoft’s release of version 2010 packed with goodies continued the fine work they had been doing. For now, my old 2008 Professional Edition is adequately serving its purpose although i have taken the 2010’s Express Edition out for a spin. It rocks! The other? Google’s Instant Search. When a newscaster  called it auto completion on steroids i was dumbfounded.  Although, the concept of having search results pop up on the fly as one types has been tried before such as Zheng’s attempt with Bing, Google’s implementation went way beyond using  just a couple wrapped APIs. Theirs was a sheer feat of scaling results and the guys that worked on their Caffeine search index certainly deserved more than the $10k pay rise they got to in order for Google to retain their talents. The ball’s in Microsoft Bing’s corner. I wonder what are they brewing for 2011?

A lot more happened that i haven’t mentioned. The whole Flash on iOS debate to the announcement by Canonical that the Ubuntu will be running Unity as its desktop manager in their next release are just a few examples of the meaty ones i left out. Perhaps i should have gone into details at the time. If 2010 is anything to go by, this year certainly seems promising.

Wednesday, December 1, 2010

A summer of bliss on the Long Trail

Watching the flurries land gently outside, adding another layer to the snow on the lawn, i finally realize that winter has returned after months of vacation.  Time really flies, but more so when one is in an entirely different world thinking up a solution to a set of intricate problems. There, dawn and dusk seem to be twins  and days blur into each other. Fall went by without noticing it and last week’s Thanksgiving didn’t do much to impress upon me that a season change was happening; seeing those cold feathery-like particles lightly descend from the heavens brought it home. Odd as it sounds, i do have the feeling that summer was just a few weeks ago…cue the Twilight Zone intro song.

Most people will probably have their own version of what la dolce vita entails. Mine is simply packing a backpack full of the necessary nourishments and gear for getting lost in the woods. Oh i forgot to add that all important durable dog tags just in case i end up being lunch for a bear or wolf pack.  That last item is primarily for closure purposes. I am of the belief that it’s absolutely cruel to leave a family with lingering hope of one’s return when in fact the individual in question is quietly working his or her way through some predator’s gut.  It’s the thrill of being disconnected from the “grid” and wandering off whilst seeing and hearing nature in it’s somewhat pristine self that draws me. Of course, the added advantage of having something to brag about to friends is another. I just cant resist making my colleagues feel like lazy bums.

The Long Trail stretching from the southern part of Quebec, right through Vermont up to its border with Massachusetts, offers many scenic and tasking trails for the avid hiker. In my opinion, the best thing about it are the smaller trails connecting it. So with the mercury hitting the nineties in the early part of the summer, i was already packed and yearning to be out there. Armed with the latest copy of the Green Mountain Club hiking book, my trusty hike partner and I attacked the Butler Lodge, Frost, Rock Garden, Maple Ridge and the  Laura Cowles side trails to name a few as well large sections of the Long Trail itself.  An exhilarating experience considering how many times we went “off course” attempting shortcuts. Admittedly, on hindsight, those were hare-brained and i was at fault since smarty pants insisted on being the navigator. Thank goodness i wasn’t a guide to those early explorers, they’d have been scalped! One of those moments where i suggested a detour ended with us almost being mauled by a farmer’s dogs, another with the skin on my arms  itchy, painful and bumpy from horse flies’ kisses. 

The best of these hikes was a 13 hour hike beginning at four in the morning if one counts the prior 45 minute drive to the side trail site. We aptly termed it the Insane Hike since we did it not on a typically clear blue sky summer day but rather in treacherous conditions: continuous  rain with visibility reduced to a few yards at higher altitudes, a not too gentle wind, wet rocks made more slippery by the moss on them….Try imagining being at almost 3700 feet clambering over those rocks with a sickening near 200 foot drop to the nearest ledge with the described conditions. Insane? I just love it when the adrenaline hits the bloodstream. I limped back that July day with a bloodied foot. Don’t ask how. In retrospect, i think i now understand why she never warmed up to the idea of us attempting skydiving together. I am still not sure whether the emphasis was on the skydiving or the together part.

I guess looking out now, what i am nostalgic for are those days when i returned with aching muscles, all dirty-yes i took a couple of tumbles-and disheveled but with a satisfied smile that i will be out there again doing something silly and..err…brave? Next summer, ah next summer…i keep telling myself.

I’m already reading about those famed Rockies.

Monday, November 15, 2010

Social networking & me

Often i find myself trying to come up with complex answers to this innocuous yet loaded question: “Are you on Facebook?”. At times, i do wish i was a geriatric or slightly more older looking-the daddy type with the beer gut- so i wont have to wind up in a conducive situation for that question to be posed in the first place. However, being a sprightly young and somewhat outgoing individual, there surely has to be some sort of cogent explanation as to why i am not swimming with the school like many of my contemporaries do. Obviously, I am one of the few odd ones out. Odd?How…odd?

Okay, let’s get this clear. I am not a sociopath with an abusive childhood history whose smile resembles a grimace; neither am i an anti-social  who grew up playing all alone in the sandbox at kindergarten and wouldn’t share his toys with others; nor a budding closet psychopath who loves to dream up dastardly deeds down in the dank basement or cellar and getting his panties all up in bunch just thinking of them.  I use the previous descriptions because when the first word of my answer to that question is a ‘no’, the range of expressions i get from my questioner starts from a subtly raised eyebrow to ones more pronounced such as the incredulously voiced: “No *#$!*&*#** way!”. The non-saintly reader is asked to insert an appropriate expletive for the last one. Good. Now that’s out of the way, on to more concrete plausible things.

First and foremost, i did have a Facebook account when it was at its nascent  and relatively exclusive stage-reserved for students of some certain colleges. Still do as a matter of fact. Back then i was just “trying” it out and being in the lab or library almost everyday with my close pals, the likelihood that checking for messages posted via Facebook from those same friends  and receiving something from them had slightly less than good odds to put it gently.  Using my all my fingers and toes, i can count the number of wall messages i did get from them. The problem today,however, is that i cant for the life of me remember which password i used to create it. Oh boo hoo, a lame excuse right… just a click on the “Forgot Password” and i will be emailed a reset link. Well, that only works if i still had my college email address up and running and could peek in its inbox from time to time. A little problem of graduation perhaps? So, effectively locked out of my account, why don’t i create another? Ah,the crux of the matter.

As with all social networking sites, an online presence must be updated frequently to stay relevant; from uploads of albums to constant updates about what one is up to or is planning to be up to? Being an engineer with a background in security, i naturally tend to see a lot of online stuff with a healthy dose of “danger”. Nope, i am not of the alarmist stripe. There’s a saying that the Internet is written in ink. It’s an apt statement. What i usually tell people  is that when they delete anything posted online, what they have done in reality is to deny themselves access to that data. Although something is “deleted”, a back up  may or may not exist somewhere for whatever reason and uses hidden in that never read yet agreed upon finely printed End User Agreement, Terms of Service or Use.

Contrary to what the reader may conclude at this point, the one overarching reason i did not create another account is that i don’t want to socialize via machines-servers, monitors etc- and have a firm define who a friend is to me. I already have a working one along with their qualifications: A good friend is one who bails me out when in jail, but the true friend is one who will be sitting next to me saying: “we really messed up”. I am an old fashioned fella who loves to travel to see, and chat with friends in person. Keeping in touch is okay. By that i mean the good old hearty gossip and reminiscing on the phone.  But keeping in touch and knowing their every single move exact to the millisecond is a turn off.

“Do you tweet?” usually follows…I am not of the avian species!

Tuesday, April 13, 2010

A Kibibyte…. anyone?

So here i am after a pretty long hiatus. I somehow forgot i had a blog to maintain - no it was not due to amnesia or any form of dementia. A sudden onset of acute procrastination was the diagnosis; a disruptive trait  for which i am still strictly following the prescribed treatments. For obvious reasons, i decline to state what they are  as they are highly addictive for the curious minded.  Sheesh! I should have been a doc.

Hmmm, a while back,  helping do bug triaging for the KDE app Dolphin, i came across a  feature request for an option to change the unit of measurement for the various folder & file sizes per the user’s preferences. Whereas most are familiar with the good old kilo, mega, giga SI decimal prefixes; binary prefixes for digital data: kibi, mebi, gibi etc,  are totally off-radar.  Wikipedia does an excellent job explaining what they are here.  Although, this is really simple to implement –monkeying around with Dolphin’s source to produce a solution is fairly straightforward- KDE’s  maintainers were just not going to make changes to the trunk to satisfy those of us weaned on the SI Units. A 6 year long thread on this subject follows the arguments for/against including it.

Despite their best intentions, until  my granny can use a Linux distro without me on hand to explain what’s going on or the ‘apocalyptic’ event of Microsoft doing an Enron/Lehman…i pretty much have my shirt on folks not knowing what a kibibyte is. Say what?

Friday, September 18, 2009

Live OneCare duh….

live pic

Recently switched to a new laptop to use while a bunch of guys tried to figure out how to get Vundo and a nasty  link redirecting virus off my beloved Toshiba. Browsing became a pain. Racked my brains for days and tried different antiviruses, deleting weird looking entries from the registry, HijackThis etc…and finally the WMD itself: VundoFix. Nothing worked.Nada!  Honestly, I admire the guy(s) who wrote this thing.  Don’t ask how i got infected; okay went down a “dark alley” online to get some prized warez.

So here i am, with this laptop running Windows Live OneCare and i get  the notification above . A security software suite whose firewall component is suspicious of its OWN aiding component. Jeez! No wonder the folks who screwed up my pc are encouraged.

Saturday, March 28, 2009

Project Gutenberg: books for leisure

After watching my weekly dose of the BBC’s Click, Kate Russell as usual presented a list of interesting sites for us dumb end-users who only use Google search results to find a website. I found the Gutenberg Project  to be intriguing and resourceful depending on what an individual’s interests are. For the more literary inclined, it contained a wealth of book catalogs on various topics, in different languages and by a lot of authors; with the catalogs searchable by author and/or title. Of course my favorite author, Sir Arthur Conan Doyle’s collection is included. For those of you who don’t know him, he’s the creator of the legendary Sherlock Holmes.

brunocb-sherlock-holmes-tux

Remember all those comic detectives with a magnifying glass and smoking a pipe? Yep, … all clones of Sherlock. Hercule Poirot does have a strong case but Sherlock reigns as the greatest detective ever – fiction-wise that is. At least now that I’ve got my hands on Sir Arthur’s digitized collection, after a hard day’s work of changing 1’s to 0’s and 0’s to 1’s , i  do have something other to relax with at night…