Strange that they wouldn't use NULL to mean never expires, rather than setting a timestamp arbitrarily far into the future.
Epoch-alypse now: BBC iPlayer flaunts 2038 cutoff date, gives infrastructure game away
Feeling old yet? Let the Reg ruin your day for you. We are now substantially closer to the 2038 problem (5,849 days) than it has been since the Year 2000 problem (yep, 8,049 days since Y2K). Why do we mention it? Well, thanks to keen-eyed Reg reader Calum Morrison, we've spotted a bit of the former, and a hint of what lies …
COMMENTS
-
-
-
-
Monday 17th January 2022 14:46 GMT Dan 55
The available until date is set to 18th of January 2038. So someone, for whatever reason, deliberately set it to one day earlier than 0x7FFFFFFF, either at 00:00:00, 03:14:07, or 23:59:59 (pick your poison).
Maybe the new guy wasn't aware of the value to get it to say "for more than a year", which might be -1.
-
Monday 17th January 2022 21:21 GMT Fred Daggy
Not sure I am a fan of packing two meanings in to a single data field. Perhaps a bool or flag for "Never expires". Then another field (which might be the aforementioned 2^32 datetime field, which indicates the expiry. Date of expiry only checked if the bool indicates it is required.
Or is my programming style way out of date?
-
Tuesday 18th January 2022 09:11 GMT LybsterRoy
You should see some of the arguments I've had with people (mainly Delphi programmers) on using a NULL as a flag when an actual real flag would work so much better.
I actually had a conversation with someone who claimed to be the person who wrote the system that's always used to justify NULL <> empty space.
-
Tuesday 18th January 2022 10:15 GMT Dan 55
Or is my programming style way out of date?
Just think of the options when there is no expiry time, in increasing degrees of inventiveness (or f'd-up-ness, call it what you will):
1. If you set bit 31, you've got 31 flags in bits 0-30 for your own use
2. If you set bit 31, you could read bits 0-30 as bitfields
3. You can store values from -1 to -2147483648, with different negative values or ranges of negative values having different meanings
Or for maximum f'd-up-ness:
4. You could solve the Y2K38 problem by interpreting -1 to -2147483648 as a positive number with a new epoch starting at 2038-01-19 03:14:08 and use custom time calculation and display functions. Don't forget the base value is -1 which should be interpreted as 0!
All this kind of innovative inventive programming was done on 80s home computers to save a byte in RAM somewhere, your programming style is more modern and profligate with memory.
-
-
-
-
-
Tuesday 18th January 2022 05:33 GMT Jellied Eel
Or one lawyer is waving it at another lawyer, whilst the judge looks bored.
I'm guessing under the hood, expiry dates get complicated. So there may be a streaming window where a file is PPV, then free to air, then unavailable on iPlayer but available via Bbc Worldwide's front-end. Then whether there are time-limited licenses to use music, clips, or copyright expiring in general.
Which can all get rather complicated & why some old content isn't legally available online because streaming rights weren't a thing when the works were created. Apparently the Bbc is struggling to refit the TARDIS (Temporal Administration & Rights Discovery and Implementation System) so it can register historical copyrights in favor of the Bbc. Hence why it's demanding an RPI+ licence fee increase, because time travel isn't cheap.
-
-
-
-
Monday 17th January 2022 21:39 GMT TheProf
Re: A fix for this
The BBC's TV content may not suit you or myself but I belive there are one or two other people who rely on the BBC for local news and dancing and sewing programmes. As much as 'we' dislike them talent shows and soap operas are the current staple of British TV.
For a corporation that has seen it's income gradually reduced by the culture wrecking party it's still managing to turn out a few watchable shows. It's not perfect by any stretch of the imagination but it is bloody popular.
Imagine that future where every terrestrial TV channel is showing programmes interrupted every 10 minutes for adverts for food delivery services and on-line bingo companies.
-
Monday 17th January 2022 22:14 GMT codejunky
Re: A fix for this
@TheProf
"The BBC's TV content may not suit you or myself but I belive there are one or two other people who rely on the BBC for local news and dancing and sewing programmes"
Sounds like a lot of room for slimming the number of channels then.
"It's not perfect by any stretch of the imagination but it is bloody popular."
Fantastic so it should have no fear of relying on its popularity to fund it instead of everyone else who has no interest. Shouldnt it?
"Imagine that future where every terrestrial TV channel is showing programmes interrupted every 10 minutes for adverts for food delivery services and on-line bingo companies."
Yeah it sucks. The only reason to watch those channels is because there is something worth watching. Which seems to be how the majority get along. Or paying a subscription to watch streaming services without adverts, which also seems to be popular. So if the BBC is so 'bloody popular' it could raise revenue direct from those who want it. Do you think that would be enough? (I dont and they dont seem to believe that either).
-
Tuesday 18th January 2022 08:44 GMT Rattus
Re: A fix for this - You are not required to buy a TV licance
Given that I am assuming you only stream content, simply don't by a TV and use a monitor instead. no need for a licence...
Now I agree a lot of the content on TV is missable - I for one do not watch. However I do pay for a licence because I listen to the radio, and I want a news service (OK I would like them to verify stories rather better than they currently do - but AFICT the beeb is still leading the way)
-
Tuesday 18th January 2022 09:24 GMT DialTone
Re: A fix for this - You are not required to buy a TV licance
Or DO buy a TV and don't use it to watch live TV - also no need for a licence. It's a fallacy that you need a licence for owning a TV - the licence is required only if you watch or record TV as it's being broadcast, or use the iPlayer service.
I've been licence-free for some time now but I still own and use several TV's as I do watch Netflix occasionally, use my gaming console connected to the TV, watch YouTube etc, and with prices starting at ~£300 for a decent-sized TV versus many multiples of that for a comparable monitor it's a no-brainer to get a TV instead of a monitor!
I do hear what you're saying about radio - I personally don't listen to BBC stations, however you're not required to have a licence to listen to radio (including BBC stations), nor to access BBC websites (including the news).
I agree that this may seem unfair on its face, and there's many legitimate arguments in support of funding the BBC, but I guess that's something that will need to be resolved moving forward, especially as they move towards the end of their Royal Charter. I've no doubt we'll all end up paying for it in some way eventually.
-
Tuesday 18th January 2022 09:40 GMT codejunky
Re: A fix for this - You are not required to buy a TV licance
@Rattus
"Given that I am assuming you only stream content, simply don't by a TV and use a monitor instead. no need for a licence..."
Which is what I do. Previously I have had sky and virgin TV which was worth paying for but I grudgingly had to prop up the BBC even though it was no use to me. So in the end I figured I wouldnt waste my money paying an extra company for literally nothing!
"Now I agree a lot of the content on TV is missable"
And that applies to all services. We are all different with our own tastes. As you say you like the radio, I dont. Neither is right or wrong just different tastes. That is why the BBC fears having to be funded by people who actually like their content, because they will lose a lot of money very quickly.
-
-
Tuesday 18th January 2022 09:28 GMT Peter Gathercole
Re: A fix for this @codejunky
It's funny how so much of the other channel providers on broadcast TV carry material originally produced for or by the BBC...
But the statement yesterday from Nadine Dorries was just a smack in the face for the BBC. I mean, saying that holding the license fee down to was to benefit the poor and the especially the elderly, when this government or one of it's immediate predecessors was responsible for dropping the over 70's free TV license, forcing the BBC to pick it up, and then abolishing it completely.
I wonder how many of the people she's talking about actually do already pay a lot more than the license fee for other subscription TV services (OK, I know there are many people who do really struggle day-to-day, and they deserve a lot more than just keeping the license fee down, but that's not all of them).
And then suggesting that there may be a Government fund to pay for certain important content and radio! This just flies in the face of the editorial independence of the BBC, and risks just making it a government mouthpiece.
The existing license, though enforced by the law, is actually not government money, and has given the BBC the ability to claim to not be funded by the government. It's not perfect by any means especially in this day and age, but nobody has yet come up with a real viable alternative.
Many UK governments have disliked the BBC for being independent and either too left wing, or too right wing, depending on their political bent, but this one appears to be the one actually trying to break it!
Another step in the demise of UK democracy.
-
Tuesday 18th January 2022 10:00 GMT codejunky
Re: A fix for this @codejunky
@Peter Gathercole
"It's funny how so much of the other channel providers on broadcast TV carry material originally produced for or by the BBC..."
While I hate to say it 'the good old days' when they made stuff to be watched. Its interesting to watch (mostly comedians) complaining that their highly popular content (even now) could not be made in this day and age. Even having parts edited out or having warnings of triggering content.
"I wonder how many of the people she's talking about actually do already pay a lot more than the license fee for other subscription TV services"
But is that wrong? People paying for something they want but forced by law to pay the competitor too? It would still be the same problem for low income people with an android phone having to pay apple or buying a car but having to pay a british leyland tax.
"And then suggesting that there may be a Government fund to pay for certain important content and radio! This just flies in the face of the editorial independence of the BBC, and risks just making it a government mouthpiece."
To be honest its probably not so much an issue if its branded the governments mouthpiece. Then people know not to take it seriously. But unfortunately the BBC decided on its 'agenda' and people took it seriously as its honesty fell off.
My issue is that the BBC is political. They have been caught stacking the audience in QT, misrepresenting the MMCC co2 debate and altering news articles without pointing out they made such drastic edits that the original story was completely incorrect. Instead of reporting it turned to trying to influence
-
Wednesday 19th January 2022 17:09 GMT Peter Gathercole
Re: A fix for this @codejunky
I'm not talking about ancient comedy shows. I'm talking about the documentaries, especially the natural history ones, the costume dramas, QI, old Top Gear (although this is long in the tooth now) and so many other shows (I hesitate to mention Stricly, but it is popular). I would have mentioned Dr Who, but....
The Reith lectures. The BBC Proms, the more I think, the more there is.
Many of these shows would never be commissioned by other channels, so losing them would be a loss to many people who claim to never to watch the BBC.
And like it or not, BBC news provides a better (IMHO) view of what is going on than Sky or the ITV news. And not just at a national level. I don't know whether you've ever listened to what is laughingly called news on the commercial radio stations.
Nothing's perfect. Maybe more oversight is needed, and not just from the BBC Trust who are just like the inmates running the prison.
-
Thursday 20th January 2022 10:33 GMT codejunky
Re: A fix for this @codejunky
@Peter Gathercole
"I would have mentioned Dr Who, but...."
Yeah, I wasnt a fan of Dr Who (just not my taste) but watching it be gutted by 'the message' was stupid.
"Many of these shows would never be commissioned by other channels, so losing them would be a loss to many people who claim to never to watch the BBC."
I dont know how that works. Someone who doesnt watch the BBC wont have a loss if they didnt watch them. And talent like the original top gear has gone to a company who wants to attract viewers over following 'the message'.
"And like it or not, BBC news provides a better (IMHO) view of what is going on than Sky or the ITV news."
Does it? I honestly dont know because I read the news not watch it. When I visit family and they have the news on (usually BBC sometimes ITV) I find myself calling bull or stupidity so much its nuts. I usually end up having to fill out the large portions of missing information for them.
"I don't know whether you've ever listened to what is laughingly called news on the commercial radio stations."
I really dont. I prefer to read the news so any glimpses of news on TV or radio is only when visiting family.
-
-
-
-
Tuesday 18th January 2022 13:00 GMT SpamuelBeckett
Re: A fix for this
"Or paying a subscription to watch streaming services without adverts"
Bless you for thinking that.
Amazon Prime shoves adverts for other Prime stuff you have to subscribe or buy to in order to watch.
Disney+ also advertise movies that need you to pay a fee too.
Now TV also shows normal adverts for any sort of items.
Netflix is the best really for no adverts, but thats not going to last forever, especially if people are already stating "without adverts" when quantifiably that is nonsense.
-
Tuesday 18th January 2022 13:27 GMT codejunky
Re: A fix for this
@SpamuelBeckett
"Amazon Prime shoves adverts for other Prime stuff you have to subscribe or buy to in order to watch."
Sounds like the BBC where they advertise their own stuff in place of commercials. And of course you already pay the BBC because you want to watch other channels.
"Netflix is the best really for no adverts"
You can guess which one I am using. I know other people who use the other streaming services but I dont.
I guess if these other services manage to attract viewers with commercials the BBC should find it easy to attract viewers with their 'quality' content? That is the test the BBC knows it will fail.
-
-
Wednesday 19th January 2022 10:01 GMT codejunky
Re: A fix for this
@Tom 7
"I get screenfulls of adverts for shit I'm never going to watch before I get anywhere near what I'm searching for,"
Really? How? I use a tablet and tap my profile then go find what I want to watch. I dont see a single advert only a library of shows. I dont recall any issues watching on my PC either but aint done that in a while
-
-
-
-
Friday 18th March 2022 12:11 GMT DuncanLarge
Re: A fix for this
> Or paying a subscription to watch streaming services without adverts
That's not always true. Paying a subscription does not stop you from being forced to watch the adverts.
Example: Babylon 5 on Amazon Prime. Adverts automatically inserted at the most annoying moments. Broadcast TV at least makes it clear where they go and when they are coming but on Amazon Prime you are there watching the action unfold as the Vorlons finally attack the Shadows and boom 3 adverts. The SAME 3 adverts you see, over and over and over.
Unskippble, even if you have ALREADY watched them because you got distracted and had to wind backwards to re-watch that action.
-
-
Tuesday 18th January 2022 09:17 GMT LybsterRoy
Re: A fix for this
--For a corporation that has seen it's income gradually reduced by the culture wrecking party --
Or as a corporation that has increasingly spent its money on producing rubbish and grossly overpaying some people to write/speak commentary that is meaningless.....
I started watching "Around the World in 80 Days". In its favour it did keep the books title.
-
-
-
Monday 17th January 2022 20:08 GMT Anonymous Coward
The Tories fix for this
is easy.
The BBC will simply cease to exist the day after their charter runs out. Boris and pals hate the Beeb. Starmer and pals also hate the Beeb.
For both to hate the Beeb sorta tells me that the beeb is not doing a bad job.
How about instead of replacing the beeb, replace both the Tories and Labour parties.
-
Tuesday 18th January 2022 07:15 GMT Anonymous Coward
Re: The Tories fix for this
"For both to hate the Beeb sorta tells me that the beeb is not doing a bad job."
This is known as the balance fallacy, or the fallacy of false equivalence. It assumes that all criticism of the BBC is equally valid or invalid, whether it comes from Labour or the Tories.
-
-
Tuesday 18th January 2022 00:27 GMT JimboSmith
Re: A fix for this
The problem is that the commercial channels don’t want the BBC taking adverts or a subscription.I worked for a commercial broadcaster who didn't like the license fee. However they also didn't want the BBC taking advertising or sponsorship. Neither did the idea of encryption/subscription go down any better. People apparently might find the idea of two monthly charges unwelcoming and ditch the commercial one.
-
Monday 17th January 2022 11:59 GMT Brewster's Angle Grinder
I'm glad you eventually get round to pointing out it's not a uniquely unix problem. Most (all?) implementations of C uses the "POSIX epoch" of Jan 1st 1970 so any C compiler with a 32 bit signed int for
time_t
is in the shit. Although I've just checked the spec and neither the width nor the epoch are mandated in modern C standard. (I've not looked backwards to see if it ever was.)The real problem is not application but filesystems and file formats which have used a 32 bit signed time_t in the format. That's more of a unix problem.
Anyway, it looks like this will pay for my retirement!
-
Monday 17th January 2022 13:11 GMT MacroRodent
so long
Officially you should use the typedef name "time_t", but historically the calls and documents used "long" in old Unix, and many programmers have lazily continued using it for time without the typedef name. On 32-bit Linux and most other 32-bit systems, "long" is 32-bits. On 64-bit Linux, "long" grew to 64-bits, but 64-bit Windows still keeps it at 32-bits for backward-compatibility. So a Windows program that at some point uses bare "long" for time will have trouble, but one on Linux will not!
-
Monday 17th January 2022 19:19 GMT Brewster's Angle Grinder
Re: so long
I've done some digging: the original C Programming Language First Edition (1978) - i.e K&R C - doesn't define
time_t
and associated functions. They seem to arrive in ANSI C (C89) fully spec'd.But, yeah, back in the day I used to treat
time_t
aslong.
And all DOS C compilers I used adhered to Unix standards. However there are probably some embedded systems where that wasn't true.-
Tuesday 18th January 2022 08:13 GMT MacroRodent
Re: so long
Yes, the library described in the original K&R is quite limited. Most implementations of C on non-Unix systems added some simulations of Unix calls for time, raw file file access, etc. The ANSI C spec specified a more complete library, with some calls inherited from Unix, and some that were commonly implemented in various C libraries. The "Rationale" section of the original ANSI C spec, where they describe their choices in making the standard, is fascinating reading for anyone interested in the C language.
-
-
-
Monday 17th January 2022 12:04 GMT Alan J. Wylie
VMS got it right
VMS (since 1977) has stored time as 100ns clock ticks since 17 November 1858 (the start of the Reduced Julian Day (an astronomical timescale, the "reduced" variant was introduced by the Smithsonian Astrophysical Observatory in 1957 to record the orbit of Sputnik). It will run out of bits in the year 31,086.
-
Monday 17th January 2022 13:00 GMT Evil Auditor
Re: VMS got it right
...and about 29,000 years from now, someone will have discovered an ancient calculation machine and will have figured out how it worked. And they will see that its clock stops in the year 31,086. And some of them will start a cult that believes the end is near for an ancient civilisation allowed their calender to run until then...
-
Monday 17th January 2022 16:29 GMT Phil O'Sophical
Re: VMS got it right
VMS got most things right.
There is, though, a well-known bug filed against VMS for a related issue. The standard message display only permits 4-digit years, so even if the clock is fine until 31,086 there will be a display error when it ticks over on Dec 31st 9999. Last time I saw that bug in the DEC tracking system it was in an 'accepted' state, with a note that it will be fixed "in a future major architecture". Sadly unlikely now...
-
-
Monday 17th January 2022 12:06 GMT Anonymous Coward
>with a snapshot that implies Old Auntie might be using a 32-bit Linux in iPlayer
This would be among the least likely explanations, given this is a value encoded in a database somewhere. Most likely on a technical basis is someone is using MAXINT for "never expires", which is always going to land at that epoch however big your epoch may be allowed to grow.
Or perhaps someone in the iPlayer team has a mischievous streak and set the displayed maximum there deliberately as a nod to their fellow technologists.
Given the iPlayer volume slider goes to 11, I know which of the two I'd prefer to be true.
-
-
Monday 17th January 2022 13:29 GMT Anonymous Coward
Close. The point is that MAX_INT is almost always going to be 2,147,483,647, regardless of whether you're using C/C++ on a 32 or 64bit linux, writing some enterprise glue code in Java or storing that value into an Integer field in MySQL.
2,147,483,647 always lands you on that magic moment in 2038, regardless of whether your epoch is represented as a 32 or 64 bit number. The real question is what your system does with epoch 2,147,483,648, not what it does with the predecessor.
-
-
This post has been deleted by its author
-
-
-
-
Tuesday 18th January 2022 16:33 GMT dajames
Yes. I learnt to program on a machine with MAX_INT = 8388607(*)
So did I ... happy days!
(*) Well, it would have been if there had been a C compiler for it.
I sometimes wonder how C would have looked on an ICL 1900. The fact that a character was only 6 bits (and that the character set wasn't ASCII) would have been interesting ... as would taking the address of a character when it was stored in a quarter of a 24-bit machine word.
-
-
Tuesday 18th January 2022 11:17 GMT Anonymous Coward
This is half-true in some historical contexts, but I picked my words more carefully than that. INT_MAX is defined to be the same value on both 32 and 64 bit linux, to ensure interoperability. You'll find this is the case in almost all other contexts too.
This is allowed because the C standard itself only sets a minimum bound for each type size. It doesn't tell you to align them to your maximum word length.
-
-
-
-
Monday 17th January 2022 18:32 GMT Mike 16
Goes to 11?
Being geographically undesirable to iPlayer, I was not aware of this. I do know that many Atari arcade games starting with Marble Madness have a volume setting (operator only) that goes to 11.
One wonders which was the chicken and which the egg. Since Marble Madness and Spinal Tap were both released in 1984, perhaps the good folks of MiniTrue, er, BBC, were busy at the time.
-
-
Monday 17th January 2022 13:10 GMT Anonymous Coward
Erm... "Palin's Round The World In 80 Days" on BBC4, or "Round The World In 80 Days" with David Tennant on BBC1?
(not sure why they are broadcasting both series at the same time!)
Cisco have got round the y2038 problem by redefining 'day zero' for the RTC... some default to 1/1/2010, others to 1/1/2013, when the NVRAM battery goes flat (depending on IOS version)
-
Monday 17th January 2022 14:42 GMT Anonymous Coward
(not sure why they are broadcasting both series at the same time!)
Probably someone realised that the plot & characters of the Tennant-inhabited series was entirely unlike the actual book -- and so that someone then thought the Palin one might serve as a more accurate representation :-)
Indeed, I re-read the Verne original very recently -- in fact, just after thinking "I don't remember any of that" during Tennant Ep.1).
Arguably (IMO), a fair fraction of the book is not necessarily well matched to the demands of modern TV, so a significant degree of "updating" was probably to be expected. It is a shame, though, that so little of the original was allowed to survive, and even that is mutilated. Mind you, perhaps Eps 7&8, which I haven't seen yet, are less off-piste?
-
Friday 18th March 2022 12:23 GMT DuncanLarge
Re: (not sure why they are broadcasting both series at the same time!)
> Indeed, I re-read the Verne original very recently -- in fact, just after thinking "I don't remember any of that" during Tennant Ep.1).
Pretty typical for adaptions of the book.
As a kid I remember learning of the existence of the story by watching an annoying cartoon of it with a Lion playing Fogg
-
-
Monday 17th January 2022 18:28 GMT the spectacularly refined chap
Cisco have got round the y2038 problem by redefining 'day zero' for the RTC... some default to 1/1/2010, others to 1/1/2013, when the NVRAM battery goes flat (depending on IOS version)
The RTC has absolutely nothing to do with internal date format used by the software on top. The RTC format is determined by the actual chip used, generally it will be some representation of time in a wall clock-style format, i.e. separate fields for year, month ... minutes, seconds. Sometimes those are separate ints for each field, on some chips they are in BCD form.
Regardless it gets converted to some other representation after being read. That can be on use but most systems use it to set a timer at boot and ignore it after that, since most RTC chips don't offer better than one second resolution.
The default "bad info" date is purely a style choice when an invalid CMOS checksum is detected. It does get updated from time to time. For many years virtually all PC compatibles would default to 1981 but that started changing around the millennium, a date that long ago simply screams how old the code base is.
-
Tuesday 18th January 2022 10:33 GMT that one in the corner
> The RTC format is determined by the actual chip used, generally it will be some representation of time in a wall clock-style format, i.e. separate fields for year, month ... minutes, seconds.
True.
> Regardless it gets converted to some other representation after being read.
Oh, if only that were universally true. Having worked on an embedded system that is still in use, timestamping every 40ms using the RTC format plus an extra centisecs field. Then they continue using that format to do temporal arithmetic and comparisons against user-defined durations. Some very weird times were reported from that lot (not least data collected in 1720, 1820, 1920 ...).
Only dealing with shifting the epoch to push back the 2038 End Of Time would have been a pipedream.
-
-
Monday 17th January 2022 22:28 GMT gerryg
You've all missed the the wonderful irony.
See back issues of the Register for more details, for example:
https://www.theregister.com/2007/11/06/highfield_tactics/
Back in the days of the introduction of iPlayer, only available for Windows and then Apple but no Linux during a presentation at IET, Savoy Place, Linux users were described as wanting to steal content as various side steps were taken to watch the output.
Long time ago but the word "thieves" might have been used.
That iPlayer is on Linux architecture would be just too good to be true
-
Tuesday 18th January 2022 07:11 GMT martinusher
People fuss so....
You do not need to rebuild your entire software and hardware infrastructure to convert an 'unsigned long' into an 'unsigned long long'. I haven't looked recently but all the embedded code that I've used made the switch ages ago, I forget when. If you've got legacy stuff that's stuck with an unsigned long then the time's going to be a bit off but its hardly the end of the world but these sorts of systems are only interested in relative time and the resulting glitch is only momentary. ("Speaking from experience")
(BTW -- GPS has been stuck with a 32 bit time counter. The people who designed it were smart enough to have a mechanism for periodically resetting the epoch.)
-
Tuesday 18th January 2022 08:42 GMT Captain Boing
UTC?
unixtime, epochtime whatever you want to call it is not necessarily UTC - it's a representation of the system clock in seconds so it will go on whatever the system clock is set to.
It can be UTC but I bet most such affected systems in Oz will stumble before those in Europe - because of the time difference. saying that it all goes belly up at xx:xx:xx UTC means the clocks in Oz must have some ephemeral immunity for that half day... probably more effort than the fix
jus' sayin'
-
Tuesday 18th January 2022 09:03 GMT staringatclouds
Y2K minor point
"Y2K was caused by programmers saving space by storing years as two digits"
No it wasn't, if it were a software problem a patch would have solved it
It was caused by the hardware storing dates as 2 digits & because it was the hardware this meant replacing the clock chips which usually meant replacing the entire device
Y2K was primarily a hardware problem, which is why it was such a mare to deal with
-
Tuesday 18th January 2022 09:17 GMT Paul Crawford
Re: Y2K minor point
Hardware 2-digit is the easy bit, just replace a lot of PCs, etc.
Nope, it was all of those perky files and databases using 2 digits for year that were bothersome and various temporary fixes as well as proper fixes had to be done. Just look at the TLE (two line elements) that are still in use, the assumption there is 00-56 is 2000-2056 and 57-99 is 1957-1999
Why 1957? Think Sputnik
-
Tuesday 18th January 2022 09:40 GMT Anonymous Coward
Nope...
What we call the Y2K problem actually started showing up in the mid-70's in software that did 25-year forecasting. It wasn't a hardware problem then - it was the date representation in software and database/filestore.
Hardware was only one iteration of the Y2K problem. It also existed at the OS level, the software level and the database level, and all combinations thereof. My favourite combination was the one where where the OS and software companies both had Y2K compliant versions, but the two versions weren't compatible with each other.
By the time it got called the Y2K problem it was a "mare of an issue" because the scope was huge, the timescales rapidly diminishing and Management baulking because it was going to be expensive to deal with (the bulk of the work was finding out where you had the problems - the fixes were relatively easy).
I had a front-seat view of this as I was not only a programmer at the time, but I was also working alongside the Y2K remediation team for our company - which meant that I had a view of all the issues for our company and all our customers.
There were many and various software patches for OS and commercial software. It is true that hardware was harder to deal with (and yes, there were firmware patches as well), but it was never primarily a hardware problem. Hardware was just one of the problems.
-
Tuesday 18th January 2022 09:49 GMT Twanky
Re: Y2K minor point
"Y2K was caused by programmers saving space by storing years as two digits"
If year (numbers) were stored as two digits (two bytes) then we'd be OK from the year 32766 BC to the year 32767 (assuming they didn't use unsigned 'word' values). The problem is they used a two character representation which could then be fairly easily converted to a single byte number for arithmetic. Seems daft now but simply concatenating strings to represent dates seemed a great idea.
How were the pension companies (for example) dealing with their calculations for men born post 1935 who would be expected to retire in 2000 or later (age 65, in the UK)?
-
-
Tuesday 18th January 2022 09:44 GMT Kristian Walsh
There seems to be a lot of confusion about what C considers to be the size of an int on 64-bit machines.
Basically, the value of INT_MAX (for that is its real name) is whatever is defined in ‹limits.h› for your compiler; it does not necessarily have anything to do with the machine architecture.
On my 64-bit Linux with a unchanged clang installation, I have 64-bit time_t, 64-bit size_t, but 32-bit int.
$ uname -m
x86_64
$ cat test.c
#include <limits.h>
#include <time.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("INT_MAX = %d, sizeof time_t = %ld\n", INT_MAX, sizeof(time_t));
return 0;
}
$ gcc test.c
$ ./a.out
INT_MAX = 2147483647, sizeof time_t = 8
32-bit int is a de-facto default in C; after all, int is the type you use when you don’t care about exactly how big it is. If size of the variable is important, stdint.h has the type-names you should be using instead.
If you need 64-bit ints, you probably know you do already, and are using uint64_t/int64_t…or intptr_t, ptrdiff_t, size_t and the other types that are guaranteed to match your address-space.
All of this, is, however, completely irrelevant: there’s almost zero chance that the iPlayer backend was written in C. The software is most likely written in Java, which explicitly defines int as 32 bits. The fact that the developers used an ad-hoc approach to date/times rather than a proper library also points to Java, which before 1.8 (in 2014) had a rats-nest of badly-concieved date-time functions in the standard library. (Yes there were good third-party packages, particularly jodatime which became java.time, but devs have to realise that the built-ins are crap and go looking for a better library… before they start using the built-in functions extensively in code)
I suspect the code does indeed have a defined constant of Integer.MAX_VALUE somewhere to mean “no expiry”. That’s 2038-01-19 at 03:14:07 but when passed to the presentation code, that would most likely have been moved back to the last full day preceding (thus “January 18., 2038”), because stating “available until xx. Month, year” can be read inclusively, promising availability until the end of that day. Not a big deal on something so far away, but an expiry of this Friday at midnight would generate a lot of annoyed users if presented as “available until [this Friday]”.
-
Tuesday 18th January 2022 10:10 GMT bobbear
I can't imagine the BBC lasting that long, so I doubt it's going to be a problem. As far as I am concerned, the sooner the BBC encrypt their channels and the licence fee is scrapped the better. It won't make one jot of difference to me as I long ago gave up watching their biased news and current affairs output, awful PC dramas, low-life soaps, reality rubbish and don't get me started on what passes for comedy these days and the bloated salaries they pay to the likes of Lineker et al.., but what I object most strongly to is having to pay the BBC tax to be able to legally receive and watch other advertising supported real time satellite and terrestrial 'free to air' content which I am also indirectly paying for in addition.
If we ever get decent broadband in our area to support streaming as opposed to the current wet string distributed snail pace so-called "Superfast" offering, that's the day I cancel my BBC tax contribution..
-
Tuesday 18th January 2022 11:16 GMT nsmhd
This is on Sky’s system
Based on the screen shot in the article this is a screen shot from the Sky + app.
Sky have their own implementation of BBC iPlayer where Sky ingest the BBCs content to their servers and serve it to Sky STBs via a progressive download rather than streaming.
They use this progressive download system because older Sky + HD STB do not support streaming.
On SkyQ it is possible to access the native iPlayer app but also use Skys progressive download system.
This means this could well be something on Skys infrastructure rather than the BBCs.
It’s also worth pointing out that I’m sure the Sky + app is end of life now in favour of the Sky Go app.