Software Development optimize

When is the ideal date for Programmer's Day?


September the 13th is celebrated in some quarters as Programmer's Day. In fact, Engadget published an article to commemorate the event.

However, the reason that the 256th day of the year, i.e. the 13th of September, is assigned as the Day of the Programmer, in my opinion, does not have a relevant enough inspiration. The number 2 raised to the power 8, i.e. 256, was chosen since 8 bits constitute one byte (The fundamental unit of Computer Memory).

But does the byte truly represent the spirit of programming? It's a data-type, and yes, at the lower end of the hardware coding spectrum, it does seem to represent a significant block, but Programmer's Day is about commemorating the spirit of programming that has made everything from computers a reality.

My recommended date for Programmer's Day is the 28th of December, the birthday of John von Neumann, the man behind the stored program concept. The concept simply states that instructions can be stored for systems to retrieve and run subsequently. This, I believe, is the very foundation for programming as we know it.

There are other several great occasions littered in the history of computing, with personalities who redefined and revolutionized the limits the computing. When, in your opinion, is the ideal date for commemorating Programmer's Day?

75 comments
rdrainer
rdrainer

Ada Byron, the first programmer, was born on December 10, 1815. I suggest this as Programmer's Day. I will also enjoy celebratory and memorial Sechuan dinner with a Hostess twinky and a RC Cola on the anniversary for as long as I remain solvent.

Elmonk
Elmonk

December 28th suits me well as just after Xmas nobody but programmers appear to work anyway except for maybe some shop assistants. So we may celebrate and have the offices all for ourselves. Let 'er rip!

nighthawk808
nighthawk808

I've been waiting for someone to point out the obvious two. I've read all the posts and, unless I've overlooked something, no has mentioned Alan Turing or Donald Knuth. The only people I can think of who have influenced computer science as much as they did are von Neumann (already mentioned); Julius Lilienfeld; and the group of Shockley, Bardeen, and Brattain. The last four aren't programmers, but thanks to them my Athlon64 doesn't burn out vacuum tubes and expect me to replace them. That allows me to get a lot more programming done.

charlesmmatanda
charlesmmatanda

I agree with Arun. 28th Sept makes a lot of sense. Can we have a committee to address this issue and have this day agreed upon world wide?

jbarbian
jbarbian

i like the 255/256th day (sept 12/13th). that makes sense..2**8=256 and arrays usually go from 0 to 255. i cannot think of any other number that is so common across platforms, languages and time. imo... 01/01 already has a label--new years 12/31 is not day 0, it's day 365/366 i don't like using a persons birthday because that will lead to an argument over which person to use and for what reason. now we just need to inform hallmark so they can get busy on greeting cards for next year. and if we choose 09/12 then to all programmers out there, a very happy, belated programmers day!!! hope you enjoyed it. just my two cents, joe

Realvdude
Realvdude

Actually, there should be 365 programmers days. Since this should be based on display of appreciation of programmers, I propose that it be on the day your boss really needs you. Given the number of programmers in the world, unless we are all sick or take a vacation on the same day, that would be everyday. Even then, they need you on your days off, so it is definitely everyday. Since all programmers are under appreciated, I would settle for a programmers appreciation month or even week. We deserve more than a day.

mjd420nova
mjd420nova

I'm in favor of Jan. 1st as that is the beginning and what better day to choose. That and maybe April 1st.

pr.arun
pr.arun

What day do you think best signifies the Programmer's Day ?

Ray berry
Ray berry

Wikipedia (http://en.wikipedia.org/wiki/Leo_Computers) The British LEO I (Lyons Electronic Office I) computer ran its first business application in 1951. The computer, modeled closely on the Cambridge EDSAC, was the first computer used for commercial business applications. ... and on 17 November 1951 rolled out the first commercial business application.

pr.arun
pr.arun

You cannot forget the father of information theory who linked logic with bits ( on, off == 1 or 0 )

DanLM
DanLM

Hell, it's my birthday. Who am I to say no to that date. Dan

dancer1117
dancer1117

...every Friday the 13th. It's supposed to be a bad day anyway, and we would have a good excuse for when the servers crash, all the backup tapes shred themselves, and every PC commits harikari with the Blue Screen of Death.

apotheon
apotheon

I guess we wouldn't get the Leap Year day, then.

Oz_Media
Oz_Media

Only programmers are insane enough to work on Sundays. ;)

fsoto
fsoto

I don't really care what day should be the Programmer's Day, but in Mexico the Dec 28th is a day for makin' jokes to everybody, i think if Dec 28th is selected as Programmer's Day, everybody should think that Programmer's Day as a joke. Can you imagine all of us mexican programmers getin' jokes from everybody?

fsoto
fsoto

This One was an error, i'm sorry :S I don't really care what day should be the Programmer's Day, but in Mexico the Dce

ThomasJWest
ThomasJWest

Yesterday! Because that's when everything is needed!

caliban
caliban

The best date for Programmer's Day is April 1 (April Fool's Day). This date: (1) Recognizes our most-frequent mode of learning, and (2) Recognizes the permanence of many of our efforts, and (3) Recognizes, especially, the helpful attention of most of our management.

Dr Dij
Dr Dij

outsourcer's day?

ron_r_a
ron_r_a

Ever since an $80 multiple choice certificate exam received higher recognition than a college degree, this industry has been inundated with fools.

webmaster
webmaster

You sillies, programmer's day is everyday! =D ~DtD (Ooops, I meant to put this as reply to the tread...)

TheDr
TheDr

None. That is the most ridiculous thing I have ever heard of.

tomwilson2
tomwilson2

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.

amsmota
amsmota

Programmers doesn't have time to celebrations, anyhow... And even if they have, celebrate with whom???

alxnsc
alxnsc

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.

.Sherwood
.Sherwood

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!

Johnj4269
Johnj4269

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:-).

maecuff
maecuff

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.

Locrian_Lyric
Locrian_Lyric

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

CharlieSpencer
CharlieSpencer

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.

apotheon
apotheon

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 [b]right[/b] 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 [b]really[/b] 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?

Bruce Jump
Bruce Jump

November 11. For obvious reasons.

apotheon
apotheon

Sure, Linux was created by programmers -- but then, so was everything else. If you're thinking about open source software, there have been a lot of open source applications and other pieces of software that predate Linux by quite a lot. If you're thinking about Unix-like operating systems, we should probably either go with the birth of the original Unix or that of BSD Unix, both of which predate Linux by quite a lot as well. Why Linux? Is it just because you like Linux? Some programmers [b]don't[/b] like Linux so much (such as anyone who has written code for a BSD Unix system enough to realize how much easier that can be).

apotheon
apotheon

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).

nighthawk808
nighthawk808

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.

apotheon
apotheon

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.

j_oneil
j_oneil

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!

aureolin
aureolin

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.

nighthawk808
nighthawk808

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.

apotheon
apotheon

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 [b]perl -e "print '%d', $foo"[/b] 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.)

apotheon
apotheon

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.

jarzola
jarzola

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?

deity_chooch
deity_chooch

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.

TSE-m
TSE-m

...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?

newtc
newtc

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?"

CodeCurmudgeon
CodeCurmudgeon

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."

nighthawk808
nighthawk808

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.

doghousedean
doghousedean

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)

pr.arun
pr.arun

Apotheon, your deductions were amazing. Thanks for them.

DanLM
DanLM

I vote for this one: [i]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] 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

apotheon
apotheon

As a veteran who lived to celebrate Veterans' Day, I'm proof that you won't get to repurpose 11 November without a fight just because some of the people for whom it's most important aren't around to fight you for it.

nighthawk808
nighthawk808

perhaps you've heard of this little holiday called Veterans' Day? Maybe I'm just biased, but I think they deserve that day to themselves, especially in view of how many of them didn't live to celebrate it.

apotheon
apotheon

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.

Locrian_Lyric
Locrian_Lyric

You just missed the cleverness of the simplicity of it (never over-engineer anything) ;)

apotheon
apotheon

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.

doghousedean
doghousedean

oh jeezus that took a while to sink in! Doh!

apotheon
apotheon

I really should have figured that one out. I'm having a stupid day, I think.

keeleyt83
keeleyt83

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!

nighthawk808
nighthawk808

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.

apotheon
apotheon

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.

apotheon
apotheon

"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]I think apotheon may have just invented binary numerology. . .[/i]" 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).

nighthawk808
nighthawk808

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.

apotheon
apotheon

"[i]BAD Programmers' Day[/i]" Is there another kind of programmer than "BAD"? /me hides his programming books.

apotheon
apotheon

I appreciate the compliment.

nighthawk808
nighthawk808

I meant to type "*nix box", but typed "Linux box" out of habit.

apotheon
apotheon

The [b]cal 1752[/b] 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.

nighthawk808
nighthawk808

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.

DanLM
DanLM

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

nighthawk808
nighthawk808

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.