Posts tagged topics
Book Review: "Beginning Android"
Feb 12th
Book Review: “Beginning Android”
Mark L. Murphy
Apress, 2009
ISBN: 978-1-4302-2419-8
I got a review copy of this book from Apress. Here is the review.
This is a book for programmers who have a basic knowledge of Java and want to get an introduction to the elements of Android programming. The book should be useful for both professionals and hobbyists. It is easy to read and well structured, and not too extensive, which makes it comprehensible. The 350 pages do a good job at covering a fair amount of the Android API. One area that is not covered is development tools, here the book refers to the Android web site (www.android.com). Setting up a development environment for Android can be tricky if you are new to programming, so this is an area where less experienced readers are left on their own.
The book covers Android 1.5, which is an old version by now. I however found the text and the code examples useful also for Android 2.1 development. The back inside cover mentions that there is a companion eBook available. An updated eBook would be of great added value, but it should be provided for free to customers who have purchased the book, not at additional cost as seems to currently be the case.
The style of writing is clear and the text is easy to read. The book is structured into several short chapters, where each chapter covers an aspect of Android development and the related parts of the API. Each chapter begins with an introduction that explains the topics covered in the chapter. Then follows a complete, runnable, and often short and concise code example that illustrates the chapter topic. This makes the book useful as a cookbook.
One not-so-nice aspect of the text is the use of supposedly funny section titles. I find titles like “Mother, May I”, “Halt! Who Goes There?”, ”When IPC Attacks!”, and “Seeing Pestering in Action”, to be quite irritating and distracting. The subject is interesting on its own merits, and the silly section titles actually make it harder to find what you are looking for in the book. There may, however, be readers who will find the titles entertaining. Another less good aspect of the book is the code style used, with no blanks between the parts of an expression. The first chapters use the correctly spaced Java-code style, but the majority of the chapters do not, and this is bad since it can establish bad coding practices among readers (especially beginners).
It is quite common for programming books to list classes and methods in the APIs covered, something which I find superfluous since the most current API documentation is available online. This book does not provide API listings, which is positive because it makes the text more coherent and flowing. It also saves pages, and makes room for more code examples and explanatory texts, which are added values compared to the online API documentation, and a reason for buying a book.
For me, the major value of the book has been as a cookbook of code examples. The examples in the book are often short, clear, useful, and on the spot on what you want to do.
Google Android with T-Mobile G1 officially announced
Dec 21st
T-Mobile USA has officially confirmed what unofficially has been the talk of the town–the debut of the first Google Android based mobile phone. The T-Mobile G1 is made by HTC (the device was code named the HTC Dream) and was introduced this morning at a press conference in NYC. While this is the first Android device to be announced there should be many more following. The G1 is a T-Mobile exclusive (both USA and Europe).
Specs and features of the G1 include:
* Quad-band GSM / Dual band 3G / EDGE / Wifi
* Touch screen with iPhone like dragging
* Slide out QWERTY keyboard
* 3 megapixel camera with auto-focus
* Amazon MP3 store app to download DRM-free songs over WiFi
* Multi-tasking
* IM (Yahoo/MSN/AIM/Google Talk)
* Google Maps with street view
* HTML email client (POP3 and IMAP) plus contact and calendar syncing for Gmail users
* Web browser using WebKit
The G1 will retail for $179 with a 2-year contract when it starts shipping on October 22nd. Current customers can order online and the G1 will be delivered when it’s launched. Like the iPhone, the G1’s service agreement requires a data plan. Unlimited data with 400 messages runs $25 monthly while unlimited data and unlimited messaging will cost $35 monthly. Since it’s a 3G device the phone will only be made available in T-Mobile’s current 3G markets. You can use T-Mobile USA’s coverage search tool to find out if your area is 3G or not, though the number of markets should be expanding rapidly. The G1 will not be available without a contract or via pre-paid service.
jclouds ecosystem roundup 1
Nov 26th
Today, I called together an impromptu chat on jclouds integration on irc (#jclouds on freenode). The goal was to have contributors and stakeholders discuss what they’re working on, and generally get in touch with eachother. We were fairly well represented, 10 in the room by the end of it coming in from all over US, norway, romania, and new zealand. Outside geography, we were very diverse, with folks from jclouds, terracotta, jboss, rackspace, rimuhosting, enStratus/Dasein, and vCloud online. I’ll sum up the topics we covered, for those of you who missed. Here it goes!
ShrinkWrap
Presented by aslak
ShrinkWrap is an open source, general purpose Archive API with a fluent’ish sound to it. It has a Extension model that lets you write specific Archive types like JavaArchive, WebArchive, etc. It is a part of the JBoss ecosystem and in use in the Embedsded AS and Arquillian projects.
Here’s how it looks to use ShrinkWrap:
Archives.create("app.war", WebArchive.class).addPackage(recursive, Package.getPackage("org.jclouds")).as(ZipExporter.class).export(Stream)
One integration idea is to utilize ShrinkWrap to move or create configurations on cloud storage. Here’s how that might look:
Archives.create("test",ZipImporter).import(Jclouds.OsStream).as(OSConfiguration.class).setMemory(1G).as(ZipExport.class).export(JClouds.OsStream)
jclouds is very excited about the ShrinkWrap story and the potential to use it to freeze and retarget cloud workloads. Thanks to Aslak for presenting!
enStratus and Dasein Cloud
Presented by nspollution
enStratus is a enterprise-focused cloud broker with a console to control multiple clouds. By enterprise, it ensures IT policies and procedures can be enforced in the cloud. These include key management, user management, data encryption, SLA management, backups, DR, BCP. It uses an open source project Dasein Clouds to facilitate multi-cloud abstraction. Dasein Clouds follows the JDBC model; It prescribes a series of interfaces for virtual hardware and network services. Then, implementations are created for different APIs.
Here’s how it looks to find all servers in a specific region using Dasein:
cloudProvider.getServerServices(region).list();
George from Dasein is currently collaborating with jclouds to facilitate some of its abstractions, such as compute and storage. This is currently underway and has a goal of adding vCloud support to Dasein.
RimuHosting
Presented by ivan__
RimuHosting offers cloud servers, or VPSs, via a ReST api. They also offer dedicated servers. Dedicated servers can be traditional or configured with a Xen stack, under which case Rimu can manage your VPSs for you. One differentiator they have is scaling a single server. For example, someone can start on a 160mb vps, and then eventually let grow that to a 16-core dedicated server.
Ivan Meredith has been highly involved in the OSS cloud world, and jclouds is the 3rd project he’s written support for: first libclouds, then deltacloud. Ivan believes jclouds is unique in allowing for a simple api, yet still allowing Rimu to wrap up features that are only used 1% of the time.
The Rackspace Cloud
Presented by greenisus
Rackspace is pretty popular and offers the cloud norms such as spin up instances, resize, reboot, etc. Their offering also includes CDN and storage management. The most echoed differentiator from the chatroom is the quality of the ReST apis they present. Rackspace apis were some of the first jclouds features and we foresee that strong relationship carrying forward.
Mike Mayo wrote the Rackspace Cloud iPhone application and will be soon building an android application for their cloud. He’s a contributor to jclouds and an adviser on our android integration project.
jclouds-android
Presented by mihaicampean and bogdan_popa
Mihai has been taking interest in android since last year 1.0 release. In this time, he’s created two android projects: aegis-shield and jclouds-android. jclouds-android is a proof of concept application. When complete, it will be a twitter client which runs on the jclouds framework.
Terracotta
Presented by jvoegele
Terracotta is java infrastructure software that extends the java memory model across a cluster. This allows for somewhat transparent clustering of java applications. Among other use cases, testing shows they have by far the fastest hibernate 2nd level cache to be found anywhere. They recently acquired ehcache and its primary maintainer greg luck, as well the quartz scheduler project. Under Terracotta, these projects will have tighter integration and cluster readiness.
Terracotta are working with jclouds to create tools that dynamically provision terracotta server and client nodes. We are also working with the cargo project on this. The goal is to make it easier for those who love Terracotta to manage it inside or outside of the cloud, by improving tools they already use.
vCloud Express
Presented by wattersjames
vmWare vCloud, unlike other clouds is more of a software based offering. vCloud Express is offered by various hosting companies, such as Terremark and Hosting.com. They see jClouds as unique because it not only is a translation layer for their API, but is also more directly programmable and integrated right into Java.
vmWare have been quite supportive of the jclouds project, from sponsoring time, to facilitating discussions with the ecosystem. James has been a great part of the jclouds story and has also helped promote collaborative projects as well.
Concluding Notes
We’ve invited the entire ecosystem, including those who couldn’t make this irc session to participate in our new Compute Abstraction Design. Please also reach out to us, if you have an jclouds integration story, or would like help getting your jclouds story started.
