A really interesting presentation given at MIX10 (Microsoft sponsored conference) by James Hamilton regarding Cloud computing and its implementation in Amazon Web Services.
After a brief introduction about the reasons why AWS is economically sustainable and why it was mandatory for Amazon considering the large amount of underutilized servers they had, he provides a sneak peek on how an Amazon Data Center is structured and what kind of problem them or anyone else building a “cloud” have to address (power/cooling/maximize utilization). Well worth one hour of your time. You’ll need Silverlight(win) or Moonlight(lnx/firefox) to play this one, if you don’t feel inclined to install it, go straight to the site and download the mp4 recording.
If you diligently followed the android driver install instruction from the Android Developer site but your HTC Magic is still discovered only as an “HTC Android Phone USB Device” and an unknown device named “ADB” because the driver contained in the last SDK (android-sdk-windows-1.5_r2\usb_driver\x86\) is not recognized, follow these steps:
Open the Device Manager, select the ADB Device and open the Details tab. Look for “Device Instance Id”, it should be something like vid_0bb4&pid_0c0*.
If your * is not 2, these instructions will probably solve your issue.
Disconnect your device and uninstall the two discovered devices (i used usbdeview but you can do it manually from the Device Manager).
Open with a text editor android-sdk-windows-1.5_r2\usb_driver\x86\android_usb.inf.
Replace all the vid_0bb4&pid_0c02 with vid_0bb4&pid_0c0* (e.g. vid_0bb4&pid_0c03).
Connect your phone and when asked for driver choose to specify manually a path and select android-sdk-windows-1.5_r2\usb_driver\x86\.
If the installation is successful, to verify that all is ok execute android-sdk-windows-1.5_r2\tools\adb devices, your phone should be listed in the device table.
Thanks to Wysie, for the full discussion see the original thread. After following this procedure even HTC Sync should work.
UPDATE: This procedure should likely work for HTC Hero, Touch and Samsung Galaxy too, just substitute where needed the “Device Instance Id” found at step 1.
UPDATE 4/10/10: Confirmed, this procedure still works for newer phones like the Desire, just use a correct Device Id.
In a post on JavaLobby, Meera presents her TOP5 of technical books published in 2008.
I definitely agree with the first three: a new book from Robert C. Martin, the second edition of the great Effective Java and a collection of articles from ThoughtWorks.
I haven’t read yet the first one but i liked his “Agile Software Development” and the initial reviews are quite good.
The new edition of Effective Java contains 21 new items and presents 1.5 language features such as enum, generics and annotations and also updates items related to improved features e.g. items in the concurrency section.
An interesting reading is also the ThoughtWorks Anthology, a collection of essays on various IT topics, ranging from software methodology advices to ant build files optimization tips.
If you are a software developer or if you know one, this time of the year is the right time to buy one of these books.
Let me add a few more titles, that even if not published in 2008 (or not technical) could be good gift ideas:
Java Puzzlers: Traps, Pitfalls and corner cases
Another book from the great Joshua Bloch based on the JavaOne’s serie of presentations, full of thought-provoking “puzzles” related to details or known bug of the Java language.
Here is a video of one of the Joshua’s presentations:
C++ Common Knowledge: Essential Intermediate Programming
As the cover says : “What Every Professional C++ Programmer Needs to Know—Pared to Its Essentials So It Can Be Efficiently and Accurately Absorbed”.
As an Effective Java for the C++ language, it uses the same itemized approach and it describes very clearly and with many examples what every C++ programmer should know.
Perfect for anyone who needs to review the language skipping the basics.
My job went to India
In this book published in 2005 , Chad Fowler takes his experience with outsourcing in India as a starting point to give reasonable advices about IT carer development. Even if some of these could sound obvious (as reasonable advices usually are), the book is still an enjoyable reading and give you the opportunity to review the way you approach your job in IT and think about what could be improved.
Highly recommended.
Permutation City
A post-cyberpunk sci-fi book by Greg Egan, full of clever ideas about AIs, future post-death scenarios and virtual reality.
If you are looking for a low cost NAS you surely will come across with three devices: the Linksys NSLU2, the Iomega MyBook WE and the D-Link DNS-323 (or its sibling CH3SNAS pitcured on left).
Devices with similar functionality (all of them support Samba/FTP/ITunesServer/UPNPAVServer/etc…) and that in a similar fashion have been greatly extended thanks to the community. The NSLU2 with its custom firmware, linux distributions and the optware package repository, the MyBook WE with a first customized firmware and now with a full fledged community and the DNS-323/CH3SNAS with the fonz’s fun_plug and the huge amount of modifications that came after that.
Something similar to what always happens to devices based on FOSS and when the opportunity to enhance them is given to the community and something, in my opinion, that always boosts the “saleability” of such products, just think to the famous Linksys WRT54G.
I got my own Conceptronic CH3SNAS last year, and since then i enjoyed the progress made by the community and contributed my little share when possible.
You can now find all my DNS323/CH3SNAS binaries here. Feel free to try them and call for support if needed.
After this long preamble about opensource and NASes, let’s talk briefly about Linux and embedded development.
There are many ways to start learning Linux for those who come from a MSWindows background such as installing a random distribution, maybe on a virtual machine, and so on…
But what the DNS323 and similar devices give you is the opportunity to get a taste of what embeddeddevelopment is.
The hardware platform reminds what you could find in your average pocket-pc and is good enough for this use: a Marvell SoC with an ARM926Tj at 500Mhz and 64Mb of RAM.
Don’t limit your experience to installing a different UPnP AV Server or the latest Transmission/mldonkey, try to compile some software yourself and experiment.
Browse the WIKI to discover what a toolchain is, how you can cross-compile software for different CPUs (in this case an ARM926) on a x86 host and which are the main differences among glibc and libraries like uclibc, eglibc, etc…
This post should contain enough pointers for you to start .