Hello Reader.

I don’t know why I have waited so long to post this… Tsk-Tsk.

In any case, this blog now lives (has for quite some time now actually) at http://mattezell.info

Please feel free to come on over there to participate in discussion or to catch up on the posts.

-Matt

After much scouring, I came across this gem hosted on Google Code – http://code.google.com/p/xdroidx/downloads/detail?name=DroidXBootstrap.apk

The pre-compiled Droid X Bootstrapper from Koush.

Just thought I would leave this here for you guys…

 

Yesterday, as I was plugging away on an ASP WebForms application to add some new features, I encountered an error I had not yet seen.

“SelectedValue which is invalid because it does not exist in the list of items”

Although Googling turned up a lot of results, I could not really find anything that fit the bill as a solution.  I did find a few threads on StackOverflow, though usually these discussions were followed up with additional people asking how the original asker resolved the issue.

For me, it turns out that I was calling the block of code that performed the list population and databind multiple times.  Populating and calling DataBind on this DropDownList multiple times, resulted in the above error.  In the end (after much forehead beating), the solution was an easy one – checking items before attempting to populate and bind to ensure the list was not already initialized.

if (yourDropDownList.Items.Count() == 0) //only populate and bind if not already done…
{
//populate and bind
}

That is it – just checking to ensure the items for the drop down list have not already been populated.  Of course, you really should have your application structured so that this logic is only hit once…. This said, if a complete refactor/rewrite is not in the cards for your application at this time, you can just perform this simple check to work around the exception.

Hope this helps someone!

-Matt

I am hoping that in posting this, someone is able to save a little time and frustration.

On my Ubuntu 10.10 machine with CouchDB 1.0.1 installed, I began experiencing the following error every time I attempted to ‘couchapp push’ my couchapp changes:

[CRITICAL] Expecting object: line 2 column 3 (char 4)

After a bit of noggin scratching (and perhaps a little mumbled cussing), I started thinking about the fact I had not upgraded my couchapp install since long before I last upgraded CouchDb.

Running the following cleared up all error and put me back in the happy land of  ‘couchapp push’:

“easy_install -U couchapp”

Yup… Just a version issue…  Hope this saves someone a few gray hairs…

 

-Matt

As is often the case, I am posting this here just as much for myself as I am for others Googling this problem…

Sometimes Vino-Server on Ubuntu can be flaky, preventing me from logging in, even though it is showing as running. I recently stumbled onto a helpful thread at UbuntuForums that assisted me…

Using the following, you should be able to get Vino back to behaving…

you@machine-name:~$ export DISPLAY=:0.0
you@machine-name:~$ /usr/lib/vino/vino-server &

I find this particularly useful when I am able to SSH in, but can’t VNC…

Hope this helps someone!

-Matt

So, I came to post a quick quip about how much I liked Inception today and realized how little I use my blog anymore.  Not that I have ever been a competitive blogger or anything of the sort, but it would seem that I have withered and dried up – at least so far as these posts are concerned (and likely reflect).

None the less, that is not the case (me withering and drying) as I have just been really, really (really) busy reading and trying to get myself up to speed as a professional programmer… Something that I am enjoying emensely (even though it sometimes feels as if I will never ever (ever) know enough to take a breath again – GOOD THING IT’S SUPA FUN!).

Speaking of something I have recently enjoyed (and my reason for sitting down 15 mins ago to begin writing this) – watching Inception (I’ll wait while you see what it is if you don’t know)… Oddly, there is more related between the first part of this post (developing as a developer) and the fun provided by Inception – conceptually at least… I have to say, I was genuinely entertained at the layering and constant thought provoking representations of recursion and Big-O concepts… I won’t go into it much more than that, but if you find this stuff interesting, you will likely enjoy aspects of the movie that may perhaps will be overlooked by “other watchers” of Inception.  Funny thing is, I get back home, head over to browse hacker news and quickly come to the realization that I was not alone in my CS-centric thoughts about the film – http://news.ycombinator.com/item?id=1526104

Aside from the mentally stimulating representation of CS-Theory-related concepts, there is PLENTY of eye-candy by way of perty explosions and mind-bending (and physically defying) scenery to keep you entertained – even if the exotic applications of recursion aren’t your cup of tea.

I’d give Inception an ‘A’.

So… Been a minute…  I have had quite a lot on my plate as of late…  Recently I accepted a new ‘associate developer’ position with a local programming group…  Needless to say, I have a lot to learn – really, more to learn than I have time in the day… This said, I have also already learned TONS.  In the past 3 weeks, I believe I have learned nearly as much (about programming) as I did the last 2 years of college combined…

As anyone with one themselves can attest, I have found my BS-in-CS to have largely left me unprepared for ‘professional programming’.  Yes, I understand the underlying concepts of lists and arrays (having been made to make them in C++ from scratch, with little emphasis or even mention of the STL), grasp the ‘big-picture’ of OO-Based Design (“Everything is an object” – I get it!) and the RAD paradigm, BUT little was I imparted with knowledge in regards to the Software Development Life-cycle – or – how programming is really done. A mere handful of chapters in the whole 4 years – not nearly enough to prepare me for what programming ‘really is’.

This said, I am very lucky to be amongst a group of guys who not only grasp how to develop – But that live and breath it as well.  It is with hopeful optimism that I say: “I hope that I am lucky enough to stay around long enough to at least soak up 50% of what these guys know”…  Programming is fun… I wish that I would have learned that in school…

nVidia LogoOk.  I will admit it.  I love compositing (Compiz) in Linux.  I absolutely adore it.  Clearly, this can be a bit of a problem as compositing on NVidia cards (more specifically using the Linux proprietary drivers) in Linux can be a bit of a challenge (understatement) at times.

Post-Lucid-upgrade has proven to be one of these times.  After having a smooth dist-upgrade and eventually a full, fresh install on my Eee 1000HE, I decided to forge forward with installing Lucid (x86 – reasons for we can debate elsewhere)from scratch on my custom built desktop recently.  As was the case with my netbook, Lucid installed largely without a hitch (See previous Grub post).

Once up and running, I of course wanted to get nVidia up and running.  For some reason on my SLI enabled (dual 8500GTs) desktop, I have never been able to get the repo nVidia drivers to work without issue.  Unfortunately after some trial and error, I was unable to get the nVidia supplied drivers up and running – after reading through some Lucid docs, I found out that the newest nVidia driver is currently incompatible with some of the system changes made with Lucid.

Fortunately, this time, the ‘nvidia-current’ from the repos did work for me!  Here is what I did to get it up and running in case you encounter the same ‘black screen errors that I did when installing from within Gnome.  I can’t say why it didn’t work in the GUI for me, but it didnt…

First, I had to get into a working shell by booting into “recovery mode” from grub – its a menu option below your normal boot item.  Once prompted, I selected netroot, which provides network access from the shell.  To get things installed properly, I had to get to init level 3:
$ initlevel 3

Then log in using your normal user login.

Get needed files:
$ sudo apt-get install build-essential linux-headers-`uname -r’

Blacklist nouveau by adding ‘blacklist nouveau’ to your blacklist.conf:
$ sudo nano /etc/modprobe.d/blacklist.conf

Install latest stabled nVidia repo drivers:
$ sudo apt-get install nvidia-current

Finally, generate the nVidia xorg.conf:
$ sudo nvidia-xconfig

After completing the above, I was able to reboot (“$ sudo reboot now“) into my nVidia backed Gnome desktop and finish completing my nVidia setup (ALT+F2, “gksu nvidia-settings“).  Then finally, I was able to get my Compiz back up and running – which came with its own problems and will be covered in another post!

Hope this helps!
-Matt

After countless wasted hours, I feel this link is one worth making note of : Grub2 Ubuntu Community Documentation.  The defacto since 9.10, things are a bit different from how things were handled in ‘just Grub’.  After years of learning the ins, outs and peculiarities of Grub, having readily available access to docs on Grub2 is a necessity when tacking installs of the latest and *cough*used loosely*cough* “greatest” distro releases.  After tacking with a mismanaged auto install of Ubuntu 10.04 (Lucid Lynx) on my P5n-e SLI based desktop (Raid, SATA+IDE, SLI and the works), I just thing that this link merits special mention…

It was likely some 100 threads before clicking through to this very link, so here it is – preserved for your and my reference!

Apparently, Google has been working on a URL Shortener – think tinyurl.com or bit.ly.  I was unaware that Google was getting in the URL shortening business, but apparently there has been some hype about its pending arrival around the interwebs (It is Google afterall)..

Apparently, the URL Shortener service is currently only available as a addon/plugin/extension for Google products.  Fortunately, one such product is Chromium – for which there is a handy-dandy plugin that allows you to generate shortened goo.gl URLs for any page that you visit!

What makes this plug in even cooler (something else I just learned – literally at the same time as learning of goo.gl) is that this URL Shortener also generates a QR Bar Code (the bar code pictured to the left, if scanned with a QR capable device, will take you to THIS POST!)!!!  To generate the bar code, all that is needed to be done is append ‘.qr’ to the goo.gl generated URL and “BAM!” MAGIC!  You have a custom QR generated for whatever URL you are browsing!  Example: “http://goo.gl/9yi5” will take you to this post and “http://goo.gl/9yi5.qr” is the bar code to the left!

Neat, huh?!