Skip to content

Finding supported GWT user.agent values

The GWT compile process has been taking longer and longer, as I’ve moved from 1.0 to 2.0, because they keep adding optimizations and functionality.  You could deal with this in a number of ways.  You could write less GWT.  You could buy a faster computer.

More realistically, you could live in your IDE, and run in development (nee hosted) mode.  However, sometimes you just have to test with javascript.  The external browser development environment can be tough to set up correctly, especially if your application depends on external resources, and you can run into weird bugs.  I’m currently dealing with an issue where I depend on an external library and it is consistently throwing an assertion exception in development but runs fine in production mode.

If I am compiling to javascript repeatedly, I often compile for just one user-agent, which saves about 80% of the compile time.  When I have code more put together, I can compile for all other browsers.  This process is not flawless, as I am currently debugging a cross browser issue (something that works fine on FF doesn’t work on Safari) but I probably wouldn’t have tested on Safari until after I was through the lion’s share of development anyway.

The way to target just one browser is to put this string in your module (.gwt.xml) file:

< set-property name="user.agent" value="safari,ie6,gecko1_8" / > (remove the spaces next to the angle brackets)

How do you find valid values?  Via this thread, I found that you look in UserAgent.gwt.xml, part of the gwt-user.jar file.  This has the javascript code that looks at navigator.userAgent.  It is not as fine grained as the ubiquitous browser detect script, but shows you what different browsers are known to GWT.

For other tips on speeding up the compile process, check out this series of posts.

[tags]gwt,user.agent,gwt compiler, slow as molasses[/tags]

Andrew Hyde: tips for your startup job hunt

Andrew Hyde, Boulder startup hub, gives some tips on the startup job process.  Having been a part of a few startups, I thought I’d review the high points of the list, but it’s worth a read regardless.

Lots of his tips are useful to people hunting for jobs at established companies as well–I’ve long been a believer in personal blogging (#12) as a ‘living resume’ (among its other benefits), and the research required to write a blog post about the company (#10) will be useful to you as well.  Here’s another post with good tips.

I especially enjoyed his riff on generalists: “In the history of startups, not a single ‘generalist’ has ever been hired.  They are called founders.” I’m not sure I entirely agree, but I do think that if you want to be hired for money at a startup, you should have a strong focus (whether that be development, marketing, sales, operations, etc, etc).  However, even if you are hired as, say, a developer, you’ll need to do other things (testing, customer service, perhaps even marketing)–that’s part of the fun.

He does give some contradictory advice: have a resume in PDF (#2) but at the same time “ditch a resume” (#8).  I think he means that while a resume is nice, startups are more interested in specific projects and achievements than a typical big company with an HR department.  Some argue one should approach all job interviews in the same manner.
The most important piece of advice that Andrew gives is #7, which is worth quoting in full:

Be clear.  You are looking for a job.  Cut the buzzswords, what is the best fit?  Steady?  Fast paced?  Live in Boulder?  Just say it.  Cut the shit.

In my job hunts, knowing what I actually wanted was the hardest task, but the most important.  Why is it hard?  When I’ve been looking for a job, I am anxious and concerned about the future, often thinking about my slowly draining savings.  Declaring what I actually want (beyond “a job, any job, please God, give me a job” which is sometimes how I feel 🙂 ) necessarily excludes opportunities.  However, that is the exact reason that it is the most important task.  By excluding opportunities that wouldn’t be a good fit, or would make me bitter, or wouldn’t serve the employer well, I freed myself up to focus on situations where I could help the employer succeed and be happy.

[tags]startup jobs[/tags]

Real life inspiration from laid off ad agency workers

“Lemonade” is a great 35 minute movie about people making lemonade from getting laid off.  The “lemonade” ranges from coffee roasting to yoga; artist to blogger (on ads, or on employment).

The content is entirely interviews with people were laid off from advertising agencies.  But the advice is good for anyone.  As always, good advice is easy to give or hear and hard to follow.

Here’s four ways to support the movie makers if you should be so inspired.

Via Seth Godin.