Hacker Newsnew | past | comments | ask | show | jobs | submit | jonskeet's commentslogin

I think you've misunderstood what's changing here. It's not a matter of time zones not knowing that rules vary across time. It's a matter of knowing that "the rules for 2022" vary over time as well - in that the rules I might predict for 2022 may well not be the case now.

"Time zone history" (in every platform I've seen) does not mean "knowing what the rules for 2022 were in 2019". They mean "getting things right according to all the currently-known rules, across all of history". That's very different.


I've mentioned a few times to MS folks that I'd be very happy for the mscorlib team to make Noda Time redundant. They haven't bitten yet though.


> Most high calibre devs would be still wrapping their head around the problem after 15 minutes. reply

Most high calibre devs haven't stumbled into doing a lot of date/time work. That wasn't some clever decision on my part - it was working on the calendar part of Google Mobile Sync. Date and time is a rabbit hole that I just went deep on. A bit of luck rather than spectacular wide knowledge, I'm afraid.

I love that question and answer too, although I doubt that it's genuinely helped many people. Time zone and calendar stuff has a lot of amusing trivia. My favourite involves the 30th of February, which only occurred in 1712, and only in Sweden.


> My favourite involves the 30th of February, which only occurred in 1712, and only in Sweden

Man, now I know there's something worse than being born on the 29th of February and having 1/4th the birthdays. :)


Having done some time in the trenches with calendar code, I would like the politicians and bureaucrats who define the rules to have some notion of the cost they inflict. Then perhaps we wouldn't have "let's change the DST dates this year (only) as an experiment" and we certainly wouldn't have leap seconds..


Politicians couldn't care less about the leap seconds IMO. It's the other geeks (non-programmers) who enforce its existence. In fact the leap seconds predate the modern computing era. I guess they didn't have such a big impact in 1970s. In fact I didn't learn about them until 2012 when many systems crashed after leap second.

Having said that, politicians changing DST rules with a few weeks notice (like Turkey last autumn) are nuts. The impact of such decisions is huge and worldwide (emergency patches etc.)


Politicians of some sort are in charge of whether leap seconds exist or not. afaik it is mostly a particular kind of religion (belief that human time must be in all ways bound to the heavens) that drove the political push for leap seconds. Like you I only discovered they existed when my kernels locked up..


Comprehensive date/time is a living nightmare from which you can never escape. Even basic date/time handling for, say, charting current financial data has a cavalcade of gotchas.


Not that it contributes constructively a lot to the discussion, but as a Swedish software developer working with C# and Java, your answers have been to immense help. Thanks a lot!


> Most high calibre devs haven't stumbled into doing a lot of date/time work. That wasn't some clever decision on my part

This is good evidence that humility is correlated with mastery.


> The biggest issue with idolizing people this much in my opinion is that it puts a huge divide between you and that idol.

If it's any help, I'd be happy to give a huge list of bugs I've caused due to inexperience and incompetence.

I'm not going to pretend I don't enjoy the micro-celebrity status SO has given me, but I'd be happy to help correct any impression that there's a huge gulf between me and any "regular" programmer. Maybe a gulf in "time spent answering questions on SO" but not some massive intellectual divide.


Honestly, I was expecting a list of projects that you delivered with great code quality, tools you built to improve programming, and so on. I have that for Margaret Hamilton, from Apollo to 001. Bernstein of Qmail and Rod Chapman of Praxis Correct-by-Construction come to mind. Answering lots of questions about programming indicates something about knowledge but that depends on the questions & answers. I know lots of programmers value people doing hands-on parts.

So, all in all, I guess I'm wondering what writings or work you did that puts you on list of top programmers. I mean, is it just how many aspiring or professional programmers you've helped day to day? The amplification effect of your SO activities on our field? Or specific, jaw-dropping software or books I don't know about? Or both?

Just curious.


Well, my C# book (C# in Depth) has been well received. I'd like to think my date/time library for .NET (Noda Time) is mostly well-written.

But no, nothing that I'd expect to put me in the top 15 (or top 1500) programmers in the world.


That's honest. Appreciate the feedback. In case you missed the other comment, I do think we should have recognition of contribution to educating programmers in practical ways. I think your StackOverflow work and book should earn you some place high on that list. :)


They're not meaningful at all. Hopefully relatively few people really think I'm one of the "top 15 living programmers" or anything like that.

I'm good enough to make a living, and good enough to help people on SO. One of the nice things about programming is that what you find interesting, I might not and vice versa - hopefully there will always be enough people who find a variety of topics interesting to hope those who have problems in those topics. But yes, considering rep as a proxy metric for programming awesomeness would be a mistake IMO.


In case it needs stating, your contributions to the programming community are simply remarkable. And it is only right that your efforts should be better appreciated by the tech community and wider society.

But there are numerous unsung heroes who, for whatever reason, do not get the recognition they deserve.

Like those on Stack Overflow who are investing the same amount of time and effort as some of the top rep contributors, but in areas that are not as reputationally rewarding.

But there is also a large group that are not posting on Stack Overflow, who are more likely to be working somewhere across the thousands of forums, git repos and mailing lists that developers inhabit. Out of the limelight, and with no reputation points to show for it.


Your answers have helped me out many a time on stack overflow. I live in Reading, and would love to get you a beer sometime. Wonder how many other HN readers are in Berkshire


You're right, rep is not a proxy for programming awesomeness. But it is a proxy for how helpful you've been to the rest of the programming world, and I think that's something worthy too. I've only been 1/5 as helpful as you, and I'm quite proud of it.


If you want to indicate a time zone you shouldn't just use the offsets - they're ambiguous in that several different time zones can have the same offset at any point in time.

Better (IMO) to use the zoneinfo ID, e.g. "Europe/London" - along with the offset as well, in case the local time is ambiguous in that time zone due to a daylight saving transition.


I wonder if it deals with Sweden properly if you're there.

cal 2 1712

should show February 30th...

http://en.wikipedia.org/wiki/February_30#Swedish_calendar


I'm not in Sweden but changing the locale to sweden doesn't show Feb 30: LC_ALL=sv_SE.UTF-8 cal 2 1712


Oh there are plenty of time zones which aren't "on the hour". But most of them either don't observe DST or are unimaginitive about it.

I was far more impressed by Nepal's proposal (later dropped, I believe) to have a 1:15 daylight saving transition:

http://www.timeanddate.com/news/time/nepal-daylight-saving-t...


I only tick in .NET.

In Java I millisecond instead.


Haha! Good to see you here Jon! I went to reading festival last year, was hoping I'd bump into you actually... Nevermind ;)


Wooah. I used to live in Reading. Small world.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: