Category: Programming
November 5th, 2009
New Epic 3D game engine toolset: Fabulous, fun, and free!
This is big: Epic Games just announced the release of the Unreal Development Kit (UDK), a free edition of the Unreal Engine 3. It’s available to anyone interested in using 3D game engine technology, including game developers, students, hobbyists, researchers, creators of 3D visualizations.
The Unreal Engine is the technology behind popular PC and console games such as Gears of War, Unreal Tournament, Bioshock, Medal of Honor, Army of Two, and Batman: Archam Asylum. It’s one of the best game engines available today. See the UDK features page for more details on all of its capabilities.
Previously, if you wanted to use the Unreal Engine in your programs you had to enter into a very expensive agreement with Epic for access to the technology. A few years ago, Epic reportedly asked for up-front payments of as much as $8 million before your game was even developed! Now anyone can download the PC version of the UDK and immediately try it out without paying a cent or signing anything. As a former professional game developer, this is just amazing to me.
The Unreal community was going nuts this morning after the announcement. Some were shocked that Epic chose to release the entire engine and not just a crippled subset. As one poster put it,
“Man, one thing I hope you guys realize is that this is almost EXACTLY the engine build that we’re using here at Epic! You get every single feature that we’ve been using here that aren’t even in any games yet! We only got some of these features last week!”
Use of the new UDK is free for noncommercial purposes, but it can be licensed cheaply for commercial uses. For example you can use it to write a commercial PC video game and pay nothing up front and no royalties until your sales go over $5,000. See the licensing page for all the details. Currently, the free kit is only offered to PC users but Epic says console support is “under consideration”.
“Unreal Engine 3 has been used to create games in a wide range of genres, as well as military simulations, 3D architectural walkthroughs, animated movies and more,” said Epic VP Mark Rein. “Users are only limited by their imaginations. Go ahead, make something Unreal!”
Related articles:
October 29th, 2009
Android 2.0 (Eclair) FAQ
This is the last of a series of articles on Android 2.0 (”Eclair”). In part 1, we examined the user-oriented features of the new release, and in part 2 we discussed several features intended for developers. For this final part we’ll switch gears and answer some frequently asked questions about Eclair from both users and developers. Just for fun I’ve tossed in a few questions about the Motorola DROID as well.
By the way, if you have any questions that I didn’t cover, just ask them in the talkback area.
Q. When can I get Android 2.0?
The Android 2.0 Software Development Kit is available now. This includes an emulator that lets you run a virtual Android device on your desktop computer.
The first phone with Android 2.0 installed is the Motorola DROID, which will be carried by Verizon in the US starting November 6th. The second one will probably be Sony Ericsson’s Xperia X3/Infinity/Rachael . A release date for that model hasn’t been announced but it’s widely expected to be out before the end of the year as well.
Q. Will the Acer A1 Liquid phone with Snapdragon have 2.0?
Liquid is set to be released with Android 1.6.
Q. Can I upgrade my ___ (fill in the blank) phone to 2.0?
The only one we know for sure that will be upgraded is the HTC Hero.
It has been rumored that the first Android phone, the HTC G1/Dream, doesn’t have enough memory to run 2.0. However, I don’t think that will necessarily be the case. If you remember, they said the same thing about version 1.6. Like 1.6, 2.0 is a little too big to fit into the G1’s memory. But with a few optimizations, 1.6 was slimmed down enough to fit, so the current speculation is that 2.0 can be made to fit also. …
Continue reading: Android 2.0 FAQ >
October 28th, 2009
What's new in Android 2.0? Part 2: Developer features
After months of speculation, Android 2.0 (”Eclair”) was officially released this week by Google. To be more precise, the Software Development Kit (SDK) for Android 2.0 was released, so that developers can get a head start on 2.0 development before the new devices with 2.0 hit the market. It’s not much of a head start, though, because the new devices may will be on sale as early as next week, or by the end of November at the latest.
[ See Motorola DROID on Verizon: Is this the iPhone killer you're looking for? for the first Android 2.0 phone. ]
This is the second of a series of 3 articles covering what’s new in this new release. Part 1 covered user features and availability, this part will cover developer features, and part 3 will try to answer any other questions you might have about the new platform. You should read part 1 first, if you haven’t already.
Should I stay or should I go now?
In the announcement of version 2.0 on the Android Developer’s blog, Xavier Ducrohet wrote:
Over the next few months, we expect to see more and more Android devices being released. These devices will be running Android 1.5, 1.6, or 2.0. We are also planning a minor version update of Android 2.0 towards the end of the year, and that will be the last update for 2009.
That’s right, folks - by the end of this year there will be 4 different versions of Android running in the field. It’s going to be a challenge for developers to keep on top of this. One thing seems clear - all Android devices will not automatically be upgraded to the latest version:
- Android 1.5 provides the base functionality common to all versions of Android.
- Android 1.6 adds support for screen sizes smaller and larger than HVGA 480×320.
- Android 2.0 adds support for multi-touch and virtual keys, among other things.
- Android 2.1 will probably be a minor bug-fix version.
With rare exceptions, 1.5/1.6 apps will run fine on 2.0 phones. Most apps will not need the new features that 2.0 brings, so they can continue to use the 1.5 SDK and get the greatest possible reach. Other apps can test to see if they’re running on 2.0 and only use new features if they are available. A few apps, however, will want to require 2.0 and rely on its features even if it means they can only be run on a few new devices (for now, anyhow).
Continue reading: What’s new in Android 2.0 for developers >
October 16th, 2009
First pics of Motorola Droid with Android 2.0 build (maybe)
The Boy Genius report has just posted a series of screenshots showing Android 2.0 running on what appears to be the upcoming Motorola Droid phone (also known as Sholes). The source is credible and the pictures look real, though it’s unclear how close it all is to being finished. Pricing and availability was not announced.

Small visual changes can be seen in several of the shots when compared to the stock Android 1.6 image. For example, some of the home screen icons are different, and the browser has a redesigned address line with space for the site’s “favicon”. The key lock screen looks quite different too. But it’s hard to tell whether these are due to Verizon customizations or changes in Android 2.0. The phone dialer looks different, but it also looks different on the Acer Liquid A1 phone which appears to be running 1.6. The only thing that screams “2.0″ is the Firmware version shown on one of the screen shots. You can see another view of it here. If it had said “1.6″ there I would believe it, chalking up the minor changes in the screen shots to vendor mods.
October 5th, 2009
What's new in Android 1.6 (Donut)? Part 2: Developer features
Over the next several weeks, Android 1.6 will be rolling out to customers via an over-the-air update. In addition to a number of user-facing features such as a new Android Market and a faster camera application, the Donut branch has a few goodies for developers as well. This article explores how to get 1.6 right now, and the developer-facing features inside.
[ See also: What's new in Android 1.6? Part 1: User features ]
Continue reading: Getting 1.6 early >
September 2nd, 2009
Java Fast Sockets: Enabling high-speed Java communications on high performance clusters
If you’ve ever tried to write a high-performance Java program that does network communication you know that it’s hard to do this in an efficient manner. Researchers at the University of A Coruña in Spain have created a library called Java Fast Sockets (JFS) that dramatically increases throughput while reducing latency compared to the normal Java socket and NIO APIs. And they did it while retaining compatibility with Java sockets.
In a paper published late last year they wrote:
This paper presents Java Fast Sockets (JFS), an optimized Java socket implementation on clusters for high performance computing. Current socket libraries do not efficiently support high-speed cluster interconnects and impose substantial communication overhead. JFS overcomes these performance constraints by: (1) enabling high-speed communication on cluster networks such as Scalable Coherent Interface (SCI), Myrinet and Gigabit Ethernet; (2) avoiding the need of primitive data type array serialization; (3) reducing buffering and unnecessary copies; and (4) reimplementing the protocol for boosting shared memory (intra-node) communication. Its interoperability and user and application transparency allow for immediate applicability on a wide range of parallel and distributed target applications. A performance evaluation conducted on a dual-core cluster has shown experimental evidence of throughput increase on SCI, Myrinet, Gigabit Ethernet and shared memory communication. It has also been analyzed the impact of this improvement on the overall application performance of representative parallel codes.
(click image for full size)
The open source library works by eliminating copies and unnecessary serialization steps. If you have the right hardware (RDMA Infiniband) or are communicating between two processes on a multi-core machine then the number of extra data copies made can drop to zero. Noticable improvements can be measured on traditional Gigabit Ethernet as well. A small native library provides operating system interfaces that are not available in the standard Java SDK.
For more information:
- DOI Bookmark: 10.1016/j.comcom.2008.08.012
- Direct link: http://jfs.des.udc.es/files/publications/COMCOM-JFS.pdf
- Web page with downloads: http://jfs.des.udc.es
August 25th, 2009
ATI releases beta SDK with OpenCL CPU support
ATI has announced the immediate availability of OpenCL 1.0 CPU support as part of the ATI Stream SDK V2.0 Beta. 32- and 64-bit versions are available for Linux, Vista, and Windows XP. OpenCL promises to unify multi-core programming for CPUs and GPUs from vendors like Intel, AMD/ATI, and NVidia.
At run time, OpenCL will detect what kind of hardware you have and run your OpenCL kernels across that hardware. If you have a quad-core CPU, it will use all 4 cores, and if you have a compatible GPU graphics card it will use that. In theory OpenCL will take the place of CUDA, CTM, Brook++, OpenMP, Intel TBB, and pthreads for many common compute-intensive workloads.
Unfortunately the current beta comes with some severe limitations. At this point it supports running code only on the CPU, not the GPU. Also, double precision floating point is not yet supported. Still, this SDK is the first opportunity most developers have had to start developing and testing OpenCL applications.
The final version of ATI’s SDK, with GPU support, is due out by the end of the year. NVidia should have their own OpenCL drivers out soon, and Apple’s Snow Leopard will be out soon with some kind of support. Hopefully by this time next year everybody will have access to production-quality drivers so ISVs can start considering this for commercial systems.
June 25th, 2009
Program for Android in C/C++ with the Native Development Kit (if you dare)
Not a big fan of Java? Well, get over it, because that’s the primary and recommended way to write applications for Android devices. It’s portable and… what’s that? Android’s Dalvik Java VM not fast enough for you? Granted, it’s an interpreted engine and as of version 1.5 there’s no Just-In-Time compiler. But Dan promises… oh, can’t wait for the JIT to come out? Ok, ok, we’ll let you program in C if you’re really sure.
Introducing the Android Native Development Kit (NDK). With it, you can implement *parts* of your application using native-code languages such as C and C++. You’re familiar with the Java Native Interface (JNI), right? JNI lets you load a shared library and call C code from within Java. The NDK lets you compile and build those libraries for the ARM CPU chip used in all *current* Android devices.
The NDK provides:
- A set of tools and build files used to generate native code libraries from C and C++ sources
- A way to embed the corresponding native libraries into application packages files (.apks) that can be deployed on Android devices
- A set of native system headers and libraries that will be supported in all future releases of the Android platform, starting from Android 1.5
- Documentation, samples, and tutorials
Users downloading your program from the Market will not be able to tell whether or not you used native code. In fact, some apps already on the Market use it. However, native code is not for everyone. Google engineer David Turner writes:
Keep in mind that using the NDK will not be relevant for all Android applications. As a developer, you will need to balance its benefits against its drawbacks, which are numerous! Your application will be more complicated, have reduced compatibility, have no access to framework APIs, and be harder to debug. That said, some applications that have self-contained, CPU-intensive operations that don’t allocate much memory may still benefit from increased performance and the ability to reuse existing code. Some examples are signal processing, intensive physics simulations, and some kinds of data processing.
You have been warned. Stay away from the NDK unless you really need it. Try optimizing your Java code first. Try profiling. Acupuncture, cold compresses, anything but… what did you say? “Shut the…,” hey, there’s no need to be rude. Have at it.
June 24th, 2009
Eclipse Galileo release train now arriving at gate 3.5
Besides death and taxes, there is one other certainty in the life of a software developer: slipping schedules. Every year, though, Eclipse continues to defy that expectation by releasing a major new version in late June. Today, the Eclipse Galileo release train arrived exactly on time, for the 6th year in a row.

Galileo is a synchronized release of 33 separate projects all under the umbrella of the Eclipse Foundation. Over 380 committers from 44 different organizations participated to make this release possible.
Many of the projects in Galileo are tools for developers, for example the Java Development Toolkit, C Development Toolkit, Memory Analyzer, Web Tools, Subversion, and of course the Eclipse Platform (version 3.5). Others are more oriented towards end users such as the Business and Reporting Tools.
For 2009, a new category of projects has coalesced under the name “Eclipse Runtime Technology”. This includes Equinox (Eclipse’s implementation of the OSGi standard), the Eclipse Communication Framework, Rich Ajax Platform, Riena (modular business application platform), Swordfish (SOA framework), and EclipseLink (persistence services).
Another major focus of the 2009 release is modeling tools. New innovations in Galileo include Xtext (for creation of domain specific languages) and Connected Data Objects (distributed shared models with transactions).
“The release train continues to be a great achievement of the Eclipse community,” explained Mike Milinkovich, Executive Director of the Eclipse Foundation. “Galileo demonstrates that large distributed software development can be done on a predictable schedule. This predictability makes it possible for our user and adopter community to quickly adopt new releases from Eclipse.”
Eclipse Galileo with Eclipse Platform 3.5 is available immediately from the eclipse.org download site. This year, downloads should fly thanks to a partnership with Amazon Web Services. Package sizes range from 79MB to 367MB depending on what components you need.
Related articles:
June 16th, 2009
Mobile megahertz madness heats up
The competition is heating up in the market for smartphones and other mobile devices. Literally. As competitors try to leap-frog each other in performance we’re seeing a repeat of the desktop computer’s Megahertz arms race, only this time the palm of your hand. You might want to put on some oven mitts.
The story so far:
- January 2007: Apple introduced the iPhone and iPhone touch, running a Samsung ARM11 processor at 412MHz.
- September 2008: Apple bumped the speed of the iPod Touch to 532MHz.
- September 2008: T-Mobile announced the G1 (also known as the HTC Dream), running an Qualcomm ARM11 processor at 528 MHz. The HTC Magic uses the same processor.
- January 2009: Palm announced the Pre, which features a TI ARM Cortex A8 processor at 600MHz.
- June 2009: Apple struck back with the iPhone 3G S, running a Samsung ARM Cortex A8 processor at 600MHz.
- June 2009: Samsung announced the Jet, which it claims is the “fastest full touch handset on the market today”. It is clocked at 800MHz, and is probably based on the Samsung ARM Cortex A8.
Continue reading: Megahertz madness >
Ed Burnette is a professional developer and author of several articles and books about computing including Hello, Android: Introducing Google's Mobile Development Platform, 2nd Edition. For disclosure of Ed's industry affiliations, click here or to view his full profile click here.
Subscribe to Dev Connection via Email alerts or RSS.
SponsoredWhite Papers, Webcasts, and Downloads
- Why Isn't Server Virtualization Saving Us More? A Few Small Changes May Dramatically Increase Your Efficiency VMware Companies have rapidly adopted server virtualization over the past few ... Download Now
- The Impact of Virtualization Software on Operating Environments VMware Today's use of virtualization technology allows IT professionals to ... Download Now
- VMware Infrastructure: A Guide to Bottom-Line Benefits VMware Frustrated by the costs of maintain ever larger data centers?or building ... Download Now
Essential Topics 
- Top-ranked Novell support for Red Hat at 50% less
- Get top-ranked Novell support for Red Hat when you switch
- Move to SUSE Linux Enterprise. Get 3 years of Red Hat support
- More interoperability, plus 3 years. Red Hat support, only from Novell
- Red Hat support, patches, updates with the interoperability of Novell
- Unrivaled Red Hat support now available from Novell
Recent Entries
- New Epic 3D game engine toolset: Fabulous, fun, and free!
- Skype open source? Ain’t gonna happen
- Android 2.0 (Eclair) FAQ
- Motorola DROID on Verizon: Is this the iPhone killer you’re looking for?
- What’s new in Android 2.0? Part 2: Developer features
Blogs From Our Sponsors
Most Popular Posts
- Android 2.0 (Eclair) FAQ
- What's new in Android 2.0? Part 2: Developer features
- What's new in Android 2.0? Part 1: User features
- New Epic 3D game engine toolset: Fabulous, fun, and free!
- Motorola DROID on Verizon: Is this the iPhone killer you're looking for?
- Skype open source? Ain't gonna happen
Top Rated
- Android 2.0 (Eclair) FAQ+13 votes
- What's new in Android 2.0? Part 1: User features+12 votes
- What's new in Android 2.0? Part 2: Developer features+7 votes
- New Epic 3D game engine toolset: Fabulous, fun, and free!+6 votes
- Skype open source? Ain't gonna happen+4 votes
- Motorola DROID on Verizon: Is this the iPhone killer you're looking for?+3 votes
Premier Vendor Content Whitepapers, webcasts & resources from our Power Center Sponsors
- Keep Up With The Latest In Document Management with The DocuMentor.
-
Doc delivers the scoop on today's enterprise content management, printer maintenance, and all other issues related to document management. It's the DocuMentor Blog.
- Learn more >>
- New Online Dashboard for IT Leaders
-
Read about top issues IT decision-makers face every day, plus get cost-effective solutions to real-life IT problems.
- Learn more >>
- Microsoft Dynamics CRM Online - Free Six-Month Trial for Eligible Organizations
-
Microsoft Dynamics CRM Online provides fast online access, simple contact management and better sales performance for a low monthly cost - the best value on the market today.

- Learn more about the free, six-month trial offer>>
- Learn more about tools to grow your business
-
The Business Essentials Guide provides you useful tools and templates to help grow your business and save you time with automated shipping solutions.
- Save time with the UPS Business Essentials Guide
Archives
Favorite Links
ZDNet Blogs
- All About Microsoft
- The Apple Core
- Between the Lines
- BriefingsDirect
- Collaboration 2.0
- Dev Connection
- Digital Cameras & Camcorders
- Ed Bott's Microsoft Report
- Emerging Tech
- Enterprise Web 2.0
- Forrester Research
- Googling Google
- GreenTech Pastures
- Hardware 2.0
- Home Theater
- iGeneration
- Irregular Enterprise
- IT Project Failures
- Laptops & Desktops
- Lawgarithms
- Linux and Open Source
- Managing L'unix
- The Mobile Gadgeteer
- On Sustainability
- Rational Rants
- The Semantic Web
- Service Oriented
- Smartphones and Cell Phones
- Social Business
- Social CRM: The Conversation
- Software & Services Safari
- Software as Services
- Storage Bits
- Team Think
- Tech Broiler
- Technology and the Global Supply Chain
- Tom Foremski: IMHO
- The ToyBox
- Virtually Speaking
- The Web Life
- ZDNet Education
- ZDNet Government
- ZDNet Healthcare
- Zero Day
White Papers, Webcasts, and Downloads
- Five Steps to Determine When to Virtualize YourServers VMware Server virtualization isn't just for big companies. Entry-level ... Download Now
- Email Security and Archiving - Clearer in the Cloud Google The time is NOW for businesses and organizations of all sizes to implement ... Download Now
- The Impact of Virtualization Software on Operating Environments VMware Today's use of virtualization technology allows IT professionals to ... Download Now
SmartPlanet
- Thought-provoking progressive ideas on diverse topics that intersect with technology, business, and life, and matter to the world at large. Visit SmartPlanet
- More from IBM
- Innovate your business' process model, play against the market, compete against others on our scoreboards and WIN! Try INNOV8 2.0: A BPM Simulator
- Enabling Real-World Business Transformation through IBM Service Management Read the EMA Analyst Report






