Three months ago, folks, I began âThe Telecommuting Experimentâ with what I now know as a small âstart-upâ based in the Pacific Northwest. This little ditty has come to a conclusion and I have learned loads of new things about building Web sites. My job now is to ramble though all of these things as best I can, using a few Delicious.com links along the way:
My biggest of the spoils taken from this intense Web-building experience is revisiting grid-system theory and frameworkingâin short, I was exposed to the 960 grid system. This system is far more mature, modern and elegant than my Biggest Box stuff.
A little less embarrassing than my previous ignorance of the 960 grid system is not knowing about Flash of Unstyled Content (FOUC)âvery hip jargon. I got FOUC for free with jQuery UI widgets. In âHow to prevent a FOUC but still gracefully degrade the jQuery UI tabs,â TimothĂ©e Carry-Caignon writes, âThey are pretty useful actually, but I always hated that FOUC they produce. For one split second, youâll see all your tabs content, then theyâll be neatly re-arranged in tabs.â
In âStyling select, optgroup and options with CSS,â Chris Hope says, âAs per my conclusion at the end of the post, itâs probably better to leave styling of select boxes,
optgroup and options alone and just leave them as the defaults because cross browser styling is so inconsistent itâs not worth the bother.â I agree with this but I often forget about thisâso writing this down (finally) might help me.
Eric A. and Kathryn S. Meyer have CSS Reset. I can appreciate this but do not find it necessary. But remember this coming from the guy that had no idea about the 960 grid system.
_.sortBy method described in the docs had me at hello.
This article, âLooking for a JQuery plug-in similar to [Accordion], but that allows multiple sections open at once,â underscores the
The jQuery Time Entry plugin seems to work without any surprises.
Eric Hynds has this jQuery UI Multiple Select Widget that impressed me in the field. Iâm feeling like it can be alternative to tree viewsâspeaking of which jsTree worked without unexpected inconveniences.
jQuery Plugins: Hiding/Showing Certain Super âRichâ Widgets, an Unexpected Inconvenience
Super rich widgets/plugins like SlickGrid and CKEditor have super-inconvenient unexpected behaviors when attempts are made to wrap them in containers that hide and show (like sticking a grid inside of an accordion panel). It was difficult to accept that I had to call some kind of refresh method (in the case of SlickGrid) or destroy these visuals and rebuild them (in the case of CKEditorâit has a âdestroyâ method). But I had to accept this for last three months.
Visual Studio 2010, an Early 2010 Version of CodeRush and VS Extensions
I have this picture that I showed to Seth Juarez of DevExpress. Heâd never seen anything like it. I was getting this annoyance every few minutes followed by the error message, âVisual Studio has encountered an exceptionâŠâ This was really getting in the way over the last few months. I have uninstalled CodeRush and have not seen the error since. I am still not convinced that CodeRush is culpritâŠ it could be other Visual Extensions (as the error message denotes) but the extensions one would suspect are all written by Microsoft and are quite popular (like PowerCommands for Visual Studio 2010 and Productivity Power Tools).
Mercurial and Bugs
In âThe IT Workplace: Doing it Basil Style,â I wrote about the excruciating experience of having my code overwrittenâespecially when working by the hour with a bunch of miserly cretins. What I have experienced with Mercurial over the last three months effectively takes that pain awayâŠ I was using Mercurial with Kiln from the Joel Spolsky camp. Mercurial allows developers to have local repositoriesâso this whole overwriting thing can happen on the communal server but, locally, there should be a
changeset to run
hg merge (see âHow to fix multiple heads?â).
Yes, speaking of Joel on Software, I did use FogBugz over the last quarter but I canât really say much more about itâapart from having no complaints about user experience. With FogBugz and Team Foundation Server (before), I am already used to writing comments about resolving a bugâbut whatâs new for me now is writing down the analysis processâdescribing what I call the bug situation. I find these advantages:
- These writings about the bug situation can turn into email messages for another programmer better positioned to resolve the bug and can use your writing as instructions to get the job done, very, very fast (and look very impressive to penny pinchers wearing rose-colored glasses). This happened to me twice just over the last few daysâand Iâm willing to do this again (I donât care about making other programmerâs look âgoodâ in the eyes of unobservant managerial types in a healthy job market).
- It helps me to actually learn about someone elseâs code instead of looking like I have learned about the codeâI donât look like that.
- It helps me to actually manage the complexity of an application instead of being intimidated by the complexity of an application.
- It helps me to remember the particular viewing angle into the tiers. I often rebel against a design that I assume is too complex and I have difficulty remembering what Iâm looking atâŠ
- In most âfast pacedâ environments you have no idea which bug will take five minutes and which will take three days (this is actually a sign of managerial/architectural problems or a sign of ârock starâ programmers hiding their faults from managers that trust themâor both). By journaling through the bugs you can get a better idea about which ones will be âeasyâ and then the othersâŠ
- It helps me deal with what I consider one of the worst kinds of bugs: bugs that are actually requests for missing features. What can be quite evil is when these âbugsâ are âsincerelyâ regarded as trivial issues when these are actually serious, full-blown development tasks. What this can mean is that the ârock starâ programmer of the IT shop is not really doing their job and is marking tasks as complete when they are not. This makes the ârock starâ appear timely, on schedule when they are really passing the buck among penny pinchers.
Formally writing down the bug analysis should be considered a part of the analyst part of the job title Programmer/Analyst, which I have held for many, many years. I have no guilt, hate or deformed respect for any penny-pinching barbarians out there that are quick to assume that you are trying to overcharge them for spending an hour (or more) analyzing a bug. These cheap folks canât have it both ways: a bug quickly marked resolved and a resolution carefully done that does not cause regression (or a new bug).
One interesting thing about FogBugz is the concept of Evidence-Based Scheduling (EBS): âEBS doesnât give you a single ship date. Instead, it produces a probability distribution curve. That means that for any given date, it tells you what the probability is that you will ship by that date.â EBS is quite different from GBSâGreed-Based Scheduling.
The Telecommuting Experience
I can find another job. But I am not likely to find another telecommuting job. This job allowed me to take my seven-year-old daughter to school personally every day. In spite of the huge technical benefits, this time spent with my daughter was the greatest reward of the experiment.
It is very likely that I will return to fossil-fuel commuting.