Sep
28
2008

SweetCron made my “month”

SweetCron is probably the best thing I heard about in September. What it does is pulling off your updates from virtually all your web services supporting RSS and allow you to easily mix them together.

The Problem

It’s not hard to understand why this is useful. You now have accounts on so many great services, each of which is often extremely specialized in only one area and therefore reflects only one part of your life. Overtime you will want a centralized point where your friends can go and keep up with your updates in a single shot. Yet it’s probably out of anyone’s power to create a whole new website which allow you to do everything well: upload images and browse other people’s photo; save bookmarks and see what’s hot; upload videos and watch funniest vid today; and write a quick note and save it on server etc. During the first 2 years of Web 2.0 these services survived in tough competitions and established huge barriers for others to conquer. So you still need to keep those services separated not only for their exceptional usability, but also for their mature social network features. But the goal of having a one-stop shop for all of your footprint on the web is still unsatisfied.

SweetCron is a Solution

SweetCron deals with this. It allows you to add RSS of your pages on those services and it will retrieve them automatically and put those updates into your own database. It only tackles retrieval of your contents as oppose to supporting content creation, except the built-in blogging feature. This covers the most general use case in my mind, pretty much anyone who host their own website or blog. We see people displaying their flickr images on the sidebars everywhere, and it is often done by using some programming language specific library. If you need to display contents from another web service, you would need to find another library for it. Not only do those third-party libraries lack of support, their qualities often vary greatly too. They also often breaks when remote services are down, for example, and you will see many weird messages on your website.

SweetCron depends almost exclusively on RSS of your contents, which should be available on any web services today. If succeeds it stores them in your own database, which is usually as reliable as your website. This makes it very robust and compatible with most web services out of box.

More Info about SweetCron

I wasn’t sure about exact release date of the beta version but seemed it was at least a month or two back. After a little research I figured it was August 28th as blogged on ReadWriteWeb (Woah, exactly a month ago). The interface is as primitive as Twitter’s but it got the features right.

The work of SweetCron is led by Yongfook, a Japan-based “Web Producer” as he quotes himself. I came across with his website early in the year and found his “boxy” design, now a standard theme of SweetCron, quite inspiring. It’s great that someone would package his work and make it available to the public and let everyone get their hands all around it. It is very generous.

The official web page of SweetCron is http://sweetcron.com/, but it doesn’t provide a direct download link to it. You may choose to sign-up by email, or go to Google Code directly. http://code.google.com/p/sweetcron/

May
15
2008

Finished School

After 8 months of torture, both physically and mentally, I’ve finally finished school. I knocked off 5 credits, 4 out which are 300 and 400 level computer science courses. I had, on average, 1.5 assignments in every single week, and each assignment takes between 20 - 40 hours. I have, for many times, felt depressed and even desperate because of the “endless” todo list that kept getting longer as each day passed. Phew…….my hair turned slightly grey too.

“my final year GPA will be around 3.4 - 3.5/4.0″

Now it’s over, and looking back, I found it very rewarding. I’ve learnt a handful of new concepts, technologies, design patterns, algorithms, and tools etc. I expect to get another “combination” of AABB this term, and my final year GPA will be around 3.4 - 3.5/4.0, if, however, I exclude my English grade. Ha, what a shame.

I will do a summary of my courses for this term a bit later, when the mark of my last exam is out.

Meanwhile, I need to start a new journey and make up a plan for the next couple of years, like what I did two years ago.

Feb
21
2008

Notes on IBM SOA Products

I found a list of IBM products related to SOA, and copied brief introductions to each product into the list. It’s for my own purposes, not meant to steal contents and attract traffic.

*All the following are quoted from Service Oriented Architecture — SOA and related product home pages.

There are four stages of SOA cycle: model, assemble, deploy and manage.

IBM SOA Foundation - Model Phase:

  • WebSphere Business Modeler
    IBM® WebSphere® Business Modeler V6.1 helps you fully visualize, understand, and document your business processes.
  • Rational Software Architect
    It leverages model-driven development with the UML for creating well-architected applications and services.

IBM SOA Foundation: - Assemble Phase:

  • WebSphere Integration Developer
    It is a common tool for building SOA-based integration solutions across WebSphere Process Server, WebSphere ESB, and WebSphere Adapters.
  • Rational Application Developer
    Helps Java™ developers rapidly design, develop, assemble, test, profile and deploy high quality Java/J2EE™, Portal, Web, Web services and SOA applications.
  • Lotus Domino Designer
    IBM® Lotus® Notes® and Domino® provide a high productivity application development environment that supports the rapid creation, modification and deployment of security-rich business applications.
  • WebSphere Portlet Factory
    WebSphere Portlet Factory software’s ease of use and advanced development features dramatically streamline the entire portlet and Web application development process.
  • Rational Tester for SOA Quality
    IBM Rational® Tester for SOA Quality is an automated web services testing and SOA testing tool.

IBM SOA Foundation - Deploy Phase:

  • WebSphere DataPower SOA Appliances
    IBM SOA appliances are purpose-built, easy-to-deploy network devices that simplify, help secure, and accelerate your XML and Web services deployments while extending your SOA infrastructure.
  • WebSphere Process Server
    IBM® WebSphere® Process Server is a high-performance business engine to help form processes to meet your business goals
  • WebSphere ESB
    An Enterprise Service Bus (ESB) is a flexible connectivity infrastructure for integrating applications and services.
  • WebSphere Message Broker
    It distributes information and data generated by business events in real time to people, applications, and devices throughout your extended enterprise and beyond.
  • WebSphere Adapters
    IBM® WebSphere® Adapters deliver generic technology and business application adapters with wizards that quickly and easily service enable legacy applications, ERP, HR, CRM, and supply chain systems.
  • WebSphere Portal
    IBM WebSphere Portal software provides a composite application or business mashup framework and the advanced tooling needed to build flexible, SOA-based solutions, as well as the unmatched scalability required by any size organization.
  • WebSphere Application Server
    It delivers the secure, scalable, resilient application infrastructure you need for a Service Oriented Architecture (SOA).
  • WebSphere Extended Deployment
    Through centralized workload management, application virtualization, and management of large data volumes WebSphere Extended Deployment delivers enhanced qualities of service.
  • IBM Information Server
    IBM Information Server is a revolutionary new data integration software platform from IBM that helps organizations derive more value from the complex, heterogeneous information spread across their systems.
  • WebSphere Business Services Fabric
    It provides more dynamic BPM capabilities to assemble and manage composite business applications and offers optional Industry Content Packs containing pre-built SOA assets.
  • WebSphere MQ
    It provides the reliable, proven messaging backbone for SOA connectivity, as the ubiquitous, multi-purpose data transport for your enterprise service bus (ESB).
  • Lotus Expeditor
    IBM® Lotus® Expeditor software is IBM’s universal desktop client integration framework. It assists developers in integrating a wide variety of client and server applications in business mashups - or composite applications - to optimize the information that your employees need to accelerate your business processes.
  • FileNet P8
    It addresses the most demanding compliance, content and process management needs for your entire organization.

IBM SOA Foundation - Manage Phase:

  • Tivoli Access Manager
    It manages growth and complexity, controls management costs, and addresses the difficulty of executing security policies across a wide range of Web and application resources.
  • Tivoli Composite Application Manager for SOA
    Identify the source of bottlenecks or failures and pinpoint services that use the most time or resources with this composite application management solution designed for SOA.
  • Tivoli Federated Identity Manager
    It spans companies or security domains to provide identities access to information and services without replicating identity and security administration at both companies.
  • Tivoli Provisioning Manager
    Built on a Service Oriented Architecture, it enhances usability for executing changes while keeping server and desktop software compliant.
  • WebSphere Business Monitor
    IBM WebSphere Business Monitor V6.1 offers comprehensive business activity monitoring of your business performance.
Tags: , , ,
» Posted in category: software development //
Entry Top // No Comments »
This is the bottom of post Notes on IBM SOA Products
Feb
18
2008

A Preliminary Thought on SOA (and IBM)

SOA is intangible!

Besides Web2.0, SOA is probably the other hottest term many people phrase. Like “Web2.0″ being confused with Ajax at first, SOA was often confused with Web Services - at least I did. The confusions aren’t completely unreasonable. Both Ajax and Web Services were new “add-ons” to the existing technologies and made up the new “evolutionary” technologies. Therefore, it is natural to ask “What SOA/Web 2.0 is, beyond Web Service/Ajax?”. This question was hard to put one’s finger on when the term was first widely used.

Over time, the concepts and deeper meanings are summarized and elicited by people, usually industry leaders, to save the community from “ignorance” - using a term that they don’t even fully understand but to be cool or geeky. Now SOA is pretty well defined - Wikipedia page has been written and refined over and over, many SOA leaders (although I am not sure how to lead SOA yet) are delivering SOA solutions, and there have been SOA books and publications too. However, the concept is still quite constrained within large corporations. I don’t see it quoted very often outside of SOA specific web contents.

I found this SOA Practitioner’s Guide series (1, 2, 3) is a plain and specific introduction to what SOA is like.

SOA is fragile!

It seems that there are quite a bunch of “considerations” that one need to take care of when designing a system that takes advantages of SOA, somewhat like best practices. I came across with a post on TechCrunch today, which reported an outage of Amazon Web Services that many start-ups are relying on (because of low initial costs). Then one question pop up in my mind: “If the average uptime of individual web services is x, then a system combined with n parties would have only (x) ^ n < x uptime, since x is between 0 and 1. Of course this is the most primitive probability model, the worst case would be the sum of downtime of all web services, i.e. each party is down for a while and the outages don’t overlap. This chaining effect on availabilities of SOA systems can be catastrophic. A few start-up companies commented on the post and said that their system is down because of the outage and “there is nothing they could do”. However, a better designed system (with cautious architects) claimed that they were not affected by the 5-min downtime at all, thanks to their cache and fall-over mechanisms.

Now IBM

So I’ve learnt IBM is the leader of SOA during my internship, but I don’t understand what that means. It’s probably true. IBM has apparently been pushing the software best practices for several years. After I came back to school, the stuff I was taught in Software Engineering courses has become such a redundancy - wasn’t I doing these at work? I mean, it’s so rare to see things on text still being in practical use in the industry. So I figured IBM’s claim on SOA was probably true too. After finishing reading the SOA Practitioner’s Guide, I will check out IBM’s SOA page, a page that I’ve visited many times but couldn’t sort out where to start. LOL.

Jan
6
2008

I am looking for jobs in Boston

I am looking for jobs, again, after two fulfilling years in my last job and school.

Graduation Date: June 2008

Desired Location: Boston, MA

Desired Job Level: Entry or intermediate

Desired Job Titles: Web/Java/.Net (Application) Developer

Resume: resume.pdf

Interests: I am specialized on front-end web development and it’s also what brings me the most enjoyment. I have gained sound understanding of JavaScript frameworks, especially Dojo, during my internship at IBM. I would evaluate my skills on it to be at least intermediate to advanced. However, I can also take on many other development tasks and would like to gain concrete experience on them.

Technical Skills:

  • Proficiency in Java, C/C++, Python and C#.NET
  • JavaScript, Ajax, Dojo framework, XHTML, CSS, SVG/VML
  • PHP, JSP and Servlet, ASP.NET
  • MySQL, DB2, database in general; certified for DB2 LUW8.1
  • Graphics/Flash design and product prototyping; 3D Graphics, OpenGL
  • Software Engineering: Requirement Engineering, Interaction Design, and Design Patterns
  • Computation algorithms and complexity theories
  • Linux, Windows

“… I am specialized on front-end web development …”

General Skills:

(These are probably too common and provide little insight, but I’ll put them here anyways, since I don’t have to worry about the length of a blog entry)

  • Ability to work in teams or individually with minimum supervision
  • Ability to pick up new technologies and concepts quickly
  • Awareness of software development processes and models
  • Awareness of latest technology trends and directions
  • Good interpersonal communication skills, both written and verbal
  • Interests in user experience design; ability to work with details