Technology

Mike Thrasher Presents a Harry and the Potters No-Show

Last night my wife and I got a sitter for 5 hours so that we could head to north portland and see the Harry and the Potters show at the Wonder Ballroom. If you didn’t know it, my wife is a HUGE Harry Potter fan and going to the Harry and the Potters concert has become a tradition in our family. HATP sing songs from the point of view of Harry Potter about scenes in the books. The music is not great but for a fan of the stories its a lot of fun to go and listen. The shows are an all ages event with the opening bands usually spawning from other characters in the stories (Draco and the Malfoys are my favorite openers so far). Last night was the 4th HATP concert we have attended in as many years here in portland. Unfortunately Harry and the Potters did not play during the time we had at the event. In fact when we finally gave up waiting and left the (all ages) show at 10:05 PM, Harry and the Potters had still not taken the stage. And despite the long and fun history of their shows, none of the opening bands had any affiliation with the Harry Potter books what-so-ever. It was a pure and utter disappointment.

When leaving the venue and mentioning our dissatisfaction over the event we were directed to contact Mike Thrasher of Mike Thrasher Presents as he was in charge of booking and directing the event. My wife called Mike Thrasher today to make sure he understood that for an all ages show starting the headliner and the only band listed on the tickets after 10PM was ridiculous. We had gotten a sitter but I felt miserable for the parents that had brought their children and who had left the show completely unsatisfied. Unfortunately Mike Thrasher is an arrogant man who has little concern for the audience he is apparently booking shows for. He countered my wifes concerns by brushing aside her comments and telling her that their was nothing he could do control the timing of the show as that was up to the artists. He was unreceptive to her suggestion that for a show that caters to a younger crowd he should work to ensure the shows started earlier. After all it was his name on the poster outside as well. Making people wait 3 hours to see the only band listed on the ticket is not acceptable by any measure.

The worst part about it is that if he is right and its up to the artists to maintain a timing appropriate for the audience, then last nights debacle falls squarely on the shoulders of the DeGeorge brothers. I would think with such an active following the DeGeorge brothers ( the Harry and the Potters band) would take into account the time constraints on a young audience. Unfortunately it appears that they have become disconnected from their audience in the glory of becoming stage performers.

Is this the bitter rant of someone who feels slighted? Sure. But it doesn’t take away from the fact that last night Harry and the Potters let down a lot of fans who left before they ever took the stage. And Mike Thrasher made a ton of cash by misrepresenting a show. And it is important that everyone know that this happened, because you should be forewarned should you be in a position to support either of these parties. I hope you will understand that it is not in your best interest to do so.

Technology

Vulnerability Fixed - Security Issues Remain

I completely missed any news of this vulnerability in OpenSSH. But I was scanning along today and saw a reference to this description of the issue. It appears that a vulnerability was entered into the OpenSSH code inside the debian distribution. Now I don’t directly use any debian based linux distros, but that doesnt mean the problem doesn’t effect me. I have no control over the systems used by the companies that sign my SSL for instance. The code has been fixed but the problem is that possibily millions off secure keys have been compromised and need to be regenerated and its not black and white for which ones need to be replaced.

The vulnerability is not what I wanted to highlight in this post. I am amazed by how simple the change was that introduced this and is going to cost business millions of dollars to fix. And how I can only imagine how easy it would be for this to happen all over. It also highlights how important open source software is because otherwise we might not have known there was a problem until our most important systems had been compromised. Such a simple change caused such amazingly devastating effects. I can only imagine what kinds of things are lurking inside closed source software we use everyday, and how the end user could be protected by allowing outside parties to review that code. This vulnerability was not exploited because the source was available. It was exploited and the solution was found because the source was available.

So my PSA for this post… Evaluate the software you use. And consider that if you can’t see the source, you can’t really evaluate the security risks you are putting on your self, your clients and your business. Choose wisely, Choose Open Source.

Technology

July PDX RIA Meeting - AIR Offline Synchronization with LCDS 2.6

As my first real meeting back in charge of the Portland RIA group, I called in Ryan Stewart to come give us a special presentation. Ryan will be demonstrating the Offline Synchronization functionality of Adobe AIR in conjunction with LiveCycle Data Services 2.6

Meeting is at PCC Sylvania Campus next Thursday July 24th at 6 pm. More details and directions can be found on the PDX RIA website

See you there!

Technology

PDX RIA is in top gear

I was the Portland RIA User group manager a couple years ago. I knew with the coming of my new baby I would need more time for family. I have really enjoyed that extra time with my daughter and now that she doesn’t require someone keeping an eye on her every second, I feel like I can leave my wife some evenings guilt free.

As such I have taken back the reigns for the PDX RIA group. And as part of a new initiative at Adobe I would also like to introduce my new co-manager Chris Phillips ( http://www.cfchris.com ). Chris has been a long time member of the group attending most of our meetings. He has even presented a couple times. But I think one of the things Chris brings to the table is that he and I like different things. He is a pc guy, I use a mac. He like ajax, I prefer flash. I say take the easy way, he likes to hit his head on the wall a few more times :) (sorry inside joke). Even if you see us, he is tall and skinny… and I am not either of those things.

At any rate, we sat down yesterday and set out a schedule for the rest of the year. So we will work to get the website updated with this info. But for your viewing pleasure.

  • July - Ryan Stewart - Online/Offline Applications with LCDS and AIR
  • August - Nat Papovich - Lost art of specifications
  • September - Barney Boisvert - CF/Groovy Integration
  • October - ColdFusion State of the Union - Panel discussions talking about the CF engines in the market
  • November - Chris Phillips - Real World AJAX
  • December - Holiday Social - Gathering of friends to celebrate the end of the year.

I also want to send out a bit thanks to Ryan Miller for taking care of the group for the last couple years. He did a great job, and it was one he didnt even ask for.

Hope to see you all out to a meeting real soon.

kthxbye

Technology

Changing my RSS feed link

Sorry gang, I feel like I just did this not too long ago. But in my quest to remove google from my life (and to protect the innocent who don’t know they are being watched ) I have removed the adsense ads from my blog. I have turned off the google analyitics. And I am removing my feeds from feedburner.

If you wish to continue to get updates from my blog please update your feed reader to use

http://blog.simb.net/feed/

thanks,
sim

ps. Since many of you actually subscribe to feedburner I want you to have a chance to see this so I will actually be turning this part off tomorrow.

Technology

My Fears About Google Confirmed

Its silly really, I mean what does it matter what videos you look at online. Its not like anyone is keeping track right? I mean wether its some funny video, or your neighbors kids, or something errotic, or even something someone might think was un-patriotic. You can watch whatever you want because you are in the privacy of your own home and no one will ever know.

Except someone does know. They know what videos you watch, and they know the sites you visit, and the types of advertising you find appealing. They even know what news you think is important.

And all it takes is One Subpoena Is All It Takes to Reveal Your Online Life. Think about that next time you do something on the computer you wouldnt want your mother to see. Because chances are someone is watching you do it.

Personal, Technology

I am going through… the change

Ok, I can’t put this off any more. I keep not blogging about little things because I told my self I wouldn’t write anything else until I got this more important post out of the way. But I keep not having time for this more important post, so I just need to get this done.

After nearly 10 years in the web application development business as an employee of one company or another I have decided to strike it out on my own. As many of you know I have been living a double life for the last couple years. By day I have been the Director of IT for a small business in portland. By night (and the occasional week) I have been a freelance developer and trainer. But the emphasis of my time has always been on the day job. As of June 1 this is no longer the case. For the last month I have been working part time for my day job and committing the bulk of my time to freelance work. And I have to say I am very happy for finally making this commitment to my self and my family. My wife has been trying to get me to do this for a couple years, she is very supportive and I think she likes having me around more (even if I am working.)

I will continue in my day job part time through the end of the year and then they will become one of the companies that I do work for as they need it.

So far I have been very busy. I picked up a couple smaller gigs just before landing a 6 month contract with Cisco. I have really enjoyed working with the great people on these project and the challenge of doing something new.

Anyhow, I just thought I would share this life change with you all. Plus now I can get back to writing little helpful posts because this milestone blocker post is done :)

Thanks,
sim

Technology

Building AIR applications with just the command line

I had a moment today where I wanted to find out some more information about Silverlight. I looked around but was unable to find any path to building the plugins with anything but the Visual Studio environment. That frustrated me quite a bit. At that point a friend pinged me to tell me a story of woe about his unsuccessful attempts to build AIR applications without one of the formal IDE’s. And while I had used the AIR SDK to launch and build HTML JS example applications I had never tried to build one using the Flex SDK. He challenged me to grab any example code on Adobe Labs and compile and launch the application using just the command line tools.

I accepted the challenge (beer me) and thought I should talk about how to build an AIR example application that was created in Flex Builder using just the free SDK tools. The first step is to actually download and install both the Flex SDK and the AIR SDK. I unzipped these folders and added the bin directories of each to my $PATH. Now I could execute any of the mxmlc or adl tools from the command line. Next I retrieved the source code for a flex based example application in AIR. After unzipping the the the source code and `cd`ing into the src directory I decided to just give a go at compiling the code. Using mxmlc gave me an error about the compiler no knowing what a WindowedApplication element was. So I added the air folder in the frameworks/lib directory of the flex sdk to my -source-path. Now my application compiled fine using the following command.

mxmlc -library-path+=/System/flex_sdk_3.0.0.477/frameworks/libs/air HTMLScout.mxml

This created a HTMLScout.swf file in the same folder as the .mxml file. Then after looking at the mxmlc options for a bit I realized I could skip that long scary path by just using the configname parameter.

mxmlc +configname=air HTMLScout.mxml

Which also compiled just fine. But just because Adobe knows that in general programmers are lazy, they also created the amxmlc executable which as you might guess, adds that config parameter for us. So to compile an MXML file inluding the AIR libraries we just

amxmlc HTMLScout.mxml

So now we have a swf that can be used as the content for our applications. Because when it comes right down to it AIR is just a wrapper for our content exposing a little more functionality than we have in the browser. So we can set the initial content of our AIR application to be any html or swf file. The trick here is that when using Flex Builder to create your AIR applications it sets the initial content property for you. But when compiling from the command line we have to have that set explicitly. So open up the application descriptor file for the example application you downloaded and look for this line.


<content>[This value will be overwritten by Flex Builder in the output app.xml]</content>

You need to change that to actually have a value that represents your base content. In my case the value needs to be:


<content>HTMLScout.swf</content>

Save that application descriptor file and use adl to launch your AIR application.


adl HTMLScout-app.xml

Sit back and bask in the glory of building applications that run on Mac, Linux and Windows for no cost at all. For more information please check out the following 2 pieces of documentation.

AMXMLC
http://livedocs.adobe.com/flex/3/html/CommandLineTools_2.html#1043794
Application Descriptor File
http://livedocs.adobe.com/flex/3/html/help.html?content=File_formats_1.html#1043413

Technology

Revisiting the HTTPService Classes

Ok, So HTTPService piece of cake right? You declare it in mxml and you set the url property and when you are ready you call send() and maybe if you need to pass some parameters. Couldn’t be any easier.

Except what if you want to use the HTTPService class from ActionScript? Well its not much harder. Just declare a new instance of the HTTPService object and… wait code completion tells us there are two HTTPService classes in the framework. One is in the mx.rpc.http package and the other is in the mx.rpc.http.mxml package. Seems like a pretty clear line there huh? One is for MXML and the other is not. But the problem is in the little things you might have gotten used to by using HTTPService in mxml, things like the showBusyCursor property. That property and its functionality are defined in the mxml package version of the class. Ok, well easy enough, import the HTTPService class from the mx.rpc.http.mxml package and use this to your hearts content. All is well that ends well and now we can move on.

Except… there are a lot of properties on the HTTPService object that are strings. But not any string will do. Think about resultFormat, and contentType. Compiler wont error by typing the wrong strings but at runtime we will get a yucky error if we have a typo. So the solution is to use some of the static constants that are declared on the mx.rpc.http.HTTPService object. This fixes the problem by giving us compiler warnings for invalid options. But you will notice above we decided to use the HTTPService object from the mxml package, and it doesn’t have these constants declared. So now we have a new problem. To use good practices and make use of the constants declared we have to use the main HTTPService object (can’t import more than one class with the same name) but then we loose that cute showBusyCursor feature. What will we do?

Not to fret, we can do on our own what the showBusyCursor was doing for us. Using the CursorManager class we can call the static method CursomManager.setBusyCursor(). This causes that cute little clock to show up for us. Then in our result event for the service call we use the static method CursorManager.removeBusyCursor().

So in the end… use the mx.rpc.http.HTTPService class from ActionScript. Its better for programmers and you can make up for what is missing the mxml version of the class.

Technology

ArrayCollection with Multiple Filters

At the Adobe Community Summit a couple weeks ago I had the opportunity to help teach the AIR Flex course. It was a lot of fun and I think of all the events that week doing that helped me meet more people. During the class I answered a lot of questions, but there were some that I didn’t have an immediate answer for and I said I would look into it.

One such question came for Adrian (I think…) and he had a problem where he needed to apply multiple filter functions to a single ArrayCollection. We talked about a couple of the ways I would approach it but I didn’t really like the options I was presenting. After I got back I did a couple google searches and found this example. I think Cristian did a great thing here by extending the functionality of the ArrayCollection to support this behavior.

My only wish was that we could still grab the prototype on the AS3 objects so I could mix in the behavior change rather than have to use a new data type through out my applications. But I guess I will take speed fixes in AS3 and accept that it is strictly typed for a reason :)

Anyway, I think Cristian’s solution is good enough and I hope Adrian sees this.

Next »