Skip to content

All posts by moore - 61. page

Whitespace and tables in IE

I was using the excellent displaytag library recently, and had written a table decorator to append some information about each row for a GWT widget to read and use.  The table ended up looking like this:

<table>
<tr>
<td>data</td>

</tr>
<script type=”text/javascript”>var …</script><span id=’uniqid’ style=’display:none’>gwt config data</span>
<tr>
<td>data</td>

</tr>
<script type=”text/javascript”>var …</script><span id=’uniqid’ style=’display:none’>gwt config data</span>

</table>

This worked fine in Firefox and Safari, but IE (versions 6, 7 and 8 ) were displaying whitespace above the table.  I couldn’t figure out why, until I commented out the table and the whitespace went away.  Then I re-enabled the table, and commented out the finishRow method; the whitespace was still gone.

The answer, of course, is that IE doesn’t like stuff outside of the <tr> tags.  Once I wrapped the span tag in <tr><td> tags, the whitespace went away for all browsers:

<table>
<tr>
<td>data</td>

</tr>
<tr><td><script type=”text/javascript”>var …</script><span id=’uniqid’ style=’display:none’>gwt config data</span></td></tr>
<tr>
<td>data</td>

</tr>
<tr><td><script type=”text/javascript”>var …</script><span id=’uniqid’ style=’display:none’>gwt config data</span></td></tr>

</table>

[tags]ie html quirks[/tags]

What to do when you get 504 and 500 errors from your Google Mini

I have a client who uses a Google Mini (a search appliance created by Google) as a key part of their business.  The appliance worked fine, gave great search results, and was happily humming along until very recently.  At some point over the last couple of months, the number of 504 errors visible to the users using the mini increased drastically.

At one point, no matter what term you searched on, you would see this error message:

Error: Unknown XML result type.

View page source to see the offending XML.

504

When I took a look at this to try to troubleshoot, the results were very arbitrary--some search terms would show this message, some would not.  However, when a search term did show the error message, it would do so consistently, at least for 5-10 minutes.  Perhaps that had to do with caching?

The benefit of the mini is that you get great google like search results.  The detriment is that it is a black box--you don't even get a login to the box, etc.  And when your support contract runs out, you're left with very few options.

So, we troubleshot with one hand tied behind our back.  We:

  • tried rebooting the box a couple of times (via the web interface)
  • considered rolling back the index, but we only had about 36 hours of index history
  • generated and analyzed the search logs
  • searched the Google Groups for mini support.  All that turned up was this post which was not exactly helpful, since we no longer had support

Finally, the client suggested resetting the index, as it was conceivable that the mini index had been somehow corrupted.  This was an option for the client because their documents are re-crawled every day.  If that wasn't the case, it would have been a harder decision.

Resetting the index solved the problem.  Some numbers:

  • a few months ago, 0.5% of search requests were returning either 500 or 504 errors.
  • just before the index was reset, 40.2% of the requests were either 500 or 504 errors.
  • now, 0% of requests are either 500 or 504 errors.

FYI, this post is applicable to the Google Mini version 4.6.4--I'm not sure how more current versions of software work/break.

[tags]google mini,black box troubleshooting,504 error[/tags]

In source your EC2 instances

If you have built a killer application on Amazon Web Services, you may reach a point where you don’t want to continue to use them.  I can think of any number of reasons you may want to migrate your servers.

It may be because you’ve reached the 20 server instance, or because you want more control, or because you want to buy your own machines and spend money on a system administrator instead of paying Amazon, or because there’s something that you need customized that’s ‘behind the curtain’ of AWS.

For whatever reason, if you decide to move off Amazon’s elastic compute cloud,  you probably should take a look at Eucalyptus (thanks to George Fairbanks for pointing this out to me!).  From the overview, this is a AWS compatible environment, so you can continue to use the same tools (capistrano!) to manage your instances.  You also gain the same abilities to spin up or spin down servers easily.

What you don’t get is AMI compatibility.  That is, you can’t transfer your AMI to a eucalyptus server farm and expect it to run.  They have a FAQ about AMIs (for 1.5, which is an older version of the software) that points to some forum posts about turning an AMI into an EMI (Eucalyptus Machine Image), but it doesn’t look like a trivial or easy operation.  It does seem possible, though.
However, it’s good to know that it is possible, and that a company can have a migration path off AWS if need be.
[tags]eucalyptus, open source, freedom in the cloud[/tags]

December 2009 BDNT writeup

I went to the Boulder Denver New Tech Meetup last night, and as always, had a good time.  I ran into Brett Borders, and had a good discussion with him about why BDNT is worth going to.  I only go every couple of quarters, but I always learn something, and meet some interesting people (last night, including Marty Frary), and get jazzed about technology again.  This particular episode was packed–standing room only.  In addition, in the spirit of the season, there was a food drive, which was a nice touch, and a giveaway.  One additional change was that the twitter stream was off during presentations, though available during the q&a period (here’s a twitterstream horror story from the presenter’s point of view).

Brad Bernthal gave an overview of Silicon Flatirons (and asked for $ support).  This is a center focused on tech, law and entrepeneurship, which puts on a number of programs supporting the Boulder tech scene (I attended and reviewed one a while back: IP Crash Course for Entrepeneurs).  Which raises the question–where is the CU CS department?  Why is the Law school hosting BDNT and other users’ groups?  The CS department does host Colloquia (I attend about one a year), but I don’t think those compare to BDNT, et al.

After Brad, we moved on to jobs and events.  I was glad to see a number of jobs pop up.  Over the last year, at BDNT there were always some developer jobs available, but this time there was also a marketing job.  Hope it’s a sign that the Boulder tech job market is thawing (for folks other than developers).  There were 8 job announcements, though one of them was equity only.  About half of the presenting companies said they were looking to hire as well.  As far as events, KGNU is having a fundraiser called ‘Beers With Brad’Ignite Boulder 7 is only a week away (here’s an interesting post on how to organize Ignites).

On to presentations…

  • The Blog Frog presented on their platform to turn blogs into communities.  This is an interesting space–you can see competitors in Ning, MyBlogLog and Google Friend Connect, though they all approach the issue from a different angle.  The Blog Frog is aimed at automating community creation, and have focused on mommy bloggers (as a large, valuable group).  We did not get a demo from them, and I haven’t signed up for their service for any of my blogs, but they definitely have a cool value proposition–helping niche content providers build their communities and reach advertisers and interested people.  You can see a presentation from them 7 months ago; it sounds like their business model has evolved significantly.
  • The Unreasonable Institute presented next.  They bill themselves as ‘Techstars for social entrepeneurs’, but they have a few differences.  Instead of picking applicants and providing them money, they want applicants to fundraise to provide a fee and idea validation.  After applicants are selected, they do get funds throughout the 10 week program, as well as mentoring, chance to pitch, etc, etc. The presentor said that the applications already received were split equally between the for-profit, non-profit and hybrid models.  So, the funding pitches would include VCs/angels as well as foundations–an interesting twist and a great way to increase connections between those communities.  They are accepting applications for the 2010 summer until Dec 15th.
  • Letitia Pleis, from Metro State College of Denver, gave a great talk on the tax implications of equity as payment.  She covered three scenarios.  Unrestricted (‘here’s 10% of the company, please write software!’) which is taxed as income at the time of the grant and also implies a great deal of trust in the payee.  Restricted (‘here’s 10% of the company, it vests in 3 years’) which is taxed as income at the time the grant is vested, possibly leading to a massive increase in taxes due, unless you perform an section 83(b) election within 30 days of the grant (one person spoke up and said they’d be bitten by this).  Unrestricted profits interest gives the grantee claim on a percentage of future profits.  She was at the end of her time, so we didn’t hear as much about this option as I would have liked.
  • Next up was a gadget review.  I’m not a gadget head, so I didn’t take notes on this, but they did give away a Sonos system.  Well, the winner earned it by knowing what the original cost of a Apple I system was ($666.66).
  • Public Earth presented next.  They are a wiki of places; the presentor said just like Netflix lets you collect your favorite movies, Public Earth will let you collect your favorite places.  (And they hope to have scale like wikipedia–he said that they plan to move beyond the ‘where’s the nearest restaurant’ level.  I looked for ‘slot canyons’ in UT, for example, and they had some.  I think they need to work on their linking, because I couldn’t get a link for my query to post.  But, on the upside, they don’t support IE6!)  They have 5M points in their database already, and just went live.  The wiki aspect is very interesting to me; I wonder whether they’ll get a critical mass of users to do spam policing.  It’s an interesting contrast to Google My Maps–PE has a slicker interface and more sharing features.
  • Last was RTP, with their sick iphone app, Real Ski.  This is an augmented reality application that helps you locate points of interest (bathroom, particular runs) when you’re out skiing.  They obviously couldn’t demo it at BDNT, but they had a video demo, and it looked killer.  It should be on the App Store soon–5 area maps free, 99 cents for every other ski area map.  They also asked for advice from the community about selling a B2C app; RTP apparently is a B2B company.  Pricing, scale, and accuracy were mentioned, but nothing really profound.  This question might be a better asked on twitter, or in some forum that allows more interaction.  (I searched, and was interested to see that no one had posted advice for them on twitter.)

The only complaint I had with this BDNT was that there were no demos (apart from the gadgets).  Several pseudo-demos (aka powerpoint slides/videos), and interesting and relevant presentations, but I think that live demos really add a lot and are in the spirit of the meetup.

Hadoop logging case study

Here’s a fascinating case study of the evolution of a (large!) log analysis toolset. It follows Rackspace as they strive to allow searching logfiles from an ever growing number of servers, starting from manual ssh/grep, through various incarnations of a MySQL database, and ending up using Hadoop/Lucene/Solr.  There’s (some) more info on the rackspace blog.  Cool stuff.

Via George Fairbanks.

[tags]lucene, solr,case study,hadoop[/tags]

Palm Pre ‘Hello World’ error on Windows

If you’re running through the Palm WebOS ‘Hello World’ application on Windows (I use XP) with the command line tools, you’ll want to change this line this.controller.pushScene("first"); to this this.controller.pushScene("First");, as outlined in this forum post.  Apparently, case matters somewhere in there, and the palm command line tools generate upper case view and assistant file names.

This oversight is a bit embarrassing/peculiar, since the ‘Hello World’ example is often the first thing developers turn to when learning a new platform, and it was reported in July and acknowledged by a Palm employee that same month. I can only surmise that this works fine on other platforms (which is definitely possible, given that the palm tools don’t lowercase the first letter of the scene, as expected, on Windows).

I’m not sure about whether this affects the Eclipse plugin. This is using the 1.3.1-314 SDK.

[tags]palm pre,hello world[/tags]

Trying to schedule a meeting? Try Doodle

A friend turned me on to Doodle for distributed meeting scheduling.  Four steps to a url you can send out to an unlimited number of people.  You select dates and times.

Anyone who has the URL can then, without logging in, vote for a date/time that works for them.

There are other options available, but this is enough to set up the occasional lunch with busy friends, which is what I use it for.

If you need to do any scheduling of multiple parties, give Doodle a try.

List of Front Range Software Networking Events and Conferences

Updated March 21: crossed out ‘conferences’ because I don’t do a good job of listing those.
Boulder, Colorado, has a great tech scene, that I’ve been a peripheral member of for a while now.  I thought I’d share a few of the places I go to network.  And by “network”, I mean learn about cool new technologies, get a feel for the state of the scene (are companies hiring?  Firing?  What technologies are in high demand?) and chat with interesting people.  All of the events below focus on software, except where noted.

NB: I have not found work through any of these events.  But if I needed work, these communities are the second place I’d look.  (The first place would be my personal network.)

Boulder Denver New Tech Meetup

  • 5 minute presentions.  Two times a month.  Audience varies wildly from hard core developers to marketing folks to graphic designers to upper level execs.  Focus is on new technologies and companies.  Arrive early, because once the presentations start, it’s hard to talk to people.
  • Good for: energy, free food, broad overviews, regular meetings, reminding you of the glory days in 1999.
  • Bad for: diving deep into a subject, expanding your technical knowledge

User groups: Boulder Java Users Group, Boulder Linux Users Group, Rocky Mountain Adobe Users Group, Denver/Boulder Drupal Users Group, Denver Java Users Group others updated 11/12 8:51: added Denver JUG

  • Typically one or two presentations each meeting, for an hour or two.  Tend to focus on a specific technology, as indicated by the names.  Sometimes food is provided.
  • Good for: diving deep into a technology, networking amongst fellow nerds, regular meetings
  • Bad for: anyone not interested in what they’re presenting that night, non technical folks

Meetups (of which BDNT, covered above, is one)

  • There’s a meetup for everything under the sun.  Well, almost.  If you’re looking to focus on a particular subject, consider starting one (not free) or joining one–typically free.
  • Good for: breadth of possibility–you want to talk about Google?  How about SecondLife?
  • Bad for: many are kind of small

Startup Drinks

  • Get together in a bar and mingle. Talk about your startups dreams or realities.
  • Good: have a beer, talk tech–what’s not to like?, takes place after working hours, casual
  • Bad: hard to target who to talk to, intermittent, takes place after working hours.

BarCamp

  • Originally started, I believe, in response to FooCamp, this is an unconference. On Friday attendees get together and assemble an interim conference schedule.  On Saturday, they present, in about an hour or so.  Some slots are group activities (“let’s talk about technology X”) rather than presentations.  Very free form.
  • Good: for meeting people interested in technologies, can be relatively deep introduction to a technology
  • Bad: if you need lots of structure, if you want a goodie bag from a conference, presentations can be uneven in quality, hasn’t been one in a while around here (that I know of)

Ignite

  • Presentations on a variety of topics, some geeky, some not.  Presentations determined by vote.  Presentations are 20 slide and 5 minutes total.  Costs something (~$10).
  • Good: happens in several cities (Denver, Boulder, Fort Collins) so gives you chance to meet folks in your community, presentations tend to be funny, wide range of audience
  • Bad: skim surface of topic, presentation quality can vary significantly, not a lot of time to talk to people as you’re mostly watching presentations

CU Computer Science colloquia

  • Run by the CU CS department, these are technical presentations.  Usually given by a visiting PhD.
  • Good: Good to see what is coming down the pike, deep exposure to topics you might never think about (“Effective and Ubiquitous Access for Blind People”, “Optimal-Rate Routing in Adversarial Networks”)
  • Bad: The ones I’ve been to had no professionals there that I could see, happen during the middle of the work day, deep exposure to topics you might not care about

Jelly

  • Cooperative work environments, hosted at a coffee shop or location.
  • Good: informal, could be plenty of time to talk to peers
  • Bad: not sure I’ve ever heard of one happening on the front range, not that different from going to your local coffee shop

Boulder Open Coffee Club

  • From the website: it “encourage entrepreneurs, developers and investors to organize real-world informal meetups”.  I don’t have enough data to give you good/bad points.

Startup Weekend

  • BarCamp with a focus–build a startup company.  With whoever shows up.
  • Good: focus, interesting people, you know they’re entrepeneurial to give a up a weekend to attend, broad cross section of skills
  • Bad: you give up a weekend to attend

Refresh Denver

  • Another group that leverages meetup.com, these folks are in Denver.  Focus on web developers and designers.  Again, I don’t have enough to give good/bad points.

Except for Ignite, everything above is free or donation-based.  The paid conferences around Colorado that I know about, I’ll cover in a future post.

What am I missing?  I know the list is skewed towards Boulder–I haven’t really been to conferences more than an hours drive from Boulder.

Do you use these events as a chance to network?  Catch up with friends?  Learn about new technologies, processes and companies?