Ben Stucki at the Michigan Flex User’s Group

8 05 2008

I’m very excited to announce that Ben Stucki will be presenting at the May meeting (May 8th) of the Michigan Flex User’s Group.  Ben will be speaking on Graphics and Visualizations in Flex (and will likely talk about OpenFlux and Papervision3D).

Room 155 Communication Arts and Sciences Building, on the Campus of Michigan State University.  Bring a friend!  If you can’t make it into East Lansing, you can join our session via Breeze. Email nick@theflexgroup.org by 5pm if you are interested.




Innovation in Education

4 05 2008

,,

This post is inspired by the MSU IT Conference Keynote by
Gerry McCartney.

The education sector in this day and age has really fallen behind
in its traditional role of innovation in the IT field.  Lets take a look at some history first:

Back in the 60’s and 70’s there were two camps as far as IT :  IBM/Bell and the Universities/Government.  Sure, there was some other small groups out there, such as Xerox, but for the most part ‘new’ things really came from those two places.  The big businesses were focused on deploying their technologies to other big businesses and selling their mainframes, etc Universities were focused on research, and actually creating these technologies. 

The most popular programming languages, C, C++, COBOL, PASCAL, PERL, etc. were all developed in the education sector. The TCP/IP stack, Email, HTTP browsing, etc were also a direct result of the education world. These are all things that essentially shaped where we have gone in the past 20 years.  A few more examples are in the hardware that we use — sure today’s PCs are based on IBM’s, Apple’s, et all’s designs, but a lot of the research from computing projects such as the
Atanasoff–Berry Computer (ABC), MIT TX-0, and the MISTIC resulted in advances such as vector processing, clustered memory access, and RAID.

Sure, the big boys of the time had their innovations too, but the universities were for the most part. apart of the leading edge.

So, where is the innovation today?  Gerry asked this question to the group and it really struck a chord with me.  Why didn’t universities pioneer the Search Engine?  The DVD-RW?  The latest wireless standard? 

Universities are most focused on the things that make them the most money — cures for cancer (yes, this is important), research on how to improve the process of making ethanol into fuel more efficiently, and better ways to finger print a person by their DNA. Bio-medicial stuff. If I were to ask which universities were doing research on, lets say, a new email protocol that wasn’t susceptible to spam, nobody would be raising their hands.

Why are the colleges of the USA forced to purchase anti-spam, anti-virus, email servers, directory servers, web servers, desktops, file servers, network gear, etc. from one of the largest companies in the world?  Why are better versions of what we can buy today not developed (or at least experimented with) in house?  Sure Linux is out there, but it has become a commercial enterprise.. There is very little left of Linux that was developed without the help of Novell, Corel, Red Hat or IBM (yes, this is a gross overstatement, but the point is to be made). 

Universities are currently teaching old, tried-and-true technologies to their students.  Students are learning Microsoft Office 2003, on Windows XP.  They are being taught Microsoft C#, and Sun Java.  Companies are paying for computer labs to give the students skills to do the basic knowledge to to jobs in the workforce.  Sure, that’s great.  But where is the innovation.  Why is it that students no longer come to their first job and say "When I was at xyz-U, I helped with research on a solid-state memory chip that could read and write in less than 1ns!"  Today they come to their first job and say "I know how to write a Visual Basic application that can say ‘Hello World’ on the screen." 

As our society transitions to a mode where remedial labor is cheap and intelligence is what sets us apart from the other countries that we sub outsource our work to, the colleges and universities need to grab the bull by the horn and find out what made us the place to be in the days of yore.  What possessed us to hand-build a super-computer in our labs?  What caused us to have our students work on an operating system that was unique just to us?  Why have these things gone on the way-side and left the void to be filled by the major corporations?




MSU IT Conference, etc.

4 05 2008

,,,,,

Well, the MSU IT conference is long and gone, so I’d figure I would write some sort of review of it.

All in all, it was a very well run and organized conference.  A conference consisting only of the people that you work with seems weird to people who work in small to medium sized companies, but when there are over 1,000 IT staff in a place that has 10,000+ workers (and 50,000+ people all together), you tend to build silos, and not communicate between them.  This conference was designed from the ground up to break these silos.  Things like assigned seating during meals with people you typically don’t know really helps with this.

Breakfast and the keynote speaker were great. 
Gerry McCartney, the Purdue CIO had an excellent speech about innovation within the education scope.  It made a couple things click in my mind, and really raised some questions within our own community.  I got to talk to him a bit after the keynote, and got to talk about the same innovation topic a bit. 

The sessions were good as usual. I got to sit in on Jeff Utter and Jeff Goke-Smith’s presentation on network security.  Both really know their stuff, so they made it difficult for me to give them a hard time.  Their presentation really should have been about two hours, but they did really well with the time they had.

After a brief lunch I had my session on VoIP technologies.  I had a packed room, with people standing by the door, and only two chairs left in the entire place. I talked about our department, what VoIP was, what were the pros and cons of using VoIP on your data network, and of course the demos. 

I had some great questions from the group, so the time I had for demos got greatly compressed, but that’s ok.  I showed :

  • EC-500
  • Unified Messaging
  • Avaya 4610 VPNremote Phone
  • Avaya  9640 IP Phone (with Calendaring and synced Contacts)
  • Avaya IP Softphone
  • Avaya 3645 WiFi Portable IP Telephone (with paging)
  • MSUtv (IPTV).

It was great to finally show some of these projects we have been working on.  I ran over by about 10 minutes, but just about everybody stuck around!

The final presentation I went to was proper techniques for deploying web applications.  It centered around PHP, and lots of OSS stuff, so it was neat to see another point of view.  A lot of the problems they were trying to solve were never really problems with ColdFusion, and the ones that were I’ve been implementing for quite a while already (by using SVN and things like that).

Finally, the conference wrapped up with a Q&A session with the guy who runs a majority of the IT on campus.  Lots of good questions, and really helped people figure out where our campus is going in the future.




Amazon’s EC2 and ColdFusion / FMS

22 04 2008

,,,,

This last weekend I finally had enough time to play with Amazon’s Web Services (AWS).  Amazon Web Services are a set of pay-for utilities that allow developers (among others) to host files, products, or servers in Amazon’s cloud.  At last month’s Mid-Michigan ColdFusion User’s Group meeting, there was a presentation from Rick Mason on Amazon S3.  S3, a storage system in the cloud is not something that really peaked my interest, but another related tool, EC2, did.

EC2 is a service where you can rent a VPS, or virtual server by the hour.  You literally pick a server ‘image’ or AMI, and tell it to boot.  Once you have your machine booted up, you can access it, login as root, and away you go.

However, in spite of all the great marketing, EC2 is a real bear to setup.

  • The tools take FOREVER to get setup correctly.  On Windows, you have to download the tools, install the Java SDK (if you don’t already have a current version), setup a bunch of DOS Environment Variables, generate and download your server certificate and private-key certificate, break your pk certificate into a private and public key set (if you want to use any tools other than Cygwin SSH client), and setup your SSH client. Providing a simple tool written for Win/Mac (using something like AIR) could drop this down to two steps.
  • Find an AMI that you wish to base your image off of.  Amazon offers about a dozen base installs — based on various OSs and software packages.  There are hundreds of other ‘public’ AMI images that have everything from Postgress SQL to SugarCRM pre-installed.  Amazon tags these images with an ‘AMI’ code.
  • Launch an instance (start your VPS) of that AMI based image using the following information: You are now paying by the hour
    • AMI Code
    • Your Private Key
    • Your Server Key
    • A group to launch the instance in (’default’ by default)
  • Wait a few moments while the machine boots up, and then you must do an inquiry into which instances you are currently running. Write this instance ID down, as it is sometimes the only way to figure out what is running.  It should list back a public domain name, and a private domain name.  Write down which group it was launched in.
  • Open up the correct firewall ports so you can access your server.  Port 22 is for SSH.  There a bunch of features with the firewall, where you can even lock it down to your specific address on the net.
  • Connect using your client you setup in step-1.  Login is ‘ROOT’ for most AMI’s, and it will use your private/public key file as the password.
  • Download and install software.  The CentOS Amazon images don’t include many tools to download files — you can however use yum to install a text-based web browser (called lynx) to download things.  Installing them is no harder than any other VPS.  For example, ColdFusion, you download the .BIN file, chmod +x coldfusion_801.bin, and then ./coldfusion.  You may need to find out where your copy of Apache is installed before you do this.
  • Once you are done installing and setting up your software, you need to create your own AMI.  Since the instances don’t persist for anything besides a reboot (at this time). In the base installs of CentOS, they included the tools to do this via command line.  You will need to upload your Private Key, your Public Key (to the /mnt/ folder!), and get your Amazon Account Number (from the website).  Creating my AMI image that included ColdFusion and Flash Media Server took about 15 minutes.  Write down the location to the manifest.xml file that is created.
  • Next, you will want to send your new AMI images to somewhere.  AMI images stored on Amazon’s S3 service can be booted by just knowing the AMI code. You will need to setup a bucket to store the AMI in, and upload it to S3.
  • Register the AMI image so that is is bootable.  You will need a bunch of info again, and you will need the location to that manifest.xml document.

That’s it (I hope).  Most of this can and should be integrated into some easy-to-use tools.  Right now it is really an experience that Unix Admins love (everything is command line!), but the rest of the world will have a hard time with.

Side note: There is a tool out for Firefox which helps simplify some of these steps, however, because of the terminology that they use, you still need to be familiar with these steps to figure out what is going on.




Speaking at the MSU IT Conference

15 04 2008

,,,,,

Well, it seems that all I’ve really been talking about on here is what conferences I’m going to, or where I’m presenting.  This post continues that trend (sorry!).

On Wednesday, April 23rd, I will be traveling long and hard to speak at the MSU IT conference, just down the road from my office.  While this conference is MSU specific, I will be preseting on some of the new technologies that we are devloping in our office, including : IP Telset deployments, Presence, WiFi phones, Digital Cable, and a sneak peak at IPTV.  It should be lots of fun (if I can get the demos to work).

There’s Voice in Them There Wires: A Discussion About the State of VoIP on Campus
Nick Kwiatkowski, Michigan State University Telecom Systems

Voice-Over-IP (VoIP) has become a relatively familiar name, but very few MSU employees are aware of how it is used on campus, and what policies are in place for its use. MSU Telecom Systems has built a robust telephone network on campus that uses VoIP and includes many different voice-based applications. At this presentation, learn what VoIP is, how MSU Telecom uses it on campus, and what services are planned to be deployed in the future. See the new technologies such as the latest VoIP phones, WiFi phones, and Presence solutions.

If you work for MSU, or just want to see what is going on, the link is here. Register here.




Speaking at the Queensland CFUG tomorrow

7 04 2008

I will be doing a remote usergroup meeting for the Queensland CFUG, out of Brisbane City, in Austrilia tomorrow (4/8 @ 5:30 am EST..  I forget what time that is in upside-down land…) on LiveCycle Data Services (LCDS). 

If you want to join along, email me at nick@theflexgroup.org — This will be broadcast live via Breeze, so anybody with an internet connection will be able to view it.

Presentation and samples will be posted here.




InAAU Avaya Conference Review

5 04 2008

,,,

Well, I just got back from San Diego, CA at my first InAAU conference.  InAAU, or the International Association of Avaya Users is an international usergroup of Avaya telephony professionals.  Avaya has a very hands-on approach with not only this usergroup, but the usergroups at a local level.  In general that makes the usergroups more of an extension of Avaya, rather than the more ad-hoc nature of the Adobe Usergroup programs that I am normally involved with.  Not bad, just different.  One of the common themes of these UGs is that if you make a suggestion about an Avaya product, Avaya hears it loud and clear (and often acts on it). 

The conference itself was pretty nice, and very professional.  Similar to MAX in presentation and style, with about 2,500 attendees it felt big, but you did keep running into the same people.  I got to meet some really neat people all over the professional world.  I got to spend quite a bit of time with some of the people at SPS (thanks Theresa and Mike!) and some of the engineers / product managers at Avaya. Hopefully some of the contacts I made within Avaya and other universities pan out for some of our future projects.

All though the conference had a pretty heavy "salesey" feel to it, I did walk away with some cool tid-bits:

  • Avaya’s next style of phones will include the 9700 and 9900 series phones.  Looks to be IP only, with a heavy SIP focus (couldn’t figure out if there were going to be H.323 firmware available.
  • Communication Manager 5.0, and all the 5.0 tools all play well with external Authorization and Authorization services, such as LDAP, Active Directory, and RADIUS.  This is good as it is the direction our University is moving to, and also helps prevent YAL syndrome (Yet Another Login!)
  • Network Management Console and Converged Network Analysis (apart of the Integrated Management package) have some entitlement packages with CM 5.0.  This is great as they are awesome products, and help quickly determine some quirky network problems.  I might put in a request to purchase these products separately if we don’t upgrade to the latest release of Communication Manager.
  • G450 Branch Media Gateway is much more high-density than I originally thought.  With the ability to add VoIP media modules as daughter board (and therefore not take up valuable MM slots), you can actually get about 200 ports per device. Redundant power-supplies are also available.   With a price tag that is much less than a G650, this can quickly become our standard media gateway (again, if we upgrade to CM 5.0)
  • S8730 is a the new release of the S8700 series server.  Dual power supply, and RAID drives are the newest addition (aside from much more power).  Still not happy about the AMD based processor, but this server is a step in the right direction.
  • Although not announced, it seems pretty obvious that the G700 is going away.  No end-of-sale yet, but it was quietly dropped off all the road maps, and was extremely absent from all the power-point presentations.  Not a single one was at the conference.  Since this is MSU’s standard as a medium-density media cabinet, it makes us have to re-think our product placement.
  • 9600 Series phones plan to add some new features, including USB-dongle based mobility users (you have a ‘key fob’ that you plug into the side of the phone, which will log you into the phone), built-in calendaring, customizable screens, custom colors, and the ability to sync your contacts via a USB drive.
  • CM 5.0 now supports Look-Ahead Routing for both ISDN and SIP.  This is a really neat feature, and would allow us to add more redundancy in case of circuit failures. 
  • EC500 version 8.0 is being included with CM 5.0.  This release adds the ability to self-administer your number, and allows for better ‘pull-back’ support with operator-intercepts and cellular voicemail.
  • 8510 Server has been announced.  Based on Dell servers.  2 power-supplies, RAID and more RAM.
  • Communication Manager Road maps:
    • 5.1  (1H0 8)
      • Syslog support
      • Better ability to monitor issues with network connectivity with IPSIs within SAT
      • Calls missed due to call-forwarding, or not enough line appearances, can be logged.
      • Auto-Callback can be activated central-office side via ISDN/SIP signaling
      • SIP Enablement Server will see major stability improvements
    • 6.0
      • Use an S8400 server as an ESS server.
      • More integration of SES and CM products.
  • SIP Application Server — not really sure about the scope of this product.  I went to a few demos and I am more confused about it than ever.  Seems to do the same thing as the Application Enablement Server (AES), yet it works with SIP?  AES already seems to work with SIP just fine — we have applications that use it.

I appreciate all the hard work that the InAAU volunteers put into this conference.  Avaya users need a voice, and need to find out about these products from places other than their business partners.  I was also enjoyed the partnership with the American Cancer Society through ProjectPink — every mile an attendee walked during the conference was a dollar that Avaya will be donating to ACS.

I will continue to go through my notes and slide decks to process more information.  But for now, its time to get back to work!




That tears it! I’m switching!

24 03 2008

,,,

I’ve become a statistics.  I’m joining the league of people who are deciding to ditch the Microsoft Platform and going to the Mac.  While I’ve been thinking about it for a while, but the last couple of months have done me in with Vista.  

I was one of the ones that was excited about Vista.  I waited a few months until I got it, and at first it seemed ok.  Actually, I was pretty impress about some of the features (notably the interaction with different projectors, and the auto-switching to presentation mode).  But then things started to annoy me.

  • I couldn’t figure out why my laptop’s hard drive was churning at 100% for the first 15 minutes of each boot.  There were no applications running, and no services taking up memory. According to Microsoft’s own tools, the prefetch and the page file were being touched A LOT.  I can’t imagine that that is good for my battery life…
  • Every time I plug into a new network (or change my IP address), it adds a new "Network" to my computer ,and wants me to select one of the three default profiles. I can’t keep the existing firewall profile I JUST setup for the work I want to do.
  • 10 distinct clicks to change your IP address.  I provision new network and phone gear.  I have to change my IP address every 10 minutes sometimes..  Oh, and if I want to see if DHCP took, running ipconfig is a test in futility — there are over 100 networks listed!
  • Willy-Nilly installing ‘critical’ patches without asking you first. Two weeks ago I was coming home from a conference in Atlanta (read previous entries), and I decided to use the wireless in the airport.  Turn on wireless, hop on, remote desktop to my machine at home to check email, etc.  Turn off laptop and board the plane. While on the plane, I decided to do some work — started writing some articles and presentations.  Our 15 minute landing-warning got announced and I went to shut down the computer.  I hit the button.
    "Please wait while Windows installs update 1 of 15… DO NO SHUT DOWN YOUR COMPUTER". I held out as long as I could, but I ended up just pushing the power button to turn it off as the steward threatened to throw me out the back door because I wasn’t shutting down my computer.

In all honesty, the Dell Inspiron D620 was one of the best laptops I’ve had to date.  Two years of beating the thing to hell and back and it didn’t even show a scratch. The thing that made me switch is the operating system.  Apple has some big shoes to fill in regards to my needs, but if I look at others in my industry, they are all donning the Apple logo too.

So, the Dell already has been sold (I think I asked too low of a price — it was gone to the first taker in like 10 minutes), and the MacBook Pro is on its way!




Flex Camp Cleveland Announced

22 03 2008

,,,,,

There is an excellent one-day software conference in Cleveland on April 7th.  It’s called Flex Camp Cleveland and it offers an opportunity to get a fast education to programming in Flex by Adobe.  Please visit www.flexcampcleveland.com to see the line-up of expert guest speakers.  Ben Forta, noted author and web developer, will give the keynote address.

Flex is software tool that lets you create powerful applications that run in your browser or on your desktop.  These applications are different from ordinary HTML applications because they are actually RIA’s, or Rich Internet Applications.  Once you see a Flex application, you will understand why they are so much more interesting than HTML applications.

Flex Camp Cleveland was organized by the Cleveland Flex Users Group (CLEFUG), which is just a bunch of programmers who get together and share ideas about Flex.  We contacted several Flex experts and put together a full day of one-hour presentations to help the beginning Flex developer get on their feet with Flex.

Two of the instructors are with Adobe, and the rest are Flex experts from Cleveland and Columbus, Ohio.  The keynote speaker is Ben Forta, noted author, developer, and instructor.  We will also be giving away raffle prizes such as books and software.

The cost is only $25.00, including lunch.  To register for Flex Camp Cleveland, visit www.flexcampcleveland.com




Why are you NOT using LiveCycle DS?

15 03 2008

,,,,

Every time I show one of my demos at a usergroup meeting, or just with a customer, the sound of jaws dropping is something I’ve gotten used to.  It is not because of the fancy graphics, or the bug-free code (this is where the people who actually have seen my demos start laughing), but because of the cool things I do with data connectivity.

Data Connectivity?  That’s the boring stuff!

I’ve been deploying more and more applications using a middleware server for Flex called LiveCycle Data Services.  LCDS sits between your Flex or AIR applications and your back-end server such as ColdFusion.  It allows things such as proxying (for those hard-to-reach web services), data management, AMF connectivity, and messaging. 

Proxying, is pretty self-explanitory. You probably already know, but JavaScript and the Flash Player have security restrictions built in that disallow you to connect to multiple remote-sites.  This is so you don’t have rouge js or flash applications that do all sorts of bad things.  Unfortunately for some of us web developers, we NEED to connect to two remote sites (for example, to process a credit card off-site).  LiveCycle Data Services (and it’s little brother, Blaze DS), allows you to proxy those services with little-to-no code.  It just works

AMF connectivity (also known as Flash Remoting, or RemoteObject Calls) allows you to use binary, serializable, data connections with your back-end server.  No longer do you have to worry about the bloat and untyped object problems of Web Services SOAP calls, or pure XML dumps.  This is what 90% of the developers are using BlazeDS or LCDS for. While cool, it is small potatoes for me.

Messaging allows the Flex clients to send and receive unsolicited messages to and from each other or an application server. On the surface it sounds boring, but have you ever had to build a chatting application?   Your Flex, AJAX or JavaScipt application sits there, and POLLS your app server every x seconds for new data.  This wastes lots of bandwidth and application processing power (because not every poll will contain new data), and makes the end user feel like there is stuff happening when there isn’t.  And, if they use Internet Explorer, they will hear that dreaded ‘click’ each poll you do.  Messaging via LCDS/BlazeDS allows you to setup ‘channels’ that your app or app server listen to and can publish to.  If you need to send a real-time message to the client, all you do is publish data to that ‘channel’ and the end-client gets that message in real time.  Not only can you send simple messages (strings, integers, etc), but you can also send complex objects, classes and other wacky data-types. I’ve seen an implantation that sent binary-encoded messages such as PNG screen shots back and forth!  Many people use this feature to build apps like real-time dashboards or chatting apps. 

And the coolest feature of them all, in my opinion is Data Management.  Data Management allows developers to create managed collections (like the ArrayCollection), and have all the heavy-lifing of checking for updated data, sending revisions of data, etc. taken care of by LCDS.  In literally two lines of code (minus configuration on the servers), I can write an app that will display data to the end-user in a DataGrid, Form, or Chart.  And best of all, if that data is changed by any connected clients, or the application server, it will update the Flex application in real time!  If I want to allow the user to edit the data, I can either write a simple form (which can update the server and all other connected clients as the user types), or simply change the DataGrid to be editable.  No heavy lifting required.  Introducing conflict management is simple, as your DataServices component will trigger events that tell you what is changing on the server as it happens.  Paging and lazy-loading of data is simple too, requiring the server admin to change one switch.  It really is that cool.  Unfortunately, Data Management didn’t get open-sourced with BlazeDS.

So, why are you NOT using LCDS or BlazeDS?

  • No good documentation : While the documentation isn’t as good as the rest of the Flex suite, it is out there.  I suggest taking a look at the FusionAuthority magazine (the red, October edition), and you can read TWO of my articles on the subject.  FusionAuthority will be launching Flex-Authority soon, and will be having much more content on the subject.
  • Costs too much:  While the full-blown version of LCDS is pretty expensive, lets say $3,000 per CPU (contact your Adobe Sales Rep for exact pricing), there is a FREE version that is limited to a single CPU, and an OpenSource version that includes many of the features of LCDS.  LCDS-Express (the free edition) is included with the ColdFusion 8 download.
  • Too hard to configure:  It can be intimidating at first, but the configuration grows on you. The configuration files are written in XML, and are broken up by service type. You will find the configuration in your (application home)/WEB-INF/flex/ directory.  Look for the services-config.xml file to start. ColdFusion users can find the configuration in the (coldfusion root)/wwwroot/WEB-INF/flex/  directory. You can find examples on how to configure the files in my FusionAuthority articles.

Want to find out more?  Check out my usergroup’s presentation archive; there were two presentations on the matter, OR you can wait for FlexAuthority to come around.