Just once I’d like a Monday to start off with something that doesn’t look like this:
An error occured while Parsing an XML document.
Content is not allowed in prolog.
Update: The XML file had been corrupted on uploading it to the production server. Uploading a zip file and extracting it on the server solved the problem. Also added trim() to make sure there was no extraneous whitespace.
Yes! I have been fighting a horrid coding problem and the code just lost! I beat it! I mean this is the type of problem that makes you have bald spots and want to give up programming for something less painful like digging latrines in third countries. This is like I’ve been trying to build a car engine but everything is in metric and all my tools are SAE and the client doesn’t care about the engine but really wants to know why the paint isn’t on the car yet. Oh how I want to be beyond the paint and putting the last bit of polish on the application. Today I should be able to make much progress. Oh wait, no I have to be at the body shop by 8am! Guess my workday will begin at 10am. How frustrating!
You know when you are on a tight schedule, the stupidity that comes with MS SQL, ColdFusion and a Windows Server can make you go bald. There is no reason for something as simple as creating a datasource to be throwing dumb error messages!
Connection verification failed for data source: foo
java.sql.SQLException: [Macromedia][SQLServer JDBC Driver][SQLServer]Login failed for user ‘foouser’. Reason: The password of the account must be changed.
The root cause was that: java.sql.SQLException: [Macromedia][SQLServer JDBC Driver][SQLServer]Login failed for user ‘foouser’. Reason: The password of the account must be changed.
The password has been changed half a dozen times!
Update: Ah! Either 1) Know what your password policy is and make sure your password is compliant or 2) turn off “Enforce password policy” and “User must change password at next login” (which was my problem). For a datasource, you can probably remove the check from “Enforce password expiration” as well. Note that if you try to do all three of these at once that you will get errors. Remove “User must change password at next login” first then “Enforce password expiration” then “Enforce password policy”.
Years ago I ripped all the paneling out of the downstairs, tore out cabinetry, plumbing, a sink, and a wall. I waterproofed the concrete block wall first by filling any cracks with a mortar then painting the block with a thick waterproofing sealing primer. The wife asked, "why is this taking so long?" I then created studs for the new wall which included a walk-in closet and a nook that the previous setup did not include. The wife asked, "why is this taking so long?" I pre-drilled the studs for wiring and ran electric, cable (to multiple drops), and ethernet (to multiple drops). The wife asked, "why is this taking so long?" Next I insulated the walls and hung the drywall. The wife asked, "why is this taking so long?" Finally I was able to do the tedious step of applying joint compound (spackling) to fill the gaps and cover the drywall screws. If you mess up the joint compound, the mistake will be clearly seen when paint is applyed. I sanded and sanded and reapplied compound and sanded and sanded. The wife asked, "why is this taking so long?" Finally I was able to put a coat of paint on. The wife asked, "why didn’t you do that in the first place?"
Often my programming is very similar. A lot of detail goes into the framework of the site, that is the behind the scenes stuff that nobody ever sees. As a matter of fact, if I have done my job well, anything complex should be hidden from the user and the website should leave them with a "wow that’s easy! I could do this!" feeling.
My current project involves using ColdFusion to fetch a large amount of data from a data provider (some other company that has a really big database which frequently updates) in an xml format then parse it to save the results in my client’s database. I have made it over a huge challenge! But all my work is invisible to the frustrated client. I’ll put up the visible side shortly and I fear the client will ask, "why didn’t you do that in the first place?"
Please, I beg you. If you ask people to make a website for you or if you are an artist/designer that gives templates to a scripter or coder, watch this video all the way!
In what has to be the dumbest thing I have seen all week, the DOM Inspector plugin is available on the Mozilla website only at its 2.0.0 version. The DOM Inspector 2.0.0 is only compatible with the unreleased Firefox 3. The current stable version of Firefox is 2.0.0.13. I was having trouble with Firebug not displaying styles and one troubleshooting step is to reinstall the DOM Inspector. Whoops. Not anymore! Guess I have to install the FF release candidate or just wait. I’m not a huge Firebug fan anyway. I can wait.
I exited Firefox, edited the xpti.dat file and replaced the
line
223,inIDOMUtils,{ffffd059-13d1-4ef7-acb1-91188c6e31dd},2,-1,1
with
223,inIDOMUtils,{78fd16c2-bdfb-4b1d-8738-d536d0a8f430},0,-1,1
This week I have made great strides at reducing my sleep schedule down to a reasonable 3 to 5 hours. Last night I considered an all-nighter but I was head bobbing and unable to focus so I committed myself to a couple of hours of restorative sleep. A couple of hours turned into too many (5 or 6 maybe 6.5 or 7). I despise sleep.
Time to write some test plans. Yes! I’m actually getting to apply real honest to goodness quality assurance stuff to my work! By no means, does this come close to IEEE but its something.
If you use a query to update a column’s value to -1 and the result is that a positive one is stored in the database, make sure your column type is not set to "bit."
I agree with your breakdown from a web management perspective. The IT guy, the techie, the web programmer should be very focused on The Task, The Project, and The Business Program. With[out] those, the website fails to function.
I have a list of 3 which is about that function. My list is derived from the end user experience rather than the web management side. I address this list with my clients when they are trying to make decisions about their webite:
1. Information
2. Utility
3. Entertainment
That order is important.
People go to the web first for information (e.g. I want to call company X and need their phone number). I am astounded at the number of business[es] that make it difficult to contact them.
People go to the web secondly for utility (e.g. “I want to make travel arrangements” or “I need to do some online banking/bill paying”)
People go to the web thirdly for entertainment (e.g. “going to watch the television show I missed last night,” “watch some youtube,” or “play some games”).
I find businesses mistakenly want to build backwards thinking that if they first build something entertaining that will draw their audience in. Then they can provide utility (often associated with profit). And lastly, if they ever get around to it, information.
People will argue that entertainment should be first in the list but that is a delusion. We may spend more time on entertainment but most people go to the web for information first.
“Social media” is changing the equation slightly. Services like Twitter provide information, utility and entertainment in one fell swoop.
"Social media" is the latest buzz word. What social media is really trying to describe is The Conversation(patent pending). I explain to prospective clients that people came to the Internet for these reasons and in this order:
Information
Utility
Entertainment
When building a website it is important to consider this order of precedence. Most people mistakenly want to build their website or web application in the reverse order providing entertainment then utility then information.
The Internet is a reflection of the real world.
–Doug McCaughan
Yes, I just quoted myself because I cannot emphasize it enough. As I have come to play around with Seesmic, I’ve tried to answer the question of "what is it?" Answers have included "Twitter with video" or "Beyond description" and simply "addictive." But none of those really describe it. This comes closer:
[Seesmic] makes all the other Internet addictions look like over the counter crap.
–Doug McCaughan
To use some analogies, Twitter is like being in a classroom or a meeting and passing notes around without speaking with the ability for others in the classroom to request to see your notes (unless you’ve deemed them private). Utterz is like a party with the lights out. You can hear conversations and participate in conversations but you cannot see anyone. [update: Since first making this post I have begun to compare Utterz to CB radio][Update 8/20/2008: Since first making this post, Utterz has added many features including video. Its UI (UX to the MS heads) has improved dramatically. Utterz added or retained features of linking picture and text posts to separately recorded audio posts. Utterz has grown into a powerful and robust system.] Seesmic is that same party with the lights on. You can see and hear everyone. You can following multiple conversations, or participate in the conversations, or just wander around and hear the ambient noise.
Businesses and people alike need to know that Social Media has combined the 3 important elements of the Internet (information, utility, and entertainment) into a single application. With social media I can post a question and get a response quickly (information). I can interact, for instance, with Twitter I can add myself to the RedCross safeandwell database (utility). And naturally I can be entertained through any of the mediums, Seesmic being the example that says "we don’t need Hollywood!" (entertainment).
This one sounds pretty simple. I bet you can’t do it! (That is coming from the guy who claims anything can be done…I will find a way!).
The challenge: Part 1- Write a piece of JavaScript that pops an alert box with the message "You left!" when focus is lost on the browser. This means that if someone is looking at the webpage in Firefox and then switches to another webpage in a different tab, different window, or goes to a different application altogether (say Microsoft Word or Internet Explorer), then the alert box should appear. Any loss of focus to the active webpage makes the alert popup.
The challenge: Part 2- Write a piece of JavaScript that pops an alert box with the message "You returned!" when focus is returned to the browser. This means if someone was checking their email, using Internet Explorer, or was in a different Firefox tab, when they return to your webpage the alert box pops up.
The JavaScript for this challenge should work in both Firefox and Internet Explorer. The user should be able to repeatedly remove focus and return to focus and see both messages multiple times.
Good luck!
References
Mozilla.org reference to window.onblur Using their code example works differently in Firefox and Internet Explorer. In Firefox, the event fires twice meaning when I move away from the window, I get two alert boxes. In Internet Explorer the event fires once. Returning focus to the window and leaving against does not cause a blur event. So this appears to work once per loading of the window and not through repeated lost focus and refocuses.
One method for programmers to stay focused, keep it simple, and get the job done is to set micro-goals or micro-milestones. "When I get this query returning the correct results, I can take 10 minutes to read/write blogs." These rewards may come in the form of snacks, naps, leisure time, or anything that the coder made find rewarding and a rest from the project. I have found one reward that absolutely does not work! Never set your reward as "when I get ____ finished, I may go to the bathroom." One way or another, you are going to fail!
My challenge is that I have sales people with base locations. Their territory allows them to sell a handful of products but each product can be sold a certain distance from their base location. Product A is eligible to be sold within 10 miles of base location product b 30 miles and so forth with product f being nationwide.
I have to create an interface which allows the end user to say "I’m here and want product ___" and then I show them all the qualified sales people who can get that product to them.
The program should also read the user’s mind so that the dropdown of regions will only show regions that sales people can actually get products to. The mind reading has to happen since product f is nationwide all regions should always be listed…well…unless the user wants product a….
Please design and build me a house. I am not quite sure of what I need, so you should use your discretion.
My house should have between two and forty-five bedrooms. Just make sure the plans are such that the bedrooms can be easily added or deleted. When you bring the blueprints to me, I will make the final decision of what I want. Also, bring me the cost breakdowns for each configuration so that I can arbitrarily pick one at a later time.
…
You must be thrilled to be working on as an interesting project as this! To be able to use the latest techniques and materials and to be given such freedom in your designs is something that can’t happen very often. Contact me as soon as possible with your ideas and completed plans.
PS: My wife has just told me that she disagrees with many of the instructions I’ve given you in this letter. As architect, it is your responsibility to resolve these differences. I have tried in the past and have been unable to accomplish this. If you can’t handle this responsibility, I will have to find another architect.
PPS: Perhaps what I need is not a house at all, but a travel trailer. Please advise me as soon as possible if this is the case.
[Source]
Husband to one wonderful wife, father to five fantastic children, juggler, technophile, freelancer, DIYer, adventurer, volunteer, KO4NFA (2m/70cm), WRMJ225 (GMRS)
Disclosure:
I am a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for me to earn fees by linking to Amazon.com and affiliated sites.