DevelopmentNow Blog
 Thursday, August 21, 2008

We've gotten some good feedback about our new design, and as part of our ongoing redesign we rolled out an iPhone version of our web site. If you're looking to make a mobile version of your web site, contact us.

iPhone | mobile | Web
August 21, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Monday, August 18, 2008

We rolled out a fresh new look for our corporate site today to help visitors and clients learn more about what we do. Phase 1 was to focus on the main site, with a blog & groups redesign coming in the next week or so. We're pretty happy with our new design, and it should help us communicate better with our site visitors.

August 18, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Tuesday, August 12, 2008

A quick reminder that Portland Open Beer Club is this Thursday, 5pm, at Bailey's Taproom in downtown Portland. Swing by, have a brew, & chat about the web.

Portland Open Beer Club and Portland Open Coffee Club are monthly meetups offering a low key, agenda-free format centered around meeting like-minded individuals and talking about technology, the web, and startups.

The Portland Open Beer Club meets the second thursday of every month at Bailey's Taproom at 5pm.

Both meetups are part of the international Open Coffee Club movement. Read more at http://www.opencoffeeclub.org or http://www.portlandopenbeerclub.com

August 12, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Monday, August 11, 2008

We're proud to annouce the launch of one of our newest community sites: Vanilla Elephant. It's a custom social network for musicians, allowing independent artists to win cash prizes through weekly and monthly contests, sell music, videos, ringtones, and mobile content, and in general connect with their fans through a variety of electronic media.

August 11, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Friday, August 08, 2008

We use jQuery a lot here, and love it. Great JS lib, lots of handy plugins. But part of the problem is finding good plugins. :)

I enjoy AjaxRain on occasion, but lately it's just too much information & it gets slower and harder to find what I'm looking for.

So I stumbled across a few posts on noupe.com showing today off some attractive jQuery plugins, with handy screenshots, descriptions, and project links. Granted, the posts are a few months old, but still a great resource. I've already eyed a few to use for an upcoming social media photography site.

And instead of bookmarking those links, I figured they'd be good for quick Friday blog post.

http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html

http://www.noupe.com/ajax/45-fresh-out-of-the-oven-jquery-plugins.html

http://www.noupe.com/ajax/37-more-shocking-jquery-plugins.html

 

Web
August 8, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



One of our clients today noted an issue where a RegularExpressionValidator for a FileUpload control was failing in FireFox 3.0.1 only. My guess is that version 3.0.1 was doing something new with the filename when posting to the server. Or something.

Anyhow, the "fix" I came up with was to set EnableClientScript to false, and instead of using a validation expression like this

"^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.jpg|.JPG|.gif|.GIF)$"

changed the validator to use something like this

"^.+\.((jpg)|(gif)|(jpeg)|(png)|(bmp))$"

and then ensured that I'm checking the file's existence in the codebehind.

Thanks to Wen Ching's blog post for the regex idea.

August 8, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Thursday, August 07, 2008

Parsing CSV files is a common task for data-import programs. I've used Sébastien Lorion's CSV reader several times, as it's lightweight, fast, and gives you a number of options on delimited and how to handle parsing errors. I've also had great success using SqlBulkCopy to quickly load large amounts of data into SQL Server.

Recently, we noticed a certain CSV file was failing with some strange parsing errors in one of our projects. It turns out that there was a double quote in the middle of a quote-delimited, field. So a few rows looked like this

134,Some Data,"field has, commas",some data,"field has "quotes" in it",1234

Notice how the bold red field has quotes in the middle of the field value, even though quotes are also a field quote character (allowing you to have values containing commas, as seen in the blue field).

[As an aside, CSV field values are allowed to contain quote quotes as long as they're doubled, so "blah"blah" is invalid, but "blah""blah" is fine.]

Anyhow, that intra-field quote character was throwing off the CSV reader, so we decided to use a little RegEx to get rid of those quotes:

Encoding fileEncoding = GetFileEncoding(csvFile);
// get rid of all doublequotes except those used as field delimiters
string fileContents = File.ReadAllText(csvFile, fileEncoding);
string fixedContents = Regex.Replace(fileContents, @"([^\^,\r\n])""([^$,\r\n])", @"$1$2");
using (CsvReader csv =
       new CsvReader(new StringReader(fixedContents), true))
{
       // ... parse the CSV

That resolved the problem & allowed the CSV file to go in seamlessly. We could have also replaced the mid-field quote characters with a single quote (instead of just removing them) by using something like @"$1'$2" as the third param to the Regex.Replace call.

Note that the above fix is pulling all the CSV data into a string & doing a global replace, so for extremely large files you could improve performance by doing the substitution a different way (perhaps going line-by-line, or modifying Sébastien's code).

August 7, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Tuesday, July 22, 2008

We recently launched a WordPress-based blog for Lucid Realty, a Chicago-based real estate company. First we built a custom WordPress template to integrate the blog into Lucid Realty's corporate site, then added social bookmarking, SEO, email subscriptions, and Feedburner integration. Having worked with WorkPress over a number of years, we feel that WordPress is an excellent choice for companies who need a blog or a content management system, and we're glad that Lucid Realty chose us to help them expand their social media campaign and connect with homeowners.

July 22, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [1]



 Friday, July 18, 2008

WikiWorldBook is a robust site with a number of facets: it's not only a feature-rich online community, but also a people finder and online address book. It provides a broad AJAX search engine to help you learn about and find old friends, and offers a myriad of privacy controls for your profile so that you can control who can see what about your online identity.

July 18, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]