I have a nasty cold right now. Actually it's the flu.. my back is killing me, I'm coughing up my lungs (or at least it feels that way) and I'm running around 38 degree (that's Celsius, I never did switch to F) fever most of the day. It sucks. Alternative? Take medication, so I did..
It made my back pain go away.. it made my fever drop to a more respectable 37.something degrees, didn't make my cough go away but I do think it's a bit better. Unfortunately, together with the fever my IQ points must have dropped. Significantly.
On my way to work (deadline, can't take time off) I almost missed the turn off because I had to think whether it's the right road or not. Nearly missed my driveway on the way home as I didn't recognize the house I've lived in for years..
Code took me about three times as long to complete as usual.. I don't normally have to stop and squeeze my temples to figure out simple things. I already posted one rant today and nearly completed and posted another one... that's just bad form, I know better.
I think I've concluded I'd rather suffer the symptoms of the flu (achy back, here I come) than be half-retarded all day long.
I must wonder, I know strong migraine medication does this to me (unfortunately I do know that one all too well) but it never occured to me that flu medication would have such a strong effect on my ability to think clearly. Of course, normally I just take a sick day when i'm down with something this bad..so I probably just never noticed it before.
I apologize if my entries for the day are not clear or even coherent... blame it on the meds.
I ask, no, I beg if you do nothing else with your code, please, please, please format it properly.
I don't care if it works.
I don't care if there is error handling.
I don't care if it compiles.
I care if it's formatted properly.
Why?
Because re-formatting code just so I can read it takes me more time than fixing bugs in it.
That's why.
Indentation, spacing, break up long lines, logical variable names, avoid global variables, avoid duplication of code, avoid excessively long methods.
Thank you.
This rings quite true..
"There is no more feminism," [..]. Game Over. But it took me a day or two to name the new game. It's "girlism" -- women want to be sexy girls and use all the tricks girls use. Crying, flirting, begging, winking, stomping their feet when they don't get their way, general trotting around showing off their long legs and whatever else they decide to show off thereby distracting and derailing men.
It's about power -- girl power we've always had but forgot about combined with all the stuff we've learned in the workplace. Needless to say, if you're a man and you call us on it, we deny it. The new double double standard. We learned how to stop playing fair.
Reading this entry in Scott's weblog reminded me of something amusing that happened to me once.
Nearly two years ago a friend of mine and I drove to Ohio together to attend a bachelorette party of our girlfriend. We rented a big, white car with leather seats, cd-player, sunroof (convertible was too expensive) and spent hours speeding down the PA turnpike singing along to mostly Rush tunes.
As we were packing the car next morning before our long drive back (Yes, we drove all the way to Ohio for one night..) Annmarie went back into the house to get her pillow or some other personal item she dragged along for the trip. I took the occasion to completely repack the trunk.
AM: "What the heck are you doing?"
Me: "Oh, re-arranging things.. you'll be getting out before I"
I was the one who actually rented the car.
AM: "You're such an engineer!"
Coming from a girl who herself is a programmer.. that really means something.
.. and I'm way too sick to write anything witty, interesting or even remotely amusing.. best I could do is whine and there's enough of that in way too many weblogs as is..
Go read something else.
Louisiana's 197-year- old sodomy law does not discriminate against gays and lesbians, a state appeals court ruled. The state Supreme Court ruled that the law against oral and anal sex does not violate the right to privacy...
That's right, the state can tell you what kind of sex you can have in your own home with a consenting adult partner.
In a country where 12 year olds sing along to sexually explicit songs sang by half-naked vixens.. sigh.
New CERT advisory this morning:
During an NMAP audit of the AOS 5.1.1 code that runs on the Alcatel OmniSwitch 7700/7800 LAN switches, it was determined a telnet server was listening on TCP port number 6778. This was used during development to access the Wind River Vx-Works operating system. Due to an oversight, this access was not removed prior to product release.
*doh*
According to this newsfactor story, a new study has been published by Aberdeen
Group that claims open source software is more insecure than Microsoft software based on a count of CERT reports in the first ten months of 2002.
Obvious fault in this study that comes to mind is that they're pitting what amounts to a number of open source projects against a number of Microsoft products.. as everyone should know these numbers are highly unequal. An accurate comparison would be to compare a typical server setup with linux and other open source software against a typical Microsoft server and then compare the number of reported vulnerabilities.
I registered, read the "study".. It's a one page report listing CERT report counts. Not only are they counting *all* of open source projects but they're also counting all variants of unix packed into one big headline of "linux is insecure".
So who is this Aberdeen Research Group is and why they're publishing this so-called study?
From their Terms and Conditions:
These sponsored reports, white papers, and supplier profiles provide analysis that may be useful in support of internal technology planning processes, sales training programs, and external customer education programs.
Hmm.. key word.. "sponsored". I wonder by whom?
Certain Aberdeen research activities, and the resulting research documents, are funded by Aberdeen. Other research activities and resulting documents are partially or completely funded by retained consulting relationships or sponsorships with a vendor or multiple vendors. Our documents and Web casts include a statement disclosing sponsorship.
Ah, I see.. I wonder who sponsored this study as the promised statement is not on the report.
Authors of this well-researched (they just used CERT reports) and well-thought out (heavy sarcasm) report?
- Jim Hurley -
Prior to joining Aberdeen, he was responsible for providing several technology suppliers with insight into buyer needs, and with guiding several successful mergers and acquisitions.
In other words: Marketing Guy - Eric Hemmendinger -
Prior to joining Aberdeen, Hemmendinger was a senior product marketing manager with a major systems supplier where he was responsible for a wide variety of strategy, product positioning, and product launch activities. He also has in-depth experience with the design and production of complex commercial and military ships and ship-based system
Hmm.. another marketing guy.
Trustworthy study.. that.. FUD, nothing more.
Incidentally.. for an IT research group they're not very well versed in web technology:
Registering on Aberdeen.com will place a cookie on your CPU that will identify you whenever you access free research in the future. We will not ask you to re-register unless that cookie is no longer available.
One must wonder just how they will place a cookie on my CPU.. and you have to re-register if you lose said cookie? These knowledgeable technical guys can't run a database? Sadly, people will read this crap and believe it too.
That's an understatement. This bloody thing was not made for development. I'm not sure what exactly it was made for.. but it's sure as hell is not debugging Java code. .
Weblogic 4.5.1 was crummy, but at least you could run it in debug mode and it only crashed about 4 or 5 times per debug session.
Weblogic 6.1 amazingly enough got worse. Does Bea not expect people to debug their code in a debugger? Not only is it painfully slow (painfully doesn't begin to describe this) but it core dumps every 10 bloody minutes.
So, let's see.. we have..
1. Slower than molasses.
2. Core dumps at the most inopportune moments.
3. Takes forever to start up without a debugger even attached to it.
Why are we using this instead of JBoss again?
*phew* I feel better now..
Good list from Krzysztof.
One thing I feel needs to be added: Format your code well. Make sure it's easy to read and understand. Comment where needed but don't comment obvious things it makes the code harder to read. If editing someone elses code, format consistently with the original author.
Thanks to some lovely ice storms that hit Connecticut Saturday night I have been without power since about 4am last night. (I can tell the time thanks to my line monitoring, finally found use for it!).
Not having power really sucks.. I'll be busy tonight throwing out spoiled food and making sure all my electronic equipment still works.. at least I know my computers work.. and my router..
Few more minutes and it should be warmer than 30 degrees in here as well.. go figure I have gas heat but it doesn't work without electricity. My cats are two little balls of fur snuggled together under a blanket.
I should buy a gas power generator so I can make noise at 4am just like my neighbors.
Together, we boycott Christmas Shopping, Christmas decorations, Christmas cards, and every variety of Christmas Crap. We refuse to support the Holiday Industry. We show our love for friends and family by giving our time and care, not by purchasing consumer goods. We maintain the integrity of giving by giving spontaneously and from our hearts, rather than during a specified season.
Sure, great concept, but you try to explain to a little kid that he/she's the only one on the block not getting gifts due to principles. Sadly, this probably will not create much difference..
Christmas merchandise this year clocked in early October in the department stores.
[via: Lynne]
Overdue car rentals:
The following pictures were taken at easyCar sites of customers who came to pick up cars that had been rented. The cars that they took away are now all at least 15 days overdue and the photographs displayed relate to cars that became overdue after October 1st 2002.
Hm, not sure it will help them get the cars back.. but might make a potential thief think twice.
[via: Tony Bowden]
An interesting article on wired.
A survey on e-mail churn found that merchants lose half of their online relationships with customers when those customers change e-mail addresses when they change jobs, switch ISPs or when their inboxes become too stuffed with spam.
I've had the same e-mail address for hm, 6 years or so. Acutally, I'm cheating, it's just an acm forward to whatever my current address happens to be. Things to do: renew my ACM membership before they cancel my forward.
[via: Teal Sunglasses]
Not only is it wrong to claim someone elses words as yours, it's also really stupid to do it when a quick google search can confirm you are indeed not the author of whatever it is you are claiming to be the author of..
My referrer log pointed me to this thread where a person is claiming to be the author of one of my recent entries.. "Types of programmers". I can guarantee, that this amusing posting was typed straight out of Robert Cringley's book..
I've had Poland Spring water delivery for years. Recently, I decided it's not worth the hassle (I always forget to put out the empties and change my delivery order to something more sane than four bottles a month while using two) and I could use the space in the basement for something more interesting than empty water bottles. So I canceled my delivery and just now (about five months later) ran out of the stockpile of water I built up over the months.
Most of my friends seem to use and like the Brita filters. Why not, I went ahead (to my local, unfriendly Target) and purchased the large dispenser kind. The instructions to use the thing are dirt simple. Any idiot could do it. An idiot could, but apparently I cannot.
They tell you to throw out the first batch of water. Great, I can do that. Apparently I can, all over my kitchen floor completely missing the sink. (I'm talented that way).
Half hour later, after I mopped the floor, dried and consoled one of the cats and threw out a brand new roll of paper towels (which managed to absorb about a gallon of water, hey those bounty towels really do absorb!) I filled the dispenser with water, once again, put it in the refrigerator and happily went on with my life.
Half hour later, came to the kitchen to get some water... my refrigerator.. flooded. How? I forgot to turn off the bloody little spigot that looks to be off when it's really on and it flooded my cage-free-hen eggs, my baby carrots and a couple of cucumbers.
Sometimes I wonder how I managed to stay alive as long as I have. This kind of things happens to me all the time.
The water tastes fine.
One must feel sorry for the victims of this scam.. but I can't help but laugh..
The average blue whale produces over 400 gallons of sperm when it ejaculates, but only 10% of that actually makes it into his mate.
[Don't ask me where I found this one]
Just two more and these were taken while hiking this last Saturday. I thought the mushrooms were really cool, and this is a view of a bicycle trail from a top of a large rock-thingy.
Previous fall pictures. (10/27/2002)
| Photographer to the Tsar Sergei Mikhailovich Prokudin-Gorskii's photographs of pre-communist Russia nearly a century ago in full colour. |
It's a new, studio sanctioned, Internet-based movie rental service. It debuted today..
Interesting concept, good idea, but probably not the best execution. For one, I think $2.99 to $4.99 to rent a movie that you have to download yourself is a little steep.. After all, Blockbuster only charges $1.99 to $3.99 and provides the movie on a neat, consumer-ready disk. Sure, no late fees.. but what if you want to watch the movie again the next day? Netflix doesn't charge late fees either and it comes out relatively cheap per movie if you watch at least 5 or 6 a month.
Two, it's windows-based only. That will cut out many potential customers.. especially considering that the mac and unix users tend to be more on the bleeding edge of technology than windows users.. so that's a big loss right there.
I think it's a good idea.. just not the time for it yet. They would have to specialize, find their niche.. Maybe foreign and indie movies you can't get elsewhere.. If all they cary is typical, mainstream, Hollywood blockbusters they will not survive long.
It's Sunday, perfect day to post a completely useless irrelevant entry that no one will read because it's random and boring.
What did I learn this weekend..
1. Don't stop at a red light with the window down. Apparently it's now a hip new way to pick up women. Requirements: driving a seedy looking bmw and predictable pick up lines. Examples: "You have pretty eyes.", "I don't see a ring on the left hand, what's on the right". Expected result: a vaguely amused out-of-towner who will later post it as an anecdote in her weblog.
2. Neil Gaiman's Sandman series is very addicting. Thanks a lot Tom for making me addicted to comic books, like I wasn't geeky enough yet.
3. Lots of people hate Microsoft, many of them start websites like this one.
Just came back from a Rush concert at the Mohegan Sun casino in Uncasville. It's been a good night.. my concert tickets were free (work), valet parking was free (I think the first time ever I didn't have to pay extra for concert parking) and on top of that I won $56 on the slot machines. My first time gambling.. ever.. probably the last since there's no way I can keep winning and I hate losing.
Not often do you go out on a Friday night and come home with more money than you left with.. Neat. Bed time.
This is probably the funniest satire website I've seen in a long time.. I thought the testimonials were hilarious.. then I read the letters..
Seem to be pretty popular.. so far we have..
1-11 - Scott's original entry.
12 -21 - my entry.
22-34 - Tony Steidler-Dennison
35-47 - again from Scott.
48-54 - Brigham Toskin
Last night I was working on a machine that does not have lsof installed and wanted to find out what pid was holding a certain socket open.
Jeremy told me that fuser could do this. I never knew that... apparently neither did any other *nix geek I asked (work and friends).. how odd that nobody seems to know about this one.. but anyway.. for future reference, before I forget..
Works on linux not on solaris and hpux.
# fuser -n tcp 80
Will list pids which are using that port.. nifty..
output:
80/tcp: 945 9063 9064 9065 9066 9067 9072 9073 9074
On my way to work this morning I was listening to NPR, as I usually do, and heard a segment on the declining numbers of female students entering the computer science major.
I'm sure they are correct in their observation that the numbers are indeed declining, I'm not going to argue that. I am however finding myself disagreeing with their reasoning behind this decline.
One thing in particular that I felt was an erronous conclusion.. the amount of time young boys spend playing video games as opposed to young girls.
I do agree that most video games are geared towards boys, I don't agree that this has anything to do with the probability of a child's future interest in computer science.
Much is talked about how encouragement in the young age leads a child to pick a particular field in the future. I'm sure there is truth in that, I'm not sure this is actually a good thing... I was not encouraged to be an engineer -- it's not a feminine field and my mom is a classic 'old world' mother.. The future occupation she had in mind for me was something a lot more mainstream -- journalism. I am my own example of when encouragement into a certain field doesn't always work.. and if it did I'm pretty certain I would be very unhappy in the profession my mom felt was best for me.
That's one example.. another is a friend of mine who has an MBA. He was strongly encouraged by his parents to go that path.. and in his early 30s decided to go back to school and study what he really wanted.. as working in his profession made him very unhappy.
I suppose what I am trying to say.. if a girl wants to become a programmer... she will.. encouragement or lack thereof has little to do with anything. What children should be taught is to be true to themselves and do what they really enjoy.. not what their parents think is best for them.
Parents don't always read their children's interests objectively.. and sometimes hang on to them for too long.
Yes, there is a decline of women studying computer science, no, I don't think this is something to be concerned about. It will naturally right itself as new generations choose the fields they really desire, not the ones society deems acceptable for their gender role.
I'm getting a new machine at work (my old one keeps crashing, yuck) and got approval to put linux on it instead of our company-standard win2k. I'll be the first employee with linux on the desktop, yay.
All our documentation is in Word format, but that's not a problem since open office works just fine with Word docs.
This will have quite a few benefits for me.. aside from the obvious one, no more windows.
- I'll no longer have to use XDMCP to run X desktop from our sun server on my NT box -- less network traffic.
- I'll work on the local machine, not the sun server -- less stress on that machine (it's shared with a few of my co-workers)
- I"ll never have to see the BSOD again!
I'm sure I'll think of some other ones later..
There is nothing more frustrating than attempting to do a teeny little code change in the back-end and discovering your teeny little code change actually requires changes in 50 different classes all accross the board because someone failed to utilize an interface when they wrote the original code.
Interfaces are your friend. It's good to use them, really.
One thing they do quite well is hide the implementation from the calling classes. Why is that good? Well, when you want to change the implementation you don't have to change the calling classes.. Saves time, saves work, saves QA resources, code is more readable, more versatile and easier to maintain.
Perfect example of when you really should use an interface...
ArrayList (java.util package).. it's a nifty class.. handy, useful, used a lot and it implements the List interface (same package). Imagine you wrote a class at one point that retrieves some data from the database and returns it in the form of an ArrayList. Like so..
public ArrayList getStuff(int id) {
ArrayList rval = new ArrayList();
// magical code that gets the stuff
return rval;
}
Simple, easy, dependable.. but there is a better way! Have you guessed yet? That's right.. an interface!
public List getStuff(int id) {
List rval = new ArrayList()
// magical code that gets the stuff
return rval;
}
What was accomplished here? If at some point you decide you want to use, say, a LinkedList instead of an ArrayList because it happens to be more efficient for the particular purpose you use the results for, the only place you need to change the code is in this little method. Neat, no?
How do you know when a class implements an interface you could use? Javadocs!
Interfaces have many other benefits, but this is the particular one that I somehow wanted to write about today.. no reason, really..
Scott posted "11 Signs You Need a De-Geeking Intervention". Cute and unfortunately all too familiar.
I see your 11 and I raise you a few more.
- You own at least three computers and none of them run windows (ok, this one is actually a big plus)
- You know what SMP stands for.
- You approach an attractive member of the opposite sex and your best pick up line is "Can I recompile your kernel?"
- The line works, they take you home and you actually do recompile their kernel (no metaphors here)
- You read, understood and liked The Cryptonomicon
- When someone asks you which languages you know, you list C, C++ and perl or Java
- You think the idea of a halted linux firewall is really cool.
- You're still reading this and your eyes aren't glazed over.
- You find the above qualities attractive in a member of the opposite sex
- You read my weblog
Sadly, I qualify under all of them.
I'm definitely a hippie programmer.. no doubts there.
The truth is that there are big differences in techie types. The hardware people are radically different from the software people, and on the software side alone, there are at least three subspecies of programmers.[..]
Forget about the first subspecies, the lumpenprogrammers, who typically spend their careers maintaining mainframe computer code at insurance companies. Lumpenprogrammers don't even like to program but have discovered that by the simple technique of leaving out the comments--clues, labels, and directions written in English--they are supposed to sprinkle in among their lines of computer code, their programs are rendered undecipherable by others, guaranteeing them a lifetime of dull employment.
The two programmer subspecies that are worthy of note are the hippies and the nerds. Nearly all great programmers are one type or the other. Hippie programmers have long hair and deliberately, even pridefully, ignore the seasons in their choice of clothing. They wear shorts and sandals in the winter and t-shirts all the time. Nerds are neat little anal-retentive men with penchants for short-sleeved shirts and pocket protectors. Nerds carry calculators; hippies borrow calculators. Nerds use decongestant nasal sprays; hippies snort cocaine. Nerds typically know forty-six different ways to make love but don't know any women. Hippies know women.
In the actual doing of that voodoo that they do so well, there's a major difference, too, in the way that hippies and nerds write computer programs. Hippies tend to do the right things poorly; nerds tend to do the wrong things well. Hippie programmers are very good at getting a sense of the correct shape of problem and how to solve it, but when it comes to the actual code writing, they can get sloppy and make major errors through pure boredom. For hippie programmers, the problem is solved when they've figured out how to solve it rather than later, when the work is finished and the problem no longer exists. Hippies live in the world of ideas. In contrast, nerds are so tightly focused on the niggly details of making a program feature work efficiently that they can completely fail to notice major flaws in the overall concept of the project.
Is seriously lacking in information. I noticed this today as a google search brought me to my own page.. a page that lists comments for one of my older entries.
If a search gives you a link to a page like this.. it is impossible to navigate to the rest of the site or the relevant entry from there. I added a link to the original entry the comment belongs to in the entry title, for now it'll have to do, but I'll be thinking about adding more navigational tools there.
This is something that most of us probably don't really think about since comments are not meant to be seen outside of the context of the entries they belong to.. but I suppose someone forgot to tell this to google!
Redkernel Softwares (no link for you, you lame bastards) has been spamming my referrer logs.. that's bad enough.. but they also fake google searches to show up in my site stats with a link. Slimey.. lame.. and now in my hosts.deny file.. I really need to script this.. I'm sure a lot more people will pick up on spamming this way.
10 hits today.
213.36.82.225 - - [01/Nov/2002:13:31:07 -0800] "GET / HTTP/1.0" 200 1840 "http://www.google.com/custom?cof=AH%3Acenter%3BS%3Ahttp%3A%2F%2Fwww.redkernel-softwares.com%2F%3B&domains=redkernel-softwares.com&q=redkernel-softwares&sitesearch=redkernel-softwares.com" "RedKernel_WebCrawler (<a href=http://www.redkernel-softwares.com/?dir>RedKernel_WebCrawler</a>)"
213.36.82.225 - - [01/Nov/2002:13:31:03 -0800] "GET / HTTP/1.0" 200 1840 "http://webcrawler.redkernel-softwares.com/?5Wla9C61uXJtLnNzyQ" "RedKernel_WebCrawler (<a href=http://www.redkernel-softwares.com/?dir>RedKernel_WebCrawler</a>)"
The blogging roller says so and I completely agree.
In fact I said something pretty similar a while ago.
So I'm testing his trackback function for him.. pretend this is a brilliant post or something :)
There's some nice 'well wishes' there.
But I'm really attempting to ping this entry.
Slashdot posted a link to the court decision regarding Microsoft.
I grabbed three of the documents (FinalDecree.pdf, Lit11-1.pdf, Statesord.pdf) from Scripting News as the court's server has already been 'slashdotted' therefore nearly unusable.
At a quick glance, it seems they've left enough loop holes that MS should merrily go on its way as a monopoly in the operating systems market and only disclose windows API to a chosen group.
I'll read it in more detail when I'm not at work.
Scott has some really good points on why you should keep more than one day of entries available on the front page of your weblog. I completely agree.. If I read all the weblogs I like to read every day I'd do nothing but..
On the other hand.. this made me think why is it exactly that I display 20 days worth of entries on my weblog. To be honest.. I've no clue.. so cut it down to 10. That's why there are all those lovely archive links on the right.. which, on the aside, I grep'ed my logs and these links are being used rather heavily.. so won't be taking them off.
Speaking of Scott. While the design of his weblog is pretty nice looking.. I find the size of the blog entry part very annoying. Why? I have a large monitor at work and in a typical unix geek fashion keep 200 little windows open at any given time. That's right, my browser is one of those teeny little windows.. Sometimes reading his weblog amounts to having 2 words at a time on one line. All that wasted space to frame it..

