Tag Archive for 'update'

New Singularity site: status update

This past week has seen yet another week of heavy development on the new Singularity web conference site.

A lot of what we're doing this year is building infrastructure. Singularity is a new breed of conference and we are doing a lot of work behind the scenes to ensure that we have the solid foundations we need not just to run it this year but to build upon for future years. My friends and fellow team members will probably tire of hearing the worlds "focus", "form follows function", and "solid foundations" over the course of the next few months if they haven't already. Our focus is on building a stable, functional platform to host global conferences on. There won't be any frivolous bells and whistles and whizz-bang eye-candy. Instead, we are building a minimalist, accessible social site and a stable and functional conference application. As I keep telling myself and everyone around me: focus, focus, focus!

Last week also saw the release of yet another Singularity-contributed project: the European VAT Number Validation API. This new API joins Open Country Codes and the GAE SWF Project on the list of Singularity-contributed projects to the community as part of Singularity's focus on openness.

It would be an understatement to say that I'm working feverishly to get the site ready for release and ticket sales started for Singularity. Originally planned for July 1st, I delayed things for a week to give us some more time to test and refine the site and, thanks to a last-minute change in how we're handling VAT, I'm going to push things further by another week as I don't feel comfortable releasing the site tomorrow. The new date for ticket sales is July 14th. Which, coincidentally, is my wonderful girlfriend's birthday, so it will be cause for a double celebration at Singularity HQ.

VAT, or Value Added Tax for those of you blissful enough to not have to deal with it, is a hugely complex issue that plagues companies in the UK and the EU, especially those selling goods and services online. Different rules exists depending on the location of your customers and where your services are consumed. Almost no one has a solid understanding of the rules. Accountants even tiptoe around the subject. My accountant, who is a partner in her firm, for example, was hesitant to offer me advice, preferring to refer me to their dedicated VAT specialist instead.

Hopefully, the additional week will also mean that we will the content from the existing site completely transferred to the new site and our speakers have already begun to add their session descriptions so there will be new content there too when the site launches.

Following the launch, I will be adding features to the site constantly as it evolves to become a community site that supports and compliments the conference.

We also have really cool list of confirmed yet unannounced speakers and I look forward to making it public following the launch of the new site.

Finally, we are working with Ayo Binitie and Influxis on the Flex, Flash, and Flash Media Interactive Server-based conference application itself and I'll be updating my design diary on InsideRIA very soon and asking Ayo to contribute an article there to detail our approach and give you some insight into the architecture of the conference application.

So hang in there for a little longer. The new site and ticket sales are coming.

_scuttles off to code_

Google App Engine SDK 1.0.2

Google released version 1.0.2 of the Google App Engine SDK two days ago. If you're using Google App Engine, you should definitely upgrade.

You can find a list of fixed issues in the release notes, including the template cache issue that I was running into.

Also, it's not in the release notes but I just confirmed that the app.yaml skip_files issue has also been fixed. So you don't need the patch any longer.

I also tested the latest version of The GAE SWF Project and it works out-of-the-box with version 1.0.2.

The GAE SWF Project version 1.34

I've moved the common base classes for the framework to the actionscript folder in the root of the project. Add this folder to your class path in both Flash and Flex projects.

Note that your document class in Flash projects should extend org.gaeswf.flash.BaseApplication and your Application MXML in Flex should be of type org.gaeswf.flex.BaseApplication (if none of this makes any sense to you, see my Flex 3 Code Behind Quick Start.)

Remember that I'm constantly updating the framework and will continue to do so as we build Singularity. Expect changes! :)

Update: Apparently, I blogged it but didn't push it up to appspot. Doh! So instead, you get an even more updated version 1.34 now.

The new additions are currently only to the Flex client and include a public state in addition to Home (which led me to revise and generalize how I was handling the deep links back from login and logout to support apps with a mix of authenticated and non-authenticated states).

The new public state is called "Mouse wheel" and demonstrates how to make the mouse wheel work in Flash on OS X (it doesn't by default) by using Ali Rantakari's excellent ExternalMouseWheelSupport package.

Update: I just saw that the site had validation errors which I've now fixed. It validates as HTML 4.01 Strict. This is not in the 1.34 source release but will be in the next one.

The GAE SWF Project version 1.33

I just released version 1.33 of The GAE SWF Project and, as tradition would have it, need to head to bed in the next few minutes lest I should expire.

The updates in a nutshell:

  • The Yahoo! Astra TabBar component does not show the focusRect when navigating by keyboard. I fixed this for the example but I'm going to talk to my friends at Yahoo! so that this can be implemented in a reusable way in the component itself. See the latest Flash 9 client demo and navigate with the keyboard to see the focusRect in action.
  • Added tab indexing to the Flash 9 client.
  • Added an extra (optional) field to the profile page so you guys can express yourselves!
  • Synced the Profile screens for the Flash and Flex clients.
  • Lowered the keyboard delay on server-side validation to 500ms
  • Server-side validation no longer locks the submit button on the Profile screen.
  • Released version 1.33 of the source code.

Check it out here.

The GAE SWF Project 1.21 1.23

I just updated The GAE SWF Project to version 1.21 1.23. New source code for the update is now available for download.

All changes in this version are server-side:

  • All requests apart from those to the PyAMF gateway go through the IndexHandler class. The app.yaml file no longer maps /examples/.* URLs to the various example SWF applications. In other words, the SWF apps are simply handler classes now, not separate WSGI applications. The PyAMF gateway remains a separate WSGI application.
  • Pulled out the server-side deep linking code from the initial example to a new BaseSWFHandler class in the new gaeswf package. The handlers for all SWF examples will extend this class and call the handleDeepLink() method to have regular deep links automatically converted to SWFAddress deep links.
  • Removed the unnecessary examples and initial packages and placed all examples in the root of the examples package.
  • Added 404 handling. Unknown URLs no longer fail silently.
  • main.html template is now known as base.html.
  • Added simple.html template for handlers that want to use base.html without the need for a separate template that extends it.

Enjoy!

Update: I've updated the online version to 1.23 to change the 404 photo. I realized this morning that the original Creative Commons-licensed photo I had found on Flickr did not belong to the user who had published it on their account.)

Updated The GAE SWF Project (v1.20)

I just updated The GAE SWF Project to version 1.20 on appspot.

A quick list of changes:

  • Pulled out BaseView and BaseApplication classes.
  • Simplified service calls. You no longer have to use Service.call() and pass a reference to the view instance. Just use execute("service.method", arg1, arg2, ...).
  • Fixed a bug where the app was remembering the initial deep link on logout. Logouts now take you to the root of your Flash app.

The big change is that I've pulled out base application functionality so that your Application class now only contains logic specific to your particular application and not to GAE SWF applications in general.

Check out The GAE SWF Project on appspot.

Upgrading to Wordpress 2.3.2

How unsexy are Wordpress security updates? I have the horrible habit of doing everything else first before attempting one (which, of course, is absolutely the worst thing you can do, as the recent spam hack on the SWX blog demonstrated so well). I used to dread doing the updates mainly because I just knew something would break. At least that's how I used to feel.

When I last upgraded Wordpress, a little over a week ago to version 2.3.1, I made a slightly delayed New Year's resolution that I wouldn't hack the blog. Instead, I decided to do everything using plugins and widgets (which are plugins that display on your sidebar). And -- wonder of wonders -- I actually stuck to it! That being the case, upgrading is no longer a nightmare.

In fact, when you have an unhacked Wordpress installation, all you have to do to upgrade to 2.3.2 is:

  1. Download 2.3.2.
  2. Delete the wp-content folder and the sample wp-config file from the distribution.
  3. Test it locally on your development machine (skip this step at your own peril; the last thing you want is all your readers discovering your "Doh!" moment mistake at the same time as you do!)
  4. Upload the new files to your server.

That's it. All in all, it took me under ten minutes to do. As there were no database changes between the two versions, I didn't even have to run the upgrade script (which I realized after running it on my local installation and seeing the resulting message.)

The moral of the story is that if you don't hack your blog but use plugins for everything, upgrading no longer needs to be a nightmare. Using a plugin-based architecture (which in Wordpress shares similarities with aspects and the Template pattern in object/aspect-oriented programming) gives you flexibility in customizing something without altering the original, thereby making updates to the original possible without breaking your customization.

The same moral holds true for development when you're using third-party libraries. Instead of hacking them, see if you can't extend their capabilities either via inheritance, or, even better (because it's more flexible), through composition (say via the Decorator pattern or by using interceptors). That way, unless the public API of the library changes, you won't be afraid to update the library to its latest version. (And, if you're designing an API, see if you can't include some hooks or filters in there to make it easier for people to extend it without too much trouble.)

To cut a long story short, the blog's now running Wordpress 2.3.2 and all is well. It's also a real pleasure to actually find myself looking forward to the next Wordpress update rather than dreading it! :)






Bad Behavior has blocked 0 access attempts in the last 7 days.