Maybe I'm showing my age, but I remember the good old days. The first processor I programmed for was a 6502. Followed by a list of other illustrious 8-bit processors, like the 8088, the Z80, and the 8080. All either in assembly or a mix of assembly and Pascal--remember Borland, anyone? Sometimes assembly and C. Then came all their 16-bit friends, which were more of the same ilk. Life was simple then--there wasn't any code in the system that you didn't write. Total transparency. And total control.
But the good old days weren't always so good. The romantic simplicity of those times is overshadowed by the memories of all the hassles and engineering challenges in dealing with those 8-bit dinosaurs. The constraints on those processors were huge: very little memory, very sparse registers with dedicated functions, and arcane mixes of available instruction/register combinations. Lots of time packing and repacking functions, rewriting to save every spare byte because the chip couldn't address any more than a squeak of memory. Making your code impossible to fix or edit, because you had a clever trick to save ten bytes by manually chopping out snippets out of the generated assembly. Confusingly overloading functions, inexorably linking code for two totally unrelated purposes, like the calculating the display column offset and delaying for proper timing of an A/D read. You know... in hindsight, those days were truly awful.
Still today, although the 8-bit well has almost dried up, companies are selling and creating products that use 8-bit and 16-bit processors, when 32-bit and 64-bit processors are available.
Why?
The answer is easy--cost.
Unbelievably, it's still cheap to make those antiques. Either that, or there is just some warehouse in New Jersey that's piled ten stories high with the junk. Having known how difficult it is to squeeze some life out of these tired old dogs, I can only pray that they just go away for good.
Why?
Because I care about software engineers and their mental health.
The true cost of programming for 8-bits is lost productivity. Engineering time is not cheap, and although it often isn't considered, an accurate cost assessment needs to amortize engineering effort over the life of the product. For a consumer electronics device, the life of the product is preciously short, and for every cent you save on using an 8-bit processor, you add a dollar's worth of engineering time to the bill of materials. In the brave new 32-bit world, productivity is amazing--you can crank out code in a fraction of a time using modern tools, libraries, OSes, and applications frameworks. 32-bit tools can completely blow away what is even possible an 8-bit micro, all the while the other guy is still debugging his old fashioned bubble-sort routine.
For the sake of software engineers everywhere, let 8- and 16-bits die, once and for all. I'm there for you, you poor non-32-bit engineers. Until that day.
Thursday, December 24, 2009
Sink or swim with the GPL (GNU General Public License)
Here's a headline you might find interesting:
(Here's the URL for the full article: http://www.softwarefreedom.org/news/2009/dec/14/busybox-gpl-lawsuit/ )
The full list of companies being sued is Best Buy, Samsung, Westinghouse, JVC, Western Digital, Robert Bosch, Phoebe Micro, Humax USA, Comtrend, Dobbs-Stanford, Versa Technology, Zyxel Communications, Astak, and GCI Technologies. This is similar to GPL violation lawsuits brought against Cisco, Verizon and a number of smaller companies like Super Micro, Extreme Networks, Bell Microproducts, High Gain Antennas, Xterasys, and Monsoon Media among others.
The newest lawsuit is because those companies are illegally using BusyBox. BusyBox is a super useful program (released under the GPL, of course), which is an embedded-Linux swiss army knife, providing many functions that would otherwise require dozens or hundreds of binaries. Its a life-saver for an embedded developer, but it, or any other GPL software including Linux itself, can be an iceburg to your company if you aren't fully aware of the restrictions that GPL imposes.
I've boiled this down to some simple principles. (But as they say, I'm not a lawyer, I just play one on T.V., so please consult your own legal experts!)
FOR ENGINEERS:
Now that you've got the basics, you can take a safe swim through the open source sea. Just don't forget to keep an eye out for the crocs!
New York, NY, December 14, 2009//Best Buy, Samsung, Westinghouse, and JVC are among the 14 consumer electronics companies named in a copyright infringement lawsuit filed today in New York by the Software Freedom Law Center (SFLC).
(Here's the URL for the full article: http://www.softwarefreedom.org/news/2009/dec/14/busybox-gpl-lawsuit/ )
The full list of companies being sued is Best Buy, Samsung, Westinghouse, JVC, Western Digital, Robert Bosch, Phoebe Micro, Humax USA, Comtrend, Dobbs-Stanford, Versa Technology, Zyxel Communications, Astak, and GCI Technologies. This is similar to GPL violation lawsuits brought against Cisco, Verizon and a number of smaller companies like Super Micro, Extreme Networks, Bell Microproducts, High Gain Antennas, Xterasys, and Monsoon Media among others.
The newest lawsuit is because those companies are illegally using BusyBox. BusyBox is a super useful program (released under the GPL, of course), which is an embedded-Linux swiss army knife, providing many functions that would otherwise require dozens or hundreds of binaries. Its a life-saver for an embedded developer, but it, or any other GPL software including Linux itself, can be an iceburg to your company if you aren't fully aware of the restrictions that GPL imposes.
I've boiled this down to some simple principles. (But as they say, I'm not a lawyer, I just play one on T.V., so please consult your own legal experts!)
FOR ENGINEERS:
- If you are using open source software, make sure your management and your legal department knows about it. They may be blissfully unaware, but ignorance unfortunately does not stand up in court. The life of your company and your own livelihood can be on the line if your company is sued, and even out-of-court settlements can bankrupt a company. Your company's management needs to assess the risk and put into place any mitigation strategy in case your product is discovered to contain open source and your company is not upholding the conditions of the license.
- If you are not using open source software, help your management team by providing adequate information to explain why you chose a proprietary software solution. They will need to justify the costs required to purchase that software, and avoidance of GPL compliance measures can be one of those factors. Companies are always in pursuit of the lowest cost, and free sometimes is too difficult a temptation to avoid. What is often not realized is that open source is not free--there is a cost required in compliance with open source licensing, and that cost is rarely factored into the total cost of ownership.
- Understand what GPL means for your company, and be familiar with the restrictions and regulations that it imposes on your product development. One of the primary things to understand is that GPL enforces you to provide and publish your source code, which can be a detriment to protecting your company's intellectual property.
- Look into purchasing software management products from companies Black Duck Software, which can identify the orgin of source code throughout your source tree. Black Duck provides an easy way to prove that your software is conformant, and if not, it gives you a quick way to find out what is required to make it conformant.
- If you are using open source, you should employ a conformance officer, who has enough technical skill to understand the engineering aspects of software development, as well as understanding enough legalese to communicate effectively with your legal department. This person's responsibility is to make sure that all code that's used in your products has a known orgin, that all of the many software licenses in your product are collected, managed, and tracked, and that your company is doing what is necessary to be compliant to those licenses. For GPL this basically means contributing all your software changes back to the open source community and providing your software's source code free for download or included with the product. Other licenses may have more strict or more leniant requirements.
- Encourage your engineering staff to fully disclose the orgin of software they are using that they did not write, and make sure you enable the controls and processes needed to track software origination and licensing terms.
- Understand that there is a hidden cost associated with GPL in addition to the loss of intellectual property. Publishing or distributing your software, or making available the source for your software, whether that is through email, website, or CDs, and tracking your conformance are all extra burdens on an organization. Weigh in that cost when deciding on software usage terms based only on price that otherwise look "too good to be true" to understand if they really are as beneficial as they look at first glance.
Now that you've got the basics, you can take a safe swim through the open source sea. Just don't forget to keep an eye out for the crocs!
Detroit ngConnect Launch: The Motor City delivers for Christmas
Last Tuesday, just a week and change before Christmas, QNX and Alcatel-Lucent hosted the launch of the LTE connected car for the automotive audience. Whereas Alcatel-Lucent spearheaded the NYC event due to their connections with the carriers, QNX was the prime for this event because of our close connections with the auto industry. Which explains why we had the event in Detroit. Despite premature reports of Detroit's death, and having the international infamy of a town being on life-support, the Motor City still is the center of the world when it comes to cars. There couldn't have been more interest or excitement by those in attendance; we had a full day booked with press, automakers, industry analysts, automotive tier one suppliers, and automotive partners, most getting their first hands-on experience with the LTE connected car. People who are all working towards designs that will blow away customers in a scant couple years.
Was it as "funky" as New York? Nope. Instead of a chic retrofitted carriage house in Hells Kitchen, we held it in the rather conventional, but very well appointed, Rock Financial Showcase in Novi, which they had outfitted for the season with some beautifully ornamented Christmas trees. This was generally a crowd with a more a roll-your-sleeves up approach, so I don't think the slightly more pedestrian surroundings were even noticed.
But what was noticed was the car. Again, the star of the show, there was hardly a time when all four seats weren't filled with wide-eyed engineers, managers, and execs. Everybody was getting a glimpse of a stocking stuffer that will be available within a year or two. It was like Christmas came a little early to Detroit! Now if only Santa can be nice to everyone this year and deliver some car buyers...
Was it as "funky" as New York? Nope. Instead of a chic retrofitted carriage house in Hells Kitchen, we held it in the rather conventional, but very well appointed, Rock Financial Showcase in Novi, which they had outfitted for the season with some beautifully ornamented Christmas trees. This was generally a crowd with a more a roll-your-sleeves up approach, so I don't think the slightly more pedestrian surroundings were even noticed.
LTE Connected car, right before the show opened...
Tuesday, November 10, 2009
Google and Sesame Street
I guess I'm feeling frivolous today after getting two nagging items from my tall todo stack completed, but...
I appreciate what Sesame Street and the much lesser renowned Electric Company did for me as a kid, but I think it's highly amusing that a veteran children's program gets far more attention from Google than any other topic I can think of. Any other multi-day campaigns come to mind? I can't think of any.
Do you think that it says something about the age demographics of the powers that be at Google that they were running Sesame Street Google ads all week? Or is it just a soft-spot for muppets? A secret ploy by the Public Broadcasting Service to increase viewership?
I'm curious to hear your thoughts on it...
I appreciate what Sesame Street and the much lesser renowned Electric Company did for me as a kid, but I think it's highly amusing that a veteran children's program gets far more attention from Google than any other topic I can think of. Any other multi-day campaigns come to mind? I can't think of any.
Do you think that it says something about the age demographics of the powers that be at Google that they were running Sesame Street Google ads all week? Or is it just a soft-spot for muppets? A secret ploy by the Public Broadcasting Service to increase viewership?
I'm curious to hear your thoughts on it...
Friday, November 6, 2009
LTE Connected Car - Behind the scenes of the New York City Launch
I love watching "the making of" shows. Seeing the huge amount of work and detail that goes into creating movies or TV shows is really eye-opening. And it's just about as interesting to watch a trade show or a press event come together. Although this time I didn't directly participate in the show bring up, I have previously been privileged enough to particpate a few of these events. It's a huge amount of work to organize and keep running, all for such a brief moment in time.
Because seeing behind the scenes is kinda fun, I thought I'd share some of these pictures taken by my coworkers and our PR agency. These shots were all taken before the press started streaming in.
The Star waiting for her entrance
Because seeing behind the scenes is kinda fun, I thought I'd share some of these pictures taken by my coworkers and our PR agency. These shots were all taken before the press started streaming in.
"Is this all for me? Really guys, you shouldn't have!"
Makeup artists at work
Our names in lights!
The Star waiting for her entrance
"I'm ready for my closeup, Mr. DeMille"
Yeah baby, we stylin.
Thursday, November 5, 2009
LTE Connected Car - The magic is in the software
There is no doubt that without LTE, the connected car wouldn't be a reality. Network infrastructure, LTE modems, advanced antennas, and piles of routers--your traditional carrier conceerns--are all absolute necessities. That's a lot of cutting-edge hardware that's needed to deliver all those bits. But what are you going to do with that flood of bandwidth to the car?
You Need Software.
I know I'm biased here--my degree is in Comp Sci, I've programmed for the majority of my career, and I work for a software company. So of course I think software's important. But without all those magic bits, how else could you take advantage of the capabilities of the cloud? You need integrated software stacks, multimedia codecs, virtual execution environments, advanced HMI capabilities with attractive graphics, vehicle connections, bluetooth and portable device connectivity, Internet protocols, and all the sophisticated software that goes into the most advanced in-vehicle infotainment system around.
What exactly does that look like? Quite simply, it is the QNX CAR software stack, and it looks like this:
(If you need a microscope to read this, click on the image for a bigger version.)
Yep, you're right. That's a whopping pile of code. If you're a software guy like me, you'll understand that every one of those blocks represents hundreds to thousands of lines of carefully crafted and tested source. And that it's quite a bit of work to put that together. And that it would take months or even years to craft something that contains all those smoothly interworking pieces. The ng Connect program wanted something available today and not five years from now, so the Connected Car started with QNX CAR to make their magic.
You Need Software.
I know I'm biased here--my degree is in Comp Sci, I've programmed for the majority of my career, and I work for a software company. So of course I think software's important. But without all those magic bits, how else could you take advantage of the capabilities of the cloud? You need integrated software stacks, multimedia codecs, virtual execution environments, advanced HMI capabilities with attractive graphics, vehicle connections, bluetooth and portable device connectivity, Internet protocols, and all the sophisticated software that goes into the most advanced in-vehicle infotainment system around.
What exactly does that look like? Quite simply, it is the QNX CAR software stack, and it looks like this:
(If you need a microscope to read this, click on the image for a bigger version.)
Yep, you're right. That's a whopping pile of code. If you're a software guy like me, you'll understand that every one of those blocks represents hundreds to thousands of lines of carefully crafted and tested source. And that it's quite a bit of work to put that together. And that it would take months or even years to craft something that contains all those smoothly interworking pieces. The ng Connect program wanted something available today and not five years from now, so the Connected Car started with QNX CAR to make their magic.
Tuesday, November 3, 2009
ngConnect and the LTE Connected Car
I'm writing this from my New York hotel room, after having spent a long day doing press interviews from dawn to dusk. I'm pretty bushed, actually, but I wanted to be the first to blog about the ng Connect Connected Car that QNX and Alcatel-Lucent announced today (http://ngconnect.org/). That hope was dashed almost immediately once the day begun, since the press was blogging about it while they were still actually at our event, sneaking off into corners of the showroom to blog the second after they were done talking to us. Reporters today are pretty darn efficient! I think Wired may have been first (living up to their name), and there was actually no competition from me. But maybe, just maybe, I thought I could at least be the first in my company to blog about it. Nope. Two of my coworkers beat me to the punch. Also dreadfully efficient.
I could tell you all about how the collaboration of the ng Connect companies bring together innovators and experts from across many different spaces--networking, infrastructure, automotive, content--and make a sum that's greater than the parts. I could explain how Long Term Evolution (LTE), sometimes called 4G, will revolutionize the car experience by bringing broadband connections to the car, allowing on-demand streaming audio and video, cloud-based navigation, floating traffic probes, collecting diagnostics, viewing your home PVR content, and general Internet Web 2.0 awesomeness. I could say how great the partnership between QNX and Alcatel-Lucent has been in working together to build the vehicle that showcases this amazing technology. I could talk about how the software platform was all constructed on top of the QNX CAR application platform, and how that since QNX CAR is Flash based, it made it trival for other ng Connect partners like Atlantic Records, Chumby, and Kabillion to port over their content to the ng Connect Connected Car. I could explain how little I've actually seen of NYC while I've been here.
Instead of all that, I'll let you read my coworker's blogs for the real scoop. Maybe when I catch up on my sleep, I'll post a little more. Until then, take a look at these:
http://onqpl.blogspot.com/2009/11/look-inside-ng-connect-connected-car.html
http://automotive-infotainment.blogspot.com/2009/11/15-minutes-ok-maybe-15-seconds.html
I could tell you all about how the collaboration of the ng Connect companies bring together innovators and experts from across many different spaces--networking, infrastructure, automotive, content--and make a sum that's greater than the parts. I could explain how Long Term Evolution (LTE), sometimes called 4G, will revolutionize the car experience by bringing broadband connections to the car, allowing on-demand streaming audio and video, cloud-based navigation, floating traffic probes, collecting diagnostics, viewing your home PVR content, and general Internet Web 2.0 awesomeness. I could say how great the partnership between QNX and Alcatel-Lucent has been in working together to build the vehicle that showcases this amazing technology. I could talk about how the software platform was all constructed on top of the QNX CAR application platform, and how that since QNX CAR is Flash based, it made it trival for other ng Connect partners like Atlantic Records, Chumby, and Kabillion to port over their content to the ng Connect Connected Car. I could explain how little I've actually seen of NYC while I've been here.
Instead of all that, I'll let you read my coworker's blogs for the real scoop. Maybe when I catch up on my sleep, I'll post a little more. Until then, take a look at these:
http://onqpl.blogspot.com/2009/11/look-inside-ng-connect-connected-car.html
http://automotive-infotainment.blogspot.com/2009/11/15-minutes-ok-maybe-15-seconds.html
Tuesday, October 27, 2009
All Aboot Language
I said in my opener about this blog that it was going to be about random things, not just work-related. Today's random thought is about my "accent". I haven't been living in Canada for that long now (a little over 3 months), but I'm pronouncing words differently. Sure, some of them are because every single person around me does, and so I'm just accomodating so I don't sound funny. Like "pro-cess" instead of "praw-cess". That's on purpose.
But the strangest is that I've noticed that I'm starting to pronounce "out" differently too. Not "oo-t" like American's are fond of imitating incorrectly. Candians don't say that. They say "ou-t", as if they're pronouncing the O and U. Americans say "ow-t". My change is subtle, but I noticed it because I wasn't trying in any way to modify that word. It's half-way between the way I used to say it and the way Candians say it. Candians would still identify me an American. But American's would think I'm saying it a little funny.
Strange what language does, eh?
But the strangest is that I've noticed that I'm starting to pronounce "out" differently too. Not "oo-t" like American's are fond of imitating incorrectly. Candians don't say that. They say "ou-t", as if they're pronouncing the O and U. Americans say "ow-t". My change is subtle, but I noticed it because I wasn't trying in any way to modify that word. It's half-way between the way I used to say it and the way Candians say it. Candians would still identify me an American. But American's would think I'm saying it a little funny.
Strange what language does, eh?
Friday, October 23, 2009
QNX and Cisco's CRS-1: delivering the world's content at 2600 DVDs per second
Last week, Cisco did the favor of presenting to QNX some of the things being done with their CRS-1 (Carrier Router System), coincidentally powered by QNX Neutrino. That presentation brought out the geek in me.
It was pretty amazing to learn that IOS XR, Cisco's ultra reliable OS, lets them run 92 Terabits per second and uses hundreds of parallel processors is based on a straight, unmodified QNX kernel and QNX Transparent Distributed Processing. Now a Terabit is a lot, and 92 Tbps is hard for a mere mortal like me to understand, so I converted it into some more meaningful measurements. That's equivalent to squirting out 2,600 DVDs per second, or 18,000 CDs per second. Wow.
CRS-1 and QNX were responsible for delivering North American coverage of the Beijing 2008 Olympic Games. The High Def video feeds were all being pumped over the Pacific; HD video in real-time like this was a first. The video went through CRS-1 equipment first highly compressed, had local advertising inserted for each market, then re-integrated with the real-time video feed and shipped back out to their individual markets. With a high of 107 million people in just North America watching the games, that's a lot of pressure for failproof, glitch-free, real-time delivery.
Dozens of world-wide mega-corporation telecommunication carriers rely on CRS-1 for POTS, mobile phone, video, cable, and Internet feeds. There are a whole whack of countries that can run just one CRS-1 for the entire country. Cisco's CSR-1 telecom customers aren't public, but the majority of them are household names. There's a very good chance that your voice or video touches QNX every day.
People like my Mom don't care--she can barely operate a cell phone, let alone wonder about all the miles of cable, crates of equipment, and crowded server farms that make the modern world work. But for someone who's even only a part-time geek like me, it's pretty cool to find out what makes things tick. Especially when it's ticking to the beat of your company's software.
It was pretty amazing to learn that IOS XR, Cisco's ultra reliable OS, lets them run 92 Terabits per second and uses hundreds of parallel processors is based on a straight, unmodified QNX kernel and QNX Transparent Distributed Processing. Now a Terabit is a lot, and 92 Tbps is hard for a mere mortal like me to understand, so I converted it into some more meaningful measurements. That's equivalent to squirting out 2,600 DVDs per second, or 18,000 CDs per second. Wow.
CRS-1 and QNX were responsible for delivering North American coverage of the Beijing 2008 Olympic Games. The High Def video feeds were all being pumped over the Pacific; HD video in real-time like this was a first. The video went through CRS-1 equipment first highly compressed, had local advertising inserted for each market, then re-integrated with the real-time video feed and shipped back out to their individual markets. With a high of 107 million people in just North America watching the games, that's a lot of pressure for failproof, glitch-free, real-time delivery.
Dozens of world-wide mega-corporation telecommunication carriers rely on CRS-1 for POTS, mobile phone, video, cable, and Internet feeds. There are a whole whack of countries that can run just one CRS-1 for the entire country. Cisco's CSR-1 telecom customers aren't public, but the majority of them are household names. There's a very good chance that your voice or video touches QNX every day.
People like my Mom don't care--she can barely operate a cell phone, let alone wonder about all the miles of cable, crates of equipment, and crowded server farms that make the modern world work. But for someone who's even only a part-time geek like me, it's pretty cool to find out what makes things tick. Especially when it's ticking to the beat of your company's software.
Wednesday, October 7, 2009
QNX CAR wins Adobe MAX: Dollars, Developers, and Drivers.
News flash--QNX CAR won the Adobe MAX award for the mobile category! Of course, this is wonderful news to everyone in QNX. But what does it really mean?
You can interpret this in several ways:
You can interpret this in several ways:
- QNX is creating technology for the car that competes with the best offerings for mobile phones.
- The automobile is extending a person's ubiquitous connection to the cloud, just like smartphones have.
- Unlike GenIVI, QNX CAR is actually delivering on the promise of a standardized automotive platform by introducing applications from many different disperate companies.
- Adobe Flash has become a legitimate force within the automotive electronics environment.
- QNX is brushing off the stodgy image of the automotive market as being a slow moving and non-innovative in electronics.
- The QNX CAR-based automotive infotainment system is becoming a new avenue to attract the best in application developer talent.
Monday, October 5, 2009
The NVidia GPU Technology Conference, or Graphics Guys Know How to Have Fun
If you walked into the lobby of the Fairmont San Jose hotel this last week, you'd be confronted with this machine and a video of it in use. It was created by Adam and Jamie of Mythbuster's fame for Nvidia, and it illustrates paralellism quite dramatically. It's a mega paintball cannon that paints the Mona Lisa in one single shot. Think ink jet printer on a big scale. As far as geek stuff goes, this is pretty darn cool.
That's probably a good word for the whole conference. As far as tech conferences go, the Nvidia conference was pretty-darn-cool. The key note speaker on the last day was the CTO of Industrial Light and Magic, with follow on detailed talk by one of their key geeks. ILM are the guys who do CG work on practically every film released these days. They gave a big presentation including lots of full screen video, showing exactly how they use parallel GPUs to save thousands of hours of their rendering farms. They demoed pouring absinthe and worked that into the talk in a non-awkward way (I was impressed). They showed us parts of movies that hadn't been released yet. Those parts will appear as blacked out in the youtube video, and the exclusivity was flattering. Finally, they couldn't resist doing some audience participation--making everyone in the audience run a cellular automata program to demonstrate wave and point sources and their parallelism. Talk about taking Life to the next level. Using humans to simulate a cellular automata is something that even the most stuffy people around me seemed to find amusing. If you ever get the chance for an ILM presented key note speech, my advice is--don't you dare miss it.
That's probably a good word for the whole conference. As far as tech conferences go, the Nvidia conference was pretty-darn-cool. The key note speaker on the last day was the CTO of Industrial Light and Magic, with follow on detailed talk by one of their key geeks. ILM are the guys who do CG work on practically every film released these days. They gave a big presentation including lots of full screen video, showing exactly how they use parallel GPUs to save thousands of hours of their rendering farms. They demoed pouring absinthe and worked that into the talk in a non-awkward way (I was impressed). They showed us parts of movies that hadn't been released yet. Those parts will appear as blacked out in the youtube video, and the exclusivity was flattering. Finally, they couldn't resist doing some audience participation--making everyone in the audience run a cellular automata program to demonstrate wave and point sources and their parallelism. Talk about taking Life to the next level. Using humans to simulate a cellular automata is something that even the most stuffy people around me seemed to find amusing. If you ever get the chance for an ILM presented key note speech, my advice is--don't you dare miss it.
All in all, a very interesting and fun conference to go to if you ever get the chance. My presentation had a lot less explosions than your average GPU session since I was talking about automotive graphics. Avoiding explosions is usually pretty fundamental in automotive. Instead, I explained the QNX composition manager. How it uses the OpenKODE API to merge all kinds of graphics output into one seamless display, and how we work with Nvidia to enable those types of applications. Yeah, no explosions. Given that the sessions around me were showing how to create particle simulations to simulate flames or volumetric simulations of fluids, I certainly felt a little jealous at their cool presentations. I'd like to think that the people who attended my session learned about the cutting edge of in-vehicle graphics, even if it wasn't on fire. Or being bombarded by paint balls.
Now that I know the competition, I'll make sure to up my game if I talk again next year.
Wednesday, September 30, 2009
Musings on an iPhone camera
I'm in the Fairmont in San Jose (quite a nice hotel, btw), giving a talk at the Nvidia GPU summit in two days, and the sunset from my window was breathtaking. One of those beautiful warm autumn days in California, cloudless from pleasant gentle gusts of wind, the horizon aglow with peach and orange and crimson, broken in places by silouettes of the interposing buildings.
I used to think I'd never use a camera phone, but I turned out to be wrong. I always have it at hand, and it's just too conveinent. I whipped out my trusty little iPhone and took a picture. What my eye saw in the sunset was not at all what the iPhone captured. Comparing the two was a pretty striking difference--the color reproduction was completely off and the contrast messed up. Didn't even look like the same skyline. I knew that it would take a real camera with all the corresponding f-stops, exposures, lenses, color filters, etc. to make it look like what I saw, and I had a real appreciation at that moment for photographers and the art of photography. Most people think it's just pointing and shooting, but there's much more in capturing what the eye sees. (I've attached the crappy picture that my iPhone took.)
Is there a point to this post? Not really. Unless you're one of the people who makes camera phones. Don't stop working on making point & click capture what the eye sees. I'm sure it's a terrifically difficult problem. Maybe I'll learn someday about digital photography and the hundreds of compromises in incorporating a sophisticated camera into a phone so I can appreciate the work that already has gone into it. But right now they're still far from perfect.
Friday, September 25, 2009
Day Trip to ESC Boston
Tuesday (Sept. 22, 2009) I made a trip to ESC Boston for a speaking engagement--out and back on the same day. I gave a presentation titled "Creating Dynamic User Interfaces with Adobe Flash." The basic topic was explaining how you can create a solid embedded system with Flash despite being originally designed for the web environment.
Given the economic climate, the show floor was pretty well populated. I took a tour around the booths, talking to interesting companies and meeting with partners. Nobody I recognized. Not like I know everyone in the industry, but seeing nobody I recognized was a little unusual. It were more auto-focused, I'm sure I would have seen some familar faces.
Around two dozen people attended my talk, which is pretty good for this type of venue. A lot of questions and feedback afterwards--people coming up to ask post-talk questions are always a good sign. I think that in general it kept the audience's interest, except for one poor guy who was audibly snoring during one part. Hey buddy, I don't blame you, since I got up at 4:30am to catch my plane--catch some winks while you can ;-)
Most of the questions were certainly focused around people grasping two concepts. Using Adobe Flash in embedded, and using an RTOS for Adobe instead of Windows. Many people didn't realize that Flash could be used in an embedded environment, so this was an interesting development for them. Certainly expands the choices in HMI (Human Machine Interface) creation. Those that were already using Flash pretty much thought Microsoft was the only deployment option. One in particular was asking about Silverlight (Microsoft's direct Flash competitior) and whether or not Microsoft's would continue support of Adobe, to which I could only reply "that's certainly a decision left to Microsoft." That person was very interested in the possibility of picking up a more stable OS environment for their Flash-based application, and clearly was concerned about the long-term support that Microsoft would be offering.
I can never be absolutely never certain when I give a talk whether or not anyone is listening or not. Thankfully this time, I'm pretty sure they were. It made the whole trip worthwhile. (And if you read my last blog entry, you'll be happy to know that I got my demo up with hours to spare for show-time! Thanks goes to Ben VandenBelt for his support.)
Given the economic climate, the show floor was pretty well populated. I took a tour around the booths, talking to interesting companies and meeting with partners. Nobody I recognized. Not like I know everyone in the industry, but seeing nobody I recognized was a little unusual. It were more auto-focused, I'm sure I would have seen some familar faces.
Around two dozen people attended my talk, which is pretty good for this type of venue. A lot of questions and feedback afterwards--people coming up to ask post-talk questions are always a good sign. I think that in general it kept the audience's interest, except for one poor guy who was audibly snoring during one part. Hey buddy, I don't blame you, since I got up at 4:30am to catch my plane--catch some winks while you can ;-)
Most of the questions were certainly focused around people grasping two concepts. Using Adobe Flash in embedded, and using an RTOS for Adobe instead of Windows. Many people didn't realize that Flash could be used in an embedded environment, so this was an interesting development for them. Certainly expands the choices in HMI (Human Machine Interface) creation. Those that were already using Flash pretty much thought Microsoft was the only deployment option. One in particular was asking about Silverlight (Microsoft's direct Flash competitior) and whether or not Microsoft's would continue support of Adobe, to which I could only reply "that's certainly a decision left to Microsoft." That person was very interested in the possibility of picking up a more stable OS environment for their Flash-based application, and clearly was concerned about the long-term support that Microsoft would be offering.
I can never be absolutely never certain when I give a talk whether or not anyone is listening or not. Thankfully this time, I'm pretty sure they were. It made the whole trip worthwhile. (And if you read my last blog entry, you'll be happy to know that I got my demo up with hours to spare for show-time! Thanks goes to Ben VandenBelt for his support.)
Tuesday, September 22, 2009
Lessons for the Travelled Speaker
I think it's an indicator that you've given a sufficient number of public speaking engagements when you're not stressed at all going in. I'm presenting a session at ESC Boston this afternoon (Sept. 22, 2009). Calm as a cucumber. However, I will fess up. I decided to let wisdom prevail and do a quick run-through on the plane of the presentation and to ensure my demo works. This is one of those times when you realize why run-throughs are needed. Presentation? Piece of cake. Demo? Not so much.
I had my laptop scraped a month ago by our IS department because of a networking problem they couldn't resolve, no matter how many driver files they replaced. They decided a brand-new install of Windows XP might be the trick to stop my machine from giving the Blue Screen of Death once a day. Thankfully, it seemed to have cured the problem. However, I've been discovering piece-by-piece all the software I hadn't re-installed along the way. VMWare workstation was one of those. I had installed the VMWare Player, but not the Workstation. As it turns out, the VMWare image I needed to run for my demo wasn't able to run on the Player. Ironic, because I had been using the VMWare Player on a bunch of other images just yesterday and it worked flawlessly. Could be why I had fallen into complacency about testing out my demo.
I'm currently staring at a copy dialog for installing VMWare workstation over our corporate VPN through the conference center WiFi. I started at "168 minutes remaining", but thankfully while writing this blog I'm now down to "134 minutes". If there's any chance that you're attending my session about Creating Dynamic User Interfaces with Adobe Flash, don't worry at all--I've got plenty of time before I talk. Way more than 134 minutes.
Similar to a backup strategy where you only realize you should have made a backup only after something catastrophic happens, I've got another axiom. No matter how many times you've presented or demoed, it always pays to double-check and do a dry run. Thankfully, I did!
I'll post on the ESC Boston presentation after this afternoon...
I had my laptop scraped a month ago by our IS department because of a networking problem they couldn't resolve, no matter how many driver files they replaced. They decided a brand-new install of Windows XP might be the trick to stop my machine from giving the Blue Screen of Death once a day. Thankfully, it seemed to have cured the problem. However, I've been discovering piece-by-piece all the software I hadn't re-installed along the way. VMWare workstation was one of those. I had installed the VMWare Player, but not the Workstation. As it turns out, the VMWare image I needed to run for my demo wasn't able to run on the Player. Ironic, because I had been using the VMWare Player on a bunch of other images just yesterday and it worked flawlessly. Could be why I had fallen into complacency about testing out my demo.
I'm currently staring at a copy dialog for installing VMWare workstation over our corporate VPN through the conference center WiFi. I started at "168 minutes remaining", but thankfully while writing this blog I'm now down to "134 minutes". If there's any chance that you're attending my session about Creating Dynamic User Interfaces with Adobe Flash, don't worry at all--I've got plenty of time before I talk. Way more than 134 minutes.
Similar to a backup strategy where you only realize you should have made a backup only after something catastrophic happens, I've got another axiom. No matter how many times you've presented or demoed, it always pays to double-check and do a dry run. Thankfully, I did!
I'll post on the ESC Boston presentation after this afternoon...
Friday, September 18, 2009
DSO is the worst marketing term ever invented
Of course I'm biased: I work for QNX, and DSO is a Wind River term. Please take that information as a full disclosure up front.
But come on now--really. "Device Software Optimization?" This acronym, which has been around for forever now, is Wind River's TLA that they love to trot out at any opportunity. I've asked a lot of people what it means (WRS employees included), and nobody has a consistent answer. Even reading Wind's marketing copy doesn't illuminate. Why? Because it means nothing.
Device Software Optimization means to optimize the software to the device? Where I'm from, that's called "writing software". How many engineers don't do DSO, even if they don't have the faintest clue what that means, or don't use any WRS products? Exactly my point--all of them.
Maybe someone reading this post will be able to finally once and for all be able to explain DSO to me and lift the fog. Please do. I remain open to the possibility that I shouldn't hate this term.
But come on now--really. "Device Software Optimization?" This acronym, which has been around for forever now, is Wind River's TLA that they love to trot out at any opportunity. I've asked a lot of people what it means (WRS employees included), and nobody has a consistent answer. Even reading Wind's marketing copy doesn't illuminate. Why? Because it means nothing.
Device Software Optimization means to optimize the software to the device? Where I'm from, that's called "writing software". How many engineers don't do DSO, even if they don't have the faintest clue what that means, or don't use any WRS products? Exactly my point--all of them.
Maybe someone reading this post will be able to finally once and for all be able to explain DSO to me and lift the fog. Please do. I remain open to the possibility that I shouldn't hate this term.
Use of the English Language
English sentences are crafted to communicate thoughts, dreams, ideas, emotions, desires--the full range of human expression. Words are powerful. The right words can begin a relationship, and the wrong ones can sour one. Words can be as mundane as a technical conversation, as inspirational as a charasmatic speech, as meaningful as a lover's poetry.
I consider myself a decent writer, but I have grown a phenomenal amount learning about the subtleties of communication from the people I work closely with in Marcoms. I'm going to dedicate my very first post to my Marcoms friends. I have the greatest respect for their profession and their ability to craft the raw clay that I create into a work of art. I understand how the massive redlines and honing they do improves the final product. Although the work they often do is "invisible," our organization would be fraught with communication breakdowns without them. I do not invest my ego in my specific words; I wouldn't have it any other way.
And to them I apologize in advance. I can guarantee that my posts, my taglines, my thoughts, my ideas, all will be as raw as the first drafts they receive--full of split infinitives, ambiguous subjects, overused adjectives, unclear tense, mixed voice, dangling particples, non-parallel constructions, ending prepositions, and abused punctuation. But it is mine--every word of it. So, please read and enjoy. Hopefully I'll have something worthwhile to say that you'll want to listen to. But ya ain't correctin' my English.
I consider myself a decent writer, but I have grown a phenomenal amount learning about the subtleties of communication from the people I work closely with in Marcoms. I'm going to dedicate my very first post to my Marcoms friends. I have the greatest respect for their profession and their ability to craft the raw clay that I create into a work of art. I understand how the massive redlines and honing they do improves the final product. Although the work they often do is "invisible," our organization would be fraught with communication breakdowns without them. I do not invest my ego in my specific words; I wouldn't have it any other way.
And to them I apologize in advance. I can guarantee that my posts, my taglines, my thoughts, my ideas, all will be as raw as the first drafts they receive--full of split infinitives, ambiguous subjects, overused adjectives, unclear tense, mixed voice, dangling particples, non-parallel constructions, ending prepositions, and abused punctuation. But it is mine--every word of it. So, please read and enjoy. Hopefully I'll have something worthwhile to say that you'll want to listen to. But ya ain't correctin' my English.
Subscribe to:
Posts (Atom)