Archive for the ‘general’ Category

Consuming a WCF service from Flex Builder 3

Thursday, March 20th, 2008

Flex Builder 3 includes improved support for web services, but the process of getting it to consume a WCF service was still a bit trickier than expected. Here are a few pointers:

  1. Flex only supports up through SOAP 1.1, so doing a web service import fails for the defaults Visual Studio uses. To correct this, modify the WCF service to use basicHttpBinding. Pete Brown has an example on how to do this over in his blog.
  1. The “Import Web Service” wizard doesn’t provide any pointers after it runs on how to use the strongly typed client it generates, but it’s actually pretty straightforward. Check out Build SOAP Clients with Flex Builder 3 over on FlexLive.net. There’s also some good sample code in the comments.

With the above I was able to get a sample WCF service that returns an array of strings working correctly with Flex. I’ll post a followup later with my experiences with more complicated objects—that’s where things have broken down in my experience with SOAP interop in the past. However, supposedly Flex 3’s new support is based on Apache Axis which is pretty well regarded, so fingers crossed.

Google’s Android SDK First Impressions

Monday, November 12th, 2007

Google has made the Android SDK publicly available. A few first impressions:

  • Android development is Java based and is similar to the method used to develop for the Sidekick: Compiled Java classes are run through a tool that translates them to a custom VM (Android’s Davlik VM in this case).
  • A good portion of the base Java libraries are included. I’m especially happy to see the excellent java.util.concurrent API is standard. The Apache Commons library is standard as well, which is nice to see.
  • There is rich media support available (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF). With Apple, Adobe, and Google all building on H.264, VC-1 is becoming less and less attractive.
  • I’ve suspected that Android would include the Java 2D API, since it’s been rumored to be based on the Skia engine that Google purchased. While the engine may be based on Skia, the API is definitely not Java 2D. The 2D library is called SGL, and is documented in the android.graphics package.
  • OpenGL ES is standard, but hardware 3D acceleration is not.
  • Like Adobe’s AIR, SQL Lite is included for structured data storage.
  • Android’s web browser is based on the Webkit engine used in Apple’s Safari browser.

Vista and Scala

Monday, October 29th, 2007
  • I’ve run every modern version of Windows since NT 3.51 (which ran great including OpenGL 3D graphics on a 90Mhz Pentium with 16 megabytes of RAM believe it or not) but unless something changes radically, I’ll be skipping Vista from now on. I ran it at home for over two months trying to get used to it, but finally I got frustrated enough that I decided it was worth losing an entire evening to “downgrade” back to Windows XP and I couldn’t be happier. I still prefer Windows XP to Linux on the desktop, but I’d choose the latest Ubuntu Linux over Vista in a heartbeat.
  • If you’re interested in functional programming, definitely check out Scala. It has a nice pragmatic feel to it, a friendly & active community, and can easily access the massive amount of JVM libraries. There is also a .NET version in the works as well. There’s also a nice plugin for Eclipse being worked on. There’s a great introductory article available over at Artima that I highly recommend checking out.

Parallel Programming, Silverlight, and the RSS Bandit parser

Friday, June 22nd, 2007
  • For RSS/Atom parsing with .NET, I’ve quickly become a fan of the parser in RSS Bandit. Download the source via CVS and compile the NewsComponents project as its own DLL. Create a RssParser object, then call
    the GetItemsForFeed method with the desired URL. This returns an ArrayList of NewsItems for that feed with information for each item.

Every once in a while the Internet still surprises me

Thursday, May 10th, 2007

I’ve been trying to wrap my head around WPF databinding tonight. It turns out Don Box wrote a post on the subject this evening. Due to the power of RSS and news aggregators, I’m benefiting from his post on the same night he wrote it.

Having this happen reminds me of Peter Drayton’s post about blogging and how the technologies around it enabe a “Topic-Oriented Web of Smart People”.

Flex & Silverlight

Sunday, April 22nd, 2007

I’ve been experimenting with Flex 2, Adobe’s Rich Internet Application library built on Flash 9 over the last few months and am impressed. For a very long time Flash was developer unfriendly. That has changed. Flex Builder is a respectable IDE, and Actionscript 3 is based on JavaScript 2 which feels very similar to developing in Java/C#. It’s even nicer in some ways. You can use dynamic typing for prototyping and then switch to static typing when you want compile-time checking. Adobe has also released the Flex SDK, so you can also develop Flex applications for free.

For me, the big technical downside to Flash based applications is that like a Java Applet your application is wrapped in a binary object that is embedded into the web page. That means that search engines can’t easily index it, and as a user you run into weird issues where keys that normally work in web pages don’t work when you’re using a Flex application. The whole experience is somewhat like viewing a PDF on a web page—it works okay but feels slightly off.

Silverlight, Microsoft’s competitor to Flash, is more web browser friendly. It uses XAML, an XML-based format, for describing the user interface and leverages the browser’s JavaScript engine for programming. Instead of binary embedding, it’s all text, which means you can write Silverlight applications in any text editor or even generate them dynamically, and have the resulting page indexed more easily by search engines. From a technical standpoint Silverlight is currently inferior to Flex, especially after dropping CLR support for 1.0, but overall I really like the vision of Silverlight.

Rich Internet Applications are the future, and the battle is on for the platform they will be built with. If the history of cooperation between web browser vendors is any indication, Ajax is unlikely to evolve quickly enough to stay competitive with Silverlight and Flex. Unfortunately for Microsoft, the use of Flash by sites like Youtube and MySpace means that 84.3% of browsers already have a runtime installed that supports Flex 2. If I had to make a bet right now, my money would definitely go on Flex.

Ashish Shetty, a Program Manager at Microsoft recently asked for candid impressions of Silverlight. What I’d like more than anything else from Silverlight is for it to become a non-proprietary alternative to Flash. Microsoft has a real opportunity here:

  • Release the Silverlight specification as a open patent-free standard
  • Release a Silverlight implementation (minus the multimedia codecs) under the Microsoft Permissive License.

This would be a radical departure for the company and I don’t see it happening. But opening Silverlight would likely fulfill Bill Gates’ vision of seeing Silverlight technology ‘absolutely everywhere’.

The Four Meme

Tuesday, January 17th, 2006

I’ve been tagged by Dave! for the four meme. It would be interesting to see a navigable browser of this meme from its start point.

Interesting coincidence: I got tagged just a couple of hours after finishing Mark Pesce’s interesting viewpoint on the implications of global connectedness.

Four Jobs:

  • Software Engineer
  • Adjunct Instructor
  • Writer
  • Chief Software Architect

Four Movies I Could Watch Over and Over:

  • True Romance
  • Existenz
  • They Live
  • Fight Club

Four Places I’ve Lived:

  • Chicago, IL
  • Bloomington, IN
  • Richmond, CA
  • Mishawaka,IN

Four TV Shows I’d Love to Watch

  • Lost
  • Charlie Rose
  • Good Eats
  • The Daily Show

Four Places I’ve been on Vacation:

  • Las Vegas
  • Portland
  • London
  • Amsterdam

Four Websites You Visit Daily:

Four of My Favorite Foods:

  • Peanut Butter
  • Yogurt
  • Cheese
  • Steak

Four Places I’d Rather Be:

  • Marathon, FL
  • French Rivera
  • Amsterdam
  • London

Four Albums I Can’t Live Without:

  • The Beatles, Revolver
  • PWEI, This Is The Day…This Is The Hour… This Is This
  • Gary Numan, Premier Hits
  • The Kleptones, A Night at the Hip-Hopera

Four People to Tag:

Parody, Maps, & Media

Tuesday, February 8th, 2005

If you read Paul Graham’s Essays, check out a parody of his writings called Taste For The Web. It’s done so well that it actually took me until halfway through the article to realize it was a parody.

The parody led me to Google Maps, which I hadn’t seen before. It’s rough around the edges, but really nice. Here’s what comes up if you search for all of my remote office locations near my apartment with the query: “starbucks near paulina and chicago, chicago”. Try zooming in and panning around—it’s hands down the nicest interface I’ve seen for maps on the web.

A few quality pieces of media I’ve encountered lately:

And speaking of science, I’d been tempted to subscribe to New Scientist for years but was put off by the subscription price. I finally went ahead and got a subscription for myself for Christmas and am so happy I did. I’ve never looked forward to having a magazine arrive every week before, but I look forward every week to this one.

Welcome to the new site!

Sunday, September 26th, 2004

Welcome! I’ve finally moved from my old weblog to my own domain. I’ve been wanting to start a bliki for a while now but hadn’t found the right software and haven’t had time to write my own from scratch.

Last week I discovered Mark Ghosh’s excellent work integrating ErfurtWiki with WordPress, which, while not a bliki per se, is a pretty good compromise. Wordpress has all the features of modern weblog software while ErfurtWiki allows the easy creation of pages outside the weblog for things like Tachy.

Installation was surprisingly straightforward & I now have a system up and running I’m comfortable with. About the only real annoyance is that the wiki pages use wiki markup, whereas the wordpress entries use HTML, but that’s not too big of a deal. I also wonder if some readers might get confused since the wiki pages and the wordpress pages have the same visual style (although the wiki pages don’t have the weblog sidebar).

Speaking of blogging, I’ve become fascinated with Artificial Life & 3D simulations over the last few months, and have been spending a great deal of time building a foundation for further research into both areas using Objective Caml and OpenGL. More on that soon…