23 Jun · Tue 2009
NetBeans Plugin for SAP Business One
PHP Unit Testing
- design your class/API
- create a test suite
- implement the class/API
- run the test suite
- fix failures or errors and go to #4 again
Jakob maintains and contributes towards SnapTest framework and his presentation is available at:
http://www.slideshare.net/Jakobo/unit-testing-first-steps
15 Jun · Mon 2009
iPhone apps and startup developers
[Read More]
29 Jan · Thu 2009
From OO PHP Design to Implementation
The last two meetups of the Greater SF LAMP community that we host at Sun campus were focused around PHP development. The December one had an exciting topic on Object Oriented Design Patterns for PHP presented by Robert Gonzalez of Bay Alarm. What's interesting since I've started working with the Web 2.0 community I rarely heard the word pattern that we traditionally apply in the sw architecture, the main emphasis is on functionality and the business ideas fostering the implementation. However, with PHP 5 you can apply the Object Oriented principles and achieve an elegant application architecture, well beyond 'just getting the job done'. The speaker went over a few patterns that I'm used in the Java world, and shown examples of how to apply them in PHP. The traditional Singleton and Factory patterns were discussed. Also the Strategy Pattern was an interesting one as it encapsulates a set of algorithms that change and leaves out what doesn't change. This pattern makes encapsulated algorithms that are interchangeable. It favors composition over inheritance. A ComputerPlatform interface can have multiple implementations such as ComputerPlatform_Mac, ComputerPlatform_Solaris, ComputerPlatform_Windows that all implement a given method, but individual implementation may vary. All in all it was a great session and there are already quite a few books out there that discuss patterns with PHP as the language matures.
This month the two speakers covered NetBeans IDE and Aptana's IDE around their PHP support. So from design to implementation, if you attended both of these sessions, you're armed with all you need to create PHP applications.
10 Dec · Wed 2008
Bebo Develoepr Challenge, JavaFX, and OpenSolaris

Bebo's Developer Challenge is open for another few weeks, so developers can submit their applications till January 6th. While Web 2.0 developers with PHP and Ruby already looking into the contest, this is a great opportunity for Java developers to move towards Social Networking realm and submit their applications based on Bebo's Java APIs. What I like about Bebo development is that they have a pretty neat API Browser that allows you to validate the API call before incorporating it into your program.
With Sun Startup Essentials, you get a year free Joyent accelerator for the Bebo application hosting.
There are also a couple exciting technology announcement from Sun around JavaFX and OpenSolaris 2008.11 release that generate a good bit of momentum in the community. Check out the summary of the latest features in the OS and as for JavaFX you happened to be on Facebook, don't forget to play the puzzle, it's pretty cool.
03 Dec · Wed 2008
Holiday Party 2.0

From Web 2.0 to Holiday 2.0. Ready for a holiday bash? Sun Startup Essentials is co-sponsoring Holiday Party 2.0 - Show Me the Money! Don't miss the event which is coming up this Friday in San Francisco, see details and RSVP if you're planning to attend. See you all there.
30 Nov · Sun 2008
Silicon Valley Code Camp: Scaling Platform with Bebo, Sun, and Yahoo
This year's Code Camp attracted somewhere between 700-900 developers, much bigger compared to the last year one. I had a chance to present on both days of the event. The Sun, Yahoo, and Bebo panel focused around discussion on Scaling Platform with Bebo, Sun, and Yahoo on Saturday Nov 8 that has been recorded and posted. The idea behind this panel is to outline some of the key criteria for building scalable and reliable Web 2.0 applications. Steve Cohen, a head of engineering for the Bebo platform, outlined MVC based Java framework enabling the Bebo site. It was pretty exciting to see Java as a key technology powering up one of the top Social Networking site, that has around 40Mln users across the globe. As you can see in the podcast, Steve outlined their core architecture, benefits, and challenges that they're facing with increasing the scalability requirements. On the Sun side, I had a chance to to present some of the key aspects of building, deploying, and scaling a Web 2.0 application. Sun's tools and technologies including NetBeans, Glassfish, AMP Stack on OpenSolaris, MySQL, xVM, OpenSolaris, DTrace, and ZFS are essential componets of the Web 2.0 application development and deployment environment. Tom Huphes-Croucher, a tech evangelist from Yahoo, outlining open developer APIs and providing some insights on Yahoo scalability story. We had great questions from the audience on how to optimally manage, test, and prepare for the large scale.
29 Nov · Sat 2008
Cloud Computing Bootcamp

Silicon Valley Cloud Computing gurus, SOA experts, and Virtualization vendors had a chance to explore and share the technology insights during the Cloud Computing Expo event in November. I attended the Cloud Computing Bootcamp, led by Alan Williamson, as well as preview products and offerings at the expo floor. The bootcamp was quite informative and started with the definition of Cloud Computing term. Well, there is no formal definition commonly shared in industry, unlike Web 2.0, and it is very broadly defined as on-demand provisioning of application, resources, and services, that allow resources to be scaled up and down. Wikipedia's definition, authored by Sam Johnston, specifies a six layer stack that encompasses Client, Services, Application, Platform, Storage, and Infrastructure. That was the basis for the bootcamp session, with individual layers explored in depth with regards to their nature, pros & cons, and players in each space. I'd like to summarize just a few of the layers and mention Sun technology in each category.
Layer #1 is the Infrastructure Layer. It consists of an operating system on demand, i.e. cpu/memory/processing. Some of the vendors in this space include Amazon EC2, FlexiScale, GoGrid, AppNexus, and Joyent. Sun partners with a number of hosting vendors to enable OpenSolaris as part of the deployment platform, which is available with Amazon EC2 and Joyent among others. With OpenSolaris, you can leverage DTrace, optimized AMP stack, and ZFS. Additional value add for Sun Startup Essentials members is FREE one year hosting available for Facebook, Bebo, and OpenSocial application developers on Joyent.
If you are a hosting provider, Sun offers all the building block for setting up the hosting environment. Starting with servers, storage, virtualization, OS, management components, AMP stack, you can leverage many of the proven Sun technologies to build up a cloud environment.
On the Infrastructure layer management side, RightScale and ElasticServer are the top two players that help you to monitor your site, provision new instances, and manage your environment. Similar to other layers and vendors in the space, there is no out of the box interoperability among the infrastructure providers. Therefore, your application stack should be very portable so that if you decide to move from one hosting environment to another, you can do so.
Layer #2 is the Storage Layer, which includes file or object based data storage. Users are billed based on the bandwidth and consumed storage. Amazon S3, Nirvanix, Mosso, Amazon's SimpleDB, Google's BigTable, Azure Storage are among storage providers in this space. With growing number of Web 2.0 companies offering media based applications, e.g. content aggregation, image searching and processing, these services are quite popular. On the down side, there are no common storage data access API shared among the vendors; also, there are limitation on the size of the data. As your storage consumption growth, the bandwidth cost of the service provider may become higher than the cost of the custom managed storage infrastructure. Thus, it's important to monitor and provision storage in a way that is cost effective for your business.
Sun has introduced recently Sun Storage 7000 series, and with Sun Storage 7210 Storage Array (SS7210) in either striped or mirrored configuration you can stream over 700MB/sec video content with 90% CPU utilization.
On the storage management side, Jungle Disk (acquired by Rackspace), ElephantDisk, PutPlace.com are a few popular service providers.
Layer # 3 Platform Layer comprises a complete software stack and an IDE for the cloud. This layer is responsible for the load balancing and resource provisioning. A few players include Google App Engine with support for Python, Force.com (SalesForce), MS Azure for .NET developers, Heroku.com for Ruby On Rails gurus. The latter one is built on Amazon's EC2.
In this layer, Sun offers to developers Zembly platform that enables building and deploying Facebook, OpenSocial, Meebo and iPhone applications.
With great benefits offered by each of the providers, there are still deployment differences, vendor lock in, and limitations to the underlying language support.
Cloud Computing paradigm became a de facto deployment environment for many startups, but before jumping on on its bandwagon, it is important to keep in mind your application requirements from the infrastructure, platform, database, performance, and scalability standpoint. The greatest value of the Cloud Computing is reduced TCO for application deployment and management, thus many companies take advantage of a cloud particularly for the initial launch of their sites. Once user based grows, some companies realize that for their specific application and data usage, cloud many no longer be the most effective alternative from the cost perspective. Aside from that, Cloud Computing may not offer the same server configuration, security, and SLA's critical to the business, as you may setup in your datacenter. Cloud provides you with a sandbox for your application deployment, thus flexibility is limited.
12 Nov · Wed 2008
Bebo Developers Get Free Hosting on OpenSolaris
Bebo hosted a developer event last night with presenters covering topics on building Bebo apps, monetizing the apps, porting Facebook apps to Bebo. The good news for FB developers is that Bebo platform is the F8 compatible, so if you have FB apps you can easily port them to Bebo and with Bebo user demographics primarily being in Europe you can expand your userbase across to the European community. Blake Commagere, the creator of Zombies, Vampires, and Werewolves games on Facebook gave an interesting talk on migrating to Bebo platform. It took him only 9 hours to migrate 4 FB apps to Bebo.
During the event Sun announced free Bebo application hosting with Joyent, so if you're building Bebo app, don't forget to take advantage of this one year free hosting offer. Bebo announced a developer context for the most engaging app, check it out.
Here is a complete recap of the event posted by Sudha Jamthe
03 Nov · Mon 2008
Bebo DevNite is coming up
31 Oct · Fri 2008
Olio Web 2.0 Toolkit - Choose and scale
There is an interesting article on Olio toolkit on High Scalability site that brings up a very good point about evaluating different technologies before deciding which one is most suitable for your application needs. There is a common trend that I see among new gen startups, where PHP developers starting their new companies and using Ruby on Rails over PHP due to its performance, ease of use, and rich functionality set. With every application there are different factors that need to be accounted for. How do you select technology, database, underlying deployment environment, and how do you know that it is indeed the stack you can reliably deploy your application on? Olio allows you to validate these questions. Interestingly Apache's Olio evolved from Sun's Web2.0kit, and now there are three implementation of it in Java, Ruby, and PHP. When it comes to optimized Web2.0 stack, the OpenSolaris community use the Webstack which embraces multitude of components such as Apache, MySQL, PHP, Drupal, and allows developers to leverage performant components of a traditionla Web 2.0 applications on OpenSolaris. You can learn more about Webstack and become a community contributor.
09 Oct · Thu 2008
Why Sun
While I'm evangelizing Sun's technology and our Sun Startup Essential program across the Bay Area communities, there is often a question on "Why as a developer or a technology startup I should pick Sun". So, put aside all the great offers from the SSE program like free technical assistance, VC connect, and discounted infrastrucutre, here are a few reasons to consider:
- Every startup's ultimate goal is to grow and sustain the volume. Sun has a proven record of enabling companies to scale. With applications like BumperSticker, which is deployed on Sun Joyent Accelerator and scales up to 1 bln page hits a month, we're helping startups to grow and scale at their pace.
Sun's technology stack includes a couple key components like MySQL and OpenSolaris that are essential to the business:
- MySQL is a de factor database in the Web 2.0 space. Sun allows you to leverage our in house expertise to architect your back end solution with reliability, fail over, and other critical systemic qualities in mind. Today nearly every startup has a question on how to effectively deploy and optimize MySQL, the best company to answer those questions is Sun.
- Why deploy on Sun? OpenSolaris offers unique value add characteristics such as
-- DTrace (dynamic tracing) that allows startups monitor their applications run time and determine the bottleneck to prevent the application performance issues, also with DTrace companies can optimize the application. This is a unique feature of OpenSolaris.
-- ZFS is a file system that can store large volume of data. With growing number of the social media applications, it's important to pick the right file system that enables to store large files, and ZFS provides you exactly that.
-- Containers. Out of the box, zero cost, negligible overhead virtualizaiton that comes with OpenSolaris allows companies to deploy their application in a more effective way. Whether companies utilize Containers for Dev/QA/Staging environment or if they utilizing servers with Containers for Web/App/DB tiers, Containers provide a key value add to the businesses that deploy applications on a dedicated set of servers.
And of course you can learn more about the program by visiting Sun Startup Essentials. We've just launched an infrastructure clearance program that you may take advantage of.
02 Oct · Thu 2008
Startonomics
I'm at Startonomics in San Francisco, where you can see the live streaming of all sessions and live blog. The session content will also be available afterwords. Great event, I got a chance to meet old buddies from other SF events, meet new people like Scott Rafer, as well as meet local startups and talk to them about technologies. Don't know if it's just my opinion, but Ruby seem to be a very popular and enjoyable language to use, fast to learn, fast to deploy, and fun all around. The great foodies of SF are now in the startup business including TastyR - SF restaurants review, TCHO - a new delicious chocolate startup, try it out while at the event.. yammy and I'm not even a chocoholic. And of course we're here to educate startups on the Sun's Startup Essential program. A few offerings like VC Connect and discounted storage for those who're storing large media file are getting a lot of momentum.
Guess where the SF startups and bloggers are going next.. Amsterdam Blog 08 Rockstar of the Web
01 Oct · Wed 2008
Cybera Summit '08 in Banff
24 Sep · Wed 2008
FB and OpenSocial App'n Development Meetup
The Facebook and OpenSocial meetup last night was a nice networking event and the organizers hosted a presenter of one of the most popular (#5) Facebook apps. The topic spanned across various aspects of the Facebook application development and specific features of Green Patch. That included user self-expresssion, ability to obtain credit for caring for someone's patch, and its eco-friendly motif with regards to helping the environment and help in case of the natural disasters. David King, who is the main author of the app, gave audience a perspective on the evolution of the app and how end users steered the original features and designed towards what the site is today. There are over 5mln users of the app which is pretty cool. He also addressed some of the technical aspects of the application with regards to its architecture and technology utilized. It includes PHP, MemchacheD, MySQL, LightHTTPD ("lighty"), and the app is deployed on Amazon EC2 cloud with some usage of S3 for image caching.