- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
I guess I can't be sure, but I'm going to go out on a limb and suggest that the semester numbering scheme probably doesn't predate their use of computers to keep these records.
In fact, I bet someone came up with it in the 1990's and patted themselves on the back for finding a way to avoid Y2K problems without adding both leading digits back in. (Of course, they've invented a weird Y2K9C bug in the process, but that won't be an issue for a while...
Admin
Is it a some kind of an universal rule that courses enrollment managers must must suck?
Admin
Admin
The joy of going to a small university. I just had to tell my professor which classes I intended to attend, and they all had a description. Only when I passed the exam I would see the code of the course on my credits report (with the same nice description). As far as I can remember the codes were just 6 digit sequential codes.
PS. TRWTF is that we lost for the third time in the World Championship finals.
Admin
current_year - 1900
The last digit is the month in which the term starts. This scheme may not make much sense until you realize that the 1997 Winter term was numbered 971.
Admin
I don't see a problem with having the students look up a course number, but how about letting them choose from a list of human readable semesters, e.g. "Fall 2009", "Spring 2010", rather than forcing them to deal with whatever cryptic numbering scheme is used by the database back-end?
Admin
day-month-year only makes sense if you also reverse the order of the digits in each section. And alphanumeric months only makes sense if your calendar runs April, August, December, February, January, July, June, March, May, November, October, September.
Admin
How many centuries back do their records go? Likewise, how far ahead can you look. Put me down for summer courses in the 31'st and a half century.
Admin
Admin
I think it's at this point when I hope others can see that, just sometimes, because a computer makes something the easiest way to do something, doesn't make it the right way for actual people at all.
Admin
[QUOTE]The first digit denotes the century (2 for the 21st century), the second and third digits are the specific year (08 for 2008, 09 for 2009, and so on)[QUOTE]
TRWTF. This is the kind of crap we did before we had computers. What's wrong with "2009" being represented as "2009"?
Admin
BTW, using month/day/year is something pretty much restricted to the U.S. The rest of the world (at least those who use this calendar) prefers the more logical approach to displaying dates.
Admin
My Uni did the same. While it was good on some counts to have a touch-tone entry system, it was pretty lame on others. It was a pretty primitive system (by todays standards) and the course numbers were long (being a real university with 1000's of courses). To get it correct was tricky, and to get it wrong fairly easy ... and then correcting mistakes was a real hassle. Combined with knowledge that that some courses are very popular, so there was a real benefit to being fast at getting classes assigned.
I remember programming my USR modem with AT codes to enter in the tones for me. That way I could listen in and program the system using the keyboard and not have to try to read the course numbers, hold the phone, listen to prompts and key in stupid sequences by hand. Hey this was also before speaker-phones.
A fun hack that let me go to the campus pub early.
Admin
Regardless, many of those codes are also used by the 'meat' as someone else so affectionately put it. The 'meat' uses them allow their own wet-ware to decode the information without requiring a computer to be present. Scary but true.
Admin
Current legacy system that had the same bloody stupid idea (creating new set of 60 tables per client): 7900 tables and counting.
The MySQL command line client tries to index all columns etc. for autocompletion (unless you use the right startup option), which sends the server into a few minutes of 100% CPU usage.
Of course, changing the database structure is a right PITA.
Luckily we've just completed the replacement in sane way, and in a few weeks I might get to have a ceremonial burning of code -- possibly after submitting to the Daily WTF.
Admin
I think the fact that the number of tables was growing on its own should have been a major hint to this horrible design. No real surprises...
Admin
Never said I was. But I was my department's head Y2K amelioration expert, and if your [issuer redacted] credit card hasn't been improperly rejected any time in the past ten years, it's because I knew what I was doing.
If the date's stored internally as a binary integer representing days or seconds past some standard epoch, displaying it with the month first is no more WTF than displaying it with the handle facing outward.
By "more logical", I assume you mean ISO-8601. The all-numeric ISO-8601.
Admin
"This is America. Learn the rules."
Admin
TRWTF is Mark Bowytz being unable to properly HTMLEncode the <week> tags in the article.
Admin
So the semester id represents the start date of a course instance? Theres a little nagging feeling that I have that suggests that there's a better data type for dates than number. Still all beauracracies like numerical that mean something so that's probably a best practice.
Admin
This. Is disk space really so limited that they have to 'make things tricky for new students' by obfuscating the year? Why not just type 2010xx where xx is the semester.
Admin
How about just using the four digit year...?
Admin
Crazy I know, but then we'd be Year 3000 compliant, and could schedule those Christmas Cake baking courses we always wanted.
But no, you saved 2 bytes and the children have to make do with sponge.
Admin
This is an awesome hack - good work sir!
Though I have to say that the concept of "enrolling on courses" at University is not one with which I am familiar. Maybe it's a UK / US thing, or maybe my university is a bit 'different'.
At my Uni, once you signed up to the compsci degree, you were presented with a smorgasbord of lecture courses, which you could either go to or skip as you saw fit.
The only limit to the number of people at the lecture was the size of the hall (and they were never full). In fact, you could go to lectures that were not on your course (maths was handy).. it wasn't discouraged.
Needless to say, I just spent most of my time in the pub, and got a Desmond -- which shows the system works! ;)
Admin
(But skipping too many lectures in Engineering would lead to a Richard or worse.)
The whole major/minor thing is one of the major differences between the US and the UK regarding courses. UK Universities don't do it. (Not any I've heard of, anyway.)
Admin
My question is, how did they code the year 2000 which was the last year of the 20th century?
100? or 200?
It might explain why I had to repeat a whole year of classes.
"We have no record of you attending any classes in 2000. The credits you received in 1900 have expired and can not be applied to your degree!"
P.S. Thank you for the copies of the cancelled checks and report cards, but we can not accept pictures of documents on wooden tables at this time.
Admin
Admin
Touch Tone Phone Registration Pranks
They implemented a similar system to replace the "wait in line for hours" system on my campus in 1986.
The first phone number shared the same prefix as the dorm rooms. One of my buddies had a phone number that was only a single digit off. The first semester, they did not have enough phone lines allocated and you would get a busy signal for 30-40 attempts.
Needless to say, my buddy's phone would get about 5-10 registration calls per day. He was getting so sick of it that he implemented his own "Voice Recognition Registration System". He would walk them through the whole process by making them repeat themselves over and over. Before hanging up, he would usually tell them "I am sorry, there has been a problem saving your registration, please hang up and try again in 30 minutes."
He would make them rap sing the course numbers and "after each entry say "p-p-p-pound key." Of course this was all recorded for posterity. If he is reading this (he was a CompSci major), he needs to post them out on the internet somewhere.
Admin
This also reminds me of a sports league registration system where the IT consultant must have had a huge hand in league rules.
It breaks down the divisions by year of birth. No crazy September 1st cut off (or some other day) calculations.
All children born in a certain year play in the same division.
It must have greatly simplified the software used to run the league. I consider it to be beautiful! sniff
Admin
Agreed. Storing several bits of information in a single field is always a no-no. The convoluted syntax makes the data less human-readable, for starters; but also, if a user wants to filter by year or by month, this will require string-processing, either done by the query or the application that uses the results. There are two problems with query-time string processing. First of all, the processing itself will reduce performance. But more importantly, it prevents indexing of the table.
As a result, having several bits of information in a single field increases complexity, increases maintenance costs, and will result in piss-poor performance.
See also "Growing Better Software" page 59, paragraph 2.
Admin
Snort yeh, right. ITT: everyone considers all RDBMS other than their own preference to be rubbish.
Admin
I, too, would like to re-iterate the initial comment that it's Oracle SQLDeveloper.
Admin
█████████████████████████████████████████████████████████████████████████████████████████████████████████
██████████████████████████████ ███████████████████████████████████████████████████
█████████
█████████████████████
Admin
A DBA using SQL Developer?? <shudder>
Admin
I think I went to the same uni because I remember registering for courses in 1993/94, and it was this crappy telephone system that was like ALWAYS busy, so having a modem that would incessantly redial was rather handy.
Fast forward a few years - yeah, the WTF article here is definitely PeopleSoft or some variant, because my uni uses a very similar date coding system and it was about as penetrable as a brick wall until they condescended to explain it.
I wonder how many CompSci people at the uni would laugh at the SQL WTF in this article. :P
Admin
If you have a meaningful identifier and the easiest way to use it is to ignore part of it, that's already a WTF.
Admin
What a phenomenally naïve thing to say. I may understand the need for 10+ digit phone numbers, but do you really think I independently memorize the country code and area code for EVERY single number? No! I remember the last 7 digits (regionally, often only the last 4) and only remember digits 2-4 if it's an exception to the norm. I've NEVER had to memorize an international number. Does that mean the country code doesn't have meaning?
The identifier might have meaning without it having meaning to the user. A user in the 20th century doesn't care that the term starts with a 1, and a user in the 21st century doesn't care that it starts with a 2, but the server cares about the difference between them.
Admin
I'm not sure █ is a valid character in a table name,k,mni b
Admin
I have not seen the lower classes of degree referred to as 'Desmond' or 'Richard' for quite some time. Thank you for the nostalga trip. We always called the lowest degree a 'Douglas', rather than a 'Richard', but then I didn't go to Cambridge.
I was always diappointed that the higher classes of degree did not have similar nicknames. I suppose on this forum the highest degree is the 'Frist', but I was never able to think of a suitable moniker for a 2.1 degree.
Any ideas?
Admin
Admin
Admin
Weird I just ran into a similar thing with a piece of software that does additional support assessments for lots of colleges. It creates a new Access 1.0 database for every single person that takes an assessment. I looked up access 1.0 that is around 1993 and you can tell by the 16 colour interface.
Admin
Reminds me of a client complaining about the maximum number of columns that can be stored in a MS Access table (which is 255 columns). Turned out that he added ~15 columns for each year in his huge administration table, and when entering the year 2010, he was not able to add any more columns to his table. It took a whole day and a lot of convincing to normalize his database...
Admin
It was Desmond for us, too. (And that was in a redbrick: Manchester, late 80's/early 90's.)
And it was "15" for a 2(i). William G Stewart FTW!
Admin
...simple.
CourseID is a properly, indexed, pk with an auto-incremementing number; even a guid if you wanted. Now, here's the simplicity part: Use a column to store the start date...whoooaoaoaohfoahoahoahjaohf OMGSJDFLJ CLARITY FOR THE WIN!
Now, you can higher summer dumb @55 students to take your place when you go on vacation.
Admin
As far as I'm concerned, this is TRWTF.
CAPTCHA: saepius -- one who would hide back-end data details from front-end users!
Admin
I went to Brunel University in the mid 80's
I use the Internet every day, and find it a very quick way to find answers to technical questions, and yet I never think to Google (or Wikipedia) for answers to silly trivia such as this. Yet it was there all the time.
http://en.wikipedia.org/wiki/British_undergraduate_degree_classification#Undergraduate_degree_honours_slang
I must be getting old. Get off my lawn.
Oh yes, captcha: erat. Is that supposed to be funny?
Admin
I can imagine spliting records into several tables for performance reasons.
Admin
Admin
If database design was that simple, none of us would have day jobs!