Jul 08

drugCompanyDogfood.jpgI want to propose a radical idea here: to the executives and employees of the major drug companies- if you are an individual responsible in any way for manufacturing, distributing or selling mind-altering drugs, you should be required to sample your own product before you push it on others in the same way that police officers are required to take a hit from the taser weapon before they can administer it in the field. Undoubtedly this idea would meet intense resistance and never get approved. I can hear the opposing arguments now and the rebuttal of “well if that’s your logic then Smith & Wesson employees should have to…” But what if a vitamin manufacturer was unwilling to consume its own product – would you not be skeptical of what they’re selling? Consider for a moment the current state of the pharmaceutical industry: think about the sums of money involved, the incentives at every level to encourage unnecessary prescription of these drugs, think about how they are defended and litigated to minimize exposure and maximize profit in situations where new information comes to light revealing crippling side effects and ultimately recognize who will bear the cost of this government-sanctioned racket in the form of long-term health issues for a significant chunk our population. More and more western medicine appears broken and the problem cannot be isolated to the chemists inventing the compounds in the lab, the clinicians conducting the trials, the lawyers securing the patents, the drug reps pushing the product, the doctor’s and psychiatrists writing the slips, the insurance companies paying the claims or the pharmacists scooping the pills over the counter – it’s the economics of the whole chain the fact that each individual is so removed from the end result that ensures this ugly trend will perpetuate itself indefinitely.

There’s a brilliant lyric from a song by Jack Johnson called Cookie Jar:

you can’t blame me, says the media man
i wasn’t the one who came up with the plan
i just point my camera at what the people want to see
it’s a two way mirror and you can’t blame me

I understand the dynamics of the situation: “it’s my job” says the salesperson. “It’s my job” says the chemist. “It’s my job” says the lawyer. “Other companies would move into our space if we didn’t” says the CEO. Capitalism has come in direct conflict with the the Hippocratic Oath and the public interest of health and wellness though, and guess which one has steamrolled the other? In such a radical situation, isn’t a radical approach necessary to re-balance the boat? When the boat has demonstrated that it’s not going to right itself an is in fact in an indisputable state of capsizing, isn’t it time to rally the crew and take action to save the ship? Responsibility has to exist at each link of the chain – if you’re pushing the safety of your product and you’re unwilling to sample it yourself, what does that say about the confidence of your assertions that the product is in fact safe?

I will share that for the greater part of 2001 I was on a cocktail of three of the most dangerous prescription drugs in existence: zyprexa, effexor and risperdal. How these substances continue to be sold blows my mind – read some of the patient testimonials from the above links to get a flavor for what these medications do. By some miracle and against the advice of every doctor and psychiatrist that saw me, I weaned myself off of these medications, evaded the path of zombie-dom that was inevitable for me and returned to a normal existence having gone through what I can only say what it must have felt like to the Apollo astronauts when they lost contact with earth on the dark side of the moon. Talking about a personal experience such as this carries a negative stigma, it’s seen as “uncool” and is arguably a risky bit of “career-damaging” info to share publicly. But having had first-hand experience with these medications and learning about the prevalence with which they are now being prescribed, it’s gut-wrenching to think about the lives that are being permanently destroyed under the guise of health and for monetary gain on the part of these drug companies.

Following cognitive dissonance theory I can only imagine the supporting justifications that the employees of these companies must concoct to be okay with what they are doing. These drugs may be helpful in isolated cases as an intervention method but they are being prescribed as a way of life. Pharmaceuticals- don’t kid yourself, you are not improving the lives of your consumers- you are causing child suicides. Short of meeting this plague head-on with a radical addition of checks and balances such as the one I’m suggesting here, what is a possible resolution to this situation? I challenge any representative of one of the major pharmaceuticals to respond to this question. And to everyone else what do you think the answer is to this situation?

Jun 27

innovationGamesBook.jpgSix months ago I was contacted by the publisher Addison-Wesley and invited to review a manuscript for a book called Innovation Games by Luke Hohmann. I just noticed they’re now accepting pre-orders on Amazon. While I’m still bound by the the review agreement and restricted from discussing particulars of the book, I can give a general overview and say that this will be an important work for anyone who strives to elicit the purest feedback and forward-thinking suggestions on the development of a product/service. First let’s look at the problem Luke is addressing.

Anyone who has conducted a focus group or a psych experiment knows that as soon as you ask someone for a justification of a decision, the mere act of asking them to explain things can cause them to change their response to fit the justification they think you want. Malcolm Gladwell covered this phenomenon in depth in his book Blink and perhaps the most memorable he cites is the experiment where a bunch of college students were offered a selection of posters for their dorm at the beginning of the year. The only condition of the experiment is that they had to keep the poster on their wall for the rest of the semester. Most of the students ended up choosing abstract art pieces (almost none chose the cutesy “kitten with a ball of yarn”-type posters you see in doctor’s offices). The experiment was repeated with a new group only the next time around the students had to justify their decision for the poster they chose. A great majority of the students ended up picking one of those rainbow, kitten, motivational posters and attributing their choice to the “cuteness” of the poster. The funny thing is a satisfaction survey conducted at the end of the semester showed that nearly all the students from the second group that had chosen the kitten posters HATED their poster and most had taken it down while the students that had never been required to justify their choice were still content with their selection. So how does this relate to Innovation Games?

Focus groups experience this same inherent flaw: the act of soliciting feedback from participants on a product often causes them to return skewed results laced with things they think the researcher wants to hear even when there is no tangible reward for doing so. It’s almost as the “wave particle duality of light” dilemma of Schrodinger’s Kittens occurs in human subjects in that the very act of measuring changes the thing being measured. So how does one get accurate feedback when the process of collecting data spoils the data itself? Luke proposes a simple yet clever device for eliciting the untainted feedback: couch the “experiments” in the form of games. I won’t steal his thunder and list all the games here but he proposes twelve different games which can be played in small groups over the course of an afternoon and are designed to extract innovative ideas and unadulterated feedback on how to improve a product or service. Playing these Innovation Games achieves a couple things:

  1. It makes the solicitation of the feedback implicit rather than explicit therefore nullifying the Hawthorne Effect (*note the Hawthorne Effect has been contested and yet continues to manifest primarily in educational experiments).
  2. It removes the experimenter bias because instead of potentially leading questions from an interviewer, you have pre-defined rules of a game that is played amongst participants
  3. It makes the experiment itself a more pleasurable activity and therefore improves the likelihood that participants will actively contribute as much as possible.
  4. It encourages creative thinking and produces interesting artifacts that can be analyzed and quantified later rather than bottle-necking the available responses up front to multiple-choice questions on a survey.
  5. The games -specifically Buy a Feature, Prune the Product Tree and Speed Boat- draw upon the power of decision markets (more on this in a forthcoming review of The Wisdom of Crowds)

I recommend this book to anyone that has the task of conducting a focus group for his or her company and for anyone with access to potential customers who would benefit by innovating around an existing product or service. My only criticism of this book is that after reading about how to conduct all twelve games, it was difficult to remember individual games later and when it was appropriate to use each. I lobbied for Luke to produce a supplementary DVD that showed concrete examples of past games conducted at his seminars with the thought that doing so would help cement the abstract ideas with real imagery and therefore facilitate better recall of each. I do not know whether they plan to release such a DVD but hopefully they will at some point. It’s not critical that you remember the specifics of the games from memory (you can always reference the book) – it’s more important that you understand the relevance of each game and be able to identify situations when it would make sense to employ a game to extract meaningful insight. You can read more from Luke on his blog or via his company’s website.

It should be noted have no affiliation with Luke or his company. I received a small, one-time honorarium from Addison-Wesley for reviewing the manuscript but I realize no future financial gain from the success of his book.

UPDATE 5/8/07: Full disclosure: I do now have an affiliation with Enthiosys, Inc in that I am now a certified Innovation Games facilitator and qualified to deliver the games.

UPDATE 8/30/07: Big thanks to Bridgitte Kaltenbacher for pointing out that the reference doesn’t actually appear in Blink. I mistakenly attributed it to his book but it actually appears in his talk at Poptech a few years back. That MP3 can be found here and the reference starts around 23:10.

Jun 18

Here’s a braindump of some interesting things from the past month:

Cabin Codefest

We took a trip this past week up to Munds Park, Arizona and jokingly dubbed it “Gridcon 2006.” We do want to have a conference someday for Grid7 participants but this trip was really just three nerds sharing an internet connection over Verizon EVDO working out of a cabin in the woods. We took a bunch of pics and actually did our first podcast for Grid7 from the road using my iPod. It was just an impromptu discussion amongst Kimbro, Baker and myself on things like Flex, .NET, Ruby, Ajax Apple/Microsoft and different philosophies for designing and improving software. It’s uncut and sometimes sounds like it’s being conducted underwater because I used a noise-canceling filter in Cooledit to remove the road noise, but it’s actually a decent conversation and worth scanning through – Kimbro had some interesting opinions on this stuff as always. The interesting realization for me was that Apple and Microsoft are the perfect examplars for what Clayton Christiensen calls “situational vs. attribute-based assessment” – you look at how Microsoft improves on a product and it’s all about adding features while Apple focuses more on the situations people deal with and making the problems they face simpler to solve.

Overall the trip proved that it is possible to be as productive working remotely as it is being local when you don’t have a client meeting. Phoenix is 113deg right now so the 70deg weather at the cabin was a welcome change. Here’s a pic of Baker and Kimbro nerding out in the living room:

CabinNerdOut.jpg

Unfortunately it’s not as simple to setup an ad hoc wireless network on a PC as it is from a Mac. Apple makes this a trivial, one-click task but the PCMCIA slot on Baker’s Powerbook was fried so I was the only one who could share the connection from my Dell. After looking through a bunch of reference sites on how to make it work, this tutorial on the Dell site was the winning set of instructions. Once it was setup it worked beautifully (when I wasn’t having to reboot my machine). We did a lot of deep thinking on where we’re headed with Grid7 and Kimbro posed the question that now confronts us:

To move to Silicon Valley or not?

How much benefit is there if you are launching a startup to be in the epicenter of web technology development in Silicon Valley? We’re faced with some interesting “crossroads-type” decisions surrounding Syncato (the new entity that we’re forming to house all the structured blogging stuff we’re engaged with at the moment). We’re wrestling with this question now of whether or not to move- on one hand I feel like there is finally a decent rumbling of a technology community upwelling in Phoenix and I would love to be a part of making it stronger here in my hometown but bottomline it’s still lightyears away from Silicon Valley in terms of activity. So what is the value of those chance encounters at the coffee shop where you run into the right person in the tech community who can help your cause? That’s really what it comes down to. Does the value of these connections outweigh the exhorbitant cost of living there? Does the inertia of the people around you help propel your own efforts or are we assigning more importance than is realistic to “being there?” We’re also facing the question of whether or not to try and seek angel funding to be able to hire a small team and accelerate things or whether to continue on the path we’re on now of bootstrapping and working with local developers that have dayjobs and trading equity for development… it’s a tough question and we’ll be making some choices this summer that shape the way things grow. Ultimately I don’t want to ever have regrets and say “i wish i would have tried xyz…” – I would rather see us go all in and take a good run at it and if that means moving to the Bay area or Palo Alto then so be it.

Mexico Property

Benny and I signed the docs and put the downpayment on our condo we bought in Playa del Carmen and we’re stoked. I was able to scratch off another one of my lifetime goals of owning property in Mexico which is cool. I’ve been corresponding a lot with our realtor and lawyer down there- communications with the realtor are informal but I’ve tried to maintain a level of formality in the spanish prose I use with the lawyer. Typing spanish characters is a PITA on an english keyboard. I was using a technique where i would pop open the character map in windows (Start > Programs > Accessories > System Tools > Character Map) and copy the special characters to my google toolbar in the browser and use that as a scratch pad to be able to easily drag the ones I needed into the document but I found this site which makes authoring Spanish content even easier. It’s a web-based utility for inserting those weird characters without doing the alt-1234 ASCII code method or having to fire up the character map in Windows.

characterMap.gif

The “ABC’s” of diplomacy

Being “diplomatic” has never been a strong suit of mine- I tend to be too blunt with clients instead of toning down my comments (Dale Carnegie’s advice just never really sank in). It’s something I think people appreciate once they get to know you but it’s a bad habit when dealing with people for the first time. The ABC project has been 95% complete now for the past month held up only by an annoying Sybase error I get when sending the final of eight consecutive emulated browser requests for interacting with this legacy system. We finally got the right people on a conference call to solve the issue and it turns out there is in fact an XML-based option for exchanging data with their system. I’ve spent probably 150hrs in all coding up this screenscraping method for emulating a person interacting with their system. There was so much involved in defeating the countermeasures they had in place to prevent this that it’s a shame to just scrap this code (the XML method will take all of about one day to implement once I have schema from them). I will most likely just release the code for what I’ve done into the public domain so that maybe it helps provide a jumpstart for others that need to do heavy-duty screenscraping type emulation in Coldfusion. I need to check with ABC first before I release the code, however.

Needless to say I was pretty annoyed that I had done all this work on a fixed-bid project to create this system. I had asked originally if such an API existed and was told repeatedly that it did not (meeting audio recorded and everything). The guy on the call who is on tape denying the existence of an API had the nerve to claim on the conference call that he had made that option clear and I insisted on traveling down the screenscraping path….riiiiight. I had to bite my lip and refrain from using expletives on the call. The dude was clearly trying to save face in front of his superiors and ultimately I just don’t care that much about it- I just want their stuff to work. Pretty lame though, reminds me why I’m not in a big company anymore.

Self-improvement programs

For whatever reason I’ve found myself on a kick lately of doing various self-improvement programs. Here are a few I’ve tried, some good and some not-so-good:

  • Total M oney Makeover by Dave Ramsey- I’m halfway through it now- it’s a little cheesy and I can see how it would be valuable for people facing a lot of debt but it’s not as relevant to my situation. I need to focus more on how to command more consulting dollars. I have a few books on consulting that look promising and will hopefully help on that front. I’ll report back if there are any are must-reads.
  • Wealth without a Job by Phil Laut and Andy Fuehl – I’m sorry but I went to this seminar in Phoenix because my buddy Josh recommended it and I’m sure there’s some value in their program but I couldn’t handle their presentation style. There was zero connection with the audience and it was presented in a near “gameshow host” flavor with little substance during the portion I attended. I was interested in the idea they proposed that we develop negative mental patterns early on towards money and these unconsciously inhibit our earning potential later in life but I just did not get this at all from the part of the seminar I attended. I ended up walking out at lunch the first day.
  • Breakthrough Rapid Reading by Peter Kump – I need to run through this again and get back into it but I did this program awhile back and was able to break the “subvocalization” habit and increase my reading speed from 250WPM to 750WPM with better retention and recall. I believe this book should be a part of every highschool curriculum. The premise is that we all learn to read and we grow up essentially speaking the words we read under our breath. As you’re reading this paragraph now, ask yourself if you’re just saying the words to yourself in your head. If you can train yourself to break this habit, you can ingest the words much faster and assimilate information as fast as you can see it. The other effect you can nullify in doing this is the “braindead factor.” If you’ve ever found yourself reading the same paragraph over and over and not remembering anything you just read, then you’ve experienced this. How great would it be to have the same immersive reading experience you get when lost in a thrilling novel only to be that immersed in reading work-related stuff? I believe reading is one of those core skills (like the “abdominals” of the mental muscle groups) that makes sense to focus on and can provide a huge advantage in daily life if we expend the energy to strengthen
  • Body for Life by Bill Phillips – This is a great all-encompassing program to get back in physical shape. It has both nutritional advice, workout routine recommendations and the inspirational component to get you to actually use the techniques. Like anything else, it’s ultimately the execution that matters. I did it 2yrs ago and lost 8% bodyfat and got back into single-digits. This is another one I’ve just started reading again- it’s a 3month program so results won’t occur for me this summer but it’s never too late to take up his program and get to where you need to be.
  • Getting Things Done by David Allen – I did the abridged audio book a few months back. Like 37s, this guy has a near-religious following of people that have adopted his techniques of coping with their daily todo’s and info overload. For me it mostly validated my current system of how I triage tasks and stay on top of things. I don’t acutally use his orthodox system with the tickler file and inbox but terms like “open loops” and “mind like water” are good concepts to understand and you really do feel more productive and less stressed once you get eveything out of your head and into a trusted system. BTW, check out the Peaceful Warrior movie if you’re looking for a good film in the theaters right now. I read the book a couple years ago and the movie was very true to the book – it echoes some of the same advice as David Allen – “take out the trash Dan…”
  • Secrets of Power Negotiating by Roger Dawson – I did the 7-disc audio series on the way to work and there was some great advice for how to become a better negotiator. Oh and Mexico is the perfect proving ground for trying out these techniques. There are too many to summarize but basically if you’re buying or selling anything more than a few hundred bucks in the near future, you’ll make back your investment immediately by purchasing this audio set.

So that’s a hodge-podge of the stuff I’ve been involved with. I’ve also been running through the tutorials in the Agile Rails book (which is excellent btw). I’m a bit torn though because I’m way more productive right now with Coldfusion. Learning RoR is strategically the right move given that this is our technology platform for all the Syncato and BloQs stuff moving forward but it will be crippling for awhile until I become more proficient with RoR. But it is the right move and I do understand that sometimes you gotta walk down the hill to get up to the next higher peak on the other side of the valley. My role will shift with Grid7 at some point but for now I have to put on my chef’s hat and help cook up some of the code for our stuff. Look for a code release here later this month once I get the okay from ABC to publish all the screenscraping functions I wrote that we won’t be using anymore.

Jun 07

Disclaimer: I have zero scientific evidence to substantiate this theory. It’s subjective and anecdotal from my own experience and based in part on the concepts proposed by Tony Buzan in his Mindmapping book. Although I have no proof, I have seen it validated consistently through personal experience.

So why use a “tree-branching” style vs. a traditional outline format when brainstorming or note-taking? Very simply: because the conventional “indented outline” format of note taking imposes false linearity on your thought process . And what could be more important than having unbounded thinking when brainstorming or capturing notes on a new subject (I’m hereby banning the use the term “outside of the box” thinking). The Buzan book is the seminal work on mind-mapping and goes through a lengthy explanation of why and how to do it. I won’t rehash all that here but the main idea is that nature itself is not linear. Imposing a format on note taking which demands that we add new items sequentially to the outline funnels our thinking down to the last item at all times so that when we write this:

Outline: what you see

our brain is really seeing this:

Outline: what your brain sees

Using the alternative mindmapping technique, we can represent the same information like such:

Mindmap: what you see

And now our brain is instead seeing this:

Mindmap: what your brain sees

…which is good because we inherently like to fill in all the blank spaces and grow the tree so now rather than have the compulsion be to stop thinking about additional ideas, the path of least resistance is for our brain to continue to add to it. And once that spiral begins, tangential thoughts spawn from others and you start to get light bulbs. At least that’s the gist of why I believe it works. Granted for proposals and formal documents where the expectation is a more traditional representation, mind maps may not be appropriate. But at least the first time you begin thiniking about a subject for your own notes you should not be trying to cram the info into an outline. Doing so just because your fifth grade elementary school teacher told you it’s the proper way to outline a subject is pointless. Instead of getting hung up on where to use roman numerals vs. arabic vs. capital and small letters to ensure proper structure, we should be thinking how to remove the structure altogether from the notes and let them flow and grow organically.

The other benefit aside from improved creativity at the time of conception is greater retention and recall down the road. Try this test- look at the first outline above for 10sec and then go to a blank sheet of paper and write as much of it as you can remember. Now try the same experiment with the mindmap and see how much of it you were able to recall. The effect is amplified when you are the one generating the mindmap because you personalize it. The more doodles and weird stuff you make, the more visual your map becomes and we all know that “a picture is worth 1000 words.”

It’s one thing to read about mindmapping and say “hrmmm, that’s interesting,” but until you actually start doing it, it is just apriori book knowledge and you won’t fully appreciate the technique. As far as software, I can’t endorse any particular one as being better. I use one called Visual Mind and my friend Dave uses one called Mind Manager. There are no less than ten packages out there that all do the same thing and there are plenty of opensource options available and most of them can export the maps to XML and some integrate directly with wiki’s and pda’s. The best advice if you’re not mindmapping yet is to just try doing it and see if it doesn’t FEEL like “mentally cleaning the windshield” when you do exploratory thinking on a subject.

Jun 05

1-800-FREE-411 (or 1 800 373 3411).  I don’t know how they’re making money with the service but I just used it and it’s all voice-activated and accurate for a local listing I just tried. No need to pay the $1 for 411 anymore… got it mapped to the “i” button in my treo now.

Tagged with:
Jun 04

BlogCFC2WPlogo1.gifI looked around for a migration script to port my blog from BlogCFC over to WordPress and didn’t find anything so I wrote one. First lemme say that BlogCFC is a great piece of software and I don’t want to encourage anyone to move away from it. For myself the decision to move to WP was one of those “eat your own dogfood” choices. 100% of the stuff we’re building at Grid7 right now is centered around Structured Blogging and Microcontent. WordPress and Moveable Type are currently the only two authoring tools that have plugins that support this. For me to advocate microcontent without having the ability to publish it would be like Ray advocating BlogCFC and hosting his own blog on WordPress. Plus removing barriers to exit on a piece of software should theoretically increase the adoption of its usage because people can now safely use it knowing that they aren’t locked in permanently. Anyways, I asked Ray if he was cool with me releasing this code and he had no problem with it. There is a Readme included but basically here’s what you do:

Download the BlogCFC2Wordpress.zip file

  1. Setup a new instance of WordPress (you’ll need to be able to run CF and PHP side by side)
  2. Configure a datasource in CF administrator for your new WordPress db.
  3. Extract the contents of the zip file to a directory on your site
  4. Modify the config.ini file to reflect the source and target datasources
  5. Provided you want a fresh install you should clear out the dummy data that comes with WP
  6. Run the RunMe.cfm file
  7. Delete the BlogCFC2Wordpress directory
  8. Two optional last steps
    1. put the rss.cfm file in the root of your wordpress blog to keep all your old subscribers
    2. put the index.cfm and qBlogCFCPosts.xml files in your root to handle redirects for all your old links

Provided that it worked you should see a screen that looks like this->

BlogCFC2WPscreenshot1.gif

Obviously you’ll need to mimic the directory structure of your BlogCFC instance so all the files referenced in your posts continue to work. I just moved my downloads and images directories over and it worked fine. I updated the stylesheet to include the .code classes so inline code would display properly. There were some weird idiosyncracies with the way that the inline embedded flash player was handled by WordPress/php but that was really the only gotcha and I just referenced it in a new window on entries where it broke (it was something to do with the tag). If you do the last two steps your users should never have to change anything and all your legacy links should continue to work.

The code is actually commented (i know, crazy right?) and makes heavy use of components so it may have some instructional value. There’s some other nuggets in there and one technique in particular that I’ve started doing (and I don’t know whether this equates to CFUnit or another type of unit testing – i’m admittedly horrible about not writing unit tests) but it’s been a time-saver on another project where I’m dealing with a long sequence of calling various components that access external systems to get the objects I need to do an operation. Basically it’s a few lines of code that lets you serialize the object and write it to a file so that for testing rather than calling the components each time, you can instead read the file and deserialize it to create the same object so it behaves as if it were getting it from the prior sequence. This may be old hat for others but it’s a technique that has saved me time and the pain of repeatedly clearing out database entries.

The performance of the migration script is fine for me (it took 13secs to move 73 posts, 75 comments, 130 category mappings and 18 categories). It’s admittedly not optimized (I prefer the syntax and I realize it instantiates the component on each request under this method). There’s plenty of room for improving this with the function-style syntax for instantiating objects and for someone like Ray who has 5000+ posts you might have to (or else bump your Timeout in the CFadmin) but it worked fine for me and I have no desire to do this. I’ve tested it against CFMX7, MySQL 4.1 and Win2k3 with BlogCFC v. 3.8 to WP v.2. There are some new fields in the latest version of BlogCFC so you would need to make a few minor modifications to the query syntax but it should be pretty painless. Also the sql is vanilla with no stored procs (all the logic is in the cfc’s) so it should also work with other databases like Postgres or MSSQL and it should run fine on BlueDragon. It should be noted that I did end up using a queryToArray utility found here and this is embedded in a util component in the distribution.

The usual discalimer applies on this code – backup your WP db before you use it if there’s anything that is worth saving! I’m not providing support on the code. You can repost it and take it apart and make it better if you want but please leave the original comments and license intact. It’s the MIT license which is as close to having no license as you can get.

One thing – I was on the fence about using feedburner because athough I wanted the stats and the other promotional and convenience features they offer, I didn’t like the idea of promoting an RSS link I don’t have control over (ie. they decide to start charging and have you hostage by having control over your feed). My partner came up with the great idea to use a link that redirects to feedburner. Simple and genius.

Big ups to Ray Camden and Matt Mullenweg for writing useful Blog authoring tools. Hopefully this migration utility makes both products more accessible to others.

Oh, and in the never-ending pursuit to master the art of the tripodless qtvr, I took one yesterday in the middle of the pool at this pool party we went to on the side of Camelback Mountain. It was like the house they blew up in Lethal Weapon 2 and it was was every bit as ridiculous as it looks.

altitudePoolPartyQTVR1.jpg
preload preload preload