Almost a Space Game (A2SG)

Archive for the 'Flex' category

Almost June? Flashcamp and San Jose Ruby Hackfest Joy

May 30, 2009 3:15 pm

June is closing in and I’m pleased to be able to report some progress. I’ve added a bunch of TESSSSSSSSSSTS! :) The minute I got a whole slew of running tests, what’d I do? I REFACTORED! How many running tests now? DOH! That was some serious refactoring…. there’s still plenty to do!

I’m really regretting NOT taking a more TDD-like approach from the get-go. The tests I’ve been writing have exposed bugs I didn’t even realize existed and have helped me focus on specific bits of functionality vs. chasing rabbits down whichever rabbit-holes seem promising. TDD is awesome! It’s not just about tests… it’s about writing better code and helping see the actual path ahead. What’s NOT to like about that?

Zed Shaw has a great blog post on Hemispatial Neglect which has me doing a fair bit of thinking about my blind spots and acceptance of things/the “status quo.” I really appreciate what Zed has to say, and I think he’s often hilariously funny. The Hemispatial Neglect post, and his thoughts on directions his Lamson project could go are really thought-provoking and interesting. Zed makes me want to learn Python… once I get my game alpha released, maybe. (Or maybe not, ’cause if I dig Python I’ll be tempted to rewrite bits of my game yet again. Re-writing != Releasing!) :)

I went to Flashcamp at Adobe HQ in San Francisco last night and had a great time. I rode up with Big Badass Ben Floering and got to see some VERY cool stuff demoed. Flash Catalyst (formerly codenamed “Thermo”) is really awesome-looking and I’m going to dig into it super-soon (maybe tonight) and play around. It’s a very cool/interesting/promising tool which will hopefully help bridge the “Designer/Developer Gap” somewhat. I’m definitely intrigued/interested. The new support for CSS Selectors in Flex are very cool too… finally, it’s starting to look more like traditional web development though there’s still plenty of Flex attribute naming weirdness. It’s definitely a welcome step in a more sensible direction.

Personal highlights of Flashcamp for me were more aligned with talking with folks than seeing the demos, though.

I got to say howdy to one of my Software Development Idols, Peter Armstrong (Ruboss Technology Corporation/ RestfulX), who told me that he’d come down from Canada to Flashcamp to catch up on Flex 4 stuff and that he was going to lock himself in a hotel room for four days to get some work done on his book. Awesomeness. I should write a post about some of the reasons Peter is one of my heroes… he’s a really super-cool guy who not-enough-folks know of and are missing out by not knowing. :)

While I was sitting/blabbing with SILVAFUG South Honcho Keith Sutton Adobe was having a raffle. While neither Keith, Big Badass Ben Floering, or I won anything we were glad that Bess Ho won a copy of CS4 Master edition. I have to confess that I’m a wee bit jealous, but as Keith pointed out “it’s nice to see someone deserving win cool stuff.” Keith and Bess did a presentation at the last SILVAFUG meeting(s) on Designer and Developer Workflow. It was definitely goooood stuff.

Homeslice Carl Tanner (Captain Proton) won a gift certificate for a beer store, which was kinda funny ’cause I think he’s pretty straight-edge… but hey, winning something is winning something, y’know? :)

I also got to blab with Badass Uberpimps Luke Bayes and Ali Mills (ASUnit, Pattern Park, Project Sprouts, PureMVC Presenters, AssertTrue, and like 95% of all the other cool stuff on the internet) which was, as usual, a good enough reason to head up to the City in and of itself. :)

Ali and Luke both gave my “new (old) look” a thumbs-up and Luke whipped out a picture of his fantastic mohawk from when he was 17. I had to show a picture of myself from a month or two ago to get a couple of people to be able to recognize me. Sooooo funny!

Luke spent his Memorial Day weekend “making OpenID work.” He forked Bort on github and has a demo version up on Heroku. I aspire to be even 10% as prolific and awesome as Luke and Ali. I find them both to be amazingly cool humans who do amazing stuff. I always feel inspired by those cats.

I also had nice chats with Chris Luebcke, Josh Tynjala, Radley Marx, and a whole slew of other fine folks. One of the ladies working at the event even waltzed with me for a moment! :)

Executive summary: Flashcamp was good times, fo sho.

Today’s hackfest has been good… less hacking than yacking, but that’s good stuff too! I’ve been having a great running conversation with Stephan Branczyk about, well… everything!? He’s totally my kind of h4×0r… into plenty of interesting things. Our conversation touched on:

QR Codes and scanning UPC/ISBN codes from one’s phone
Nokia Phones:
Stephan’s recently acquired Nokia E71
The very cool Nokia N97, which will run Flash Lite apps (Woo!)
A Flash Lite/Nokia app contest and the Open Screen Project Fund
The Art of Game Design book (non-affiliate link)
Mastery: The Keys to Success and Long-Term Fulfillment (non-affiliate link)
The Unity Game Engine
Uber Game Designer Nicole Lazzaro’s presentation on emotions in game(s|rs).
From Casual Content:

Nicole Lazzaro, founder and president of XEODesign, is an award-winning interface designer and the leading authority on emotion and the fun of games. Her seventeen years of research defined the mechanisms of emotion that drive play and reshaped the fun of over 40 million player experiences including Myst, the Sims, Diner Dash and smart pens. She has helped clients such as EA, DICE, Ubisoft, Monolith, Sony, Playfirst, and Maxis explore new game mechanics and audiences. A frequent speaker, she enjoys sharing her research on why people play. Prior to founding XEODesign in 1992, Nicole earned a degree in Cognitive Psychology from Stanford University and worked in film.

Testing Frameworks:
Selenium
Windmill
The hipness of Moo Cards

Stephan is demanding that I publish something… and demanding that I sling some code… so I’m hitting “publish” and will clean this up when I get home.

I also had a nice chat outside with a couple of dreadhead kids while I was feeding my monkey… so many interesting people.

While the music they play at Hydration is a mixed bag (literally… they mostly play mix-cds) they were playing a great song by Jason Mraz (feat. Colbie Caillat) which I rather liked:

It’s been a good couple of days… now it’s time to get back to my tests. I’m down to 13 failures (out of 160 tests), which are all mostly related to some changes I made to the way ship inventories work. I’m getting kinda sick of thinking about ship inventories but I’m getting close to having them WORKING with TESTS, so of course that’s a thing of beauty!

Naming Controversy/Concern

May 16, 2009 4:17 pm

There’s controversy/concern about Adobe’s decision to rename Flex Builder to Flash Builder. I don’t really know that I have an opinion but I can point to this and say that I think Josh Tynjala is sane.

Getting RestfulX and HerokuGarden to Play Nice

March 16, 2009 11:53 pm

If you’re using the very awesome HerokuGarden (or Heroku, for that matter) and are wanting to use the amazing RestfulX with it on an existing application there are a couple of not-exactly-obvious additional steps one needs to take in order to enable the HerokuGarden + RestfulX joy:

  1. herokugarden create your_app_name
  2. herokugarden clone your_app_name
  3. cd your_app_name
  4. mkdir lib
  5. mkdir lib/tasks
  6. mkdir vendor
  7. edit config/heroku.yml to hide the heroku toolbar (otherwise the heroku toolbar covers the action buttons. One could also adjust one’s Flex app to be shorter, I s’pose.)

    My heroku.yml, for example, looks like this:
    toolbar_collaborators: false
    toolbar_public: false
  8. It would be sweet to be able to run rake gems:unpack at this point but I wasn’t able to get that to work properly so I’ve been using the following workaround until I can figure that out (and check it into github):

    Create an entirely separate rails app on your local machine:

  9. cd ..
  10. rails temporary_application
  11. cd temporary_application
  12. add config.gem 'restfulx' to environment.rb
  13. rake gems:unpack
  14. Copy the entire vendor directory into your HerokuGarden app: (OSX/linux version)

  15. cp -R ./vendor/* ../your_app_name/vendor
  16. Delete the temporary application:

  17. cd ..
  18. rm -rf temporary_application
  19. Finish configuring your app:

  20. cd your_app_name
  21. add config.gem 'restfulx' to environment.rb
  22. script/generate rx_config
  23. git add .
  24. git commit -m "Added the RestfulX sekrit sauce"
  25. git push
  26. Resume down the standard RestfulX path of development joy:

  27. touch db/model.yml
  28. edit model.yml to your liking
  29. script/generate rx_yaml_scaffold
  30. rake db:refresh
  31. rake rx:flex:build
  32. git add .
  33. git commit -m "Created awesome RestfulX sample application"
  34. git push

If you’re aware of a better way to do this then please let me know so I can update these directions.

360|Flex - RubyAMF

August 19, 2008 8:40 am

I’m currently sitting in Tony Hillerson’s presentation at 360 Flex: Flex and Rails with RubyAMF. It’s been a pretty Rails-rudimentary session, but there have been several useful tidbits (the Awesome Nested Set plugin looks cool, for example).

I’m glad to see promotion of Rails/Ruby as a backend for Flex apps, ’cause that’s just a no-brainer as far as I’m concerned. For some reason it doesn’t seem so obvious to the Java-background-heavy Flex community. I guess some people just really love writing verbose, mind-fucking repetitive code. Power to ‘em, I’d rather GSD.

Tony is the first presenter I’ve ever sheen whose shirt literally matches his non-plain preso slide background. That’s a level of style/detail that I think is badass (seriously).

Free Flexible Rails: Flex 3 on Rails 2 RefCard at DevZone

July 19, 2008 8:57 am

DevZone has a Flexible Rails: Flex 3 on Rails 2 RefCard written by Peter Armstrong available for free download. Their registration/”download” process is a bit kludgy and intrusive but the RefCard is worth the effort.

Doug McCune Demystifies Adobe’s New “Flash + (Google|Yahoo) = SEO” solution

July 4, 2008 8:40 am

It never ceases to amaze me that the minute almost any new piece of hardware with a microprocessor comes out that it’s followed by an announcement that somebody has figured out a way to put some variant of Linux on it. There are some seriously savvy folks whose technical abilities are amazing but strangely they seem obsessed with putting Linux on everything… because they can. (I actually think this is a cool phenomenon.)

Similarly, Doug McCune has reverse-engineered Adobe’s new special-search-indexing Flash Player which gives Google and Yahoo’s web spiders far greater insight into SWFs (this means there’s been another big step forward in Search Engine Optimization for content in Flash! Woot!). The most amazing part of Doug’s reverse-engineering analysis is that he’s managed to communicate the entire process in just one comic-strip panel. Bravo, sir, bravo!

It’s completely worth a look even if Flash/SEO, etc. isn’t your thing.

Grrrgregg8tr - An AIR “microbrowser” for HelloTxt

June 16, 2008 5:00 pm

One of my internet friends said that she’d like a simple desktop app which would allow her to post to multiple sites like Twitter, Plurk, etc. A little later she plurked about how HelloTxt basically does what she wants except that it doesn’t have a desktop app.

Adobe AIR to the rescue.

HelloTxt has a mobile client interface written in HTML so making a simple cross-platform desktop app was as simple as firing up Flex Builder, adding panel and HTML components, and specifying HelloTxt’s mobile client interface’s URL as the HTML component’s “location.” I then twiddled around with a little bit of styling and config. stuff but that wasn’t necessary to make it work.

<mx:windowedapplication title="Grrrgregg8r" height="550" width="300"
  layout="absolute" xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:panel headerheight="10" bottom="0" right="0" top="0" left="0"
    layout="absolute">
    <mx:html bottom="0" top="0" left="0" right="0"
      location="http://m.hellotxt.com/" />
  </mx:panel>
  </mx:windowedapplication>

A cross-platform desktop application in five lines of MXML. Pretty dang nifty if you ask me. :)

A compiled/working version of Grrrgregg8r is available by right-clicking the link below and doing that “save as” thang.

Grrrgregg8tr - An AIR “microbrowser” for HelloTxt

Enterprise Flexible Rails (Ruboss)- WOOT!

June 3, 2008 6:14 pm

Flexible Rails   Enterprise Flexible Rails

Peter Armstrong’s new book Enterprise Flexible Rails (which is all about Ruboss and is co-written with Ruboss badass Dima Berastau) was released to Manning’s Early Access Program today! Chapter one is available as a free PDF download.

If you only buy one book this year… well, maybe this isn’t quite ready to be it… but if this book ends up being even 1/2 as good as Peter’s Flexible Rails book then we’re in for a mammoth treat.

There’s a worth-reading announcement ’bout the book (since Peter and Dima are Canadian, I should have probably written “aboot” ;)) on the Ruboss-Framework Google Group.

Stuff to Investigate/Revisit 01

May 23, 2008 10:03 pm

These are some interesting things I want to investigate in more depth, so I’m posting links for revisiting later.

Flex Stuff:

  • Flex MDI: Simplifies multiple-window(document) interfaces. Way cool.
  • dpunit: Flex Unit and Integration Testing, apparently different from FlexUnit.
  • FlexUnit: Flex Unit Testing
  • Spectra: A cool Flex Newsreader written by Microsoft. (via Bruce Eckel’s blog)
  • Degrafa: A Declarative Graphics Framework for Flex.

Rails Stuff:

Slow and Irregular… at Least it’s a Pace!

May 21, 2008 8:05 pm

I’ve been experimenting quite a bit with the Ruboss framework, and finding that I like it quite a bit. Although the documentation is pretty darn sparse at the moment, I’ve been able to figure a fair bit out on my own, and am really impressed with how responsive the developers are. I posted a few questions and got detailed, useful responses with code bits and instructions as to where to stick ‘em (y’know, in the good way). Seriously awesome.

I fully intend to post snippets of stuff as I go along, I’m sure mostly for my own self-reference… but hey, if one person finds something useful, then awesome.

One of the more obviously cool bits about Ruboss is the yamlscaffold generator:

Create a Rails app, install the Ruboss plugin (dirt simple), create a model.yml file with your models and their relationships, run the yamlscaffold generator, compile using Flex Builder or the Flex SDK, and voila - a neat tabbed CRUD Flash interface which implements a pretty slick client-side MVC framework.

Give it a try, it doesn’t take much to get something happening… :)

While I’ve been spending a fair bit of time with Ruboss and have been exploring some other coolio stuff, I haven’t spent much time on a2sg proper. RailsConf is next week, so I’m either go apeshit on it this week, or more likely… not. :)

Seriously good news on the “deploying alpha versions to Dreamhost front:” no need to even go down the Capistrano route ’cause Dreamhost has installed Phusion Passenger, which makes deploying a Rails app to a shared hosting environment literally as simple as uploading the project directory to one’s account via FTP. I was shocked that it worked the first time, and seems to run well. Verrrrrrry cool!

I’m currently sitting in a coffee shop, sorta watching open mic. Sadly, the jackass who keeps noodling on his guitar while other people are on stage playing is my friend. Ugh.

There’s a hackfest tomorrow… I’m totally looking forward to that. See ya there if you’re goin’!