Put up or shut up time!

I asked on the developer list why we’ve evidently decided to use Flash for the next version of the GUI, when we’re all Java Linux developers. I suggested that the powers that be have a look at Google Web Toolkit which would allow us to develop in Java and cross compile to AJAX-y Javascript. And it’s all free and open source and all that good stuff.

So the development lead who is pushing Flash today came to me with a challenge – produce a demo that does everything his Flash demo does and looks as pretty doing it using Google Web Toolkit. I’m sure I’m going to be judged on how good it looks and how long it takes me , so I’ve got to hit the books pretty hard and learn everything there is to know about this toolkit, Javascript, CSS, and maybe a few other Javascript libraries while I’m at it.

And here I was just the other day opining that one sign of my advancing age is not that I can’t pick up new languages and technologies, but I’m afraid to even try. One thing I took away from my Google interviews was that all these young punks expect you to have memorized every single class in the Java API document. I, on the other hand, am content to remember where in the document to find the sort of class I’m looking for. I think I have “multiple language syndrome” – I think that one of the languages I use regularly does NOT allow C-style

if (cond)
  statement;

statements and requires the “statement;” to be in braces, but I can’t remember which one it is so I use braces all the time. Whether that makes the Google geeks better coders than me is a subject for debate. I tend to think not, but I’m biased.

But with that aside, I need to come up with a nifty way to show the status of our file server, our management system (main computer) and a bunch of distributed computers that connect to the management one, with the status of each one visible and changing in real time. There is a variable number of distributed computers, so I’ll need to be able to dynamically place them. And he also wants some way to show (like by line thickness or whatever) if big file transfers are happening between the management system and the distributed computers. If anybody has any ideas on this or better ideas than this, please let me know.

6 thoughts on “Put up or shut up time!”

  1. I think that language is perl 🙂

    $ cat x
    if (1)
    print “Hello\n”;
    $ perl x
    syntax error at x line 2, near “)
    print”
    Execution of x aborted due to compilation errors.
    $ cat y
    if (1)
    {
    print “Hello\n”;
    }
    $ perl y
    Hello

  2. Some visual ideas: To keep track of most of our production systems, we use NAGIOS. It’s reasonably easy to customize by changing config files but there’s no drag or drop.

    http://www.nagios.org/

    We also have an application with this kind of display which they call an “animation” screen.

    http://www.youtube.com/watch?v=vvsr9Ig6Pss

    Each object has a couple of “at rest” default images plus animations for when it’s doing something like processing a file. Here’s a few seconds of what it does. You right-click to control the resource, double-click to open and view contents, drag to move on the screen. Note the line between TBS-Newsdrive2 and CTP2 is blue, indicating data flow. The devices offline have the universal Ghostbusters logo over them. At the end I’ve scrolled down to show some of the windows that we just leave open on the screen to show the files queued up for the individual resources.

    You can also create new devices but because this is in-production I can’t demonstrate it for you.

    This is a pretty common kind of interface so there must be toolsets that let you do this on a web page or in a java app.

    We use some Java apps that apparently work great when there are few users and they’re all in the same room as the server, but are super slow resource hogs when the user base is widely distributed. Be cautious in extrapolating performance if you will have users in a lot of different locations or lots of users. Strongly consider using web pages rather than java apps if timeliness is an issue.

  3. One thing I took away from my Google interviews was that all these young punks expect you to have memorized every single class in the Java API document.

    As an actual 25-year-old, let me just say: oh HELL no. Reference works are there for a reason. But perhaps I’m old by Google standards.

    And speaking of references, yes, the language you’re thinking of is perl, but there’s no need to actually experiment; it’s documented in the perlsyn(1) man page: “Note that, unlike C and Pascal, these are defined in terms of BLOCKs, not statements. This means that the curly brackets are required–no dangling statements allowed.”

  4. You know, no offense, but if a vendor comes to me and says “to use our product you have to install Java *AND* Flash *AND* enable Javascript, I tend to go “Fuck it. Next!”

    Any two, well, OK, maybe, if it’s insanely great. But all three? That tells me the architecture team is lazy.

  5. Berry, the Java (as it exists) is in applications, not in a browser. The future choices are browser+Flash or browser+Javascript on the client side, and Java on the server side.

    Oh, and after you’ve spent $100,000 to put our system in your theatre, you’d have to be pretty damn stupid to say “I’m not going to enable the plugin in my browser to use it”.

Comments are closed.