Rule 417: You will work every bit as hard or harder on small, low budget jobs as you will on large jobs.
Note: This rule is unbreakable.
A juggling technophile shares personal stories, challenges, humor and perhaps some political commentary.
All things geeky.
Rule 417: You will work every bit as hard or harder on small, low budget jobs as you will on large jobs.
Note: This rule is unbreakable.
I was amazed with Jott when it first came out and it quickly became my favorite memory aid, mind declutterer, and to-do list organizer. Jott allows you to speak a message and have it transcribed to your Jott dashboard, Twitter, Remember The Milk, Google Calendar and many more services. It works through a combination of speech recognition and human transcribers. Then the honeymoon ended and Jott brought its free version to a close. I recently deemed this tool important enough to me to sign up again and it has already paid for itself.
I let Jott send me reminders to both SMS and email. Our neighborhood lacks an association so I sent myself a note. This is what Jott sent me in email. (Click the picture for a larger view) Thank you Jott! Shh. Don’t tell Cathy.
My home network has my development servers on it. One is an antique Windows 2000 server which is currently out of commission for bad memory, and the other is a Ubuntu Linux workstation tweaked to run SAMBA, PHP, MySQL etc. Used to be any machine on the LAN could open up Windows Explorer (or Ubuntu’s Places) and surf to another machine: My Network Places -> Entire Network -> Microsoft Windows Network -> Workgroup and then see all the machines on the network and browse to a shared folder. Now I get an error message:
Workgroup is not accessible. You might not have permission to use this network resource. Contact the administrator of this server to find out if you have access permissions.
The list of server for this workgroup is not currently available.
And from Linux (Places->Network->Windows Network):
Unable to mount location
Failed to retrieve share list from server
It’s conceivable that the Windows 2000 server was acting as a domain controller but the LAN is setup on workgroups not domains. Let’s assume the source of this problem is the now semi-retired Windows 2000 server. My home router is a D-LINK DIR-615. So the challenge is to get either the router or the Linux box to fill whatever role the Windows 2000 server used to perform to make my network browseable. Please note that if I refer to the machines specifically, I can still work with files from that machine. So \\mickymouse\familypics would still allow the family pictures to be seen all over the house. The problem is the same for printer sharing. I cannot browse to a shared printer but if I know the \\machinename\sharename I can setup a remote machine to print to the shared printer.
Wow! Mention "Google Wave invite" er…nomination or simply "I have a Google Wave account" and you have friends coming out of the woodwork that you never knew you had! Actually that word friend is fuzzy in meaning to me in this new age of social networking. I mean, most of the people who have begged me for an invitation to Google Wave are people I’ve never heard of. And not one, not one!, has offered me so much as a steak dinner in exchange for the invite…er, nomination. People! These things are going for $80 on eBay.
So who should get the 8 invites that came with my account? Well.. no one else because I’ve given all mine out. But who should have received them? My clients. See, Google Wave is about collaboration. At least that is my take on it. So, to get an invite from me, you should have said, "Doug, I know you have PHP and CF skills. Hook me up on Google Wave and let’s run a small project through this together." That’s call equitable plus it uses the tool as is designed. Instead I feel like I’ve largely been approached by strangers wanting to declare "I have a Google Wave account before anyone else. My penis is large!"
Now let’s talk about these invites Unlike GMail where Google genuinely offered invitations that allowed me to instantly bring someone else into the project, Google Wave is offering nominations. (Btw, I still have 99 invitations to GMail if anyone needs one and those are free!) If a nomination is truly a nomination, then the more of these that you get, the faster you will get to the front of the line. If you want to test this theory and have invitations available, contact my wife @cathymccaughan and send her an invite..er, nomination, and let’s drive her to the front of the line. I have seen no documentation that indicates 10 invites..er, nominations, will get you to the line faster than one but it seems sensible to me. We could start a Wave about this but you’ll need an invite..er, nomination first.
Who got my invites? My invitations went out to friends, family and clients with whom I may actually collaborate. If you didn’t get one, that means 1) that maybe I added you to my nomination list and your invite just hasn’t gone out yet or 2) I simply ran out of invites..er, nominations before I got to you. My apologies.
I tried Google Wave and see great potential in collaboration. I also see Google Wave treading into Facebook’s territory not Twitter’s. Mashable has the best write-up thus far including a reference to Google Wave’s advance serarch commands. Robert Scoble discusses the overhype and sums up the problem I’m trying to get my head around "noise" and "I don’t know where to look".
I tried TinyChat which is a video chat service that promises to supplant Skype but the true potential is in the features included in the $14.95/mth price. The video quality is high. The features are well integrated into the user interface. I think this could be a lot of fun for synchronous chat but I question why use TinyChat instead of ustream.tv or Livestream.
I’ve also tried Twirl TV which looks a lot like Hulu for the networks. They also claim to only be letting the first 10,000 people in.
Internet Explorer 8 introduced a button beside the address bar that looks like a rectangle with a break through its middle. If you click it, Internet Explorer reports, "Compatibility View on" but the button does not clearly indicate if compatibility view is on or off. Compatibility view is Internet Explorer 8 pretending to be Internet Explorer 7. To prevent your website visitors from clicking this button, simply make it go away:
Include either the following meta element (which in invalid in HTML5) on your page <meta http-equiv="X-UA-Compatible" content="IE=Edge"> (before any script elements!) or set the following HTTP header on your page: X-UA-Compatible: IE=Edge
[Source, hsivonen.iki.fi, Activating Browser Modes with Doctype]
Yea there was Gopher and it was good.
Lo and behold, Mosaic!
And it was slow.
Veronica, Gopher, and I were the hare to the Mosaic tortoise.
But Mosaic was pretty.
And Netscape Navigator became standard.
Microsoft saw Mosaic was good and, like Netscape, based Internet Explorer upon Mosaic’s code.
But Microsoft was evil and the world loved Netscape.
Programmers knew code must work in Netscape and then maybe in Internet Explorer.
Microsoft released Internet Explorer 3 for W3C standards were good, and CSS was good, as long as Microsoft could have some of their own proprietary "standards."
Still Netscape dominated.
Enter Internet Explorer 4 and Browser War I was lost.
Now we tested for first for IE3, IE4, and then Netscape Navigator.
Internet Explorer 5 – meh.
Quirks mode – blah.
WML? No one will ever browse with their phone. WAP!
Internet Explorer 6 – WTH!
Opera.
Mosaic beget Navigator beget Mozilla.
And geeks professed the end of Microsoft while normal people replied, "Firewhat?"
Internet Explorer 7 -FTW.
Now we tested for Internet Explorer at least version 7 and 6, Mozilla/Firefox, and maybe Navigator.
Oh, don’t forget to test with JavaScript enabled and disabled, delete your cookies, clear your cache but be ready to explain this to your end users, and don’t forget the magic reboot.
Internet Explorer 8 – is great?
Be sure to include conditional code for a special IE6 cascading style sheet.
What is Flock?
What is compatibility mode?
All hail Google’s Chrome!
What do you mean? Regular people use Macintosh computers!
Apple has a browser? Safari!
Browser War II.
The website looks different on your phone than your computer?
When you say your Internet enabled toaster prints the New York Times fine but my blog burns your toast, is all the bread blackened or just the crust?
And my website does not control the spooling on your Internet enabled toilet paper dispenser.
And if the ink is smearing on your butt, that just means you are wiping before reading the paper.
What is browser compatibility? Testing against this list.
Today I have a website that looks good in Internet Explorer 6, Firefox, and Internet Explorer 8. I have not been able to test it in Internet Explorer 7 but will be fixing that today. However, if I put Internet Explorer 8 into "compatibility view," my horizontal list based css driven navigation menu breaks. IE8 Compatibility Mode and IE7 are NOT the same thing! There are many differences between IE8 compatibility view and IE7. So today I’m playing with Internet Explorer’s Virtual Compatibility images.
Interesting, this browser history appeared in my feed today after I posted this.
Woot! I received my Google Wave invite today. Reviews to follow.
The LA Times on How Google Wave could transform journalism.
I don’t like explaining this to my clients but sometimes the solution to the problem is simply…magic.
After fighting with trying to clone my old 60 GB hard drive to my new 500 GB hard drive, I finally gave in and started from scratch. Since I was installing from Windows XP sp1 I was limited to 137 GB partition. Once Windows XP installed successfully I upgrade to sp 2 then sp 3 and installed all security patches and updates. Then I began reinstalling software beginning with Avast antivirus first quickly followed by iTunes.
Everything seemed to be going very well until I decided to actually switch back to working on the machine. I tried to remap my development servers but cannot browse my network. I get the error message:
WORKGROUP is not accessible. You might not have permission to use this network resource. Contact the administrator of this server to find out if you have access permissions.
This list of servers for this workgroup is not currently available
Guess I’m network troubleshooting this weekend.
Update: I made an important discovery today. None of the computers in the house see each other anymore. I used to be able to open Windows explorer and browse to My Network Places then to Entire Network then to Microsoft Windows Network then to MSHome (the workgroup) then to a specific machine that was visible on the network. However at the workgroup level the error message above occurs. I thought it was specific to this Windows XP machine but I reproduced it on another Windows XP machine. Then I tried browsing the network with Windows Vista and also could not see any of the LAN. So on my newly installed Windows XP machine, I tested pinging various machines on the network with success. So in Windows Explorer I typed a machine name and a known shared directory "\\mickey\www" and successfully browsed the remote directory. I then successfully mapped the drive. On my Ubuntu Linux 8.04 workstation, I clicked Places then Network Servers then Windows Network and get the message "Unable to mount location – failed to retrieve share list from server" which in the past would have simply listed all the devices on the local area network.
For most of the past decade I have coded using CFStudio 5. It is a fantastic editor that was bought by Allaire from another company under the name Homesite. CFStudio was a more robust version of Homesite. Eventually CFStudio was abandoned which probably had something to do with Macromedia buying Allaire and wanting to promote Dreamweaver as their preferred editor. Now that Adobe owns Allaire/Macromedia, CFStudio has been reborn as Homesite+ and Dreamweaver still exists.
When my computer crashed, I found myself reinstalling everything. Yes, the computer is back up. It is running Windows XP and has a 500 GB hard drive. I can finally download all the podcasts I want! It also begs the question of whether or not I am using the best IDE for my purposes. I am not an eclipse fan. I see the potential and I really want eclipse to be a good solution but I’ve had too many bad experiences with it. For the past several weeks I have been coding in Notepad++ and although the compare plugin rocks the editor itself is really just an editor and I need an IDE.
Suggestions? IDE should accommodate PHP, ColdFusion, CSS, JavaScript, etc.
Does anyone know how to force Windows 98XP to install to a different drive letter than C? I need my Windows XP installation to be the E drive. I’ve run out of tricks.
I spend a lot of my days staring at stuff like this:
fV,da){var result=[];for(var i=0;i<=da.length-1;i++){if(da[i]!=fV){result[result.length]=da[i];}}return result;};function um_aM(fV,f){for(var i=0;i<=f.length-1;i++){if(fV==f[i]){return true}}return false;};function log(fi){regetPopDoc();var fW=um_K.getElementById("debugHint");if((um_v)&&(fW)){fW.value=fi+"\r"+"\n"+fW.value;}};function um_aZ(fV){var dn=0;if(fV.offsetParent)while(1){dn+=fV.offsetLeft;fV=fV.offsetParent;if(!fV.offsetParent)break;}else if(fV.x)dn+=fV.x;return dn;};function um_ba(fV){var dp=0;if(fV.offsetParent)while(1){dp+=fV.offsetTop;fV=fV.offsetParent;if(!fV.offsetParent)break;}else if(fV.y)dp+=fV.y;return dp;};function um_aF(el,gP){if((um_J)||um_I||ie){var gX=gP.split('-');var gY='';if(gX.length>0){gP="";for(var i=0;i<=gX.length-1;i++){if(i>=1){gY=gX[i].substr(0,1);gY=gY.toUpperCase();gY+=gX[i].substring(1);}else{gY=gX[i];}gP+=gY;}}else{}}var x=el;if(um_p||um_n||um_o){var y=x.currentStyle[gP]}else if(um_q){var y=eval('x.currentStyle.'+gP);}else if(um_I||um_J){var y=document.defaultView.getComputedStyle(x,null).getPropertyValue(gP);log('get style: y is '+y);}else{var y=document.defaultView.getComputedStyle(x,null).getPropertyValue(gP);}return y;};function um_aN(){var fB=navigator.userAgent;var hd=navigator.appVersion;log('navigator is: '+fB);log('version is:'+hd);if(hd.indexOf('MSIE 5.5')!=
I primarily work with people who have clients that need digital magic to happen. The tag line on my business card is "I solve problems". For the longest time, I was drawn to projects that started off with descriptions like "We’ve had 3 other developers fail to get this done" or "That expert in Florida says this can’t be done." I liked these projects. I liked the challenge and I could usually get it done. However, they are high risk and often not very profitable. Usually the reason three other developers fail to accomplish the task has less to do with a programming problem and more to do with a management problem. It is hard to pay the mortgage with "man that felt good!"
I still work with people who have clients that need things done. Effectively I build web applications for businesses but I usually go through a middle (wo)man. In the past this middle person has been a venture capitalist trying to launch his clients with the greatest of success. It has been other developers with too much on their plates. Most often, designers/artists that need functionality programmed into the website. Imagine you had a bookstore and wanted to sell your books online. I’d be the person who writes the shopping system that allows your customers to browse books online, add them to a shopping cart, and make the purchase online. The part of a website like that which most people never see is the inventory control part. That’s where the employees log in to add or remove books from the system. It’s just a big a project as the front end where the shoppers go but instead of thousands of people seeing it, 2, 3 or 10 people use it. Of course, you cannot sell books online without a tracking system for shipping so I would write the code that generates shipping labels, ties into UPS or Fedex or the post office, and tracks the packages. Then if your bookstore decided that it wanted to manage it’s human resources through the web with a punchcard system for managing when employees clocked in and clocked out, scheduling of employees, and payroll (tying the system into Quickbooks), I’d write that. Next if you decided the punchcard system wasn’t efficient enough and you wanted the employees to wear RFID id badges and used those for clocking in and clocking out, I’d write that.
Now there isn’t a computer person alive before the time of the Geek Squad who didn’t say, "wow! I need to create a business repairing people’s computers." The Geek Squad was not an original idea. I know I had the vision of teams of nerds running to people’s homes fixing computers. I did it for awhile. I know I have friends who had the same vision. But Best Buy had the resources that we lacked to launch. Tthere is not profit in repairing computers. Computers have become disposable. What holds value is data. If people would move their work primarily to The Cloud or create and understand a backup system that removed the dependence upon a particular machine, then instead of paying a geek to repair your computer, you could just buy a new one! The Geek Squad doesn’t make money on repairs. It makes money on upsales. When you get a repair and they sell you an Antivirus program or a new hard drive or another memory stick then they make money.
I do fix computers for friends and family. I charge a flat rate of $135 which is less than what you will pay the Geek Squad. I don’t know if it is true but I’ve read that the Geek Squad will also put in a limited number of hours and then declare that the computer needs reformatting. I won’t do that. Usually I put 5 hours into a machine plus I run some diagnostic software overnight and dust out the computer. It’s a nice thing to do on a weekend. My effort amounts to substantially less than I charge hourly for programming but there is a good karma to making sure someone’s computer is functioning correctly.
However, sometimes I get bitten. I took in a friend’s laptop because it was hanging/locking up. I was thinking some malware had a hold of it. A week later the computer is still with me and starting to get in the way of my real work and my friend is becoming frustrated. It may have some defective hardware but the diagnostics I have run have not found any physical problems. It might be a driver problem but downloading the latest drivers from the manufacturer’s website didn’t help. This is a Dell Inspiron 1525 running Vista with service pack 1. Any attempt to install service pack 2 takes an hour to install and at the very end of the process, the installer announces "failed" and reverts back to sp1. Right now I’m sitting on a BSOD:
A problem has been detected and Windows has been shut down to prevent damage to your computer.
IRQL_NOT_LESS_OR_EQUAL
If this is the first time you’ve seen this Stop error screen, restart your computer. If this screen appears again, follow these steps:
Check to make sure any new hardware or software is properly installed. If this is a new installation, ask your hardware or sofware manufacturer for any Windows updates you might need.
If problems continue, disable or remove any newly installed hardware or sofware. Disable BIOS memory options such as caching or shadowing. If you need to use Safe Mode to remove components, restart your computer, press F8 to select Advanced Startup Options, and then select Safe Mode.
Technical information:
*** STOP: 0x0000000A (0x00000018, 0x00000002, 0x00000000, 0x81C590FC)
This screams bad hardware or a bad driver. However, I’ve read that this goes away by installing service pack 2. That would be the thing that installs 100% then reverts back to service pack 1. Oh the irony!