Every day I’m on at least 20 calls, and I would have to estimate that recently it seems I am dropping 50% of those calls. Good old AT&T right?
Being the normal annoyed user, I blamed AT&T and decided they couldn’t help me out. I just kept dreaming of an iPhone on Verizon (I still do). › Continue reading
I’m not sure how many readers of this blog have actually used alternate DNS solutions, but those numbers will grow.
Think about it, why would you care when the Google Analytics code is loaded? All it does is capture data, as long as Google gets it — it may as well go out at midnight. The new code enables an “async” request in HTML5. › Continue reading
Just this past week I rebuilt my main work machine (with a fresh Windows 7 installation), and got the opportunity to re-install all of my software. Yes, it’s annoying reinstalling, but theres a great feeling knowing you have a clean install of the freshest releases.
The application has failed to start because its side by side configuration is incorrect. Please see the application event log for more detail.
The fix is easy.
For me all I had to do was download the Microsoft Visual C++ 2008 SP1 Redistributable Package (x64) and install it.
It took a second, but Blender started up just great after installation (there is an installation process, give it a few minutes and installation screens start up).
I logged onto the Microsoft site this morning then purchased and downloaded an official copy of Windows 7 (build 7600 I am reading).
Up until now I have been using the Windows 7 Release Candidate (RC), build 7100.
After following various instructions online about how to upgrade from the Release Candidate to the final version without a complete reinstall (despite the suggestion from Microsoft that you should install a fresh copy after the RC), I ran into a minor snag.
My install forced a reboot, and is now stuck at:
Expanding Windows files (18%)…
With the following lines cycling at the bottom:
Gathering additional information before expanding files
My computer is not frozen, I can move the mouse, or mouse over the “close” button.
How to fix it?
Just wait. According to other sites online, all you need to do is wait for it to finish. This can take up to an hour.
I will update this post with my results of … waiting (see the update next).
UPDATE 2009-10-22 #1
After leaving my computer for an hour and coming back, the install had moved forward. The lesson is to just let Windows 7 do its thing, it will move on
UPDATE 2009-10-22 #2
It eventually got stuck on “Transferring files, settings, and programs” at 42%. I left it for 3 hours, and had no change. I restarted. At least I reverted back to my old Windows without a problem.
I have since restarted the installation seemingly without the “18%” problem this time.
While I’d like to say that you’d hope Microsoft would make sure the install went through without a hitch (it is the first impression), I have to keep in mind that I am doing something that Microsoft does NOT recommend, upgrading from a RC version to the RTM (release to manufacturing). Has anyone had the same experience doing an upgrade without altering the cversion.ini file?
UPDATE 2009-10-23 #3
Well after leaving the computer all alone, it was still stuck at 42% on the “transferring files, settings and programs” step. I’m admitting defeat and will just perform a clean install sometime next week. Too much work to do it now.
UPDATE 2009-11-12 #4
Finally, I wanted to post the final resolution. I had to install Windows 7 clean. After the previous stop points, it eventually just didn’t move (after leaving it alone for up to 24 hours at one point). I have to say, the clean version is running excellent.
Summary, do a clean install. You’ll thank yourself.
In my days as a web developer I’ve probably worked with about 100 other developers. Every team I’ve been on, I always knew who would (correctly) pump out bug after bug, and who would sit with a single bug for weeks.
Think of the slowest developer you know. They usually are reluctant to learn new development methods, new software, and practices. These slow developers can spend days or weeks on a single bug, constantly absorbing your time as they stare blankly at a bug.
Sometimes there are reasons for this:
- They have never worked in this environment
- They do not want to ask for help
- The bug is actually hard
- They can’t even find where to begin looking
Just today I found a blog written in July by Steve McConnell titled:
Numerous studies have found 10:1 differences in productivity and quality among individuals and even among teams. This blog contains Steve McConnell’s thoughts about how to move toward the “10″ side of that 10:1 ratio.
How true is that statement? We’ve all been on the projects where we wish we had “5 Toms” or 3 of another developer. Why? Not only does he get it, he knows how to handle software development.
How can you improve your software development speed?
First of all, speed isn’t everything. Lets define speed, by the total time it takes you and all others involved to complete (not just submit a fix) a task.
If you get a task and submit it for approval (or even worse, just deploy it) consider the time it takes the QA team to look at the bug, boggle their head when it still isn’t working, document the bug and assign it back to either the project manager or yourself. Yes, the QA team would have looked at the bug anyway, but now they have to do it again. The project manager now has to review this bug, and reassign it to you, or you yourself have to read it again and develop again.
There is a huge delay in speed when submitting a completed task that is not complete.
To establish a baseline, it is top priority to submit fully tested and fixed bugs. Otherwise you are just wasting everyone’s time. The bug won’t go away, you know it will come back.
We are now submitting actually fixed bugs (we tested ourselves, and they work in all possible scenarios) … how can you improve your speed?
- Talk to other developers on the project, someone always has a better software package, or better way to handle those time consuming repetitive tasks
- If at all possible, automate compilation. Use Ant or a build script, but somehow, you need a way to quickly (and CONSISTENTLY) compile your work. Nothing sucks more than trying to troubleshoot a bug, only to realize you didn’t compile the same files the same way.
- Expedite testing of your tasks. Local servers are great for this (and make it easier for the rest of the team). Every time you test a change, you have to spend time doing the actual test. This takes maybe 15 seconds, but sometimes you do this 100s of times for every bug you complete (or more). 15 seconds * 100 times = 1500 seconds that is 25 min. of time. If you get it to 3 seconds, you have just gained 20 minutes worth of time to fix that bug.
- Always search for new tools. Aside from talking to other developers, you can research better ways to do what you are doing.
- Communicate with everyone. A project takes a team to complete (usually), so if you are speeding ahead and done weeks ahead of everyone, the project is not going to be done earlier. If you are ahead, help out your team members, proactively provide faster / better ways to do tasks. Additionally, it is easier for the client to react to a delayed delivery when notified of it earlier on. While it may take time from your schedule to say you messed up estimation (it happens, a lot), the client won’t have to scramble and can establish a well thought out backup plan.
- Keyboard Shortcuts. When I code I get into a groove where I hit buttons almost like playing music. There is a beat to saving, tabbing over, repeating last compile command, tabbing over again, and refreshing a web page. How many times do you save a file? Ctrl+S is much faster than using your mouse (I know, it’s a basic example, but you get the idea).
- Don’t get stuck. Obvious, but still not easy to do. When you get to a bug that you just can’t solve. Don’t. Move on to another one that you can, notify the team that you are stuck on the bug, maybe someone else can fix it who has a different perspective on the issue. Software development shouldn’t be about ego, it is about working with everyone towards a single common goal.
- Make a list. I hate lists. Ask anyone who knows me, family, friends. They are great for putting things in perspective. If you have a list of 20 tasks to do this week and are stuck on #3. You know you should MOVE ON. Getting 3 out of 20 is much worse than 16 or 17 out of 20. You also start to see groups of tasks that involve the same set of files or code and can work on them together.
- Test frequently. Sweeping changes to code never work. I’ve been on countless projects, and then minute I start feeling bold and implement 2 or 3 fixes, I always have to go back and fix something.
- Learn to debug code. I cannot emphasize the importance of this one enough. Debugging code is perhaps the single greatest skill any developer can have. Usually the hardest part of fixing a bug, is finding the bug. Here are some hints:
- Binary search is amazing not just for searching, but sub dividing code. Comment out half of your program, see if the bug is in that half or not. Even if you have no idea where the bug is, you can eliminate 50% of your options with a few comments (ok, sometimes you can’t quite do this, but you can get close). Within a few attempts you will narrow down your scope.
- Don’t be afraid to get ugly. I always make sure when I’m debugging, to make things as visible as possible. If I’m debugging a flash project, I make big ugly bright colored shapes appear when code is executing. Use system.out, writeln (Pascal, there’s an old one), trace, alert, anything that will help you know more bout what you are doing
- Use debuggers. Debuggers are your friend. You can see variables, set breakpoints to inspect loops. Frequently developers think they can just “alert(‘test’)” their way out, but there are many free debuggers out there (some are already on your computer).
Another big one, is don’t post blogs while working! Focus.
Usually some non code related things get me going faster too. A clean workspace, work friendly music (sometimes classical, sometimes club music, you pick your mood). Sometimes its a snack you grab in between bugs as a treat.
Best of luck everyone, check out that blog again: 10x Software Development
Occasionally you run across something that makes you think.
This morning I saw a video on the new interface for multi touch computers.
We use multi touch every day (well, at least some of us do) with our portable devices. That is mostly two fingers. Why would you need more?
Check out the video introducing the proposed method of handling desktop multi touch. It is provided by 10/GUI, showing how multi touch is not only feasible but presents some advantages over traditional “single touch” desktop interfaces.
Help! Working in Drupal and having trouble getting stylesheets to work? Did they break all of a sudden in Internet Explorer only?
I can’t see my stylesheets anymore in IE6 or IE7!
Internet Explorer limits the number of stylesheets included with a LINK tag
That’s right. If you include an additional CSS file beyond 30, it will break other CSS files.
This problem is only in IE6 and IE7. Officially I’m sure Microsoft says the fix is to upgrade to IE8.
What code causes the problem? Perfectly valid code below:
[sourcecode language='html'] [/sourcecode]
Just repeat that 31 times, and you will see an error.
While <link> tags may have issues beyond 30 stylesheets being included, you can cheat with using @import.
For example, include CSS using the following instead:
If you’re working in Drupal, there’s a module that implements this fix for you, IE Unlimited CSS Loader.