<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>2 Robots &#187; Development</title>
	<atom:link href="http://www.2robots.com/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.2robots.com</link>
	<description>Inside the robot's brain</description>
	<lastBuildDate>Sun, 28 Feb 2010 08:57:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>iPhone SDK: Correcting BREW and J2me</title>
		<link>http://www.2robots.com/2008/03/17/iphone-sdk-correcting-brew-and-j2me/</link>
		<comments>http://www.2robots.com/2008/03/17/iphone-sdk-correcting-brew-and-j2me/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 13:20:02 +0000</pubDate>
		<dc:creator>Daniel Eisner</dc:creator>
				<category><![CDATA[Cell Phones]]></category>
		<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[brew]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Job]]></category>
		<category><![CDATA[Space]]></category>

		<guid isPermaLink="false">http://www.2robots.com/2008/03/17/iphone-sdk-correcting-brew-and-j2me/</guid>
		<description><![CDATA[Apple seems to be getting a lot of negative press on its recent SDK announcement. Much of the criticism seems to focus around two issues: That not all functionality of the phone is accessable via the SDK, and that Apple controls the distribution method to the phone. I'll adress the second point first. Some perspective on the history of apps on cell phones will do a lot to put this in perspective, and see why these decisions were made as tradeoffs, and actually strengthen the position of the iPhone as a leader in custom applications.]]></description>
			<content:encoded><![CDATA[<p>Apple seems to be getting a lot of <a href="http://www.itwire.com/content/view/17159/1103/">negative</a> <a href="http://www.itwire.com/content/view/17159/1103/">press</a> on its recent SDK announcement. Much of the criticism seems to focus around two issues: That not all functionality of the phone is accessible via the SDK, and that Apple controls the distribution method to the phone. I&#8217;ll address the second point first. Some perspective on the history of apps on cell phones will do a lot to put this in perspective, and see why these decisions were made as tradeoffs, and actually strengthen the position of the iPhone as a leader in custom applications.</p>
<p>For a minute, put yourself in the mindset of a developer of phone software. Arguably, having developed applications which were sold on Verizon Wireless and other cell carriers, this is a bit easier for this author. As a developer then, and attempting to receive some sort of compensation for your work, it would seem that there are too many platforms to develop for, all of them bad for different reasons.</p>
<p>Qualcomm&#8217;s Binary Runtime Environment for Wireless (aka BREW) is used by several major wireless carriers. From a technical perspective, it is a C-based API, which means that the learning curve is slight for C programmers. The best thing it has going for it, though, is that there is a centralized game store and market place. In theory, developers post their applications and games up to Qualcomm&#8217;s website. Carriers look through those apps and choose which ones they want to sell to their customers. Customers have one place to go to buy apps (Verizon calls it &#8220;<a href="http://products.vzw.com/">Get It Now</a>&#8220;). For a developer, BREW sounds like a great model. You don&#8217;t need to worry about selling to end users, or billing, or packaging up your product and selling it in a store. Customers can go on their phone and see a list of every piece of software available to purchase. If they do buy yours, they get the price of your app added to their phone bills. Nice and simple. What could be wrong with this?</p>
<p>Well, as it turns out, carriers aren&#8217;t interested in providing, what is to them, low margin software to their customers. They want to be able to sell games and applications (and ringtones) mostly as a way to get customers to switch to their network, and buy their cellphones. Consequently, there is little or no incentive for a carrier to decide to actually carry the game you (the developer) posted to the Qualcomm web site. This is why if you have Verizon Wireless, almost all the games available from &#8220;Get It Now&#8221; are from either from a huge game studio like EA or Sony, or based on a popular TV Show or Movie. The carriers simply don&#8217;t want to be bothered by a plethora of developers for what they consider to be chump change.  As a developer, if the carrier doesn&#8217;t choose to carry you, you are out of luck. No way to get around them, no way to appeal, do not pass go, do not collect $200.</p>
<p>The other major platform for phone development is Java 2 Mobile Edition (AKA, J2me). This is the complete oposite end of the spectrum. Anyone can create a J2me app. When it first came out, J2me looked very promising. Like Java, which it is a subset of, software written in J2me could be run on any phone with Java support. Customers would be free to acquire software from any developer, anywhere on the planet &#8212; the carrier wouldn&#8217;t have complete control of the application pipe like in the BREW model. This would mean that developers have a much larger market of customers to sell to. Sounds like a good solution, right?</p>
<p>Unfortunately, while J2me was promised to be a great equalizer, this has turned out to be far from the reality. While BREW apps do require some amount of customization for each different handset it is released on, J2ME can vary even more greatly between them. Even different phone models released by the same manufacturer may not support the same J2me program! Because of the sheer number of phones and carriers which support J2me software, it is nearly impossible for a developer to write and test software on all of them. This means that any J2me application will only run on some subset of J2me phones.</p>
<p>Additionally, while the phone carriers cannot blockade access to their devices, developers must figure out how to get their product in front of customers. They must conduct marketing, figure out a billing model, and make sales individually to each customer. Applications are not digitally signed (as they are in BREW), so it becomes difficult for developers to prevent piracy of their product. Combined with the fact that most phones have a horrific user interface in general, and especially for installing J2me software, there are a series of significant barriers for selling J2me software which make it unpredictable to determine beforehand whether a product will succeed. This is a scenario that deters business-minded developers.</p>
<p>Of course, there is also the set of &#8220;Smart Phone&#8221; platforms, Palm-OS(now defunct), Windows Mobile, and Simbian. These each have their own sets of pros and cons. Certainly they have been successful targets for some developers, but for the purposes of this article we will say that the average user of  those phones are typically very different from the average user of a regular phone, and specifically of an iPhone.</p>
<p>This brings us to the iPhone SDK. Apple seems to have derived the strengths of the business models of both BREW and J2ME. All software will be digitally signed, and distributed centrally by Apple. The digital signatures work two ways: They protect the developer from customer piracy, and they protect the customer from mischievous developers. There will be a centralized list of applications, so users can easily browse through apps they might want to download or purchase, and billing will be handled by Apple, which allows developers to concentrate on what they should be: developing. Unlike BREW, Apple has taken a stance that encourages independent developers to target the iPhone. They will place lesser-known, less expensive, or even free applications up on their store right alongside the bigger market players. Like J2ME, developers don&#8217;t need to strike a special deal with each carrier in order to get their software into people&#8217;s hands.</p>
<p>So, with this perspective, what are people complaining about? That they <a href="http://www.engadgetmobile.com/2008/03/06/apple-to-disallow-sim-unlock-software-in-iphone-app-store/">can&#8217;t write software which unlocks</a> the iPhone.  That they can&#8217;t publish software which <a href="http://apple.slashdot.org/apple/08/03/11/1216211.shtml">curtails Apple&#8217;s own SDK or Safari web browser</a>. Make no mistake about this: those complaints are pure ridiculousness. While it is to their advantage to do so, Apple didn&#8217;t have to release an SDK at all. Looking at the leading established models of software development, BREW and J2me, we can see that the Apple model takes their strengths and leaves their weaknesses &#8212; for the benefit of all 3rd party developers, and especially the independent and open source developers! This should be self-evident by looking at who the people are who are making the complaints &#8212; unfortunately, as with all things Apple, the enormous hype machine of the Interwebs has distorted the picture.  Complaints are driven by &#8230;. <a href="http://www.iphonefaq.org/archives/9731">Sun</a> (founder of J2me, which Apple has no use for, and which will consequently suffer), Firefox (which, while a great desktop browser, wants to <a href="http://akamai.infoworld.com/article/08/02/29/Mozilla-in-talks-with-carriers-about-mobile-Firefox_1.html">get into the mobile space</a> <a href="http://www.appleinsider.com/articles/08/02/14/google_iphone_usage_shocks_search_giant.html">dominated by mobile Safari</a>) and Opera (struggling to be relevant in any market, desktop or mobile). Obviously, these complainers have motivations that are not entirely altruistic. (Note to avoid flamewar: this author is a huge desktop Firefox fan).</p>
<p>The second topic of complaint is that Apple won&#8217;t allow applications to run in the background, and they won&#8217;t allow voice-over-ip applications (like Skype) to run over the cell carrier (although running over Wi-Fi is fine). These really shouldn&#8217;t be the sore points they seem. From a developer&#8217;s perspective, there are certainly neat things one could do if allowed to run applications in the background (like an IM client, for example), which aren&#8217;t really practical otherwise. However, looking from a <a href="http://daringfireball.net/2008/03/one_app_at_a_time">holistic perspective</a>, some testers found that the battery would run dry in as little as four hours while running only basic background tasks. The radio and the CPU, when used actively, use a lot of power. This isn&#8217;t Apple&#8217;s fault &#8212; it&#8217;s a law of phsyics. And while I&#8217;m sure there are many people who would like to use Skype instead of their AT&amp;T phone minutes, I&#8217;m sure the average kindergarden student can figure out why Apple won&#8217;t allow voice-over-ip apps to run over the unlimitted data connection instead of using your talk minutes.</p>
<p>So, what can we conclude about Apple&#8217;s SDK decisions? Certainly, they studied the existing market and the development models. The solution they came up with, from a business sense, not only takes the best of what is out there, but also meshes extremely well with Apple&#8217;s existing iTunes one-stop-shop model for how they already handle music, TV shows, and movies. While some developers may have gripes about some of the policies of the SDK (background tasks, Sun, Opera), the limitations are in actuality completely reasonable.</p>
<p>While the ultimate success of custom apps on the iPhone will only be determined with time, it is certainly off to a good start. As a past independant software developer, I see all of Apple&#8217;s decisions on the SDK as smart moves (even the ones that aren&#8217;t the most convenient to me), and ultimately very good to the customer, while also being reasonable, fair, and enabling opportunity for the developer. The only ones who don&#8217;t like it are the big-name established businesses which this new model will disrupt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.2robots.com/2008/03/17/iphone-sdk-correcting-brew-and-j2me/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Real Web on Your Cell&#8211; Browser: Yes, App Server: No</title>
		<link>http://www.2robots.com/2008/02/25/real-web-on-your-cell-browser-yes-app-server-no/</link>
		<comments>http://www.2robots.com/2008/02/25/real-web-on-your-cell-browser-yes-app-server-no/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 14:40:36 +0000</pubDate>
		<dc:creator>Daniel Eisner</dc:creator>
				<category><![CDATA[Cell Phones]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Future]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Space]]></category>
		<category><![CDATA[Web Apps]]></category>

		<guid isPermaLink="false">http://www.2robots.com/2008/02/25/real-web-on-your-cell-browser-yes-app-server-no/</guid>
		<description><![CDATA[ Chrome Walker has a post on some of the new phones coming out in Europe for 2008. One of the trends that seems to be emerging is the "real web." This was kicked off by Apple with the iPhone, and its the idea that you can view the Internet on your cell phone with a reasonable interface. In other words, its formatted the same way as it would be on your computer.

Is this the future of cell phone applications? Read on ...]]></description>
			<content:encoded><![CDATA[<p>Chrome Walker has a <a href="http://www.chromewalker.com/cw_six/?p=670">post</a> on some of the new phones coming out in Europe for 2008. One of the trends that seems to be emerging is the &#8220;real web.&#8221; This was kicked off by Apple with the iPhone, and its the idea that you can view the Internet on your cell phone with a reasonable interface. In other words, its formatted the same way as it would be on your computer.</p>
<p>In and of itself, this is a good thing for everyone: the cell phone industry (they sell more phones), the carriers (people use their data plans), web sites (more hits), and of course you (its pretty cool, after all). And, the hype seems to be true: people really are <a href="http://www.appleinsider.com/articles/08/02/14/google_iphone_usage_shocks_search_giant.html">using their &#8220;Real Web&#8221; browsers</a>.</p>
<p>However, like Apple tried with the iPhone, some manufacturers seem to think that providing a full AJAX web environment is an alternative to allowing people to install local applications. After all, the apps already exist, and they are standardized. What&#8217;s not to like?</p>
<p>Unfortunately, there are a couple of holes in that logic. They are significant, although even the iPhone tried to get around them and found that it couldn&#8217;t.</p>
<p>First, the performance of a web-based program is significantly slower than a native one. For the iPhone, for example (the only phone so far with a full web browser), a web-based AJAX game is known to be around 100x slower than a comparable native version of the same program. That&#8217;s really slow. So slow, in fact, that almost any sort of game is pretty much out of the question.</p>
<p>Second, web-apps are only available where there is web access. In the States, at least, cell-based web access is pretty horrific, despite whatever recent claims the cell carriers have made. And because broadband speeds are accelerating, it makes the cell rates seem that much worse. Definitely not good enough to be taken seriously for an application. Second, you can&#8217;t run the app where you get no (or bad) cell service. Like in a subway, for example. Because the phones don&#8217;t cache the web page for very long, it means that you can&#8217;t even web apps that don&#8217;t need to contact the server are unusable if you want to pull up a game like <a href="http://www.2robots.com/iphone_wormy/">Space Wormy</a>.</p>
<p>For these reasons, phones will still need local apps for at least the foreseeable future. Hopefully, this won&#8217;t lead to the introduction of new cell phone platforms and API&#8217;s. The last thing the heavily fragmented cell phone industry needs is yet another platform. However, manufacturers can&#8217;t seem to help themselves. But that&#8217;s a whole other topic.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.2robots.com/2008/02/25/real-web-on-your-cell-browser-yes-app-server-no/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where is my Car 2.0?</title>
		<link>http://www.2robots.com/2007/11/27/where-is-my-car-20/</link>
		<comments>http://www.2robots.com/2007/11/27/where-is-my-car-20/#comments</comments>
		<pubDate>Tue, 27 Nov 2007 16:36:45 +0000</pubDate>
		<dc:creator>Daniel Eisner</dc:creator>
				<category><![CDATA[Myself]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Cars]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Future]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[Hybrid]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.2robots.com/2007/11/27/where-is-my-car-20/</guid>
		<description><![CDATA[My wife is looking to buy a car. She is 30 years old. She likes iTunes and reads her news online instead of a newspaper. She is concerned about global warming, and about the war on terror. We're about to have kids, which brings those concerns to the forefront. So, when we started looking around for a car, we remembered all those cool next-generation automobiles we've been bombarded with at auto shows and the news. And we were surprised to find that we could hardly find any.

Read on for the current state of future cars.]]></description>
			<content:encoded><![CDATA[<p>&lt;!&#8211; 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 		H1 { margin-bottom: 0.08in } 		H1.western { font-family: &#8220;Arial&#8221;, sans-serif; font-size: 16pt } 		H1.cjk { font-family: &#8220;Lucida Sans Unicode&#8221;; font-size: 16pt } 		H1.ctl { font-family: &#8220;Tahoma&#8221;; font-size: 16pt } 		H2 { margin-bottom: 0.08in } 		H2.western { font-family: &#8220;Arial&#8221;, sans-serif; font-size: 14pt; font-style: italic } 		H2.cjk { font-size: 14pt; font-style: italic } 		H2.ctl { font-size: 14pt; font-style: italic } 	&#8211;&gt;</p>
<p style="margin-bottom: 0in">My wife is looking to buy a car. She is 30 years old. She likes iTunes and reads her news online instead of a newspaper. She is concerned about global warming, and about the war on terror. We&#8217;re about to have kids, which brings those concerns to the forefront. So, when we started looking around for a car, we remembered all those cool next-generation automobiles we&#8217;ve been bombarded with at auto shows and the news. And we were surprised to find that we could hardly find any. This was caused by a combination of them not having actually made it to production despite the hype, and that the dealers practically pretend that they don&#8217;t exist, even when they are sitting on the lot.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">This leads to a lot of confusion for people who are actually looking to buy a car based on some of the new technology in the pipeline. Auto manufacturers talk a lot about the research and development and upcoming technologies, but it&#8217;s difficult to determine what you can actually purchase today.</p>
<p style="margin-bottom: 0in">Also, press releases and science articles tend to focus on how the technologies work and the impact that will have on emissions, the environment, global warming, and the butterfly population in Paraguay. Instead, even the most idealistic drivers are more concerned with how their lives will be affected with automotive technologies different from what they&#8217;re used to. The social commentary this implies is left to the reader.</p>
<p style="margin-bottom: 0in">
<h2 class="western">Hybrid Electric (HEV)</h2>
<p style="margin-bottom: 0in">Available: Since 1999</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">“Hybrids” have been available for a few years already from a number of manufacturers. In the United States, Honda made the hybrid debut with the Insight in 1999. They were joined a few years later by the Honda Civic and Toyota Prius. Today, there is a growing number of Hybrids available or shortly available from most major car manufactures.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">A Hybrid is a car that has both an electric and a gas motor. The electric one assists the gas when the gas motor would otherwise be inefficient (like at low speeds). Most hybrids are simply an alternate version of a non-hybrid car, with the notable exception being the Toyota Prius. Hybrids are generally quieter than their non-hybrid counterparts. Japanese Hybrids tend to focus on getting better fuel efficiency, while American hybrids tend to focus on getting more powerful engines at the same fuel efficiency. This follows the general trend of American manufacturers to focus on trucks and SUVs, while Japanese manufacturers focus more on cars.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">The biggest advantage, for both the driver and the auto manufacturer, is that Hybrid Electrics are a drop-in replacement for a conventional automobile. You drive it, you go to the gas station, you park it in your garage. The driver doesn&#8217;t need to do anything differently that they normally would with another car, and the manufacturer doesn&#8217;t have to take a risk of drivers accepting any abnormal requirements.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">The trade off for this lower risk is that Hybrids are a compromise of technology and capability, tipped well against technology. There is a limit to how much electricity the hybrid can generate just from braking and excess energy from the gas motor, and this limits the efficiency of the electric motor. For this reason, hybrids can improve fuel efficiency by up to 40%, but you won&#8217;t see more than that. Also, in general, Gas-Electric hybrids tend to be either underpowered, or else give up their fuel-savings in favor of additional power to the engine.</p>
<p style="margin-bottom: 0in">
<h2 class="western">Plug-In Hybrid Electric (PHEV)</h2>
<p style="margin-bottom: 0in">Available: 2008, if we&#8217;re lucky</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">Plug-In Hybrids are an evolutionary step beyond Hybrids. The general idea is that instead of using the gas motor in the car to generate electricity (which is inefficient), instead plug it in to your power outlet overnight. Other than that basic idea, Plug-In Hybrids are very similar to regular Gas-Electric Hybrids. In fact, you could treat it the same exact way as you treat a regular Gas-Electric Hybrid. While you wouldn&#8217;t get the additional advantage of home-charging, there would be no other ill effects.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">Why would you want to plug in your Hybrid? Power plants can generate electricity much more efficiently than your car engine. So, where it might take a few gallons of gas to fully charge your Hybrid&#8217;s battery (since you must drive around to get it charging), it would only cost you a few cents in electricity to charge it from your wall socket.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">This tends to favor people who drive close to home. Toyota claims that their Plug-In Prius, which may debut in 2009, will be able to drive around seven miles on electricity alone. That means that your neighborhood chores will require zero gasoline, and while your commutes to work will still eat up the same miles-per-gallon as a regular Prius, those miles only start to count after you&#8217;ve driven seven.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">If you are anxious to get a Plug-In Hybrid, there are people who have built their own conversion kits for both the Prius and the Civic. These will void your factory warranty, but may be the ticket if you don&#8217;t want to wait until the 2009 model year.</p>
<p style="margin-bottom: 0in">
<h2 class="western">Electric and Series Hybrid Electric</h2>
<p style="margin-bottom: 0in">Available: 2008 for super cars, at least 2010 for mortals?</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">Tesla Motors shocked the automotive industry in 2006 by announcing an all-electric sports car which could outrun a Ferrari. The Tesla Roadster has a range of nearly 250 miles before it needs to be recharged, by plugging it into an electrical outlet. At a cost of around $100,000, these aren&#8217;t for the average driver, but Tesla plans on using the technology created for the Roadster on a line of family sedans called Whitestar, which they plan on introducing as a competitor for BMW&#8217;s and Mercedes possibly as soon as the 2010 model year. If things go well, they are also planning a more affordably-priced sedan after 2012.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">Ignoring the EV-1 which GM released and then recalled in the early 90&#8217;s, Chevrolet plans on releasing the much anticipated Volt. This muscle-car-esq electric vehicle drives as far as 40 miles on a single overnight charge. While this may not sound like a lot, the Volt also has an on-board gas generator, which means that you can fill up at the pump, and drive it almost like a regular car. This is known as a Series hybrid – The gasoline engine doesn&#8217;t drive the wheels like a conventional car. Instead, its only purpose is to recharge the battery while the car is on the road. This is an advantage over the Tesla Roadster, as it means that you can take the Volt on a road trip without having to worry about plugging in. GM has a bad track history with technology, and most consumers are wary about their true intentions. For example, many have alleged that the GM fuel cell program was really just a PR stunt to push off having to upgrade it&#8217;s auto technology base by pretending to be proactive. Time will tell, and while GM claims that it won&#8217;t be ready until 2012, hopeful rumors hint at 2010.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">Other automakers are pursuing Series Hybrids as well. Some other potentials on the horizon besides the Volt are the Saturn Vue and Volvo ReCharge.</p>
<p style="margin-bottom: 0in">
<h2 class="western">Fuel Cells</h2>
<p style="margin-bottom: 0in">Available: Don&#8217;t hold your breath</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">Fuel cells are touted to be <em>the</em><span style="font-style: normal"> next-generation car technology. Fuel cells are a replacement for batteries. Instead of charging your car with electricity, you fill it&#8217;s fuel-cell with a fuel (usually hydrogen), and the fuel-cell uses that to create electricity, without the need for a conventional motor or power generator. </span></p>
<p style="margin-bottom: 0in; font-style: normal">
<p style="margin-bottom: 0in">A fuel cell does not describe a type of propulsion – just a power source. For example, a Hybrid Electric Vehicle might use a fuel cell instead of batteries, or a full electric vehicle might as well. While fuel cells promise to boost the efficiency of such vehicles, they are not required. That&#8217;s a good thing, because no one really knows how to make them yet.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">Practically every auto maker has announced intentions of producing a fuel-cell based car. There are several prototypes, usually costing several million dollars and with significant performance problems. The technology simply isn&#8217;t there yet, and it doesn&#8217;t look like its going to be ready any time soon. Manufacturers like to use fuel-cell technology as an example of what they are developing for the future. Unfortunately (especially in the case of GM), this is really just an excuse for why they have no interesting technologies in the present.</p>
<p style="margin-bottom: 0in">
<h2 class="western">Hydrogen</h2>
<p style="margin-bottom: 0in">Available: Never</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">For a while, hydrogen-powered cars was the talk of the town. Yet, years later, there isn&#8217;t a single mass-produced hydrogen automobile. Why not?</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">While gasoline and even electrical outlets are commonplace throughout the United States, you would be hard-pressed to find liquid hydrogen at your local filling station. Even worse, it can be dangerous stuff. Hydrogen is explosive at room temperature, and either super-low temperatures or super-high pressure us required to keep it contained in a gas-tank. Given how much easier it is for people to switch to an electric car versus a hydrogen one, don&#8217;t expect hydrogen cars to make it to mass production any time soon. In fact, no car manufacturer has any such plans, although some government agency vehicles and public buses do run on hydrogen, and BMW has a number of prototypes which they have processionally showed off since 2001.</p>
<p style="margin-bottom: 0in">
<h2 class="western">Which do I get?</h2>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">Unfortunately, the lesson learned here is that there isn&#8217;t too much choice in the marketplace yet. If you can wait 6 months, you may be able to get a Plug-In Hybrid from Toyota. Then again, maybe not. Toyota hasn&#8217;t promised anything. If you have $100,000 to burn, you can get a super car-class Tesla Roadster that you can&#8217;t take overnight away from a power socket.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">However, if you are in the market for a car today, the only technology readily available is a regular Hybrid. The good news is that they are gaining popularity, and many manufacturers are making them. My wife will be looking at models from Honda, Nissan, Toyota, and Lexus. If anyone makes an announcement that they will have a Plug-In Hybrid available in the 2009 model year before we make our purchase though, we&#8217;ll definitely hold off until that comes out.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">And we&#8217;ll trade up whenever the Chevy Volt becomes available. Right before we book tickets on Virgin Galactic to the Budget Suites hotel on the moon.</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">
]]></content:encoded>
			<wfw:commentRss>http://www.2robots.com/2007/11/27/where-is-my-car-20/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Lamby Robot Upgrade Part 1: The Plan</title>
		<link>http://www.2robots.com/2007/03/28/lamby-robot-upgrades-part-1-the-plan/</link>
		<comments>http://www.2robots.com/2007/03/28/lamby-robot-upgrades-part-1-the-plan/#comments</comments>
		<pubDate>Wed, 28 Mar 2007 13:39:32 +0000</pubDate>
		<dc:creator>Daniel Eisner</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.2robots.com/2007/03/28/lamby-robot-upgrades-part-1-the-plan/</guid>
		<description><![CDATA[So, last October I build a Robotic Lamb. With the help of motion sensors, a servo and a Basic Stamp, this ordinary stuffed animal was able to amuse guests (and my wife) by turning it's head to watch them as they move around the room. Since then, it has been given a name, Lamby, and has both amused and frightened many visitors.

Yet, lately, I've been feeling that it just isn't enough to have a subtle, animatronic children's toy following you wistfully with it's eyes. Yes, it's time for Lamby to get an upgrade. Read on for the details!]]></description>
			<content:encoded><![CDATA[<p>So, last October I build a <a href="http://www.2robots.com/2006/10/21/robosheep/">Robotic Lamb</a>. With the help of motion sensors, a servo and a Basic Stamp, this ordinary stuffed animal was able to <strike>creep out</strike> amuse guests (and my wife) by turning it&#8217;s head to watch them as they move around the room. Since then, it has been given a name, Lamby, and has both amused and frightened many visitors.</p>
<p>Yet, lately, I&#8217;ve been feeling that it just isn&#8217;t enough to have a subtle, <a href="http://en.wikipedia.org/wiki/Animatronics">animatronic </a>children&#8217;s toy following you wistfully with it&#8217;s eyes. Yes, it&#8217;s time for Lamby to get an upgrade!</p>
<p>Since I received such a great response from my last post on Lamby, I will be putting up articles as I work on this project, with pictures of Lamby under construction, descriptions of the parts I&#8217;m using, and the code to any software I write. My goal is for there to be enough information here that anyone with only an amateur background in programing and/or electronics will be able to build the sane thing. For anyone curious, by the way, I have a good background in programing, but only a very basic background in electronics. In fact, I just finished reading  &#8220;Electronics for Dummys,&#8221; which I recommend as a good place to get started.</p>
<p>In this part, I will outline some of the problems I ran into with Lamby so far, and my plans for his upgrade.</p>
<p><strong>Fabric and Motion Sensor Mounting<br />
</strong></p>
<p>Lamby was not born to be a robot. In fact, he was originally just a normal stuffed animal you might find in the store. In order to robotify Lamby, I had to cut off his head and also cut out his eye sockets. This allowed me to place <a href="http://en.wikipedia.org/wiki/Passive_infrared_sensors">PIR motion sensors</a> in his eyes, and then mount his head on a servo motor to allow it to spin. This generally worked fine, but lead to problems, which I&#8217;ll be addressing in the upgrade:</p>
<p>Once the fabric was cut, it tended to keep tearing on its own. This led to Lamby&#8217;s gradual disintegration, which I halted with scotch tape. Definitely not an optimal solution. While the most obvious solution is to sew the parts of Lamby that were weakened by the scissors, there are 2 reasons why this might not be the best idea: First, it assumes you know how to sew. Second, I would like to more permanently attach the PIR sensors in his eye sockets (they tended to move around a bit), and you can&#8217;t sew plastic. Instead, I think a better solution will be crazy glue. I plan on crazy gluing the PIR sensors in Lamby&#8217;s eye sockets, and also crazy cluing any loose joints or weak spots in his fabric.</p>
<p><strong>Servo Mounting</strong></p>
<p>Lamby currently has a single <a href="http://www.parallax.com/detail.asp?product_id=900-00005">servo</a>. This is mounted in his neck, and allows his head to turn. The servo&#8217;s gear is embedded in the stuffing in Lamby&#8217;s head, while the servo itself is mounted in the stuffing in his torso. This allowed the head to turn. However, stuffing is soft stuff, and sometimes the servo would turn, but the head would  not, or not turn as much. Obviously, it is not a good idea to anchor a servo motor to stuffing <img src='http://www.2robots.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Instead, Lamby 2.0 will have a plastic skeleton, which I will use to attach his internal components.</p>
<p><strong>Embed the Controller Circuit</strong></p>
<p>While Lamby himself was fairly subtle, the fact that he had wires coming out his neck attached to a circuit board was enough to tip off most people that something was not quite right. Lamby has a fairly large torso &#8230; in Lamby 2.0, the circuit board will be placed inside his body. It will be inside an anti-static bag to prevent the stuffing from shorting out the circuit, or causing a fire.<strong><br />
</strong></p>
<p><strong><strong> More Motion</strong></strong></p>
<p>So far, these have been improvements in Lamby&#8217;s construction, but there haven&#8217;t been any new features. So, there is poor Lamby, and all he can do is watch people as they go by, not being able to participate. I can&#8217;t have that! Lamby 2.0 will receive 2 additional servo&#8217;s: He will be able to wave each of his arms independently.</p>
<p><strong>Brain</strong></p>
<p><strong><strong><strong> </strong></strong></strong>The microcontroller inside of Lamby is fairly limited. Until now, Lamby&#8217;s only job in life was to look at things moving. However, with his new capabilities, He will have to do more than that. Unfortunately, his microcontroller brain will not be up to the task. Instead, I will fit Lamby with a USB port uplink to a computer. Autonomous functions, such as watching motion, or waving when someone enters the room will be performed by his microcontroller. More complex thinking, however, will be done on the computer. The computer will then send instructions to the microcontroller to tell Lamby how to move and act.</p>
<p style="font-weight: bold"><strong><strong><strong>Communications</strong></strong></strong></p>
<p>You&#8217;re probably wondering what sort of actions are so complicated when Lamby only has 3 servos and 2 sensors? Well, thanks to the advances of cheap USB sound cards, Lamby will also have a speaker and microphone embedded in his chest. This will be connected via a <a href="http://tekgems.com/Products/tg-et-14120-ada-he-280b.htm?frg-20070327">USB sound card</a> (less than $10!) back to the computer as well.</p>
<p>The software running on the computer will include basic <a href="http://www.apple.com/macosx/features/speech/">voice recognition and voice synthesis</a>. This means, that you will be able to walk up and say &#8220;Hi Lamby,&#8221; and Lamby will reply back &#8220;hello&#8221; while waving. This is where the processesing power of the computer comes in.</p>
<p><strong><strong><strong> </strong></strong></strong></p>
<p style="font-weight: bold"><strong><strong><strong>X10</strong></strong></strong></p>
<p>This one I&#8217;m not entirely sure about yet. I think that I might install an X10 controller on the computer Lamby is connected to, and then connect some of the lights in my apartment to X10 plugs. This would allow Lamby to turn lights on and off in my apartment, potentially on voice command, when he sees motion, or when he wants to mess with you.</p>
<p><strong><strong><strong>Computer Software</strong></strong></strong></p>
<p>I plan on developing two pieces of software for the computer, as interfaces with Lamby:</p>
<p><strong><strong><strong><em>Voice Interface</em></strong></strong></strong></p>
<p>The first is going to be a voice interface. I&#8217;ve found that one of the main problems with voice recognition interfaces is that you have to know what commands you can say, and what will be recognized by the computer/robot. Since you are interfacing with a robot though, and not a computer, I can use the whole computer screen to show what Lamby is thinking. The first program will blank out the whole computer screen. On the top half of the screen will be a voice modulator bar, which will just be some eye candy showing Lamby&#8217;s voice output. You know, the horizontal line that deforms based on the sound coming out the speaker? The bottom half of the screen will be a list of words or phrases. These are the current list of phrases that Lamby is listening for. For example, if you say &#8220;Lamby,&#8221; the list of words might display &#8220;what is the weather, what time is it, look to the left.&#8221; If you say &#8220;what is the weather,&#8221; the list will change to be &#8220;now, later, tomorrow, this week.&#8221; My goal is that this will be intuitive to people who have never seen it before &#8212; ie, visitors in my house.</p>
<p><em><strong>Direct Control</strong></em></p>
<p>The second application will be mainly for development. This will be a direct control program. Basically, when you run it, your mouse (or XBox controller) will take direct control of Lamby&#8217;s arms and head. Also, it will record your motions, so that they can be played back later. I&#8217;ll be able to use this program to do 2 things. First, I can use it to control Lamby like a puppet. Second, I&#8217;ll be able to record complex motions for Lamby which he can play back on his own. This will make things like waving, shaking his head, etc much more natural looking than just a simple programatic command.</p>
<p><strong>Behavior</strong></p>
<p>Here are some sample use-case behaviors I expect Lamby to be capable of when his upgrade is complete:</p>
<ul>
<li>When someone walks into the room, or moves after staying still for a while (watching tv?), Lamby will wave or say hello .</li>
<li>When someone moves around the room, Lamby will look at them.</li>
<li>You will be able to ask Lamby the time, weather, or stock ticker price, and he will answer in voice</li>
<li>Lamby may make random &#8220;intelligent&#8221; comments, like &#8220;Wow, its dark out already,&#8221; or &#8220;It&#8217;s unseasonably cold out today,&#8221; or &#8220;Hey, aren&#8217;t you supposed to be at work?!&#8221; most of this information he can get off the internet, courtesy of controller software running on the computer.</li>
<li>With X10, you can tell Lamby to turn the lights off, and he will.</li>
<li>You can tell Lamby to wake you up &#8220;in 10 minutes&#8221; or &#8220;at 8:00,&#8221; and he will by turning on the lights, and yelling at you until you tell him to stop.</li>
</ul>
<p><strong> End Result: Lamby 2.0</strong><br />
So, the plan is that after the upgrades, Lamby 2.0 will become not just an animatronic toy, but basically an avatar. With the addition of speech and voice recognition, it will appear to be intelligent. Since I can use it as a front-end to web-enabled scripts, Lamby will appear to have real-world intelligence. He will know if its raining, if you&#8217;re home from work early, and if it&#8217;s rather warm for this time of year.</p>
<p>Oh yeah &#8230; he&#8217;ll also be able to watch you as you walk around the room. <img src='http://www.2robots.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.2robots.com/2007/03/28/lamby-robot-upgrades-part-1-the-plan/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Space X Falxon 1 launch scrubbed for yesterday: Rescheduled for today</title>
		<link>http://www.2robots.com/2007/03/20/space-x-falxon-1-launch-scrubbed-for-yesterday-rescheduled-for-today/</link>
		<comments>http://www.2robots.com/2007/03/20/space-x-falxon-1-launch-scrubbed-for-yesterday-rescheduled-for-today/#comments</comments>
		<pubDate>Tue, 20 Mar 2007 12:19:14 +0000</pubDate>
		<dc:creator>Daniel Eisner</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Job]]></category>
		<category><![CDATA[Space]]></category>

		<guid isPermaLink="false">http://www.2robots.com/2007/03/20/space-x-falxon-1-launch-scrubbed-for-yesterday-rescheduled-for-today/</guid>
		<description><![CDATA[I watched the Space X Falcon 1 live webcast yesterday evening. I still think there is nothing cooler than watching space ships take off. This is their second launch since their first crashed into the ocean last year. Yesterday, the launch was aborted with less than 3 minutes left in the countdown -- it sounded like due to an unreliable telemetry data feed. They are planning on attempting a launch today instead.]]></description>
			<content:encoded><![CDATA[<p>I watched the <a href="http://www.spacex.com/falcon1.php">Space X Falcon 1</a> <a href="http://www.spacex.com/video_gallery.php">live webcast</a> yesterday evening. I still think there is nothing cooler than watching space ships take off. This is their second launch since their first crashed into the ocean last year. Yesterday, the launch was aborted with less than 3 minutes left in the countdown &#8212; it sounded like due to an unreliable telemetry data feed. They are planning on attempting a launch today instead.</p>
<p>Space X is a new company in the <a href="http://www.redherring.com/Article.aspx?a=19321">Space 2.0</a> race. This is a race by private companies to provide cheap launch capabilities. In the next few years, this will usher in a while new industry of tourism, mining, manufacturing, and eventually, colonization. Space X&#8217;s premise is that they will have a series of completely reusable rockets; Where every rocket launched to date has burned away sections of itself during its flight, the Falcon series of rockets will drop its used-up sections by parachute where they can be recovered and re-used.</p>
<p>Many of the new generation of space companies are at the same point in their business: their spaceships are undergoing final development and beginning flight testing. Space X however is perhaps the furthest along. Depending on the success of today&#8217;s launch, they will be catapulted ahead of their competition.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.2robots.com/2007/03/20/space-x-falxon-1-launch-scrubbed-for-yesterday-rescheduled-for-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>There Are Some Things Money Can&#8217;t Buy: Innovation</title>
		<link>http://www.2robots.com/2006/12/14/there-are-some-things-money-cant-buy-innovation/</link>
		<comments>http://www.2robots.com/2006/12/14/there-are-some-things-money-cant-buy-innovation/#comments</comments>
		<pubDate>Thu, 14 Dec 2006 20:22:44 +0000</pubDate>
		<dc:creator>Daniel Eisner</dc:creator>
				<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hard Drive]]></category>
		<category><![CDATA[Job]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Storage]]></category>

		<guid isPermaLink="false">http://www.2robots.com/2006/12/14/there-are-some-things-money-cant-buy-innovation/</guid>
		<description><![CDATA[Something too prevalent in the marketplace today is the complete lack of innovation which seems to plague some companies. On the one hand, you have companies like Apple and Nintendo which truly bring something new to the table; from product packaging to human-electronic interfaces. On the other hand, you have companies like Dell and Sony who just keep pushing out more of the same. Yet, the latter seem more likely to hold big press events and tout their "next big thing." It seems as if they don't even know that their products are "me too's" instead of market leaders.]]></description>
			<content:encoded><![CDATA[<p>Something too prevalent in the marketplace today is the complete lack of innovation which seems to plague some companies. On the one hand, you have companies like Apple and Nintendo which truly bring something new to the table; from product packaging to human-electronic interfaces. On the other hand, you have companies like Dell and Sony who just keep pushing out more of the same. Yet, the latter seem more likely to hold big press events and tout their &#8220;next big thing.&#8221; It seems as if they don&#8217;t even know that their products are &#8220;me too&#8217;s&#8221; instead of market leaders.</p>
<p>Keep in mind that there are some items for which a large number of similar products is okay. A perfect example is in USB flash storage. There are dozens of products available, and they&#8217;re all basically the same &#8212; about the same size, the same range of storage, roughly the same speed, and even the same price, give or take. Just about the only thing you can really choose with a USB flash drive today is the color. This sort of market is generally known as a &#8220;commodity.&#8221; If you think about it, you can buy [and sell] USB flash storage about as easily as you can buy and sell just about anything. The individual products are completely interchangeable (and undifferentiated).</p>
<p>Then there are near-commodity products. These are items which are commodities, but don&#8217;t necessarily have to be. The only thing preventing one product from &#8220;breaking out&#8221; of the pack is a lack of innovation. Look at USB hard drives. They&#8217;re nearly identical, except for capacity. One brand is as good as another. But what if one company decided to put a headphone jack on theirs, and let you listen to any MP3&#8217;s you had stored without needing a computer? What if one came with bluetooth support, or wi-fi? For an extra $30 or so, that would be a pretty cool product, and I&#8217;d be likely to buy it instead of a &#8220;plain&#8221; one. Sadly, there doesn&#8217;t seem to be many companies who make USB hard drives with any imagination. I&#8217;m not sure what their executive management meetings are like &#8212; probably something along the lines of &#8220;Hey, these things seem to sell well, let&#8217;s sell some.&#8221;</p>
<p>There will always be commodity items, and near-commodity items, and that&#8217;s a good thing. Its what drives prices down. But let&#8217;s talk about the breakaway hits. Like, say, the Apple iPod. The iPod is really good for a bunch of reasons. It plays your existing music and movies. It provides a store where you can buy movies, music, and tv shows easily. You don&#8217;t feel like the iTunes store is trying to trick you or deceive you in any way &#8212; if you buy something there, you can watch/listen to it on your devices. The iPod itself is nice &#8212; good quality, small, and light.</p>
<p>There are certainly a lot of other personal music players out there, but the iPod sells better than its competitors because it is a better product &#8212; it was the definition of innovation when it was first released, and it continued to add new features as it went along (like video). Now, along comes Microsoft looking to compete with the iPod. So, they decide to develop a product now known as the Zune. Up until its launch, Steve Balmer has <a href="http://video.google.com/videoplay?docid=1654578128439093878&#038;q=zune">touted </a>the Zune as an iPod-killer. In other words, &#8220;better than an iPod.&#8221; In fact, Matt Jubelirer , the Microsoft project lead for Zune development, <a href="http://media.podtech.net/media/2006/10/PID_001298/Podtech_zunefinal.html">talked </a>at length about how innovative the Zune was. Microsoft spend millions upon millions of dollars in advertizing, got retail stores to feature it, and raved about their online store, and how the face of personal music players will be changed forever.</p>
<p>Then the Zune was released. Without making any judgments on how good the Zune is or whether you should get one, it only had one feature that was new: wi-fi support. OK, that sounds innovative. I can imagine lots of cool things I might be able to do with my music player over wifi! Yet, the only thing you can actually do is share a &#8220;preview&#8221; of your music files to people in the area, which expires after 3 days or 3 plays. And, even though the Zune sports this single, although crippled innovation, there are a multitude of things which it doesn&#8217;t do, many of which even &#8220;me too&#8221; music  players can: It won&#8217;t play your existing music, even if you bought it from Microsoft (!). It won&#8217;t let you subscribe to podcasts. It attaches DRM to your existing music. It&#8217;s bigger and heavier than most compareable music players. They have an online store which is difficult and confusing to use, with DRM rules which are not straightforward, and leave the user with the clear impression that they do not control the items they buy.</p>
<p>The strange part? After the Zune was released, Microsoft&#8217;s tune suddenly changed. Instead of touting how revolutionary and outstanding their new product was,  Bill Gates was calling it a &#8220;<a href="http://www.engadget.com/2006/11/18/gates-praises-ipod-labels-zune-a-modest-competitor/">modest competitor</a>&#8221; to the iPod. So, did management really have no idea that their product wasn&#8217;t really anything special? Most probably, of course they did, but they were hoping that if they pushed it hard enough, they would be able to sell anyway. And probably, it did sell better than it would have if they didn&#8217;t push it so hard. However, the thing that really starts hurting the manufacturer is that the next time they release a product (like, Zune 2.0), no one is going to pay attention to their marketing, even if it really can do what it advertises.</p>
<p>Even though Microsoft seems to be aware of the <a href="http://www.networkworld.com/news/2006/120606-microsoft-research.html">problem</a>, at least in theory, it hasn&#8217;t stopped them from releasing a long line of unremarkable products (any version of office or Windows, or the MSN search site, for example). So, why do things like this happen? Why do companies release &#8220;me too&#8221; products, when they themselves want to bring innovation as much (or probably more) than consumers want them to?</p>
<p>The real answer, of course, is complicated. Internal politics (Manager A wants Wi-Fi, but Manager B doesn&#8217;t. The compromise &#8212; Wi-fi goes in, but is limitted in scope). Counter-intuitive interests from business partners (Warner Music/RIAA, anyone?). Adversity to taking risks (&#8221;what if they don&#8217;t like it?&#8221;). Senior management who doesn&#8217;t understand the product or the target audience (cough, Steve Balmer).</p>
<p>The reality is that there are all some of the ungainly aspects of how big companies work &#8212; including at the &#8220;innovative&#8221; companies like Apple and Nintendo. The successful ones, however, are able to move past these issues, and focus on the one thing that differentiates them from their competition: What is it that the consumers want?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.2robots.com/2006/12/14/there-are-some-things-money-cant-buy-innovation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My New GNU/Windows Platform</title>
		<link>http://www.2robots.com/2006/09/20/how-to-make-windows-behave-like-linux/</link>
		<comments>http://www.2robots.com/2006/09/20/how-to-make-windows-behave-like-linux/#comments</comments>
		<pubDate>Wed, 20 Sep 2006 15:09:45 +0000</pubDate>
		<dc:creator>Daniel Eisner</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.2robots.com/2006/09/20/how-to-make-windows-behave-like-linux/</guid>
		<description><![CDATA[We recently got an Averatec 2200 laptop, which is a pretty sweet device. It&#8217;s small, fast, and moreover, has a great feel to the keyboard. Unfortunately, it keeps locking up in Linux, and the wireless card doesn&#8217;t seem to get recognized when I installed Ubuntu 6.06.
Because I want to do a lot of unix-like development, [...]]]></description>
			<content:encoded><![CDATA[<p>We recently got an <a href="http://www.2robots.com/">Averatec 2200</a> laptop, which is a pretty sweet device. It&#8217;s small, fast, and moreover, has a great feel to the keyboard. Unfortunately, it keeps locking up in Linux, and the wireless card doesn&#8217;t seem to get recognized when I installed Ubuntu 6.06.</p>
<p>Because I want to do a lot of unix-like development, I&#8217;ve been playing with how close I can get Windows to be like a Linux development environment. What I found was, quite a bit. I&#8217;m talking about both setting up compilers and shells, but also the graphical environment. Here is what I found:</p>
<ol>
<li><span style="font-weight: bold">Cygwin / XWindows</span><br />
While you can get a free unix subsystem <a href="http://www.microsoft.com/technet/interopmigration/unix/sfu/default.mspx">from Microsoft</a> nowadays, the performance and compatibility has nothing on Cygwin.</li>
<ol>
<li>Go to the<a href="http://www.2robots.com/www.cygwin.com"> Cygwin site</a>, and download and run the installer. The installer isn&#8217;t the most straightforward thing to use for the first time, but you get used to it quick. When you get to the package selection screen:</li>
<li>Click on &#8220;View&#8221; once which will change it to &#8220;Full&#8221; view. This is easier to navigate.</li>
<li>Add the following packages by clicking once where it says &#8220;skip&#8221; in front of them:</li>
<ul>
<li>openssh</li>
<li>subversion</li>
<li>vim</li>
<li>X-startup-scripts</li>
<li>X-start-menu-icons</li>
<li>xwinwm</li>
</ul>
<li>Finish the install</li>
<li>Go to My Computer->C:\->cygwin->usr->X11R6->bin</li>
<li>Right-click on &#8220;startxwin.bat&#8221; and choose &#8220;edit.&#8221; Find the line that reads<br />
&#8220;%RUN% xterm -e /usr/bin/bash -l&#8221;, and put a &#8220;REM&#8221; in front of it. Save and close.</li>
<li>Right-click drag the file called &#8220;startxwin.bat&#8221; onto start->All Programs->Startup, and choose &#8220;Create Shortcut Here&#8221;</li>
<li>Edit c:\cygwin\etc\defaults\etc\ssh_config. Find the line that reads &#8220;<code># ForwardX11 no</code>&#8221; and change it to &#8220;<code>ForwardX11 yes</code>&#8220;</li>
</ol>
<li><span style="font-weight: bold">SSH</span><br />
While you now have command line access to ssh, there are a couple of useful ssh clients for Windows. You can install either or both Putty and Poderosa. Putty is lighter-weight, but Poderosa has a neat tabbed interface, and also lets you open a local cygwin shell as well. Unfortunately, Poderosa doesn&#8217;t natively support X11 port forwarding.</li>
<ol>
<li><strong>Putty</strong></li>
<ol>
<li>Download putty.exe from their <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">web site</a></li>
<li>Create a new directory c:\Program Files\Putty and copy putty.exe there</li>
<li>Create a shortcut on the start menu to the c:\Program files\putty.</li>
<li>Start putty</li>
<li>Set Session->Protocol to &#8220;SSH&#8221;</li>
<li>Set the Connection->SSH->X11->Enable X11 Forwarding to checked.</li>
<li>Set Connection->SSH->Preferred SSH Protocol Version to &#8220;2 Only&#8221;</li>
<li>under &#8220;Session,&#8221; save this as &#8220;Defaul Settings&#8221;</li>
</ol>
<li><strong>Poderosa</strong></li>
<ol>
<li>Download and install Poderosa from their <a href="http://en.poderosa.org/download/binary.html">web site</a></li>
<li>To ssh to a remote host, use the &#8220;Cygwin session&#8221; and run ssh from it rather than doing an ssh from the menu (this way you can run remote X applications).</li>
</ol>
</ol>
<li><span style="font-weight: bold">Look and Feel</span><br />
<span style="font-weight: bold" /><span style="font-weight: bold"> </span>I happen to like the Ubuntu &#8220;human&#8221; look-and-feel a lot. You ca set up Windows to act amazingly similar. First, you will need to patch Windows to allow you to use custom themes.</li>
<ol>
<li>Download and run UX Theme Patch from <a href="http://www.softpedia.com/progDownload/UXTheme-Patch-For-Windows-XP-SP-Final-Download-2802.html">Softpedia</a></li>
<li>Restart Windows</li>
<li>Download the Human theme from <a href="http://www.deviantart.com/deviation/37743373/">DeviantArt</a></li>
<li>extract the &#8220;human&#8221; directory from the theme file into c:\Windows\resources\themes\</li>
<li>right-click on the desktop, and go to properties->appearance->Windows adn Buttons->Human</li>
</ol>
<li><strong>Web Browsing</strong><br />
Of course we are going to use <a href="http://www.mozilla.com/">Firefox </a>to browse the web!</li>
<ol>
<li>Download and install it!</li>
<li>Install the Human theme from <a href="http://www.ffnn.nl/pages/projects/ubuntu-firefox-themes/download-install.php">Forever Now</a></li>
<li>Activate the Human theme by going to tools->themes in Firefox</li>
</ol>
<li><strong>Instant Messaging</strong><br />
You can use Gaim for Instant Messaging. If you require MSN support, you&#8217;ll need to use the latest beta release:</li>
<ol>
<li>Download the gaim beta install exe from <a href="http://sourceforge.net/project/showfiles.php?group_id=235&#038;package_id=253&#038;release_id=440695">SourceForge<br />
</a>Otherwise, you should download the latest stable release</li>
<li>Download the gaim 1.5.0 release from <a href="http://gaim.sourceforge.net/downloads.php">Gaim</a></li>
<li>Download some Windows plugins for Gaim (optional) for the <a href="http://gaim.sourceforge.net/win32/index.php">Gaim Windows port </a></li>
</ol>
<li><strong>Office</strong><br />
We are going to use a version of OppenOffice for our office app. This one has some templates and clipart built into it, which makes it much more usable than the one from openoffice.org.</li>
<ol>
<li>You want to download OpenOffice Premium (<a href="http://prdownloads.sourceforge.net/ooop/OOo_2.0.3_060801_Win32Intel_install_wJRE.exe?download">OOo_2.0.3_060801_Win32Intel_install_wJRE.exe</a>) from their <a href="http://sourceforge.net/projects/ooop">SourceForge</a> site.</li>
</ol>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.2robots.com/2006/09/20/how-to-make-windows-behave-like-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Console Wars: The Fight for Developers is Something of a Myth</title>
		<link>http://www.2robots.com/2006/06/21/console-wars-the-fight-for-developers-is-something-of-a-myth/</link>
		<comments>http://www.2robots.com/2006/06/21/console-wars-the-fight-for-developers-is-something-of-a-myth/#comments</comments>
		<pubDate>Wed, 21 Jun 2006 11:56:22 +0000</pubDate>
		<dc:creator>Daniel Eisner</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Myself]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Xbox 360]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Space]]></category>

		<guid isPermaLink="false">http://www.2robots.com/2006/06/21/console-wars-the-fight-for-developers-is-something-of-a-myth/</guid>
		<description><![CDATA[When Microsoft released the XBox 360, they added a new feature to their online &#8220;live&#8221; service called &#8220;Live Arcade.&#8221; The idea behind the arcade is that smaller independent developers (&#8221;Indies&#8221;) can develop lower cost games, and market them at lower prices to consumers without having to get shelf space at the local GameStop. In principal, [...]]]></description>
			<content:encoded><![CDATA[<p>When Microsoft released the XBox 360, they added a new feature to their online &#8220;live&#8221; service called &#8220;Live Arcade.&#8221; The idea behind the arcade is that smaller independent developers (&#8221;Indies&#8221;) can develop lower cost games, and market them at lower prices to consumers without having to get shelf space at the local GameStop. In principal, this is a great idea, and it sounds quite helpful to startups or even the home hobbyist programmer.</p>
<p>For some of those paying attention, this might sound sort of familiar &#8212; in fact, it is almost exactly the same approach Verizon and Qualcomm used for handset-based games &#8212; the ones you play on your cell phone. What happened there was that, yes, in the first 6 months or so, just about anyone could produce a video game. However, as time went on, it became more and more expensive to produce games &#8212; not because of your own costs, but due to purchasing a development kit, paying for validation costs which go up regularly, and the increasing costs of attending developer conferences. That last one might sound like a luxury rather than a requirement, but the way things work in the phone software industry is very much like an Adventurer&#8217;s Club. You&#8217;re either a member or you&#8217;re not. And the gates to get your software actually listed on a phone are controlled by a very small number of individuals. Oh, and by the way, they won&#8217;t even tell you if they will carry your game until you&#8217;ve already eaten all of these costs.</p>
<p>As you can see, it&#8217;s not a very conductive environment for small or independent developer. And it&#8217;s not meant to be. Despite a lot of talk about how this deployment model &#8220;levels the playing field&#8221; for large and small developers, take a look at which companies are actually creating the games you might find on your phone. Typically, there are only a handful, and you wont find many you haven&#8217;t heard of: Konami, Sony, Jamdat (which is actually mostly owned by Verizon). Virtually no small developers. And why should there be? The phone companies would rather carry several games from one developer than one game each from multiple developers. The paperwork is simpler.</p>
<p>Let&#8217;s get back to the XBox 360. Microsoft is pushing the Indie developer thing much harder than Qualcomm ever did. OK then, where are all the games from these Indie developers? The 360 has been out for almost 8 months, and there are hardly any things to choose from. Microsoft has some <a href="http://arstechnica.com/journals/thumbs.ars/2006/6/20/4390">PR-speak</a> about the issue.</p>
<p>Well great! I&#8217;d like to develop games for the XBox! I&#8217;ve worked with Direct X before! I have some free time! Where can I get started? As long as I can make something good quality (which is a reasonable restriction), I can  expect to have a reasonable chance to get my game on there, right? Sorry, here&#8217;s Microsoft&#8217;s <a href="http://www.xbox.com/en-US/dev/regdev.htm">response</a>:</p>
<blockquote><p>&#8220;The The XBox RDP is open to established professional game development studios with a history of shipped titles and good industry references. If you represent a startup company, you may be considered if the team is made up of experienced individuals.&#8221;</p></blockquote>
<p>Does that sound like they&#8217;re encouraging Indie developers to you?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.2robots.com/2006/06/21/console-wars-the-fight-for-developers-is-something-of-a-myth/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Alities</title>
		<link>http://www.2robots.com/2005/06/10/alities/</link>
		<comments>http://www.2robots.com/2005/06/10/alities/#comments</comments>
		<pubDate>Fri, 10 Jun 2005 22:28:20 +0000</pubDate>
		<dc:creator>Daniel Eisner</dc:creator>
				<category><![CDATA[Alities]]></category>
		<category><![CDATA[Myself]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.2robots.com/?p=45</guid>
		<description><![CDATA[Someone left a comment on my amorMD2 page, asking if I had submitted it to KDE. It was a very timely answer, because I have been working lately on a new program called Alities (as in &#8220;personAlities&#8221;). The idea behind Alities is to completely throw away the legacy amor code, and develop a complete desktop [...]]]></description>
			<content:encoded><![CDATA[<p>Someone left a comment on my <a href="http://www.2robots.com/?p=24">amorMD2 page</a>, asking if I had submitted it to KDE. It was a very timely answer, because I have been working lately on a new program called Alities (as in &#8220;personAlities&#8221;). The idea behind Alities is to completely throw away the legacy amor code, and develop a complete desktop buddy engine. The advantages are as follows:</p>
<h3>- Better Graphics</h3>
<p>The original Amor code was limited to a certain frame rate, and a certain number of animation frames. By going to a true real time 3D engine (instead of lazily-rendered, then cached frames), the animation will be much more fluid, and more flexible. Especially when used with bone-based model animation.</p>
<h3>- Better and Customizable Behavior</h3>
<p>Again, the original amor code behaves pretty simply. If you switch windows, it goes to the new one. If you leave the computer alone, it goes to sleep. Otherwise, it more or less just moves back and forth on top of your current window. That&#8217;s it. With Alities, your character can decide to take pot-shots at your mouse cursor. Or, it can get bored and start wandering around your background windows. Or maybe it will decide you are working too hard, and stomp on your current window to move it down a few pixels. You might have more than one Ality on your screen at a time. Maybe they won&#8217;t get along, and will have a little war with each other until one of them is dead (IE, the process shuts down).</p>
<h3>- Plugin model</h3>
<p>Initially, Alities will come with plugins to support loading Quake 2 characters, listening to Window Manager events, and D-BUS messages. It will also come with several behavior models like those described above, from which you can pick and choose how you want your Ality to behave. Afterwards, I will be releasing plugins to load Quake 3 characters, Unreal Tournament (2k3 and 2k4). The next version of Alities after that will feature a binary XMLRPC interface, so you can send your alities to other people&#8217;s desktops (if they are also running Alities). Maybe they&#8217;ll act as your autonomous emissaries. Or, if you want, you can take direct control of them, and have them do whatever you want &#8212; I&#8217;ll keep what you can do a surprise for now.</p>
<p>Anyway, most of that is just on the drawing board today. Right now, Most of the framework and much of the MD2 plugin is complete. I have to finish some of the basic plugins for window-manager and D-BUS behavior, and then I will release Alities. With that release, I will probably submit it to KDE for inclusion, and possibly Gnome as well. Alities is written font-end agnostic. At the moment, it has a KDE front-end, but a Gnome front-end will be included with the first release. An MS Windows front-end is also possibly, being taken into account from the beginning (unlike amorMD2). Unfortunately, most detection plugins like the window manager and D-BUS won&#8217;t be effective on MS Windows, so support for that may be much farther down the line.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.2robots.com/2005/06/10/alities/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lost the Code</title>
		<link>http://www.2robots.com/2005/01/20/lost-the-code/</link>
		<comments>http://www.2robots.com/2005/01/20/lost-the-code/#comments</comments>
		<pubDate>Thu, 20 Jan 2005 20:21:44 +0000</pubDate>
		<dc:creator>Daniel Eisner</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[This Site]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://2robots.com/?p=23</guid>
		<description><![CDATA[I am digging through some of the old stuff on my website. A few years ago, I had been working on Windows port of my &#8220;amor MD2&#8243; program. I had taken a break from it for a bit, which turned into something a little more permanent when I lost the source code I had been [...]]]></description>
			<content:encoded><![CDATA[<p>I am digging through some of the old stuff on my website. A few years ago, I had been working on Windows port of my &#8220;amor MD2&#8243; program. I had taken a break from it for a bit, which turned into something a little more permanent when I lost the source code I had been working on. This project is officially dead. Below is the originaly page for this project, for posterity. <img src='http://www.2robots.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<blockquote>
<h5> AMOR MD2 for Windows 2000/XP</h5>
<p>amorMD2, &#8220;Amusing Misuse of Resources &#8212; MD2 edition&#8221; reads Quake 2 character files and makes them dance around your desktop for your amusement. The 2000/XP version is not a port of the Linux version &#8212; it is a complete re-write from scratch utilizing the latest features of MFC and Win32 (I hope you all appreciate it <img src='http://www.2robots.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>For more information, please read about the original Linux version. There are some significant differences in the Windows port. Most notably, the all rendering takes place on the fly. This allows the Windows version to dynamically choose a 3d orientation for the Quake models at any time. In english, this allows the characters to turn and walk sideways, face backwards, etc. The Linux version, on the other hand, pre-renders all animations when it needs them, and then &#8220;remembers&#8221; the bitmaps to be re-displayed later. This means that although the Windows version is more flexible graphically, the Linux version will look almost as good, and not take up nearly as much resources. The better your 3D graphics card, the less this impact will be.</p>
<p>Some important technical notes for the Windows version:</p>
<ul>
<li> The image is only rendered when your computer has nothing better to do. this means that if you are multitasking a bunch, the animation may be a little bit jumpy, depending on the speed of your computer. This also means that amorMD2 will *not* slow down any other aplications running at the same time &#8212; it &#8220;plays nice&#8221; with other applications on your computer. I enough people complain to me that this sucks, I&#8217;ll add an option to let amorMD2 force rendering at a decent framerate (thereby not &#8220;playing nice&#8221; with other applciations).
</li>
<li> amorMD2 for Windows 2000/XP uses new features of MFC. This means that it will *not* work under Windows 95/98/me. Sorry (Okay, I&#8217;m not that sorry).
</li>
</ul>
<h5>Next Version</h5>
<p>I&#8217;m not happy with the features of amorMD2 for Windows 2000/XP yet. When I am, I&#8217;ll have a better idea of what to add for the next version.</p>
<h5>Download</h5>
<p>Sorry, amorMD2 for Windows 2000/XP is still under development. Currently, MD2 models can be rendered to the Windows desktop using hardware-accellerated OpenGL. The next step of development is the AI, which needs to determine the location of the Start Menu, and the currently active window, as well as direct the character to perform its actions. As soon as that is done, I will post a version for download.</p>
<p>You can download additional characters from <a href="http://www.planetquake.com/polycount/downloads/index.asp?game=1&#038;sort=rating&#038;order=DESC">Polycount</a>.<br />
See /usr/share/apps/amorMD2/README-amorMD2 for character installation instructions.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.2robots.com/2005/01/20/lost-the-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
