goldb.org home

AS OF MAY 2008, THIS BLOG IS NO LONGER BEING UPDATED.
Visit the new blog at: http://coreygoldberg.blogspot.com



 Thursday, February 21, 2008

Novell == Suckers?

I bet that interoperability deal doesn't sound so great now.
#    Comments [0] |
 Wednesday, April 18, 2007

Microsoft Silverlight - Flash Killer? Lose the Geeks, Lose the Battle

Microsoft has renamed "WPF/E" to "Silverlight":

"Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of media experiences and rich interactive applications (RIAs) for the Web."

It looks like Microsoft is pushing this technology aggressively to CDN's and content distributors:

"Early supporters of the new platform include Akamai, Brightcove, Eyeblaster, Limelight, Major League Baseball, Navisite, Netflix, Skinkers, Sonic Solutions, SyncCast, Tarari, Telestream, Winnov, and more."

Silverlight will work on Windows and Mac OSX.  OK.. so no Linux support?  I think if Microsoft hopes to supplant Flash, it truly needs to be cross platform (not just Windows and OSX).

from the Silverlight FAQ:

"Microsoft is gathering feedback from customers like you on Silverlight and to help determine which platforms should be supported in the future."

Better hop to it boys.. With the proliferation of GNU/Linux, pushing a presentation framework that doesn't run on it is a large oversight.

You need the geeks on board.. lose the geeks.. lose the battle.

#    Comments [2] |
 Tuesday, April 10, 2007

Python and IEC - Stupid-Simple Windows Browser Automation

I have been using IEC lately for automating repetitive administrative tasks within my company:

IEC.py - Automating Internet Explorer with Python

IEC is a simple library with a nice API for automating an IE browser. I found it simple to work with for basic automation needs. I have also used it as the core of a small UI testing framework.

From Mayukh Bose:

IEC is a python library designed to help you automate and control an Internet Explorer window. You can use this library to navigate to web pages, read the values of various HTML elements, set the values of checkboxes, text boxes, radio buttons etc., click on buttons and submit forms.

Yeah I know.. pretty lame it only works with IE, but in the environment I was working in, the applications ran on *IE Only*.


A personal story:

My company is very analytical and detail oriented when it comes to tracking/planning project resource allocation. We track all sorts of projections, budgets, resources, etc. The workflow is basically: some business guys (no idea what they actually do) take data from some reports and enter them into some arcane hosted tracking software. This is done by entering copious amounts of data into web form after web form. Then they submit the form to run a report. Once that is finished, they cut & paste the data into MS Excel. Then they take the Excel spreadsheet and follow some wild sequence of copying, cutting, pasting, converting, running macros, graphing, etc. At the end of this, a few images are produced so some wizz-bang graphs can go into a monthly Powerpoint... wow.

So... I wrote a Python script that takes their input data, drives a web browser to do the report, screen scrapes the result, processes it, generates some fancy graphs with Matplotlib, and presents a web page with the results.  End result: Converted a multi-hour manual process into the click of an icon and 20 seconds of processing.

I could have done this with HTTP directly, but this UI automation technique made it very quick to develop; and it looked impressive ("whoa it's like.. making my browser move on its own").


To use IEC, you need the Python for Windows Extensions. If you use the ActiveState Python distribution, these are already included.

I used to use ActiveState Python for Windows programming (because I was a big fan of ActiveState Perl, where the installer and PPM package manager rocked). I recently spent close to an hour getting SSL (HTTP) to work with ActiveState.  I couldn't get it to work so I ditched it for the standard Python distro.


--
Happy Hacking.

#    Comments [4] |
 Wednesday, March 28, 2007

Microsoft IIS - Welcome to Last Decade (Performant CGI)

Wow..
CGI will run well on IIS
Rails will run well on IIS.

Rob Conery on running Ruby on Rails (or other CGI based platforms) on IIS:

"Rails works using CGI - basically an executable that gets run each time a request comes into a web site. Most of the frameworks out there do NOT support multi-threading, so each time a request comes in that requires anything dynamic, CGI is "instanced" and executed. If you have a lot of requests at once, this isn't really a good thing. Now some servers are built to mitigate this (Apache, Lighttpd, etc); IIS is not.

... I would imagine that in the next 6 months we'll see a great addition to IIS 6 and 7 for all the CGI-enabled platforms out there."


hmm.. good to hear. (seriously)
but damn... weren't we doing this 10 years ago with Perl/Apache? :)

#    Comments [2] |
 Wednesday, February 28, 2007

Reading Outlook/Exchange Email Programatically with Python

With Python's Windows Extensions, you can talk via COM to an Exchange Server and read/process your email.  You must have the Outlook Client installed on the box you are running this from.

Here is a sample script that will:

  • connect to your mailbox
  • print the inbox name
  • print the message count
  • print the subjects for all your email messages


#!/usr/bin/env python

from win32com.client import Dispatch

session = Dispatch("MAPI.session")
session.Logon('OUTLOOK')  # MAPI profile name
inbox = session.Inbox

print "Inbox name is:", inbox.Name
print "Number of messages:", inbox.Messages.Count

for i in range(inbox.Messages.Count):
    message = inbox.Messages.Item(i + 1)
    print message.Subject


#    Comments [0] |
 Friday, February 23, 2007

Google Apps Premier - The Office Battle Is On

Last year, I made a prediction/bet that Google was gonna make a huge push into office applications and we were gonna see the MS Office monopoly start to erode.  Well, its on!  We actually have quite a cool phenomenon brewing, with Open Office striking from one side and online office apps striking from the other.

It is a classic disruptive play.. still far from a tipping point, but serious shots were fired over Microsoft's bow.   Google is going at it pretty aggressively too.  I just got an invite for a seminar in Boston that explains the new enterprise office tools (Google@Work Seminar).

It will be interesting to watch this unfold.

#    Comments [3] |