How to fix path is not a working copy directory and working copy is already locked errors

A few days ago I was writing some code to generate reports. After the reports were generated, the reports were emailed, then deleted off the server. I made a mistake and deleted the contents of the directory.

This was a bad thing because all of the .svn files were also deleted. I tried to replace the directory contents with the latest from SVN and I got an error. I tried to update my working copy and got an error. No matter how I interacted with SVN, I got one of the following errors:

  • Path is not a working copy directory
  • Working copy is already locked
  • Working copy '[directory]' is missing or not locked

To fix this:

I manually removed the directory entirely from my local copy. Then I updated to HEAD from SVN. This created the directory I accidentally deleted, put the files back and also added in the .svn files that were missing (and causing the working copy errors)

Apparently, if the directory exists, and SVN doesn't find the .svn files it is looking for, it gets confused. Removing the directory is enough for it to recreate it. (Since the missing directory was tracked in the parent directory .svn files)

Hope this helps you out!

Help Wally create a fun online virtual world for sick kids in hospitals

Wally Kolcz is taking a very bold and selfless step. He's interested in creating a fun online virtual world for sick kids in Hospitals. He needs your help.

See, Pepsi have put up a challenge to fund good ideas. Anyone can vote on an idea. Each month, Pepsi awards funding to the ideas with the most votes.

Wally's idea is to make a web portal that allows kids, in children's hospital, who cannot leave the hospital, or sometimes their rooms, to play in a virtual world and enjoy games, do arts and crafts, get homework to keep up with their classes, and meet and befriend kids in their hospital or around the county.

I know a good idea when I see one, and lifting the spirits of sick kids is as noble as you can get. I'd like to ask for your help in promoting Wally's plan.

How to help

  1. Visit http://www.refresheverything.com/mywindowproject
  2. Vote for the idea (button on the left)

Simple, right? So, please go vote for http://www.refresheverything.com/mywindowproject

Linux gaining on Apple - Current Visitors By Operating System

I happened to be researching which platforms visit my web properties. I found some unexpected trends and thought some of you might be interested.

First, the obvious. Windows (the much maligned operating system) is firmly in 1st place with 85% of traffic.

In second place, Apple, with 7.4%. Then Linux in third, with 6.44%

Linux trails Apple by less than 1%?!?!

By mindshare and mouthshare, I would have thought Apple would command a much larger lead. Especially since I write almost exclusively on technology topics.

What trends are you seeing on YOUR web properties?

console.log throws error on Internet Explorer IE

If you have calls to console.log in your Javascript, you will get an error in Internet Explorer. This is because there is no console variable (object) in the window name space.

Sure you could take out all your console.log statements, but usually you need those around for a little while. Here is a quick snippet you can use in JQuery that'll take the place of console.log. Your Firefox console will still work and you won't get errors on Internet Explorer.

view plain print about
1jQuery.logThis = function( text ){
2    if( (window['console'] !== undefined) ){
3        console.log( text );
4    }
5}

Now when you want to log something, you can use:

view plain print about
1JQuery.logThis( "I pity the fool who uses console.log() ");
2$.logThis( "I pity the fool who uses Internet Explorer");

Happy Days are here again!

10 Ways to Maximize Your Conference Experience

I've been a conference attendee, speaker, advisory board member and organizer. Each of those four roles has taught me something. I'd like to share a little bit with you so you can make the most of your conference experience.

Point 1: Introduce yourself by name. A lot.

Introduce yourself by name to everyone. Even to people you know, or who you think should know you. The biggest opportunity you have at a conference is to network. The number 1 reason behind failed networking is your name. People may choose not to greet you or connect with you because they are embarassed they've forgot your name. No one will think you are weird if you say, "Hi, I'm Dan Wilson". (Unless your name ISN'T Dan Wilson, that is).

Point 2: Expect good things to happen, tolerate mistakes

As a conference attendee, you should expect a well run conference. However, you should also strive to be tolerant when things go wrong. The people behind the scenes have been busting their tails for months to coordinate a million little details and want you to have the best experience possible. If something goes wrong, it will get fixed. Especially if you are nice about it.

Point 3: Stop checking your emails

Sure, in a 1 hour presentation, there are plenty of opportunities for distraction. However, if you have your face buried in your email, you are missing out on something good. Email is asynchronous communication, leverage it!

Point 4: Be realistic about what you can learn

In a one hour session, you probably have the ability to remember 3 things on a surface level. Thus, take notes about what you are interested in so you can google later.

Point 5: Ask for slide decks

Pretty much every presenter will share their slide deck. Sometimes you'll remember great things from looking at the slides... this should augment, not supplant your own note taking.

Point 6: Give honest and fair feedback

As an attendee, you have the right to give feedback to speakers and conference organizers. This DOES include positive and negative feedback. While no one really likes negative feedback, professionals learn from it and want bare opinions. You paid to be there, you have the right to voice your opinions. Choose whichever medium you are comfortable with.

Point 7: Take a chance

For fun, attend a session you know nothing about. You might find something really interesting!

Point 8: Pitch in where you can

While conference organizers love feedback in any form, what they love most are people who will chip in and help. This could be as simple as folding T-Shirts or making an introduction to a new sponsor... Or just stopping by and saying how much you enjoy the conference.

Point 9: Make friends.

You've got plenty of opportunities to meet people who are interested in the sorts of things you are interested. Make friends, some of those friendships will be very valuable to you.

Point 10: Get plugged in

If you enjoyed the material and the environment, get into the stream. Join a local user group. If there is no local user group, start one. There is strength in numbers.

Have any pointers I missed? Share them in the comments!

Free ColdFusion and Flex training this weekend!

This is the final week before NCDevCon - the premiere ColdFusion, RIA and Web Development conference at no cost to attendees! This year's conference is bigger and better than last year, with more opportunities for free hands-on training, timely and important sessions and a very awesome after-party on Saturday night!

We've just uploaded the Final NCDevCon 2010 Schedule and we are very excited to see such great content from luminaries in the industry.

We are at 270 registrations and we'll sell out at 300. Are YOU registered for NCDevCon yet?

Why You Should Come to Pecha Kucha at CF.Objective()

Pecha Kucha sounds like an ancient martial art, or possibly the newest weight loss craze, doesn't it? What it actually is, is a series of rapid fire presentations on a variety of topics. By short, I mean each presenter has exactly 6 minutes and 40 seconds to inform and entertain the audience. By variety, well, you'll just have to show up to see who'll present on what.

As the audience member you'll get 9 different presentations by 9 different speakers in the span of an hour. The presenters promise to be informative, interesting and engaging.

List of Presenters

There is no better way to spend an hour on Friday night at CF.Objective(). Satisfaction Guaranteed, or your money back!

Come to Pecha Kucha at 8PM, Friday the 23rd. See you there!

What To Do When A Hard Drive Fails

When a hard drive crashes, you can lose all your data. Corrupt hard drives happen out of the blue and for seemingly no good reason. If your hard drive fails, what can you do?

One option is to call a hard drive recovery company. If your data is worth a lot of money to you, you can pay a forensic computer company to get the data off your hard drive. Before you write a check though, try a little Do-It-Yourself first.

What is going on inside the hard drive is a bunch of little platters spinning at high speed. When data is accessed or written to the disk, a little head (sort of like on a record player) moves to the right spot and does it's magic. The space between the head and the platter is very very tiny. Freezing the hard drive will shrink the head and the platter ever so slightly, often allowing you to read data.

Here is how I got the data off of a failed hard drive.

  1. Remove the hard drive from the computer.
  2. Place the hard drive inside of a zip top freezer bag. (don't buy a cheap bag.)
  3. Place the wrapped hard drive inside of ANOTHER zip top freezer bag. (yes, you need to do this) (see figure 1 below)
  4. Place the double wrapped hard drive in the coldest part of your freezer.
  5. Leave the hard drive in the freezer for 12 hours at least. You want it good and cold! (see figure 2 below)
  6. Once very chilled, install the hard drive in your computer and start pulling off data. Begin with the most valuable data.
  7. At some point, the hard drive will fail again. When it does, mark the last successfully copied data, pull out the hard drive, double wrap it again and stick it in the Chill Chest for another 12 hours.
  8. You may need to do this a number of times to get all the data you want, or until the hard drive stops working completely.

Double Wrapped Hard Drive

Hard Drive in the Freezer

Special Guest Josh Adams Presents ColdFusion Builder in RTP March 30th

Special Guest, and TACFUG favorite, Josh Adams from Adobe will visit March 30th to present a special session on ColdFusion Builder. Food and drink will be provided and all are welcome.

Directions and RSVP are at the TACFUG Home Page

Make sure to tell your friends and co-workers about this special event!

I present Making Bad Code Good 2010 to The CFMeetup at Noon Today

If you can join the Online ColdFusion Meetup today (March 18th) at noon EST, we'll talk about code, code quality and show you some techniques to help you make bad code good.

This presentation picks up where my 2009 Making Bad Code Good presentation leaves off. Same great concept with all new code samples and techniques.

If you work on a legacy application, or on code built by lots of developers over the years, you likely laugh your way through this presentation. I promise to be thought provoking and challenge the way you write code. In this session, we'll look at lots of code samples and walk through making incremental changes to speed development, reduce errors and make life easier for everyone involved.

Ideas and concepts in this presentation will help you improve your existing applications and write more maintainable code.