Discussion on:

75
Comments

Join the conversation!

Follow via:
RSS
Email Alert
What day do you think best signifies the Programmer's Day ?
0 Votes
+ -
no contest
apotheon 15th Sep 2007
If you want to make Programmer's Day someone's birthday, von Neumann is only a distant second place to Ada Lovelace (born 10 December 1815) as the perfect choice. Ada Lovelace wrote the world's first computer program -- a Bernoulli number calculator -- for Charles Babbage's analytical engine in the 1840s. Who better to provide the date of Programmer's Day than the world's first programmer?

If you really want to get geekish with it, you could make it 12 October instead of 10 December. After all, Oct 12 == Dec 10.

On the other hand, if you're used to zero-indexed arrays (as with the majority of programming languages), maybe 31 December would appeal to you as Programmer's Day. After all, that's basically Day 0 of the year.

Frankly, though, I'm happy with Ordinal 256 as Programmer's Day, for a few reasons:

1. There are few numbers as meaningful to a programmer. About the only day that might work better is January 2, for the obvious "base two" connection (which would be binord (I just invented a word for "binary ordinal", and managed to nest parentheses like a Lisp hacker while doing it) 10).

2. Birthdays like John von Neumann's and Ada Lovelace's might deserve their own celebrations, apart from Programmer's Day. I always felt that George Washington got the shaft after they introduced Presidents' Day, for instance, because now nobody celebrates his birthday alone -- he has to share his celebration with Abe Lincoln.

3. The birth of someone important to computing isn't as appropriate as the date of whatever he/she did that was so important to inspire referring to him/her with Programmer's Day. Of course, that then rules out Ada Lovelace (the obvious choice for a programmer to honor), since all we know about her program is that it was written somewhere in the range of 1842-1843.

On the other hand, I always thought that making it change from one year to the next depending on whether it's a leap year was stupid for Programmer's Day. The right way to handle it would be to just make it 12 September every year. That'd make it ordinal date 255 (256th number counting from 0) except on leap years, when we'd have 256. That way, we recognize both the number 256 and the number of the 256th counted bit when 2**8 is actually used in programming once every four years (give or take).

Just to make things really confusing, though -- maybe we should go with the date of von Neumann's death. He died on 8 February, which is the eighth day of the second month. That seems to appropriately correspond (conveniently enough) with the eighth power of the second number, thus leaving us again with 2**8, or 256. Once we do that, though, we might as well count to the 2**8 bit and go with an ordinal number, leaving us at 255 (or 256 on leap years) again -- so, in a sense, if we went with 12 September (or 13 Sep on leap years) we'd be commemorating John von Neumann anyway.

How 'bout them apples?
I vote for this one:
On the other hand, if you're used to zero-indexed arrays (as with the majority of programming languages), maybe 31 December would appeal to you as Programmer's Day. After all, that's basically Day 0 of the year.


I know of very little code that I do that I won't use an array. sh scripting has no array's, but if you use awk in the script, you get back the array. So, I know of no language that doesn't use an array. And your right, almost every language is 0 index.

Dan
0 Votes
+ -
Not so fast.
nighthawk808 17th Sep 2007
If December 31 is day 0, then it's more like Array Index Out of Bounds or Segfault Day, isn't it?

For that matter, if that's how the calendar would look at it, it would be impossible to tell what state it is in. It could be practically any 32- or 64-bit number. It could be Day -4092312 for all we know.

The calendar was obviously created in Ada. That has a lot to do with explaining why it makes so little sense.
Epoch date? Jan 01, 1970?

Do all languages consider sunday 0, months 0 through 11?

I just tried to see what my earliest date was on windows, and it does not go back that far. So much for epoch being relative 0.

Dan
Ada is one of those brain-dead languages whose array indices start at 1.

Windows only goes back until 1980. And, should you somehow live past 2099, you'll literally run out of time.

If you have a Linux box, put "cal 1752" into a shell. No, September isn't a bug. I think it's pretty neat that they took the time to get it that correct.
0 Votes
+ -
FreeBSD, too
apotheon 18th Sep 2007
The cal 1752 trick works on FreeBSD, too -- and, presumably, the rest of the BSD Unix systems, and probably at least half a dozen other systems as well. The key is the cal utility, not the OS, in this case.

Too bad it doesn't run on MS Windows, as far as I'm aware. You can probably get some kind of calendaring tool that'll do that on MS Windows, but you'll have to open a full-on GUI application to get that information, and licensing will probably cost you several hundred dollars or more.
0 Votes
+ -
I meant to type "*nix box", but typed "Linux box" out of habit.
Apotheon, your deductions were amazing. Thanks for them.
0 Votes
+ -
I appreciate the compliment.
0 Votes
+ -
I aggree, 12th (13th) of september is a good choice.

How about the date C or C++ was invented (i could only find a year in a quick wiki search)
October 10th or October 11th (1010 or 1011). The same could be said of November, but the 11th of that month already is Veterans' Day.

Didn't we already have a programmer's day back on January 1, 2000? Oh, wait, that was BAD Programmers' Day.
0 Votes
+ -
"BAD Programmers' Day"

Is there another kind of programmer than "BAD"?

/me hides his programming books.
0 Votes
+ -
There are three kinds of programmers:

1. Those who have written bad code.
2. Those who are going to write bad code.
3. Those who are writing bad code right now.

I know when I look at code I wrote two years ago, I say to myself, "That was crap." The thing is, I said the same thing two years ago when looking at code from two years before that, and then before that.... The code I write today, that I think is pretty good, will almost certainly look bad when I look at it again two years from now. I'm sure I'll see things then that will make me say, "I could have done this better here, or made the code tighter here, or WTF was I thinking here," and so on.

I think it's like playing an instrument. Even though you might think you're pretty good at it, if you listen to a recording of yourself in a couple of years you'll think you sound horrible.

This used to bother me. Then I realized that it's actually a good thing: it means I'm always getting better. The day that I start getting satisfied and thinking I know everything there is to know about it (IOW, once I stop thinking I'm a bad programmer) will be the day it's time to get into another field.

A couple of weeks ago, I went to see Rush when they were in Cleveland. Listening to their new material, I think even Neil Peart has gotten better. If even someone like him--who already was the best drummer in history and has been playing drums since the McKinley administration--can find room to improve, then certainly I can.
10 December, Ada Byron Lovelace's birthday sounds appropriate since she seems to be the root inventor when it comes to tracing so much of the "prior art" when it comes to programming, so it would be quite appropriate.

If you don't want to honor Lady Lovelace, September 12 would be a good "Magic" binary number date.

I think apotheon may have just invented binary numerology. . .

"There are 10 kinds of people: Those who understand binary and those who don't."
0 Votes
+ -
"There are 10 kinds of people: Those who understand binary and those who don't."

I told my father that joke a few years ago. I said "There are ten kinds of people: those who understand binary and those who don't." I said "ten", of course, because saying "one-zero" doesn't carry the joke very well. My father blinked, then laughed out loud, being a long-time IT professional himself.

His wife said "That's only two," with a confused look. Of course, that only caused Dad to laugh even harder.

"I think apotheon may have just invented binary numerology. . ."

I'll be happy to take credit for that. Now I just need a website, and maybe I can become a millionaire off the concept.

Q: Why is Halloween the same as Christmas?

A: Because (Oct31 == Dec25).
0 Votes
+ -
Honor the woman who started it all. Maybe it'll help encourage more girls to join our ranks.

"Ada Lovelace (born 10 December 1815) as the perfect choice. Ada Lovelace wrote the world's first computer program -- a Bernoulli number calculator -- for Charles Babbage's analytical engine in the 1840s. Who better to provide the date of Programmer's Day than the world's first programmer?"
...and Ada more the software end!
It'd be nice to recognize either/both of these important persons on their own day: Babbage for hardware, and Ada for software.
How about seeding a random number generator to come up w/ a date - different each year. Dynamic dates may better reflect a very significant aspect of programming - dynamics!
Start w/ Ada's birthdate the first year. Then, for the next year, offset from there by an amount generated from a decent random number generator app (developed in the spirit of GNU, and constantly being updated). Subsequent years' dates are likewise calculated, on that very day (Programmer's Day - thus also adding a little ceremony as well).
Of course, there are a few details beyond my scope here, yet the idea seems like a viable one.
What say ye?
0 Votes
+ -
easy app
apotheon 20th Sep 2007
The random offset application would be quite easy to write. On the other hand, it'd be difficult to keep up every year. Anniversaries tend to work better when they're about the same time every year.
0 Votes
+ -
Who can deny the importance of that number? I believe that 9/12 (9/13 on Leap Year) would make a fantastic date for a Programmer's Day, if there was indeed to be one.

By the way, it took me a while to figure out the "hex day" as well. Too many things on the brain to see the obvious, I guess.
The Programmer's day should not even be close to any day in this this millennium or the last.
It should be given to those early days of a system that actually programmed the days of the year like the Egyptians did 5000 years ago. Those are the real programmers if you want to get technical. How about Heron of Alexandria (2AD) who invented the mechanical calculator for measuring distance?
0 Votes
+ -
Jan 1, 2000.

The next best choice would be the new Daylight Saving "spring forward" day.

After that, I'd go along with appy's 255th / 256th day of the year approach.

Don't forget, Sept. 19th is "Talk Like a (Software) Pirate" Day.
0 Votes
+ -
mmm, pirates
apotheon 17th Sep 2007
I attended a "Talk Like A Pirate Day" party on Saturday, actually. I have friends that hold a pirate-themed party around TLAPD every year.
After all, everyone knows that the loss of pirates is what is causing global warming. There's even a scientific-looking graph to prove it.

I suppose this means that the RIAA and MPAA are responsible for even more hot air than people might think.
0 Votes
+ -
lolz
keeleyt83@... 20th Sep 2007
Ha! How dare you use Al Gore's Internet to besmirch the good name and psudo-scientific-ness of global warming! You've been blacklisted! No hybrid for you!
June 31st .... Micosoft system programmer's day
January .999347263 .... Intel Programmer's day
XX/XX ...... NSA programmer's day
01 01 ......... Bitwise programmer's day
FE B1 ......... Hexedecimal programmer's day
0 Votes
+ -
Somehow, your hexadecimal programmer's day reference went right over my head. 0xFE 0xB1 translates to 254 177. After figuring it in my head and still being confused, I double-checked it with perl -e "print '%d', $foo" where $foo held the appropriate hexadecimal number, and got the same numbers -- so my hexadecimal arithmetic skills weren't to blame.

What's the significance of 254 177 in determining a date for a Programmer's Day?

(edit: . . . and yes, I tried adding the numbers together to get 431, which adds up to either day 66 or day 65 of the following year, depending on possible leap years. I also tried treating FE B1 as a single four-place hexadecimal number, which yields 65,201 -- which, if taken as days, gives a date somewhere in the year 178 if I'm not mistaken. In other words, I must just be too short for that joke (or something). Obviously, there have been fewer than 178 years since the beginning of the Unix epoch. It can't even be the number of years since Ada wrote the first program, since she would have been something like 13 or 14 years old 65,201 days ago -- and even if it had matched up, that wouldn't make FE B1 a valid date each year. Give me a hint, please.)
String concatenation.
0 Votes
+ -
oy vey
apotheon 18th Sep 2007
I really should have figured that one out. I'm having a stupid day, I think.
oh jeezus that took a while to sink in!

Doh!
And if you're in Intel's PR department, you'd defend it by saying that so few people need a calendar of such precision, so the error shouldn't affect most people.
0 Votes
+ -
I really can't believe everyone missed this one in the discussion about FE B1...

June 31 as MS Systems Programmer's Day? Priceless!!!!


Steve G.
I think people tended to actually get that joke -- a couple of us were just trying too hard with the FE B1, and ended up discussing that at length because we overshot the cleverness of it.
You just missed the cleverness of the simplicity of it (never over-engineer anything) wink
0 Votes
+ -
Every day
maecuff 18th Sep 2007
is programmer's day.

Okay..maybe not. But that answer is the answer my mother always gave me when I asked why there is a mother's day, but no kid's day.
0 Votes
+ -
30 February - it signifies an evolving timeframe with an unreachable objective!
I contend therefore that this date will suit all people and all the possible views of those people.

I have chosen this date instead of the 29th Febuary as I wouldn't want anyone 'Leap'ing to any incorrect conclusions:-).
0 Votes
+ -
That's "Client Specifications Day".
0 Votes
+ -
Since I've worked nearly every day of the year meeting deadlines, busting estimates, fixing my own and others bugs, I don't see the need to single out one particular day.

Honor yourselves as programmers every day!
Yes indeed, it's simple logic:

0. Computers are used everywhere in our lives now for almost everything we do
1. Computers need software to do anything useful at all
2. Computer software is written by who? Oh, that's right, computer programmers!
3. Have a nice computer programmer's day!!
People should be damn glad we do what we do!
By all predictions and believes dated 1 of April the unavoidable end of FORTRAN and COBOL has to happen on February 29, odd year.
Both days are good enough.
Programmers doesn't have time to celebrations, anyhow... And even if they have, celebrate with whom???
September 9th. On that day in 1945, the first "computer bug" was removed from the Mark II Aiken Relay Calculator which was undergoing testing at Harvard University.
0 Votes
+ -
Actually . . .
apotheon 20th Sep 2007
It seems that the first debugging occurred with the creation of Ada Lovelace's first computer program, in correspondence between Ada and Charles Babbage. The Harvard bug was just a literal insect that got into a computer.
0 Votes
+ -
Ridiculous
TheDr@... 20th Sep 2007
None. That is the most ridiculous thing I have ever heard of.
0 Votes
+ -
Yeah, who needs programmers anyway? After all, what's technology ever done to improve your life? Besides, just think of how many dollars have been lost because companies have to pay IT consultants to support and implement the things programmers produce.

You are hereby given the "Dumbest Post of the Discussion" award. That's quite an accomplishment considering that this discussion isn't old enough to have died out yet.
0 Votes
+ -
:)
Andre_Nick Updated - 20th Feb 2009
wink
0 Votes
+ -
Accept gifts!
apotheon 20th Sep 2007
I'd like some more programming-related resources for my Programmer's Day gifts, please! There are some programming books I've had my eye on, and I'm interested in a new Thinkpad T-61 with the nVidia graphics adapter (so I can get 3D accelerated graphics with FreeBSD).
0 Votes
+ -
:)
Andre_Nick Updated - 20th Feb 2009
wink
0 Votes
+ -
Software . . . ?
apotheon Updated - 25th Sep 2007
Who said anything about software? I get all the software I need already, thanks. There's this thing called the Internet, and there's this stuff called "open source software" y'see.
Keyboard Shortcuts:
Prev
Next
Toggle
Join the conversation
Formatting +
BB Codes - Note: HTML is not supported in forums
  • [b] Bold [/b]
  • [i] Italic [/i]
  • [u] Underline [/u]
  • [s] Strikethrough [/s]
  • [q] "Quote" [/q]
  • [ol][*] 1. Ordered List [/ol]
  • [ul][*] · Unordered List [/ul]
  • [pre] Preformat [/pre]
  • [quote] "Blockquote" [/quote]

Join the TechRepublic Community and join the conversation! Signing-up is free and quick, Do it now, we want to hear your opinion.