10 Concepts You Need To Know As A Developer#

This article: 10 Concepts Every Software Engineer Should Know, is worth taking a look at if you are a developer.

I thought about it for a minute, trying to think of something important that they didn't touch on in this article, and I think the only major thing I would argue for would be entity relationship diagramming: the ability to turn a problem domain into a set of entities and relationships.

Other topics I would have considered: Regular Expressions, code documentation, project estimation, and maybe unit testing.

Categories:
Wednesday, July 23, 2008 1:12:56 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Generating Resx Files For Globalization and Localization#

Using resource files (resx files) for globalization is a standard technicque.  ASP.NET allows you to create 1 resx file per page to help you manage your content.

But when it is time to convert those files into the correctly named localized version to send to the translator, you might find yourself doing a lot of copying and renaming.

So I wrote a little script that does this for you:

Imports System.IO
Module Module1

    Sub Main()
        Dim languages() As String = {"es", "pl", "de", "fr"}
        For Each filepath As String In Directory.GetFiles("C:\translationTest")
            If filepath.Contains("x.resx") Then
                For i As Integer = 0 To languages.Length - 1
                    File.Copy(filepath, filepath.Replace(".resx", "." & languages(i) & ".resx"))
                Next
            End If
        Next
    End Sub

End Module

This will generate all the files for you, and then all you need to do is send the off and wait for the translator to do the REAL work :).

Categories:  |  |  | 
Tuesday, July 22, 2008 2:13:50 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Telsa Roadster In Chicago#

I saw this over on Halsted on Friday.

This slideshow was created with http://flickrslidr.com/.

I read that there are only 20 or so of these on the streets at the moment. 

Pretty nice!

This 2nd slideshow was created with PictoBrowser.


This one was created with http://www.slideflickr.com/

Categories:
Tuesday, July 22, 2008 10:11:47 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

The Cloud Comes To ASP.NET#

In the next 72 hours, you expect the new campaign to generate 10x more traffic than you have had in the last 72 days.  How do you scale to deal with this problem?

Do you buy more servers?

A few companies are starting to offer instant scalability for needs like this.  Amazon has been doing this for a while with their web services, but it isn't very useful for people who need the site to be running 24x7 (and it isn't very MS friendly).  But now there are other companies coming into play to provide the service I am talking about.

https://www.gogrid.com/

and

http://www.mosso.com/

Both offer the ability to instantly scale up your infrastructure as needed.  You can buy more CPU cycles, storage space, bandwidth etc, for a short time period.

This may (or may not) be ready for prime time, but it an interesting development for sure!

Categories:  |  |  | 
Tuesday, July 22, 2008 7:51:44 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

DOs and DONTs of getting a development job#

I have been accepting resumes for a while now trying to find developers for a client of mine.

I will be updating this article from time to time with new stuff.

DO have someone proofread your resume, cover letter, and email body.  Espically if you are not a native english speaker.  If you want your resume to go directly into the trash, then please, write your email with lots of grammer and spelling problems.

DON'T write in your cover letter that, while you don't have the skills/experience they are looking for, you DO have the skills/experience that really matters.  You have just managed to tell the person reading your resume that a) you don't have the skills they need, b) you think you are smarter than the person who came up with the needed skills/experience, and c) you are probably not easy to get along with.  All in the first sentence of your cover letter: BRAVO!

DON'T send a 9 page resume including every project you have ever worked on and details about said project.  I remember when I was told that resumes should be 1 page long (2 at the most) and I thought how wrong that was.  "My resme will be so awesome, 2 pages can't contain it!"  I realized very quickly how wrong I was.  I don't need to know the specifics of some project you worked on for 3 months back in 2002, and I don't need to know a list of every programming langauge, technique, or technology that you have ever touched. 

DO supply a cover letter, or at least turn your email into your cover letter.  It will get you bonus points.

DON'T include a stupid signature on your emails.  I actually received a resume that was signed like this:

--
If fishes could talk they'd ask for legs

Ok I guess that is somewhat funny in a Jack Handy kinda way, but it really doesn't belong on an job application email.

DON'T list "Internet Connection Technologies" that you have experience with.  I swear I got a resume with this as the 2nd heading (after education).  It listed "AOL Dial Up, AOL High Speed DSL, SBC DSL".  Before you start thinking, ok well maybe these were projects they worked on, you know, like working on the team to create AOL's dial up service... no this was not what they meant, it was clear from the rest of the resume.

 

Categories:
Friday, July 18, 2008 10:26:33 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

iPhone 2.0 Breaks Voicemail Over Bluetooth#

Here are a few threads of people who like me have found that their brand new bluetooth devices (that they got at the apple store no less) won't allow you to hear your voicemail with the new iPhone 2.0.

One has to wonder.... why does Apple do this crap?

Why don't they just give us a cut and paste function?

Why don't they make the speaker phone louder?

Why don't they let you open links in a new window?

Frustrating...

Categories:
Tuesday, July 15, 2008 2:15:03 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

iPhone 2.0 Exchange over WiFi Does Not Work (Now It Does)#

I recently upgraded my iphone to the new version 2.0, almost entirely for 1 reason: exchange syncronization.

After some minor issues setting up, I got things working correctly and it worked great.  But, as soon as I connected to a wifi and tried to do anything with exchange it fails.

I first experienced this at work where we use 802.11 WPA-PEAP, so we were eager to take advantage of 2.0s support for WPA-PEAP.  We installed the profile and were browsing at fantastic speeds... but no email was coming through.

I couldn't send or receive any email.

We tried using the admin tools to look at the iphone console messages and they talked about some ASxxxxxx errors, error code 451 came up a lot.

I hoped it was something with our work network, but when I got home I found that once again, I couldn't send or receive anything.

Fantastic.

I'm hoping I am not the only one with this issue and someone else will read this and have more to add.

Update: It seems that the cause, for some unknown reason, is related to the profile that our network administrator is able to create with some new administration tools from apple.  Apple provides a tool to create profiles so you can send a config file to an iPhone and it will setup everything (email, wireless access etc).  When this profile (even if only for access to 1 wireless network) is on my iPhone, all exchange communication over our WiFi failes.

Update 2:  Ok maybe there is something else going on here.  I have removed the profile and I still can't send / receive from my home wifi.  I tried it at my parents house too and I get the same result.

Here are some keywords/error messages that I am getting:

Exchange Account Verification Failed

Cannot Send Mail.

An error occurred while delivering this message.

Update 3:  Alright, it appears we have it working now.  There were some settings across a few of our exchange proxy servers that might not have been updated, and also there are some activesync settings that allow you to configure an "inside" url and an "outside" url.  After much poking around, I think Mike Driscoll got it figured out.  Thanks Mike.

Categories:
Sunday, July 13, 2008 8:17:29 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Apple Quality#

When it comes to Apple and quality software, stuff like this is just par for the course:

 

Categories:  | 
Saturday, July 12, 2008 11:55:40 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Setting up WPA-PSK on Cisco Aironet 1100 APs#

I know what you are thinking...

Setting up WPA on an AP is so easy even my mom could do it!

Well, Cisco APs give you 1001 options and no clear way of setting up WPA-PSK.

To configure these devices here is what you need to do:

1) Express Security: Setup the SSID with Encryption of "None" and not WPA (yea I know...).

2) Under Security\Encryption Manager, select to use a Cipher and pick the option for TKIP.

3) Under Security\SSID Manager, select your SSID, and then pick "Open Authentication" with "No Addition".  Then change Key Management to "Manditory" and select the "WPA" checkbox.  Enter a WPA Pre-Shared Key.

I ignored the other billion options.

 

Categories:  | 
Wednesday, July 09, 2008 9:39:00 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

The alias ServerName could not be opened...#

Have I mentioned how much I don't like working with Macs?

I have some friends who like them, so I won't go as far as some Mac fanboys to claim that Macs suck and everyone is better off with an XP computer (but that is pretty much how I feel).

I bought a Mac for my wife a year ago, because at school there are still people emailing around clarisworks files, and from time to time we want to do something that would require accessing a shared folder on the network.

Problem is: it never works.

"The alias ServerName could not be opened because the original item cannot be found"

Searching google turned up 101 different ways to connect to a network share, and they all failed in different ways.

Last nigiht I found myself trying to get it to work once again, but this time I happened across a solution.

After hours of wasting my time, I finally found the solution here.

Windows 2003 Servers encrypt their communications, Macs can't deal with this.  Problem solved.

Categories:  | 
Monday, July 07, 2008 7:39:00 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Forced Security#

The world is full of idiots.

Because so many of these people have wrecked their servers by accidentally installing malware, MS now feels they have to force hightened security on the rest of us.

So I have wasted 30 minutes trying to get an activeX control installed on a server.

IE won't let me do it, even though I marked the site as Trusted, and even though I went through every ActiveX option in advanced tools and turned them all to Enabled.  Nope, still nothing.

I then decided to try changing the default security levels... oh wait, they won't even LET me do that.  Are you kidding me??

I finally found a link to download an install.

Now IE tells me "Your security settings do not allow this file to be downloaded."

Do I seriously need to go install firefox to just get this damned flie downloaded??

No, because thankfully I was able to open up the page source and go find where the activeX is getting pulled from, and realized it was coming from a different subdomain (which of course is not apparnet to any normal users).

Adding that subdomain manually to my trusted sites fixed the problem.

The whole thing is just stupid.

 

Categories:
Friday, July 04, 2008 2:47:10 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Public DNS#

Ever had some DNS problem and you wished you could just connect to a different DNS server for testing reasons?

I recently found out from my friend Pat Wirtz (yes the Pat Wirtz of Notre Dame lore and legend) that you can use these 2 public DNS servers:

4.2.2.2

4.2.2.1
That's all.
Categories:  | 
Friday, June 27, 2008 12:36:31 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Deploying Database Development#

Simple-talk.com has a pretty in depth article about deployment and mangement of databases.

Rolling out changes to the application is only 1 part of a deployment.  Updating the database can be more difficult depending on your schema.

We could have more process around the DB development and deployment process.  I will be giving this a read shortly.

Categories:  | 
Wednesday, June 25, 2008 9:34:46 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Model View Presenter Guidance From MS Patterns and Practices#

Microsoft's Patterns and Practices group has released some guidance for creating MVP web applications.

http://www.pnpguidance.net/Tag/MVPBundle.aspx

I haven't checked this out, so I can't verify if they are worth looking into you, but I will be reading them in the near future.

Categories:  |  | 
Tuesday, June 24, 2008 4:55:57 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

FancyUpload Component#

I recently wrote about how the Flickr Uploadr tool sucks, but the other part of that article was how the web upload tools for Flickr is very nice!

FancyUpload is a set of code using Flash/Javascript to perform out of band file uploads.

This is basically how Flickr allows you to queue files for upload in their web client, and it is very useful in this sense because it would be extremely painful to be forced to post every single image individually.

For me, I am more interested in the ability to post very large files without leaving the brower in a fashion that seems to make it look like it is "stuck" when really it is just uploading a giant file.

 

Categories:  |  |  |  | 
Tuesday, June 24, 2008 9:26:51 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Flickr Uploadr Kinda Sucks#

Flickr provides an application called Flickr Uploadr to help you upload your images, and it really sucks.

I have been trying to get it to upload my collection of images for the last 24 hours and it has failed at various stages of completion upwards of 10 times.  Each time it fails in the middle of a batch, it seems unclear as to if when I restart I am uploading the same images again or if it is smart enough to not upload images that have already been uploaded in the earlier batch. 

I think it probably isn't smart enough.

The other thing that is really crappy is that it is really really slow.

Using the web based upload tool (which is really sweet btw) is about 4-8x faster than using the Uploadr tool.  This is very frustrating because it should be the other way around.  You can do a lot of things with a rich client that you can't do in a web page, but apparently Flickr didn't put the effort into the Uploadr app.

Categories:
Tuesday, June 24, 2008 7:50:42 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Globalization and Localization in ASP.NET#

This is a good article from Microsoft on globalization and localization of asp.net applications.

The article describes how to automate the process of moving static content from pages (inside labels) into resource files and setup the proper binding between the content controls and the resource files.

This article has some interesting and useful information as well about some other topics such as global vs local, implicit globalization settings, dealing with scripts etc.

Categories:  |  | 
Monday, June 23, 2008 4:52:24 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Jungle Disk: Amazon S3 virtual disc#

Jungle Disk is another product (only 20 bucks) that runs on top of the S3 service from Amazon.

http://www.jungledisk.com/

Unlike S3 Backup, it acts as a virtual drive (like a USB drive) that you can drag files to/from.

The interesting part for me, is that they supposedly employ some kind of caching algorithm so that most files (I assume given availabe drive space) are cached locally so you don't have to go up to the server and download the whole thing when you want it.

Might be worth looking into.

Categories:
Friday, June 20, 2008 2:31:03 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

e.Item.Dataitem is nothing?#

So you have some code running in your itemdatabound event handler and you are trying to do someting with e.item.dataitem but it keeps bombing out with errors because e.item.dataitem is nothing.

So, why is e.item.dataitem is nothing??

Answer: Because you are probably using a header or footer in your binding object.  The header/footer will cause the itemdatabound event to fire, but there is no dataitem for them.

Check if the current row is the header or footer, and then you will have no issues with using e.item.dataitem.

Categories:  |  | 
Thursday, June 19, 2008 3:22:37 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

AT&T's Business DSL SLA is a joke#

Most internet providers for businesses offer some kind of SLA to show their commitment to continued uptime.

One of my customers who uses AT&T Business DSL recently had a multi day outage. 

So what does AT&T's SLA provide?

Customer connectivity shall be restored in 24 hours or less from the time AT&T is notified of the outage. *Customer shall be entitled to one (1) day's credit (based on 30 day calendar month) from the Customer's recurring monthly service fees if AT&T fails to meet the 24 Hour Service Restoration SLA.

Yes you read that right.  Your business has no email or internet access for 3-4 days and what does AT&T do for you?  They might knock 10 bucks or so off your bill.  How nice... well at least they don't make me waste any more time .... oh wait..

(*) Credits are not automatically applied. Customer must apply via the Business DSL SLA website located at http://www.att.com/businessdslsla, or by calling our Customer Care at 1-877-722-3755.

Wow. 

Categories:  | 
Monday, June 16, 2008 8:43:04 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

All content © 2008, Christopher May, Inc
Open Job Positions
On this page
Google Ads
This site
Calendar
<July 2008>
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
Archives