2007-09-29

Misogyny in Computing

I was reading my normal blog entries, and ran into Mairin Duffy's reaction to the crap postings people took the time to spew in the comment section of an LWN.net article about an O'Reilly series of articles on women in computing. The trolls seemed to have arrived in force for todays postings also.

The amount of hatred spewed by people in these two LWN articles just seems to underscore how little self esteem many of us in the computer industry have. The threat of another sex getting into the profession and showing that maybe we aren't as smart as we say we are.. seems to bring out lots of anger and hatred.

To painfully quote George Lucas/Yoda:
Fear leads to anger. Anger leads to hate. Hate leads to suffering. ... which leads back to fear. It is a buddhist recursive circle. We are afraid of things we can't understand, we are afraid of social interaction (maybe because a lot of us are autistic or borderline autistic), we get angry and we hate those feelings so we lash out at others who represent that which we are afraid of..

Sadly, looking at most biological systems that get into this state... we are off to extinction unless we can learn to better tolerate the change that is going to happen as computing becomes more ubiquitous.

Off to sleep... my above post makes no sense, but I post it anyway :).



2007-09-26

Extreme Programming: Another Fiendish Plot Against Autistics

Today's class covered some fun things in Java like abstract classes, extending classes, and the very cool (to a person used to awk) interfaces. I can see lots of uses of the above for dealing with my project to bring old-school Creative Computing games to the masses once more :).

And then we got to Extreme Programming. I will say that the professor did preface this part with saying that it wasn't as great as the hype and like any religion, you have to be careful of the zeolots.. and I do like the basic ideas behind it (which are much like any philosophy):
  1. Respect for the code, programmer(s), and customer
  2. Focus on communication between the above.
  3. Simplicity of Code
  4. Continual Feedback
  5. The Courage to Continually Change
And then we got to the 'practices':
  1. Test Driven Development
  2. Continuous Integration of Code
  3. Clear Coding Standards
  4. Collective Code Ownership between programmers and customers (as in no code is untouchable just because XYZ developer wrote it).
  5. Pair Programming
Number 5, is where I see the insiduous plot against autistics.. getting us to communicate to a customer at all is hard enough, having us let someone else type while we watch is like torture I say this because during the lab, I either wanted to do all the typing myself or tell the other person what to type (which of course endeared me to my partner). And since our grade was a joint one, my partner is stuck with the lowest grade (we were told we shared the least from the observations). Oh well, I hope he doesn't get stuck with me again.

On my other tasks, I am still going through the DOD Unix STIG to see what is needed to bring a CentOS- X.X EL system to meet it...

2007-09-25

Ketchup #3: Another week, another cs problem

Well this week and weekend has flown by again.. with lots of things I keep saying "Oooh I should write that down" and then by the time I get to a computer.. go "What was that?" or "Crap I need to get that server back up."

So this weekend, we adopted the dog we had babysat a weekend ago. The family came down on Sunday, and dropped off KC who was bounding out of the car and went to check that her chew toy was still in the kid's room. (It was.) It has been walks 2x a day and getting myself used to a schedule of getting up early enough to get here up the trails and me back before I am late to work. So far this week it is Days On Time: 1, Days Off Time: 1. Will see how that progresses.

We got our second large programming assignment this week. It is basically a specialized stenography problem. Take a dictionary, and find the words that hide the word that is given to you. Make sure it covers all cases, make it as optimal as possible. So I spent a lot of the weekend and last night looking over various Java data structures that would help me accomplish this in the most optimized lookup time. The professor upped the anty yesterday by adding a prize to the person who gets the top 3 spots, having to beat him and the T.A. also. So far the lookup costs look to be:

  1. comparing the Given Word (GW) against any given Dictionary Word (DW). Given Word has a length of M and Dictionary Word needs to be at least M in size. The easiest solution would be to loop over the letters in GW and see if they exist in DW taking in account of duplicate letters.
  2. finding words that would make good guesses to compare against versus going through the dictionary word by word to find a choice.
My insane option was to create a bitmap of every word in the dictionary to make good guesses against. Since we are dealling with UTF-16 characters and I want to see if a letter resides in it.. the key would be a 65536 'bit' string, the data would be a tree of words meeting that mask. A word would be converted into said bit map ( mapper would be something 1 for a, 1 for m, 1 for p, 1 for e , 1 for the r 'bit') and then do a bit against that and the query word so that pam, ampre , etc would look down that shorter list of words for possible matches. The word mappp would also go to that queue but would not match against mapper but might match against something else in the queue. However, as I said it was an insane idea.. I have to come up with something else.

I did look up trie (short for retrieval) trees as they are used a lot in dictionary lookups but that doesnt seem to meet the goal as it seems to be better for ordered lookups versus anagram like lookups. Will post more later.. back to a server that died.

2007-09-20

What did you really expect?

What did you really expect?

In having dealt with multiple 'reformed' hackers, I have to reluctantly agree with Spafford on this. When I was a teenager in the early 1980's, I started into 'cracking' encryption codes on software.. not because I wanted to use the software (versus the game Choplifter and Adventures) but mainly because I wanted to see how people were trying to hide stuff and make a programmable floppy drive 'play' with bits and bites. Or trying to figure out how a telephone system works, lock tumblers, or password systems. But at some point, it became sort of an obsession, and I was more going for the amount of cracked software I had in my house compared to others. Our standards were the number of years we would spend in prison on consecutive prison terms, and how much we owed in fines. The first person who broke 200 years in prison was the coolest etc. Looking back on it.. it was plain STUPID. I think I began to be aware of its 'stupidity' when I started using GPL software, and realized that the only thing that made the GPL strong was the COPYING license. It made no logical sense to disregard other people's licenses and then say that the GPL license was better because of this that or the other... And looking at myself further, I realized that most of the arguments I had used to justify my actions were selfish lies in the same vein as why an addict says stealling money from the family is ok. What I was addicted to was the rush of doing something illicite that few other people could do... and at some point I had a "Come to Jesus" moment, and realized that doing it wasnt helping anyone and eventually hurting others. So I basically went to being a GPL-freak for a while, didn't use any closed source licenses I had not paid for, and started working on protecting other people's rights versus violating them.

And like some other people that conversions happen to.. I went through a period where I believed everyone could do it, and that when someone said they were 'clean'... they meant it. I have helped hire some former crackers, and very often found that what they said and what they did were two different things. It might be I am on the wrong side of the statistics, but looking back on 10 years in the business.. 8 out of the 9 went back to cracking at some point, and we had to let them go. There is some sort of 'rush' when you get that password off the wire, when you find that supposed closed system is wide open from some office telephone/modem, and it is addictive. And then comes the feeling of superiority that you are mightier than anyone else... and with that feeling comes the usual drive to take advantage of it because of some percieved slight. Heck it sounds like all the classic feelings and symptoms people on crack mention (but probably at a different level).

Anyway, I have come to believe that like many bad things, it takes an act of conversion to get out of Cracking. And then probably in many cases, a 10 step program to make it stick. I guess Luke 11:24-11:26 is probably a good summary to show this has gone on for a long time with people.

2007-09-19

Ketchup #2: Week in Review

Well the week has gone as follows:
  1. Turn in homework and realize I missed dealing with NULL input.
  2. Went to class and covered inheritence, good old linked lists, and today implemented a binary search.... good-times.. good-times.
  3. Worked on wumpus outline. I think I am going to try and do a classic 'BSD-games' in Java over Christmas break, and then work through the various Creative Computing games that I used to teach myself Pascal, Fortran, and Apple Assembly back in the day.
  4. Found a cool site for algorithms at lunch: LiteratePrograms. It probably has been there a while but I missed it on past surfing.
  5. Worked on work build scripts for CentOS-5/RHEL-5. Got them to grab and install files.. but need to do some testing.
  6. Dog went home on Sunday, but we will be adopting her. She should be coming to live with us in a week or so.

2007-09-14

Got Dog?

Yesterday we started dog-sitting a 4 year old German Shephard mix to see if we wanted to adopt her. The current owners are out to a wedding, and have been having to travel a lot so would like to find some people who could spend more time with her. Her name is Casey, and she is a pretty big dog.. but really really lovable. On every walk we have had, she has had to say hello to every dog even the ones growling at her. She just lets them sniff and or rolls over to play "beta" which is funny when she as the 40kg dog did it to the 4kg small poodle.

Right now she is sleeping in the living room. The family loves her quite a bit... well except for the cat. Pascal the cat is an alpha cat who once went after a stag deer who got on our porch when we lived in North Carolina. I am quite sure she thinks she is 50kg versus 5 kg, and quite happy to show anyone who comes into her territory... which Casey did. Currently we have a small barrier seperating the two... until some sort of peace comes up.

Updated (2007-09-14T21:20+0000): Pascal in order to show who was the boss just came out and walked over to Casey's dogfood and ate out of it while Casey looked on. Then Pascal looked over at Casey if to say "Oh wait you are still here?" and went back to her room.

Computer Class Update

Well this week has been hacking on the first computer assignment.. a simple 'stack' engine that you push items onto and off of.. and do various string operations with them. I should have the first version done by tonight (late late tonight)... if this cold/stomach bug doesn't kill me first.

Things I have learned from the program so far:
  1. BufferedReader and BufferedWriter are good for using versus System.out/err
  2. StringWriter is good for being wrapped by BufferedReader/Writer so JUnit can find things.
  3. Writing one method at a time and writing a test routine for it is better than throwing up code.
  4. Do NOT PANIC.
  5. More later... bug calls.

Updated:

Switch/case can not be used on strings... need to figure out return types in a way to do this.

2007-09-11

Septermber 11, 2007

Six years ago today, my life like so many others changed. I had just turned on the TV for my morning TV fix and found that all the channels were glued on a story about an airplane flying into one of the World Trade Center. And then the second plane hit, and then what seemed so long, but was really short time as the fires took off and they kept sending firemen in to try and stop it. I remember praying that the steel wouldnt fatigue under the high heat... and then watching the inevitable collapses and knowing that so many people had just died. And then there was the sitting there with the baby in his sleep 'sack' and me watching it happen over and over again.. and the feeling of complete help-less-ness.


Then there was the panicing of trying to get up to New York City or Washington D.C. to try and maybe just maybe save someone from that horrible wreck. Thankfully, my wife made me realize I wasn't trained and the best thing I could do was go to the local Red Cross chapter and get their teams ready to roll out.

And finally there was the gut-wrenching wonder if that was just the first step.. would there be car bombs in cities? suicide bombers at malls? snipers on highway overpasses? I remember that as all of us in our North Carolina neighborhood went from house to house asking what we could do... that we all stood in the street mostly to get away from the TV's that were playing those last few seconds of the planes crashing and towers falling. I remember the lady across the street voicing the realization that I think was on all our subconscious's, we hadn't seen or heard a plane overhead in hours.

And if by magic, a National Guard helicopter flew overhead fully loaded with personell. It was frightening in one sense that we all realized the comfortable world we lived in was changed... and yet it was oddly reassuring... and we began waving at the helicopter and someone pulled off the flag from their front porch, and for a minute we were waving it around and they were waving back to us... and somehow all our panic went away.

So to all the firefighters, policemen, national guardsmen, military personell, AND to all their families... THANK-YOU. Your sacrifices are what allows me the Freedom to write this, and I know I can never pay that back.

2007-09-09

High School Reunion (the musical)

[I wonder what Disney will do with that in 20 years.. Gabriella ended up married to Ryan after Zach and her went to different colleges... Zach and Ryan have a sing/dance fight over her.. but run out of breath and collapse. Gabriella leaves with Chad who had been married to Sharpay but had been left with their 2 kids as she pursued her future in Broadway.]

Well my 20th High School reunion occurred this weekend, and I was unable to attend. Its funny, most of my memories of high school seem to have been tinged with dread, fear, or boredom (probably the feelings that cover most people's memories of High School).. but this summer I was actually hoping to be able to make it out and see people. I got some emails from people I had not heard from in years.. and it was really nice to hear from them. I wish I had been more self-confidant back then.. as I probably would have been a better friend versus the pseudo-goth (well I couldn't afford black clothing, but listened to much of the same Cure music as the goths) who lived in the library and the chemistry lab. To the people who made it, I salute you.. and hope you had a fun evening.

One of the funny memories that came up this summer was how many chemicals and the quantities our Chapman High School had... most of them had been given to it by the various textile labs as they had either closed down or were needing to get a tax right off. A lot of it was pretty 'useless' to a high school lab as it would take close to 100 years to use up the 1kg of pure sodium and potassium we had. Add in the large containers of every caustic acid used in textiles and it is amazing the school building did not spontaneously explode (especially when all of it was stored in a small closet with only passive venting in it). I am guessing most of it was disposed of after September 11th (if not before then) as having that much material in an unguarded depo was silly.

2007-09-04

Ketchup #1: Labor Day weekend

This was a 3 day weekend in the United States which completely blew my normal routine. No class on Monday, and Tuesday was ketchup (catch up) with various computer security issues that had piled up over the weekend... especially with UNM not having a dedicated Cyber-Security group (just 2 overworked individuals and the mess of people running with their heads cut off trying to keep up).

Things I got completed were:
  1. CentOS - Dell LiveCD scripts. They are a pretty cheezy set of items, but should allow someone to build their own Dell linux cdrom with OMSA and firmware updates.
  2. More work on the new website... It will just be a moin-moin setup with some pass through for mailman, archives and downloads.. but should be done soon (say October maybe).
  3. Did some 'cleanup' of a neighbors computer. I really need to take a course on Windows spyware.. I am sure that my brain-surgery on their computer could have gone better.
  4. Moved into a new office at work. Moving phones costs over $80.00 so I am just using my old bosses number for the time being... time to update phone-books.
  5. Finished my assignment for CS-259.. went to class on Wednesday and realized I screwed up several items I should have not have missed. [Now to figure out why xxx-- didnt do what I wanted for some reason.]
Thats about it.. off to a meeting about DNS.