It should be noted…

It should be noted that:

$catstring = preg_replace("#[^a-zA-Z0-9s/-_]#",'',$catstring);

does not equal:

$catstring = preg_replace("#[^a-zA-Z0-9s/-_]#",'',$catstring);

especially if it’s important to maintain the “-“ character in a string.

Funny how a single unescaped pattern match can break all kinds of navigation in one’s web application.

Frustramigation

Frustramigation is a rather endearing word-that’s-not-a-word My gf uses it, and she’s a copy editor, so I figure I can get away with it. It rather describes the day. Although, I think it’s more frustramigation with myself than anything else.

I have been on a mini-crusade to educate the masses against the use of FTP for some time. And today on the campus System Admin/Support list (appropriately named the “nag”) – I had an opening from one of my colleagues who suggested the use of an FTP client for some kind of file transfer (in lieu of emailing the files). An opening to put out my $1.02 about the problems with FTP (usernames, passwords, and data transferred in the clear) again, and a plea to my colleagues to stop recommending its use (that didn’t mean kill the existing service, it meant start recommending alternatives – which we’ve been doing for a while ).

Go ahead – search ncsu.edu for “FTP”. A whole lot of implicit recommendations to use it. Search engr.ncsu.edu or eos.ncsu.edu. (hopefully you won’t find much there encouraging its use).

What followed was a somewhat devolving exchange where all I did was likely come across as a raving idealist (at best). I tend to carry out complaints in public forums, mostly as an involvement activity – because as I said:

_ I was holding this discussion in public view because it deserves at least a modicum of public attention, not some backroom one on one or few on few discussion between a small part of two of several dozen computing groups on campus._

But I think that just serves to confuse the issue, because all it devolves too is me and some other group arguing semantics on tangential items – mostly because I start waxing philosophic and causing the tangential threads – and given my sometime deserved track record for causing stirs – I think I just again sound like a raving madman. Or as I mentioned a few days ago in a rather prescient moment, – like I’m just against something, rather than for something.

The real underlying reason I try to have those conversations in public was along the lines of what I wrote in one of the notes:

There is a significant and ongoing vicious cycle of (at least some of) our service offerings on campus – created by a disconnect between those creating/managing/maintaining a service, those supporting the service, and those using a service. The service providers think we still have to keep offering the service because “the users depend on it”. The service supporters keep telling users to use the service because “that’s what our providers told us we have” and the users keep using it because that’s what the “support staff told them to use.” Given enough time and distance and the lack of a ongoing feedback loop between those three? Eventually “the users depend on it” and “that’s what we were told we provide” and “that’s what we are told to use” become self-referential – the discussions aren’t actually taking place, but each little group keeps telling each other that because their peer in the same group said it, and of course it’s bad form to ask any questions – like “why the heck are we still doing that?” or “where exactly did you hear that at?”

Which of courses has nothing to do with FTP.

Oh well, I keep telling myself that I’ll eventually learn.

We’ll just kill off FTP in Engineering. The rest of campus will eventually catch up (or we’ll be burned at the stake for cutting off the service).

But at least those NCAA brackets will be encrypted.

The Day in Rewind

Herewith a collection of random bits and comments from today.

Web development is hard

I have to echo Jeremy Zawodny’s post about having respect for web developers. I have done my fair share of php, php+mysql, and perl, but none of what I (or we) do comes close to the kind of stuff that’s going on at Google Maps, Flickr and other sites using advanced javascript and DHTML. I have written a few javascript routines, and honestly hated it. Almost as much as batch file programming or programming in Unix shell languages.

Even the simple stuff is hard to get correct. Today, while taking a survey about why/how we run our own mail server in my group for a campus subcommittee looking into a campus-wide email/calendaring solution – it turns out that it was broken in Firefox. I was able to complete the survey in Safari, but in an effort to figure out what was causing the problem (and share that with the survey developers) – there was this snippet of html in the source:

  <p>      <label>3. Is this resource comprised of a single person or a group of people?<br>      <input name="staffing_numbers" type="radio" value="single">      Single<br>      <input name="staffing_numbers" type="radio" value="multiple">      Multiple</label>    </p>

Hey – it works fine in IE! and it works fine in Safari! However, it’s not up to spec:

“The LABEL element may be used to attach information to controls. Each LABEL element is associated with exactly one form control.”

The whole validation/specification/works here/doesn’t work here is maddening – and this is just the simple stuff. This isn’t “Ajax”


Man it’s hard to keep good people

So our systems part-timer today came in to tell me he has a job at SAS for the summer. Converting some vbscript to C#. He’s good, really good, one of a rare breed of very competent, but-doesn’t-they-they-know-everything and willing-to-try-fail-and-learn students. But he’ll get good experience at SAS and make way more money. My group is a hard group to recruit for, not because the work we do isn’t really interesting (it definitely is) – and not because I can’t sell a position (I can make our group sound like the greatest IT position ever) – but doing either brings a whole lot of people out of the woodwork, and not many of them the kinds of personalities you want in a student-based system administrator position. Good system administrators have good “IT genes” and are grown – rarely found. Oh well, back to the drawing board for the summer.

(one day I’ll have to tell the story of how the very first day I started as a manager, I had someone turn in their resignation, and another employee barely show up to work for my first month, before resigning too. After that trial-by-fire, dealing with part-timer turnover has been relatively easier 😉


Where in the World is Page Hall

After reading Robert Scoble’s post about BlogMap – I decided to add mine. That led me to read up a little on ICBM / geo.position tags (which I decided not to add to EWE) – and led this evening to playing with TerraServer

After looking for Page Hall on the aerial map:

I was reminded again of my ongoing theory that the reason Bragaw Hall is shaped as an “X” is a University-Governmental conspiratorial decree to have a reference point at NCSU for satellite/aerial photography.

Try it – you look at the aerial image for raleigh closely – and see if Bragaw doesn’t show up rather easily.

[update: – just in case it isn’t clear from how I write – the idea that this is conspiratorial is largely tongue-in-cheek on my part. Stranger things have happened, but I wouldn’t care one way or the other]


And all this is why this website is aptly named “Rambles of a University System Administrator” 😉

Updates

Long time no say nothing.

A big chunk of my time in last two weeks has been spent putting together a Priorities and Practices list and a Projects list for my staff for the next year.

One of the best things to come out of that, I believe, is an increased transparency that I’ve asked out of my staff. We started publishing our group’s Staff Notes in our wiki/weblog site the week before last. I have high hopes for that.

I’d link directly to the Keynote (version 2, which was my first try out of the program) – but I decided to pull in some movie captures from Field of Dreams and Contact that I thought were relevant to the themes within the presentation. So the resultant file is pretty big, not to mention that likely copyright thing.

In case you are wondering, the Field of Dreams scene was this one:

Ray, people will come Ray. They’ll come to Iowa for reasons they can’t even fathom. They’ll turn up your driveway not knowing for sure why they’re doing it. They’ll arrive at your door as innocent as children, longing for the past. Of course, we won’t mind if you look around, you’ll say. It’s only $20 per person. They’ll pass over the money without even thinking about it: for it is money they have and peace they lack. And they’ll walk out to the bleachers; sit in shirtsleeves on a perfect afternoon. They’ll find they have reserved seats somewhere along one of the baselines, where they sat when they were children and cheered their heroes. And they’ll watch the game and it’ll be as if they dipped themselves in magic waters. The memories will be so thick they’ll have to brush them away from their faces. People will come Ray. The one constant through all the years, Ray, has been baseball. America has rolled by like an army of steamrollers. It has been erased like a blackboard, rebuilt and erased again. But baseball has marked the time. This field, this game: it’s a part of our past, Ray. It reminds of us of all that once was good and it could be again. Oh… people will come Ray. People will most definitely come.

I included it as an analogy that our constant is our people. And when we stay the course and stick with the fundamentals and priorities, we will best serve our faculty/staff/students.

And along the way, last week I was reminded again about how much easier it is to be against something, rather than for something. But all the innovation comes from being for things.

More on that, well, sometime.

Maybe some good can come of this…

So recently when I wrote of being contacted by a lawyer about RAID and AFS?. I did get a response from the lawyer.

He is trying to:

“overcome a patent that alleges to be novel and unobvious in claiming a system that includes RAID on AFS…What we are trying to find out is if anyone published an article or spoke about or developed a product that included RAID on AFS prior to 1990.

If what I wrote somehow jogs something else into mind, please do not hesitate to let me know. Otherwise, I hope that this reply shows that some inquisitive intellectual property lawyers represent good guys too!”

I’m afraid our use probably wasn’t much help, but hopefully someone will be able to help him.

I will say, after being curious enough to search the Patent Database ( the ugliest web page known to man) for “AFS AND RAID” (to see if I might figure out the one the lawyer is trying to overcome) that I came away exceedingly depressed at some of the patent grants the USPTO hands out.

Inequity

There are 2000+ software projects at sourceforge.net in the category of “Editors”

There are two, TWO!, open source tournament bracket management tools suitable for the NCAA basketball tourney that I’ve managed to find.

Clearly the priorities of the open source programmers are out of whack.

Well, it is true is it not?

Today’s selected email.

To: [steering group members] Subject: (fwd) Sysadm meeting

We won’t be meeting this month prior to the sysadm meeting unless you have a burning desire to do so.

And if you do have a burning desire to do so, you may want to have that checked out by a doctor.

Jason

Of course we are also quoting 2001: A Space Odyssey in the Jabber chat room.

12:35:31 [sysadm]: ok, who tripped over the Internet plug? 12:36:33 [sysadm]: from the overwhelming response I’m guessing it was only the Flex building that just lost connectivity 12:38:31 [sysadm]: or maybe just everyone’s a lunch and I’m in here all alone 12:40:13 jayoung@jabber.eos.ncsu.edu: Affirmative, Dave, I read you. 12:40:29 [sysadm]: ack! 12:40:41 [sysadm]: and I didn’t even know you knew how to read lips 12:41:21 jayoung@jabber.eos.ncsu.edu: Yes, Dave, although you took thorough precautions against my hearing you 12:41:37 [sysadm]: ok, you can stop now, you’re creeping me out 12:42:07 [sysadm]: (expects your next line to be, “I’m sorry Dave, I’m afraid I can’t do that.”) 12:42:32 jayoung@jabber.eos.ncsu.edu: Look I can see you’re really upset about this. I honestly think you ought to sit down calmly, take a stress pill, and think things over. 12:43:10 [sysadm]: Open the pod bay doors Hal!

Engineering IT

Are programmers Engineers? About every few months this is usually something I bring up because I’m part of an IT group for the College of Engineering, and because I manage a group of IT staff/system administrators. It’s probably largely out of guilt – my own background is entirely IT/System Administration and my degree is Computer Science – and most of the staff has an IT background (with ECE or Math degrees) – and I sometimes feel like we understand far more about the academic needs of the CSC and/or ECE departments. I usually end up saying that I feel like I really don’t understand Engineering, because I’m not sure I’m an Engineer.

I’m thinking about it again, because Brad Abrams wrote about Software Development and Engineering Design in his weblog last night, based of a conversation with his dad (Dr. Frank Abrams, an NCSU BAE Faculty Member). Brad links to a great handout that Dr. Abrams has put together about the Engineering Design process.

(Interestingly enough, the courses links above will be dead in a few months, an unfortunate by-product from perhaps our own campus design choices for course management solutions).

Brad offers:

my hope is that software is just in a maturing state. These principles apply equally well to software and will play out more as the field develops more deeply but what I can’t tell is are we on track? Are engineering fields as young as software in the same state of flux? What is your take?

And this is a place that I wish I had more exposure to professional software development practices. I know a bit of the theory and I know the terminology – but I don’t know the real world of what’s happening there. I do think that the current security situation with operating systems and service software is probably the Software discipline’s equivalent to the famous Engineering design failures (Tacoma-Narrows is always a fun example)

I’m not sure Computer Science was teaching this 9 years ago when I went through it. I think they very much did teach problem solving methods, but not so much in the context of an Engineering process (I think computer science – in general, not specifically at NCSU – is still figuring out where it fits between Engineering and the Mathematical sciences).

I think they are doing quite a bit better for today’s students – as a syllabus for our Software Engineering course shows (however, I think I should point Dr. Iyer to a color design document – that black on red interweaved with black on yellow on blue is pretty hard to read).

What I can say is that the IT part of software is definitely not anywhere near an Engineering process. And the way we have built on IT as a service tends to have our customers, even the Engineers that use our service (and the product of the Software Developers) definitely do not approach the use of computing technology using any kind of Engineering methodology (but I’ve complained before about people turning their brains off when they use computers, and it’s probably our fault)

Far too often, we are reacting to a problem, and implementing a fix. We aren’t defining the problem, we aren’t effectively generating or analyzing anything that even resembles a solution – and forget about testing or documentation

There is tremendous pressure to just fix problems in IT. Mostly because our customers don’t know enough about the computers to frame their own problems, and we barely know enough to help them through framing their problem.

I think this customer angle is key. And key to helping Software along a more mature path as an Engineering discipline.

What will change that is education. I wrote about the educational component of our “Next Generation Eos” project before:

Do you know that we brought 300 students in this semester and did not provide them an NC State-customized “image” – which is what most IT people will tell you has to be done to be able to “support” something. We have a few Macs, and a number of Windows machines, installed as they were from the vendor…

…We had no observable increase in the support required from the IT helpdesk. Initial assessment is that the students also got a lot out of E115 and were excited about it. (it also has some of the best TA’s, and like anything, good people make the projects). Our assessment director is conducting the assessment, and the results aren’t yet completed – but the initial feedback is very positive.

This is revolutionary

Computing is a new fundamental for Engineering (I spoke about that at our Faculty Seminar last year) . I think by doing more to remove that “magic” that is computing. By getting our students, especially our Engineering students to approach computing with an Engineering mindset, we’ll get them asking more focused questions, and making more intelligent demands on the Software Designers (and not to mention the IT staff) to create better products.

That’s my hope anyway.

But until then, the IT staff would be well served in doing more to adopt the ideals and Design Process that Dr. Abrams highlighted for his Engineering Design students.