Saturday, December 14, 2013

Chrome Dev Tools - Code Collapsing / Folding in Source Editor On Its Way!

I should be able to highlight some code or act on an entire file by hitting a keyboard shortcut (I'm accustomed to Ctrl-M, Ctrl-M to collapse/expand a selected chunk) and have that code visually collapse to just the definition/signature line and a + show up on the left side of the IDE which I could click to re-expand that collapsed piece of code. Ideally, collapsing would also work anywhere there are mandatory closing symbols on a separate like (such as each/while/do/if/else/etc...)

What went wrong? The behavior just doesn't exist as of right now that I can find.

Did this work before? No

How to solve the issue? Ask the Chrome Dev Team to implement it via the bug submitted below :)

The value of this behavior is evident when you consider how often it appears elsewhere even in Chrome (any collapsable treeview demonstrates this). Elements tab does it, all the tabs in the right-pane of Elements (Styles, Computed, Event Listeners, etc..) also do it. Nearly every major IDE does it (Netbeans, VIM, Eclipse, Visual Studio, etc..)

This is extremely valuable to me when working with larger code files to the extent that I'm still using other IDEs instead of DevTools when working with larger or more complex files.

If you're not familiar with this behavior somehow, does a great job at showing the behavior, some potentially configurable options and perhaps a pattern to emulate since it's VIM and oss.

If you like the idea, go vote (not sure if it matters now, but it can't hurt) by clicking the star at the top left of the bug report below.

Friday, December 13, 2013

Another from Tony - How Babies Are [NOT] Made

Wish I'd have thought of this with both my children. Priceless!

How Babies are Made - Who Knew

Canadian photographer Patrice Laroche surely will have no trouble explaining to his kids about the birds and the bees. 

During his wife Sandra’s pregnancy, the artist created this hilarious explanatory photo series titled “How to Make a Baby”...

The creative couple planned and carried out their project throughout the whole period of 9 months, taking pictures in the exact same settings as Sandra’s belly expanded. 

The pregnancy saga of Sandra and Patrice basically denounces all the traditional cabbage and the stork stories. 

Now how could I not have shared this with you -?

Go ahead, smile, and enjoy your day!!

Courtesy of TonyD (He'll be blogging directly soon)

Monday, December 9, 2013

AirTame - Screencasting to HDMI - Wifi Bridge - Chromecast companion (not a competitor) That I'm Definitely Investing In

I just learned about a upcoming and very interesting product called AirTame (currently funding on

I think the description is a bit misleading, but if you consume media from a computer (Windows, OSX, Linux) and use HDMI, it's worth a good look. Likely has some serious Mobile device potential to follow.

I don't agree with their comparison with ChromeCast (especially due to its price and lack of built-in apps) and in fact, will travel with both dongles once I have AirTame but as much because of its value as a network appliance as anything.

It's basic purpose is to broadcast your computer screen to a small HDMI dongle which I like the idea of, but that's not even where it REALLY shines for me.

I have Google Glass, an Android phone, an Android tablet, a laptop, a Chromebook Pixel, multiple Eye-Fi cards and Google ChromeCast with me when I travel. Configuring (and reconfiguring) all these devices to deal with the captive portals that almost always exist while I travel (AirPort, conferences, hotels, etc..) is a real PITA. What's worse is that some devices like my Glass, ChromeCast and my Eye-Fi cards cannot use them due to the captive portals (well, not without some serious monkey business anyway).

AirTame is actually a small networking appliance with hardware media decoders and has TWO WiFi systems so it can act as a Wireless Bridge (be an AP and client at the same time) which means that you connect to it then tell it how to connect to other WiFi networks then it acts as a NAT Router allowing you to configure all your devices to one, well-known device then you only have to configure and manage that one device as you travel. As a result, you get Wifi that's useful to you anywhere you can get it connected to Wifi.

This means that I can now connect my laptop to a TV in the hotel room and also use ChromeCast and Glass where I previously couldn't (without a good bit of hacking anyway) AND all my other devices will "just work" as I'm accustomed to. A side benefit is that it is managing traffic and can prioritize for streaming media.

Since Airtame can be powered by through HDMI MHL OR external USB, I'm betting that I could power it up without having the HDMI plugged in and still get the WiFi Bridge behavior I want (good for the airport), powered off a portable charger even (battery or solar and not even need A/C).

All that AND it's only $89 for one or $169 for two (more options available on their indiegogo campaign). For the networking potential alone in such a small, battery-powered system (using USB and portable chargers), I'd say it's well worth the price. Add the screen casting (especially if the latency is decent in the real world) and it's a steal. If they do some decent Android integration (something like ChromeCast, Miracast, Cheapcast functionality), it's a no-brainer for many, but especially those of us to travel constantly and find ourselves stranded by captive portals.

I'm going to see about a review loaner so keep an eye out for more info.

Thursday, December 5, 2013

Why soldiers should be old men and not young ones

Credit to my buddy TonyM. He always send the funniest .... (the large font is for he and his other legally blind buddies that don't rely on screen-readers)

This is funny & obviously written by a Former Soldier... The New Direction for any war.

I am over 60 and the Armed Forces think I am too old to track down terrorists. You cannot be older than 42 to join the military. They have the whole thing ass-backwards.

Instead of sending 18-year olds off to fight, they ought to take us old guys. You should not be able to join a military unit until you are at least 35.

For starters, researchers say 18-year-olds think about sex every 10 seconds. Old guys only think about sex a couple of times a month, leaving us more than 280,000 additional seconds per day to concentrate on the enemy.

Young guys have not lived long enough to be cranky, and a cranky soldier is a dangerous soldier. 'My back hurts! I can't sleep, I'm tired and hungry.'
We are bad-tempered and impatient, and maybe letting us kill some asshole that desperately deserves it will make us feel better and shut us up for a while...

An 18-year-old doe’s not even like to get up before 10am. Old guys always get up early to pee, so what the hell.
Besides, like I said, I am tired and cannot sleep and since I am already up, I may as well be up killing some fanatical son-of-a-bitch.

If captured we could not spill the beans because we would forget where we put them. In fact, name, rank, and serial number would be a real brainteaser.

Boot camp would be easier for old guys...
We are used to being screamed and yelled at and we are used to soft food. We have also developed an appreciation for guns.
We have been using them for years as an excuse to get out of the house, away from the screaming and yelling.

They could lighten up on the obstacle course however... I have been in combat and never saw a single 20-foot wall with rope hanging over the side, nor did I ever do any pushups after completing basic training.

Actually, the running part is kind of a waste of energy, too... I have never seen anyone outrun a bullet.

An 18-year-old has the whole world ahead of him. He is still learning to shave, to start a conversation with a pretty girl. He still has not figured out that a baseball cap has a brim to shade his eyes, not the back of his head.

These are all great reasons to keep our kids at home to learn a little more about life before sending them off into harm's way.

Let us old guys track down those terrorists.
The last thing an enemy would want to see is a couple million pissed off old farts with bad attitudes and automatic weapons, who know that their best years are already behind them.

HEY! How about recruiting Women over menopause! You think MEN have attitudes.
Ohhhhhhhhhhhh my God! If nothing else, put them on border patrol. They will have it secured the first night!

You may want to send this to all of your senior big type so they can read it.

Chrome Dev Tools moves Rendering tab and its children such as "Show potential scroll bottlenecks"

Not sure if the beta channel will be effected, but for those bleeding edge web developers running Canary and following tips from rather smart people like +Paul Irish (since May or so), there is a VERY nice tool available in the Rendering options called "Show potential scroll bottlenecks". Recently I needed to turn it back off and couldn't find it or the rest of the Rendering section that was previously in the Dev Tools option dialog.

Thanks to some rather argumentative people in #chromium-support on FreeNode, I did eventually find where it moved to and explained that many of us might find it a bit too hidden considering the publicity it's seen, but apparently the powers that be have their reasons so I wanted to do my best to make sure everyone knows where it went. I'm including a screenshot below to clarify but you must open the "Console Drawer" (where you find the new emulation tab also) and you will find the Rendering tab.

P.S. If anyone know of a Chrome option/extension/start-up-switch/etc.. that might be responsible for that red tint you see, I'd love to hear about it. It's ONLY happening to Chrome, happens on all 4 of my monitors, and occasionally doesn't affect context menus but I cannot figure out the cause.

UPDATE: If you don't see the Rendering tab, go to your DevTools settings and check "Show 'Rendering' view in console drawer."

G+ Post

Saturday, November 2, 2013

Verizon Corruption, ISIS and Google Wallet

This is a post from XDA today where I addressed someone with good intentions who is supporting ISIS and trying to defend their decision. Original thread HERE.


I decided to go ahead and check my facts, and yep; they're all still valid and nothing you've said changes that.

Also, NOBODY is left with ONLY the option of using ISIS. They can do like 99.999999% of the population and use cards... OR they can encourage behavior that will further enable a major communications company already well known for abusing their customers to continue doing so.

As for your point about Apple, you're off base there too because Apple doesn't even have enough market share to have such an effect any more and even if they did, they'd come out with their own 'Isis' and watch everyone (including Verizon) bend over and take it. Of course, even Verizon has enough grey matter to keep themselves from that situation so..... it's not going to happen genius.

Your logic is about as strong as something my 3-year old might try on me and it will get about the same response; a condescending tone and then ignored politely with a forced smile. Wanna guess which step we're on now?

By the way, if you think that's raging, you might be a bit on the sensitive side, but if you'd like I can start using a more gentle tone and words just for you. I think I can recall those days from before the Corps reconditioned me (decades ago)

For the logic and/or mathematically challenged, I've gone ahead and compiled some facts of interest to the topic at hand and to explain why ANYONE supporting ISIS in any way is in the minority and only hurting everyone else.

Taken from: ISIS (VerizonT-Mobile and AT&T) and Google Wallet

I'd like to think that the numbers and facts speak for themselves here.

Friday, November 1, 2013

How to run an IISNODE (node.js for IIS) app in a virtual directory OR how to build a node.js app that works regardless of virtual directories in IIS

How's THAT for a lengthy title?

I spent more time than I care to admit trying to figure out how to get an existing node.js app running in a virtual directory on IIS. The entire reason I set out to use node on IIS was to be able to use it inside an existing app and that meant either a sub-app or a virtual directory and in this case, the latter seemed the better (easier) choice but the virtual directory name was causing reference issues for "Dynamic" requests (actual node.js app files).

The solution turns out to be well addressed, at least for "express" framework apps using app.use()

When you call app.use(app.router), you can pass a namespace prefix for your virtual directory and then requests will succeed BUT who would want to hard-code their virtual directory name into their app [yuck!]?

The solution turns out to be quite simple because IISNODE promotes appSettings to environment variables. Taking advantage of this fact, you can add an entry to the apps web.config such as:

        <add key="appvirtdir" value="/nodetest" />

Then you can make one simple modification to your server.js file like this:

app.configure(function () {
    app.use(process.env.appvirtdir || '', app.router);

This way your app is flexible but not even tied to the existence of the environment variable let alone its value UNLESS you want it to be and even then, the variable is local to the app (not really an environment variable).

I'm still working on the static requests and will update this post when I nail that. From what I'm reading everywhere, it should be as simple as updating the relevant rewrite rule but so far it seems that the rule isn't being applied so the settings are irrelevant. I'm still trying to determine why but I'm not quite competent with URLRewrite. Below is what I currently have.

My virtual directory is "nodetest"
~/public/stylesheets/style.css exists
/nodetest/stylesheets/style.css returns "Cannot GET /nodetest/stylesheets/style.css"
/nodetest/public/stylesheets/style.css returns the expected CSS

              <rule name="LogFile" patternSyntax="ECMAScript" stopProcessing="true">
                <match url="^(?:[a-zA-Z0-9_\-]*/)*[a-zA-Z0-9_\-]+\.js\.logs\/\d+\.txt$" />
              <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
                  <match url="^server.js\/debug[\/]?" />
              <rule name="StaticContent" patternSyntax="Wildcard">
                <action type="Rewrite" url="public/{R:0}" logRewrittenUrl="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <match url="*.*" />
              <rule name="DynamicContent">
                      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True" />
                  <action type="Rewrite" url="server.js" />

How to install Node.js on Windows and integrate with IIS

I've decided that it's time for me to look at using node.js on Windows because I want a JSON web service that will run inside IIS, using SQL Server and I've learned that node.js is now a first-class citizen on Microsoft platforms.

My goal is to develop a web service that can consume my SQL Server DBs natively and run inside IIS using Node.js for [theoretically] maximum performance.

My development platform (where I'll first run all these steps) is Windows 8.1 but as I understand it, this should all work from Windows 7 to 8.1 with virtually no differences. At this time, I'm using WPI 4.6.

This process will give you an environment where IIS uses url-rewrite to send all requests to server.js in the project folder and it will do the routing and then web.config uses the iisnode section to cause certain files/folders to get processed through node so that IIS is the web server and node is essentially the application processor.

The first step is to install Web Platform Installer (WPI). At present, this can be found at:

WPI is essentially an IIS package manager but it does a LOT more than just manage packages. Using WPI, we will install WebMatrix which does even more than WPI (setup entire sites, with dependencies and provide a simplistic (yet still powerful) development tool that can then publish an entire site (with dependencies) to IIS AND run locally for development.

WPI is a 114KB download (web installer itself) that takes just a couple minutes to install and run.

First run will look something like the following except you may see newer packages (they're listed newest to oldest by default):

The next step is to simply use WPI to install WebMatrix. In reality, you can install WebMatrix directly (though I think that might install WPI anyway), but WPI is akin to NPM and you'll likely want it soon anyway.

At the top-right of WPI, in the search box, type "WebMatrix" and press enter/return. Find the latest version (currently 3) then click the "Add" button for it. Next, hit the "Install" button at the bottom.

I have a fairly fast connection (150Mb Cox Ultimate) and a fast machine so my install took about 20 seconds. When the install is complete, exit WPI and launch "Microsoft WebMatrix" from your Start Menu (or MetroUI if you've managed to live with it. I use StarDock's Start8 to give me back my start menu to and basically do away with metroUI).

Once you've launched WebMatrix (here-unto referred to as WM), deal with the Azure marketing content (I hit "not now" at the bottom right) and you're ready to setup a Node.js site.

Click the big "New" icon then "Template Gallery".

On the left, select "Node.js" template group then pick one of the templates. I'm using "Starter Site" for this tutorial. Next provide a "Site Name" at the bottom then click "Next".

As you click "Next" on the next few screens, the "magic" happens. ALL the dependencies are identified, downloaded, installed and configured rather than you having to locate all the compatible libraries, apps, modules, etc.. Just click "I accept" and sit back with WebMatrix does all the hard work. This will also install NPM by the way :)

This process will install "IISNode for Express" by default. If you are running full IIS (real development machine or server), you can now go back into WPI and search for and add "IISNode" to install the version for IIS, otherwise you now have a fully working Node.JS site ready to be opened in Visual Studio, run locally as-is, or published to an IIS Server.


If you're running full IIS locally and want to deploy locally (or on a machine with IIS), then follow the steps below (found them HERE). Also, using WPI, install "IISNode for IIS (IIS exists)".

Here is the quick version of what I found that is more recent guidance and was enough for my demo:
  1. 1.Install Web Deploy 3.5 for Hosting Servers [using WPI]
  2. 2.Bounce IIS and IIS Manager [Restart IIS]
  3. 3.Configure the Management Service I used parts of this:
  4. 4.Install Web Matrix to another machine. (You cannot deploy to the local machine.) [Yes you can, you just can't deploy to 'localhost', you must use your machines FQDN]
  5. 5.Deploy from the machine in 4 to the machine configured in 3. [Which can be the same]
Hope that helps others through the process
I still had some issues afterwards and one was resolved by opening "Programs and Features" from the control panel, searching for "Web Deploy", then click "Change" and select the deselected options (like the IIS extension).


Of course, after taking the time to put this post together, while searching for Razor related content, I ran across the following (which is basically my post with follow-up related to Node.js code):

Thursday, September 12, 2013

[RESOLVED] Windows 8 Remote Desktop Client Crash

I've been running Windows 8 in various forms as long as it's been available to MSDN subscribers and even with 8.1 about to release, MS has continually failed to address a major crash issue.

At first I figured it was a remnant of my forced upgrade from Windows 7 to 8 beta/preview/rtm etc. But when I started Googling in July of 2013, I discovered that I wasn't alone. Many were reporting issues with remote printers that could be resolved by either deselecting "Printers" on the "Local Resources" tab while others indicated that changing the default printer would help. Still others reported having to uninstall certain printer drivers.

Alas, these suggestions made no difference for me so I started digging. After downloading what I understood to be the Win7x64 binaries (turns out they weren't which was a blessing in disguise) and trying to run it with the same error, I gained a new perspective on the issue which was wrong, but still led me in the right direction.

Event viewer reported Event ID 1000 on Source Application Error. In the details I found the Faulting Application Path: %windir%\system32\mstsc.exe

I started investigating and discovered that hardlinks were being used (I have Link Shell Extension installed from When I executed the other enumerated file and got the same error but saw a different Faulting Application Path and the same Faulting application module (NTDLL.DLL), I started to suspect that the issue wasn't MSTSC itself so much as the context it was running it. The other path (specific to x64 install) was %windir%\WinSxS\amd64_microsoft-windows-t..minalservicesclient_31bf3856ad364e35_6.2.9200.16384_none_a6a5f4f9aadbc5f5 (this is where I had to adjust settings).

To cut to the chase, my suspicions led me to start playing with the compatibility settings and "Run As Administrator" and after thinking I had found the magical combination to run mstsc.exe at the amd64 specific path, I tried my "Remote Desktop Connection" start menu shortcut only to find that the error still existed.

UPDATE: Turns out that I had an instance running in the background and when I closed it, the crashes returned which led me to my final solution. Since I'd replaced my Start Menu shortcut, I had full permissions to modify the shortcut so I went to the compatibility tab and set "Run as Administrator" again and the crashes were once more gone. It appears the solution might be as simple as right-clicking your existing shortcut and using the Run as Administrator context menu item. Can anyone confirm it to be that simple or if the shortcut must be replaced to point directly to the instance under WinSxS?

In the end, I resolve the issue but can't even explain how. I CAN tell you what I did in general terms.

  1. I changed the owner of the amd_64_microsoft-windows-t..minalservicesclient_ folder to myself from TrustedInstaller.
  2. I granted myself FULL permission on the folder.
  3. I tested
  4. I changed compatibility settings and Run As Administrator on the WinSxS instance of MSTSC.exe
  5. I tested
  6. I undid the compatibility settings.
  7. I tested
  8. I replaced my Start Menu shortcut
  9. I tested
  10. I reverted owner to NT Service\TrustedInstaller
  11. I tested
Somewhere in there the problem was resolved and even though I believe everything except the shortcut back to its original state, the problem has remained resolved.

I wish I had a cleaner solution and perhaps once I try to repeat the process on my laptop later I will have a better answer, but for now, this works for me. Even though MS hasn't resolved the problem in some years, I can no use Remote Desktop the way it was intended.

Tuesday, July 23, 2013

How to REALLY move your Google Drive folder WITHOUT re-syncing or "not your original Google Drive" error

I've read article after article which was just a copy/paste of the flawed (read... BROKEN) directions provided by Google on how to "Move your Google Drive Folder".

THEY DON'T WORK (unless you're one of very few lucky people in which case you should go grab some lottery tickets).

If you follow the directions, you'll get an error about the new folder not being the original. Umm, isn't that the point of MOVING your folder? By definition, the new one isn't the old one even if it has all the same contents.

The problem and solution both lie in 2 files which you will find in the folder %userprofile%\AppData\Local\Google\Drive (for Windows anyway, not sure about other operating systems though I suspect the file names will match).

Those files are:

  • snapshot.db
  • sync_config.db

I can't give detailed instructions because the "fix" required hex editing these files and those directions will vary a bit but I use UEStudio (fantastic text/hex editor with syntax highlighting) and it has an ASCII find/replace option which I used to change my old path to the new.

The entire process was:
  1. Stop Google Drive Sync (right-click and Quit)
  2. Move the entire Google Drive folder (default is in Documents and Settings)
  3. Open each of the two files and do a find/replace from the old path to the new.
  4. Start Google Drive
  5. Be done (NO SYNC REQUIRED)
Why Google refuses to provide the action in the GUI after something like a year is beyond me and clearly isn't not difficult (sure, I may possess above average intelligence...) but this took me all of 5 minutes to accomplish once I had been enlightened to the AppData files for Drive (by another rather crude if not erroneous article).

I really do hope this will help a significant number of people out there. If it helps you, PLEASE share this article using the following link and do it on all the Google Drive support boards so that others can find it and Google will see it also. <-- Share this article using this link please so I can do tracking to show Google

Related: Recent issue I had, Google wouldn't resolve and I figured out myself. "Google Drive Failure Comes to a Head ... Read More"

UPDATE 2014-04-07: After researching other sync-app solutions, I've discovered one that seems to address the 3 most significant issues I've had with every other sync solution out there.
  1. Not having to re-download files that are already up-to-date (or at least REALLY close)
  2. Syncing folders that don't exist in the "Google Drive" folder OR syncing all the folders you want and NOT the ones you don't.
  3. Moving your "Google Drive" root folder (less significant in light of points #1 and #2) without having to redownload everything.
I've tried a good number of solutions and am on the verge of developing my own anyway because I think I can still make a more responsive and efficient client with plenty of options, but in the meantime, for my own purposes I am using SyncDocs. I have more than 140,000 files and roughly 70GB to manage right now (growing daily) for business purposes so Google Drive Sync didn't work for me. For starters it is a 32bit client and crashes during initial sync (or random re-downloads). This is a confirmed issue from a senior engineer on the Drive team that I've been in touch with.

If you're interested in a premium client that has real flexibility, a good UI, will allow you to seed with existing files, is fast, and efficient at syncing, please comment below. I'm considering a Kickstarter project to help make a final determination of whether I should move forward and how aggressively I should do so. If I move forward, I will be doing a proper beta program (REAL beta meaning I will actively engage to collect feedback, correct issues, update the client, etc..), provide multiple levels of backing which will dictate the level of support beyond beta, featureset, licensing (if I don't go perpetual), etc..

I will also use surveys to get a feel for what is most wanted, needed and what people might be interested in paying for.

Comment below to let me know your thoughts and interest.

UPDATE 2017-04-06: It's been nearly 4 years since my original post, 3 since my last update, and almost 1 since this topic was an issue for me. Somewhere along the way the Drive Sync client was given a registry-controlled feature to help the Sync client recognize existing files rather than ONLY recognizing files synced by the Drive Sync client. In recent history (I'm not sure, but I'd estimate 3 months ago) that feature has been turned on by default so now (in theory), you should just be able to point the client at a folder during setup, and it will merge the contents with Drive, identifying existing files when it's reasonable rather than creating duplicates.

tl;dr: This shouldn't be an issue anymore if you're on a current sync client and Google auto-updates them so you should be.

Sunday, February 3, 2013

No less than 12 years I've waited for Meta View...

...or at least the concept they are bringing to life. I have so much to say that I'm too overwhelmed to write a long post so I'll keep this simple. If you have heard my rants about the future of computing interfaces (Augmented Reality, aka NO MORE MONITORS), then you have heard me describe Meta View though until now, nobody had brought all the technology together with the same intent which I had. It's finally happened! Go check them out and if you know me and my ideas, PLEASE comment here to encourage them to get me setup to develop my idea (the software side) using their hardware. I don't know if it's just a matter of selection (like the Leap Motion I got), cost, or what so any encouragement is good.

My message to Meta View:

I began working with "VR" as a novice developer circa 1994 on a Zenith Data Systems 8086 with CGA Amber Monochrome screen where I was writing my own graphics libraries in assembly language and consuming them in qbasic (though I started coding in gwbasic) to build a virtual bob-sledding simulator. Next I incorporated a mouse and built my own 3D asset system to import, parse, visualize and manipulate wireframe objects. That "3D viewsystem" was also my own doing with the help of nothing both the built-in documentation for syntax/methods and a college algebra book (when I was in middle school) to learn the needed trig from. Since those days I have been tracking the progress of all things VR/AR and as far back as 12 years ago I have been preaching the future (more like the current now) of computing interfaces. My vision was simple. A transparent, stereoscopic HMD integrated with head/location tracking that would allow me to overlay (the term Augmented Reality wasn't one I'd heard of back then) my computing environment onto my real world instead of fitting it onto a monitor. Now I sit with 8.7 million pixels in front of me (one each of 1080p, 1200p, and 1600p monitors) and STILL feel like I'm trapped. I wanted to put application elements (windows, tickers, videos, etc..) where they made sense in my environment. Now I'm developing for Leap Motion (I have a gen 6 unit) and next month my Occulus Rift shows up. The rift is a stop-gap solution that I intend to hack by adding cameras that I can redirect to create the illusion which meta looks to be tackling head on (with transparent AMOLED I would guess). My goal with these products is to create a gesture-based, window management solution (ideally for DWM in Windows, but most likely as a plugin for Compiz-Fusion) that will allow me to get rid of my monitors for primary usage.

Meta-view would take all the hackery out of the equation for a proof of concept (I haven't seen any specs yet about resolution or pixel density so I don't know if the product will be appropriate for general computing) and let me focus on the end goal of the software interface (gestures, window management and the likes). All these years I've not had the resources to patent my ideas, build prototypes and see it through and at the same time I've been skeptical that I would succeed in that type of business field (though I'm very self motivated and confident otherwise). You would be hard-pressed to find anyone outside of your company and myself that is MORE enthusiastic about the vision we share where the future of computing interfaces is concerned.

I will be entirely honest and say that my professional experience with project management, architecture and development is not strong with the exact tools I'll need for this project but at the same time, i'm experienced enough to already know WHAT I need (hooking DWM or building for compiz, gesture recognition, etc..) and I imagine you'll be providing an API and SDK considering the sensors I see on the unit. I have been a professional developer for 12 years now thanks to a quick-start in the US Marine Corps (and easily 7 as an enthusiast before that). I have a Bachelors of Science in Information Systems Security and on any given day am either building software, building/maintaining databases, managing our IT assets (networking, desktops, etc..) for my current venture or hacking/tinkering with the latest of tech. I've been to Google I/O twice and plan on going again this year, own (the first major Android hacking site aside from XDA-Developers though we've since gone quite) and ultimately I hope to see this tech be incorporated well enough with a mobile device to see TRUE mobile, AR be a reality. I think that we have all the technology needed now. We just need companies like yours to provide the hardware and people like me to provide the ideas/software.

Please seriously consider me for early access to a developer unit so that I can begin working with the best solution for my idea as soon as possible instead of being forced to make due with other solutions not quite ideal for it.

As a developer myself, I'm fully familiar with NDAs and beta testing and can assure you that I'm a good candidate even aside from my ideas.

Sincerely and enthusiastically,

Michael Richardson