Macs not Y2k Compliant After All?
XBS writes "It seems that Macs are not quite Y2K compliant. They are hardware compliant, but software wise not quite. This is research done by Pedagoguery, which makes a Y2K-testing tool for the Mac. So if you open a file with dates that only contain 2 digits,that does a 'StringToDate' routine currently interprets '89' as 1989. Next year it will interpret '89' as 2089. The rule of thumb from Pedagoguery said. "So, after the year 2000, most Mac applications will work correctly, as long as you don't open any files that contain dates." "
Apple has acknoledged this problem for a while. It's NOT a problem with Mac OS or compliant software and most software is believed to not suffer from this problem.
When I read the headline I am almost passed out. I'm waiting for the uninformed to start making fun of Apple more than they already do. It's funny how people can cheer on IBM, Oracle, Corel and so on working with Linux, yet they just can't get rid of the Apple hatred in their genes which probably stems back to the days they choose Windows 3.11 or Win 95 over a comparable Apple system. I being one of these people, but I've luckily changed my ways (I'm typing on a PC right now, and still do not and never have, owned an Apple computer but have used them a lot at school).
Before you start using rehashed, mutated "facts" to bash Apple, read up your information on Apple/Mac focused sites. What if I believed all the FUD that was originally coming out of magazines and news sources about Linux? It wouldn't be fair to Linux, just as it isn't fair to Apple.
After all the bragging Apple has done, I would like to hear their response before condemning the mac platform. As I recall, there have been several similar stories about Win95,98 or NT. These seem to have passed because of various pressures. Anyway, I'll hold my breath a bit longer first.
Maybe the programmers who wrote this part of the Mac OS should have checked two-digit years and, if they were less than 70, put them in the 21st century and put them in the 20th otherwise. Of course, that would only postpone the problem-- it would break after 2069. This is true on any OS. (And for those of you who say, "Well, ha! 2069 is far in the future! We don't need to worry about that," that's what everybody said about Y2K, too.)
I can't think of any solution to this that doesn't end up having problems somewhere, as long as you're going to be storing years as two digits.
Programmers who store years as two digits (and companies whose policies force them to) deserve what they get. Again, this is true on the Mac OS, Windows, Linux, or any other OS.
excuse me? just because i'm defending an popular target, i must automatically work for that company? if you haven't noticed, there are a lot of mac "advocates" and fanatics all over the place and have been since mac os has been around.
if i defend linux, do i automatically work for red hate or caldera? your close mindedness (or paranoia) would be useful in church. everyone not like yourself is automatically a worker or the devil.
It seems like this company has found a way to create revenues... they create a software to convert macs to y2k... funny because the problem they describe is obviously caused by the application developper. So it is not inherent to the system. Ok... and the article ends saying that the system and most apps were y2k compliant. So that means that this problem is far far far from beeing the norm... I suspect the problem will occur with old applications, files saved by old versions of applications or applications that were just never rewriten.
Anyway, it seems like this problem will be very uncommon for most mac users....
No one should really bother... it is just a marketing trick!!!
Better yet, name some software companies who have always been as misleading, cruel, and unethical as MS. This didn't start when MS became big, it has always been this way with MS. Don't let one horrible company ruin your viewpoint on all of them.
Business can be cruel, just like sports. It's how competition works. But spiking your opponents water or stealing their shoes goes to far, and this is where MS differs from the others (in most cases).
It doesn't matter whether Macs are fully compliant or not. It was folly to cock-a-doodle-do about it. Some outfit was bound to turn up, pointing out some oversight and conveniently putting forth a solution. It's like bragging that your boat can't be sunk.
This company is just trying to sell a product. When was the last time the media represented any computer situation with a un-biased and technically correct article? Never. If they could make money selling a similar product for Linux, they would claim the same thing. Don't belive it. I tested my Mac for Y2k just to do it, and used my full range of programs. They all saw the correct date. Most programs that this software will flag as non-Y2K will be 3-4 years old and most likely, new versions will exist that correct the problem. The MacOS has been Y2K compatible since day one.
Wrong ! !
Microsoft said that Windows 95 was Y2K compliant, back in Aug. 1995!
Have you ever heard of McGnulix? Didn't Apple fund it's development to some extent?
Apple is saying that the Macintosh -- hardware and it associated OS -- are Y2K compliant. Lord knows a bad programmer can screw up just about anything -- bad dates included. This supposed problem is with *one* API, into which it is *possible* for an application programmer to introduce ambiguous (2 digit) dates.
StringToDate is a conversion between data types, and any basic programming book will tell you that the programmer needs to be careful when doing so. The onus is on the programmer, just as if it was a string to integer or string to float conversion. If a programmer refuses to use four digit dates, then God help you, there are only so many assumptions that can be made. Sure, you could implicitly add 1900 to the date, but what if it was a geneology program tracking generations of families? What if the date in question is English comsumption of tea in 1798?
The Mac is itself Y2K compliant and easily facilitates a programmer writing a Y2K compliant program. THERE IS NO POSSIBLE WAY to forestall an application programmer (in any OS on any platform) from writing a non-Y2K compliant program. They can simply track dates internally to the program and do them wrong. If Apple can verify that its hardware, OS, and major apps are Y2K compliant and always have been, then I think they have a right to advertise that. Do Mac users have to worry about Y2K? Of course they do, but mostly about ports of poorly written PC apps and about the power going out.
You can't make anything idiot proof, just idiot resistant.
Don't listen to XBS, he's a fiend.
Honestly, I don't think much of the deep hatred
of Apple started with the IBM PC crowd. I think
that Apple was already heavily hated by the time
Windows 3.1 hit it big.
Many of us had to defend our C64's against the
brats who evangelized their worthless Apple IIe's.
Then, we had to listen to expound on the Mac's
unparallel graphics. They were black and white,
for crying out loud! The Amigas beat the tar out
of them!!!
(Of course, I'll be the first to admit that a big
part of the problem was Commie's PR incompetence.)
I think that's the root of the hatred of Apple,
those dirty bastards.
If I am remembering my computer history correctly, IBM did NOT want an open system, but rather was force to use the "standard" hardware that was available at the time due to the fact that they were LATE to the game of personal computers.
Also, Compaq made the first clones, and did so by having an isolated team of engineers design a chipset that did the same as the IBM one WITHOUT having seen ANY information on the IBM chip set so as to avoid patent violations and such.
I will also point to MicroChannel, which was IBM's attemt to return to a CLOSED system by making theirs proprietary. This tactic, of course, failed.
I just wanted to point this stuff out not because i believe closed systems are better then open system, but to show that this was not some noble gesture on IBM's part. It was just poor planning.
Thankfully for PC users, the "clone" market took off quickly and IBM could not do anything to stop it.
Unfortunately, I believe that this extremely open hardware front has lead to most of the problems with PCs over the years due to the fact that it is very hard to maintain compatibility among devices when they are made by 1000+ different manufacturers, most of which have no idea what the others are doing.
Because of this, it is much easier to add hardware to my Mac then it is to add hardware to my PC. Even if it has become easier lately with PCs, it still sucks in comparison.
First of all: As many have already pointed out this is not the fault of sloppy programming at Apple, it is the fault of sloppy programming on the part of the application's authors.
Second: Look at who is telling us this. A company that makes software which tests for y2k compliance on Mac's. It is in their best interest to make the problem sound as scary as possible. Also, they haven't given us any examples. Which programs don't work properly? "Buy our software and find out today!"
®etro
even though some versions of the OS are compliant (note that Apple are not testing anything previous to 7.5.5 according to their site http://www.apple.com/about/year2000/y2kostests.htm l) the interpretation of 2 digit dates is actually rather interesting and may lead to future problems since it is based on a rolling system of pivots.
They are giving away 7.5.5 now, but i'd love to see their claim that it will run on
"All other Macintosh computers back to and including the Macintosh Plus" in action (and what
about the poor old Mac-128k owners -does that
sound like "since their introduction" to you?
of course the thing that would really suck
is if you had bought one of the expensive "server"
configurations, since neither A/UX nor the
hacked version of AIX are to be tested...
Hey-- i just realized-- maybe not every linux programmer out there is a good programmer!!
Maybe-- just maybe-- one or two linux programmers wrote programs that within the program code represent the date as a 2-digit number!!
that means LINUX isn't y2k compliant either!!
HA HA!! I laugh in your 31337 little *nix power-user faces.
McGnulix! You know, it's the micro kernel for the Apple Power PC's that runs Gnulix. McGnulix!
hahaha. Well, I'm not sure if he's serious or not, but if he is, I believe he is refering to MkLinux that may have been said to him out load as "MacNewLicks" by someone who apparently thought Linux was called Gnulix. I don't know how he could have made that mistake though if he reads this site.
illiterate folks (99.9x% of the population) to
believe the Y2K problem has only to do with
personal computers.
Hemos for posting a story which does the same.
There seems to have been an increase in the number /. What gives?
of flame-baiting Apple stories on
A computer that smart sure isn't running on Intel!
http://www.apple.com/about/year2000/index.html#leg alinfo
Year 2000 Readiness Disclosure
"We may not have got everything right, but at least we knew the century was going to end."
--Douglas Adams
Computer systems that cannot correctly process dates beyond 2000 are at risk of failure one second after midnight on December 31, 1999.
The good news is that since their introduction in 1984, Macintosh computers have had the ability to make the transition to the year 2000. In fact, the Mac OS and most Mac applications can handle internally generated dates correctly all the way to the year 29,940.
Here's an easy way to check the Year 2000 compliance of Apple products:
What is the Year 2000 Problem Anyway?
Many computer systems use a two-digit date format (mm/dd/yy), and experts believe that these systems could interpret the Year 2000 (00) as 1900.
This means that mission-critical information systems--and the institutions that depend on them--could be severely compromised by the turn of the century; everything from financial records to hotel reservations would be affected. This scenario of information meltdown has been called the Year 2000 problem, or Y2K.
The Y2K problem can come from several sources, including:
Hardware: a clock circuit may be incapable of holding a date beyond 1999 Operating System: may not correctly recognize and process dates beyond 1999 Software Applications and utilities: may have limited date-processing capabilities
In addition, some systems may not recognize that the Year 2000 is a leap year. If a year is evenly divisible by 4, it is a leap year, unless it is also evenly divisible by 100. But if a year is also evenly divisible by 400, it is a leap year. So 1900 was not a leap year, but 2000 is.
Apple Computer, Inc., Year 2000 Compliance Statement
A Year 2000 Compliant product from Apple will not produce errors processing date data in connection with the year change from December 31, 1999, to January 1, 2000, when used with accurate date data in accordance with its documentation, provided all other products (e.g., other software, firmware and hardware) used with it properly exchange date data with the Apple product. A Year 2000 Compliant product from Apple will recognize the Year 2000 as a leap year.
The Apple Year 2000 Compliance Statement refers to all Apple-branded hardware and software products as originally delivered by Apple indicated as compliant on this website. The Compliance Statement does not apply to product features that have been customized or altered, or third party add-on features or products, including items such as macros and custom programming and formatting features. Apple's Year 2000 Compliance Statement does not extend to third party software applications, whether shipped preinstalled on an Apple computer or installed using a program supplied by Apple. Apple does not test third party applications for Year 2000 compliance and encourages customers to consult third party publishers directly for information concerning Year 2000 compliance.
Only currently-supported Apple products have been tested for compliance. The Apple Year 2000 Compliance Statement and related Year 2000 information does not constitute a warranty or extend the terms of any existing warranty. The limited warranties provided for Apple's products, if any, are set forth in the documentation and license agreements that accompany the products.
All information available from Apple concerning the Year 2000 is provided for the sole purpose of assisting our customers in their planning for the transition to the Year 2000.
Apple is continuing its efforts to make the Year 2000 information contained herein, as well as the information contained in its web sites and other communications, as accurate and up-to-date as possible; however, all Year 2000 information is provided without warranty.
Apple will be providing updated Year 2000 information on its various products periodically through its web page at http://www.apple.com/about/year2000/. Apple advises customers to consult the web page for product information updates. However, customers are encouraged to properly test their computer systems and related software to ensure that they have adequately addressed their Year 2000 issues.
SGI provides script for checking one's programs for Y2K compliance. If it finds tm_year (part of struct tm) it flags it is a potential problem. The same goes for the functions strftime, cftime, ascftime, mktime, and getdate. Don't know why it doesn't also check for other routines that use struct tm (like gmtime).
Your point is well taken; check the code! Sloppy programming caused by laziness, ignorance, or time pressure does happen. Of course, my code is okay, but I can't vouch to my co-workers.:-)
This is similar to UNIX which uses a 32-bit number to represent the number of seconds since Jan 1, 1970. A 32-bit number runs out of combinations in, I believe, 2034. But I'm, sure most UNIXes will start to use a 64-bit number soon if they don't already.
So basically if your software is written by idiot programmers that only let people type in two digit years and store tem as text rather than converting them to 64-bit ints, then the individual program will NOT be Y2K compliant. I think Microsoft Excel does this stupidity. The MacOS itself is completely Y2K compliant.
A simple way of testing your system (Mac, UNIX, whatever) is to change the system date to a few years in the future and see if it still works.
Macs *are* y2k compliant. The hardware is, as well as the operating system. Any developer who followed Apple's lead on 4-digit dates won't have a problem. Those who were lazy and didn't use 4-digit dates, for whatever reason, are going to get screwed. It's not Apple's responsibility to keep track of and nag the lazy mac programmers of the world. All that they can guarantee is that the hardware and the os are compliant, and that anyone who uses the suggested Mac coding methods will be ok. The whole thing is a non-issue.
In other words, Steve Jobs killed the mac clones because how can you make a mac clone if it can't run macos??? :)
so apple sucks
Seriously, the clones did not help Apple or Mac users one bit. Apple is doing a great job serving their customers. I have owned two clones, and both of them have had severe hardware problems. I have also owned several Apples, all the way back to the Mac SE, which is still clicking away as a file server with zero problems to this date.
The original MacOS, and all subsequent versions until recently stored seconds up to the year 2040. Newer versions go up to about 29,000. So an old Mac Plus should be Y2K compliant, but perhaps not Y2.04K compliant.
Mike Blaguszewski
IBM did not want a closed system when they released the IBM PC. Why else would they publish both schematics and BIOS source code ? When the competition began making better PC's than IBM, IBM tried to fight back with a closed system : MCA. They failed.
Adding hardware to a linux machine is as easy or even easier than to a MAC. This is mainly because the standard linux source tree supports far more devices than macos. So you don't have to search for drivers (which can be hard if the manufacturer went out of business).
well, there's no guarantee that the MacOS won't crash when the errant application does. That's a not-uncommon scenario.
Also, the StringToDate method is part of the OS. Which means that technically the OS is not 100% Y2K compliant. So while the OS itself may not crash *directly* because of this, any application that relies on the OS-provided routine will produce incorrect results. This could cause anything from incorrect output to the program crashing and taking the OS down with it.
It's not exactly the application programmer's fault that the OS's routine is bad. It's generally good programming practice to avoid duplicating routines already present. Obviously in cases where one discovers that the provided routine doesn't work sufficiently (performance, or in this case, correctness) then the programmer will have to write their own routine, or else hope that Apple fixes theirs. But application programmers who before now hadn't known that the MacOS method was faulty can't take all the blame. A good bit of it goes to the OS writers.
the ad was terrible (IMHO). It was way too slow, nothing really happened. It fails to keep a hold of one's attention for more than 3 seconds, especially if you're not a Mac fan who knew ahead of time that this was an Apple commercial. And especially for a Super Bowl ad, where people are paying a lot more attention to the commercials. A dull commerical is the perfect opportunity to go to the fridge, since you don't want to miss a good one. So to not grab people's attentions is a kiss of death for the ad. Apple has done far more interesting, and effective, commercials.
--just my $.02
1. Not enough apps
;-p
:-)
2. Arrogant advocates
3. Incredibly crash-prone
1 and 2 seem an awful like your reasons to hate Linux. And command lines don't deserve to be hated, sometimes they're more powerful than a GUI (and sometimes vice versa). Which, I'm sure, is why OS X will have a command line,
The difficult installation is a legit problem that needs to be worked on, though.
And yes, platform wars are boring
Poor child... Microchannel was not really an attempt to go proprietary as much as it was an attempt to eliminate PEBKAC issues. Microchannel was WORKING Plug and Play architecture long before it came out in PCI. It's also technically superior, capable of running at 80MHz without any timing issues like PCI and the need for a Frontside/Back side bus at different clock speeds. So what if IBM wanted to charge for it? It's a business, and businesses want MONEY. I'm a full time Linux user, and an Open Source advocate, but it's not always a great business model. Neither are closed systems. Instead of bitching about how one is better than the other, look at both sides and realize that maybe, just maybe, both sides have their merits when properly applied.
Chris Kalos (forgot my password, okay???)
raptorone@geocities.com
If the programmer mis-uses this function is that a Y2k bug or an Programmer problem?
I personally think the company released this press release so they can get more sales for their product. By making Mac users fear the Y2k problem even though they shouldn't be fearful using Macs.
Mike.
The software that they are refering to has been out for MORE THAN TWO YEARS...
and by the same exact "logic" linux or any other OS is not "Y2k compliant" (whatever that means) as long as they allow third party developers...
who posts this crap?
"I just don't think that platform wars do much but provoke resentment. You can't win converts with vinegar and knocking other operating systems doesn't make yours look better by default."
You won't get any argument from me about that. Though my personal preferences are Linux and the also much maligned Windows, not Linux and MacOS.
8-)
Check out:
http://www.macnologist.com/
It's a good read. The Y2K section goes over what Mac Apps are not ready for Y2K, and solutions if any. In light of the thousands of Mac apps out there with all their versions, it's a pretty short list.
Oddly enough the number one offender is Microsoft!
Gumber sez:
So Apple provided some routines to simplify dealing with two-digit years, so what.
Sure, they let programmers to shoot themselves in the foot, but then so do C & UNIX.
As for the iMacs, the people who purchase those computers are probably not the same customers who are concerned about upgrading. They have their PowerMacs for that.
/. folks here are like farmers driving tractors, plowing fields. They forget that the rest of the world drives Hondas. A tractor just wouldn't get them to where they want to go.
I couldn't agree more.
You know, it's funny. I've got a 7600, a beige G3, and I still bought an iMac -- for my wife.
That's my wife. The person who doesn't wan't to look at a computer. She could care less about it. But the minute those multi-colored iMac's came out she wanted one, as if it were a toaster oven. Specifically Grape. She got that same look in her eye when she spots a really cool dishwasher.
The point is that suddenly the thing is like an oversized version of our tiny kitchen TV. And she's using it on a daily basis for practical things. And normally she hates the thought of computers.
Most of the world are people like that. And Apple figured it out.
It's just a goddamn tool, people. And for day to day use buy Joe or Jane Average in Podunk it's just the ticket.
It's not for me, but I have my own systems that service my needs perfectly. I mean, how many word processors does a normal person need? How many spreadsheet programs...or Math programs? I've never felt this "lack of titles" that you always hear about. Everything I need comes to me in a mail-order catalog. There's no glut of product in the marketplace to confuse things (for the avarage person). I actually think most faults people have with the product's marketplace aren't such wild negatives. I've felt adequately serviced by Apple ever since I bought my first Mac, which was an old powerbook.
It's like most of the
Cookies are off, but i have an account;
Apple has always left room for developers to make any program they want. MS would kill off every other software company in the world given the chance. The MacOS on the otherhand isn't "Open" but the extention system allowa people to make massive chages to they system, whenever they want. Apple's OS is tied to the hardware. Just like Nintendo's OS is tied to the N64.
Now. Set your clock to 11:58pm Dec 31 1999. Turn off your computer. Wait 5 minutes. Turn the computer back on. Hellooooo...
Can you imagine how much worse this would all be
if the computer revolution had happened 1000 years
earlier? (or if God had held off for 1000 years)
- Anonymous Coward #82631
Macintosh is completely Y2K complient.
Howver, if you are stupid enough to write a file and only store two digits for the year in that file and then read that file as a date, your PROGRAM is not Y2K complient. It has nothing to do witht he MAC OS, except that if you give the Mac OS garbage you will get garbage out - GI, GO. Any competant programmer knows this, and knows enough to ignore BS "journalism" like this. Its a shame slashdot's editorial staff wasn't smart enough to ignore it.
All you fools jumping on this to attack Apple reveal two things about yourself: 1) You have little understanding of software and 2) You're awefully desperate to defend spending far too much money on your PC when you could have gotten a much faster Mac for much less money.
I wonder if String2Date and the other International Utilities stuff is left out of Carbon? At least Apple have got a chance here to introduce new algorithms or break programs that uses two-digit years.
Piet
instead of adding the current century to it, they could just look at the number, and if it's 40 add 2000, if it's between 40 and 99 add 1900
..so people born in 1939 haven't been born yet. It's a better solution in some respects, but the only general solution is to get rid of two digit years. Someone else said if the date's in the future, then it must have really been meant to be in the 1900's, ignoring, for example, bond maturities, which can be 20 yrs or more out in the future. Nope, there's no magic way to fix all 2 digit dates.
Apple never said that only the Mac was Y2K compliant, they said that only the Mac was _designed_ to be Y2K compliant since its inception (which it was, as far as internal hardware goes). It's still up to programmers to write their software to take advantage of the appropriate toolbox calls and not rely upon two digit dates.
let's get real: you REALLY think that any currently sold macintosh will still work in 2040, much less still be in use? c'mon, man, macs are durable, but not THAT durable. And any fool still using a rev A imac in 2040 is die-hard enough he'll be able to locate some cheap hack of a patch to make 8.5 work with 2040.
i say, if apple doesn't get this whole Y2.04K thing fixed by 2010.. THEN we start worrying.
What is the foolproof and correct system
solution to 2-digit dates used by sloppy
programmers? Mindreading? If you have this
answer, stop whining and consider this a chance
to make a pile of cash as a Pedagoguery
competitor.
God this has got to be one of the stupidest fucking things I have ever read! If your data is only using two digits, it's the *data* that's not Y2K compliant.
Using that logic, then Linux must not be compliant either. Anyone ever heard of parsedate?
From man page of parsedate:
"If the year is less then 100, then 1900 is added to it; if it is less then 21, then 2000 is added to it."
Try this. Let's see, the end of WWI was 11/11/17 (I think) hmm let's see what the computer says:
int main(int argc, char** argv)
{
/* now by 17 I mean 1917, the computer
should know that right? */
time_t ww1 = parsedate("11/11/17",NULL);
/* Sat Nov 11 00:00:00 2017!?
WW1 hasn't even occurred yet */
printf("%s\n",ctime(&ww1));
return 0;
}
StringToDate is documented as adding the current first 2 digits in front of a 2 digit year. Developers konw this. Apple recommends strongly against storing dates as strings in the first place. You actually have to go out of your way to use a text string as a date...
Ok, here's what I know as a mac programmer.
1) StringToDate is a "Text" utility, to allow a programmer to convert from a date string to an internal date record. If you take a free formatted string, and pass it through StringToDate, and if that string was created by an idiot, and it doesn't contain the century (ie '89' instead of '1989') it will usually have the current century tacked on. there are a couple of oddball cases where it will take the previous or next century, but the whole point here is that it only does this on 2 digit years. if you pass it a four digit year, it works fine.
2) there is a companion routine titled LongDateString, which will format a date to one of three formats, short, abrev, and long.
short= 01/31/93 (bad - only 2 digit year)
abrev= Fri, Jan 31, 1993
long = Friday, January 31, 1993
3) all this assumes you have to use strings.
so, if you must use strings, use 4 digit years. not much else can be done about it.
Macs ARE Y2k compliant, software and hardware. StringToDate() takes more time to process than storing the complete date---all decent Mac apps use the Date & Time control panel to snag the date and store it in 64-bit values of *seconds*. I've set my Mac forward up to 2019, and everything ran perfectly: AppleWorks, IE, NS, Photoshop, DreamWeaver, Claris Emailer, IRCle. Everything, even after several reboots. Mind, any thing I created in "2050" then before I set my clock back to the geniune date and time gave a "Bad Creation Date" error, but it was quickly fixed. No problems. True, Macs don't handle dates well past 2019 (it seemingly reverts to 1920), but if you're still using OS 8.5 and applications by then, it's time for an upgrade ANYWAY.
This bullshit about StringToDate() is just that: bullshit.
Amy
Read the article, you mindless fools. Apple's Mac OS and hardware are Y2K compliant, but APPLICATIONS that are run on the Mac OS are not. Quit passing the buck. Direct your gripes to those two-bit third-party software companies that are not Y2K compliant.
The call String2Date is part of the international script handling functions introduced with IM-VI in 1991. Its most common use is to parse free form dates typed by a user.
:-)
Obviously if a user types a 2 digit year this is going to be ambiguous and its interpretation will depend on the current date. A programmer would be a fool to use this routine and character coded dates as some sort of internal file format, but of course most of us have been and continue to be fools on occasion.
(My mac programs always used the binary representation in their file format.
Apple recently changed the disambiguating algorithm from "add 1900" to something like a 10 year window in the past and 90 in the future.
I work on a major program which actually uses 1 digit years in its user interface and YES, we had a Y1990 problem and had to release all sorts of fixes then. Even on a two digit year, the window is going to have to slide according to some policy.
Enter Pedagoguery which is trying to sell a Y2K tool and their press release gets coverage because its POSSIBLE for programmers to screw up using an apple supplied function after apple did the Y2K superbowl commercial. They want $38 for a single machine up to $8888 for 10,000 machines. I tried their crippled 'free' version and was quite unimpressed. I suspect they are aiming at the corporate IT "give me tools to make complex looking reports that sau I'm Y2K compliant" crowd. They should do well at that.
Show me the list of applications that really do use this function to parse text formatted dates as part of their file formats, then I might get excited.
- jim
Nothing will save you from a programmer who represents dates with two digits. That's true on any machine running any operating system.
The interesting problem here isn't technical, it's PR-based: how's Apple going to deal with stories about people using MacBozoPro who get burned?
Mind the Gap
Posted by Anhydrous Cowboy:
Yes, we do realize this. Everyone knows it, and not in a good way. Apple has shown time and again that they can and will do whatever is best for Apple, and everyone else can go to hell, because they don't deserve a company like Apple in the first place.
Fortunately Apple has given up on the enterprise market, which is totally uninterested in its sole-sourcing clone-killing collective ass, and set its sights on Grandma and Cousin Goober. This is sure to postpone the death spiral a bit longer.
Posted by [naden]:
Isnt it interesting how SOME linux users criticise Mac Users. I mean Apple has gone more out of its way than some other companies to assist Linux's market reach.
Its probably those annoying sKripT KiDDi3Z users starting most of the trouble. They are usually the ignorant, single-minded few that seem to think Apple "sucks" just because it doesn't have a CLI.
Leave Apple alone, I mean dont hate it just because it isn't Linux. Surely our best efforts would be to take down Microsoft.
Because some of us happen to like and use both. They are both excellent in their respective niches.
Posted by [naden]:
Apols for posting twice.
Just an interesting point.
Of Apples total sales revenue, 2 percent of it is attributed to software sales. The remaining is dedicated to hardware sales.
Now I sure as hell wouldn't let anything (such as cloning) affect such a major revenue stream.
Jobs did what any sensible person would have done, particulaly with cloners showing little to no respect for Apple's markets.
I would still be using OS/2, which didn't have a Y2K problem that I could find.
C'mon, the only reason the non-Mac people are having a bit of fun with this stuff is because of the often-smug, "the Macintosh is superior to every other type of computer, for every imaginable application", "if you don't use a Mac, you must be using Windows", arrogant attitude often displayed by the rabid Mac heads here.
Blah. I got my beer during the boring football,
and watched the commercials.
Monster.com wins my award for creativity.
(the pasty-faced kids aspiring to bureaucracy)
Victoria's Secret gets the "Most Effective" award.
The Mac hardware is OK.
When I was a sysadmin, I decided to do a little Y2K analysis for my company, who was trying very hard to avoid the subject. So I forced the issue. (My boss wasn't happy about that. That should tell you a lot about the culture of this company..)
ANYway.. I went to a lot of companies web sites, and read up. Most everything we used was OK -- Mac OS, AppleShare, MS Word, Photoshop... but not FileMaker!
Being this little agency I worked at was more than a little technologicly-having-its-head-up-its-ass, we were using FileMaker 2.1. This was when 4.0 wasn't even new. It had been out for a long time.
And FM 2.1 isn't Y2K compliant.
Nope. FM 2.1, which I'm sure a lot of companies still use, isn't Y2K comliant. Our Macs were, and the rest of our software was, but our database wasn't. Big problem.
I doubt they've decided to act on it yet.
-- haaz.
# All operating systems will return unexpected values if given garbage as
# input. (Try passing a 100MB string to sprintf(), for example). There is
# no proper way for String2Date to read the programmer's mind if they are
# stupid enough to use 2 digit dates.
Right. If you have good date, StringToDate will have no problems. If you have bad data, fix it on the way in based on your own assumptions, or pass it in and accept what may be a wrong answer. Apple chose the least confusing choice, which is not the right choice for many people. They may have chosen poorly. But they did not choose incorrectly. Any guess -- and make no mistake, any function like this has to guess if the data is bad -- any guess is a guess, and will be sometimes right and sometimes wrong.
# >"Apple's Web site says Macintosh computers can handle
# >internally generated dates correctly all the way to the
# >year 29,940 as long as the software running on them manages
# >dates correctly as well."
#
# This is absolutely WRONG.
#
# The only Mac routine that can read the system clock is GetDateTime().
# GetDateTime() returns a 32-bit integer, which overflows before 2040.
# There is no 64-bit version of this call! In addition, HFS and even HFS+
# disks allocate only 4-byte integers for the date/time. This means that
# all file dates go screwy around 2040.
You are saying it says something it does not say. Apple can absolutely handle internally generated dates correctly all the way to 29,940. It cannot currently get those dates from the system clock. But that does not change the fact that it can handle internally generated dates all the way to 29,940. The truth of the above sentence is determined on how you interpret the vague "internally generated": does it mean the system clock only, or other dates, and does it mean all internally generated dates, or just some? Taking it as literal as possible, we must conclude that it means not necessarily all internally generated dates (esp. because of the word 'can'), and that "internally generated" does not necessarily mean just from the system clock.
Haaah Haaah!
Seriously, though, even if the OS is compliant (like Unix), sloppy programming can still result in Y2k problems! Assuming much of Mac code is in C (or derives from a C API), you should check the manpages for various C time/date functions.. particularly tm_year. Yes, the manpages are pretty explicit about tm_year = year-1900, but who's to say that the programmer read those pages, or understood that part of the API? People fuck up. They're lazy and/or ignorant. Shit like this has been known to happen.
Yes, maybe that's the fault of a sloppy programmer, but the code remains even if the programmer doesn't. You can't pass the buck to someone who's quit, been fired, or dead..
Check your code. Check your predecessor's code. That's the only way to be sure.
... but make sure to get a BIOS version which will update the 32h location! Many BIOSes before 1997 will _not_ update that memory location, and almost no RTCs will update it. Newer Dallas clocks will, but barely anyone has 'em, and many sysboards have the RTC soldered onto the MB (and use Lithium batteries), though my MB has the RTC 'chunk' and a compliant BIOS.
Very few applications require a compliant RTC, but all PCs should have a compliant BIOS. check out www.rightime.com for test2000, a free PC tool which will show you all kinds of diag info (actually the viewcmos util included in the package) on your BIOS and RTC..
Have a compliant day,
Hi,
Anyone have any pointers to work on checking Linux and GNU/*GPL code for Y2k problems? I've done some work in this area for an investment bank but I quit that gig some months ago and I'm interested in contributing..
Cheers,
But some of the software is not. This CNet Article says that.
"...if improperly used by an application, would result in improper date readings."
"Apple's Web site says Macintosh computers can handle internally generated dates correctly all the way to the year 29,940 as long as the software running on them manages dates correctly as well."
So as long as programmers don't get stupid, and know what they should know...then, there would not and will not be a problem. So any problems encountered on a Mac are due to incompetent developers, or unaware developers (no blame can be laid on the unaware though), and MicroSoft (hehheh). So my question is, is it really a problem at all? I mean, which programs were done incorrectly and will have a problem, and does anyone use them? If they are used...well, I guess their competition could have a leg up.
I wonder how many MS Mac programs are not Y2K compliant.
Question 2: What about Winhoes and other OSes? How y2k comp. are they and are their apps y2k comp. too? Has anyone seen a study or some work looking at all the OSes out there and their compatability with a new millenium (or the end of this one actually)?
And is the report WinCentric or OS-nuetral (and actually objective)?
How does Linux and *BSD stand? Or will they fall victim?
Apple sucks because they would be just as bad as Microsoft if they had market share.
Think about it. The hardware is tied to the OS. They are a completely closed company. You have no choice in what vendor you buy hardware from, what operating system to get with the computer, or anything else. They are the epitome of closed systems.
That's why they never were about to compete against PC's.
They brought this upon themselves! That is what the whole commericial was implying: Macs are Y2K compliant, therefore you will not have ANY Y2K problems. Bullshit and anyone with a little computer knowledge knows that it does not matter how compliant your hardware or OS is, if the programs are written with Y2K bugs, you will have problems.
I'm glad this whole "Macs are Y2K compliant, unlike PCs" thing blew up in their face. They tried to mislead the public, and now they have to face the music. Maybe now they will learn about truth in advertising.
No, you missed what I said completely.
I was saying that Apple designed their commericials to mislead the public and give them the impression that since they have a Mac, they will not be affected by Y2K problems. We both know that this is untrue, and I was just saying that maybe now with this blowing up in their face, they will stop trying to mislead the public. Don't get me wrong here, I am not saying that other companies do not do the same thing, I am just saying that this will hopefully teach a lesson.
It most likely was NT service pack 2. But then again NT isn't nearly that cool.
I liked the ad though. It seemed to stand out from those flashy ads that are desperately trying to get your attention while you are in the kitchen getting more beer from the fridge.
You just can't trust an HAL 9000 series. Their operating system is based on code from Windows 2000.
Okey, not being a programmer...Can someone who does program for the mac fill us in? How often is 'StringToDate' used? Is this a problem within the OS(I guess the API?) Throughout all versions of the MacOS, if so? Okey..is it something that would be seen in Carbon as well? Article gave me more questions than answers..
C
--
driph
instead of adding the current century to it, they could just look at the number, and if it's <40 add 2000, if it's between 40 and 199 add 1900, if it's after 1800 leave it alone, and otherwise complain. or something like that.
Dude, your dogs barking. Up the dosage and grow a sense of humor. There were some posts a couple of days ago about M$ posting fake "isn't M$ great" articles in forums. I simply applied that to your defense of Apple. Lighten up.
Go figure.
So... this is what we're left with after YEARS of incessant WHINING about the 'innate superiority' of the Mac? 'We're no worse than those other guys we've been making fun of'? PLEASE...
Crackintosh fans, SPARE ME the smug crap in the future, OK? And take a good, hard look at some of the comments you've been posting. How the HECK do you EVER expect Apple to make it any better when your responses cover their collective backside instead of calling them to task?
I own a few macs but administer PCs at work. You're just a fucking troll ut I think I'll respond anyways. Yeah there's alot of crap we don't like on the Mac side, but when a give us an alternative that does the same things as efficiently and intuatively as a mac, I'll switch over. At home, I run a music studio. Started off years ago with a 468 and Win3.1 (which still the most stable and tightest platform for Midi on the PC side). It really pissed me off to set their with friends ready to record and I'm sitting their debuging the shit. My macs do crash and properly configured they do so less than my PCs, but when they do it's relatively easy to fix the shit. 3 minutes as opposed to a half hour (if I don't have to reinstall).
Getting to the point at hand, the Y2k shit that this software developer was railing against really has nothing to do with the Mac, but at certain programing styles out there, as noted by a few dozen other articles. Hell, most mac programmers aren't even use to programming 2 digit years anyways (I program at times for a living, multiplaform). I'm never amazed when I see crap PC programmers actual source at the true shit one can output. The mac isn't the easist platform to program for, so it kinda throws off alot of the hacks out there. Now the problem with the 2 digit year will be mostly from users with spreadsheets and databases. People generally only enter 2 digits for their dates on these things (I do as well)...fortunately, usually the computer changes this into a real time format the second on put these in there and then one does not have to worry about these. A year fom now, I'll probably be searching my database by 2/1/00 or entering dates that way as long as the computer changes it instantly.
blah blah blah
clify t
1) The "look and feel" lawsuit.
2) Proprietary, undocumented hardware.
3) Killing off the clones after they became cheaper and better than Apple hardware.
4) Insipid marketing.
I won't even go into software/UI religion.
The main reason I hate Apple is pretty simple. // fan, and when the //gs came out, I was thrilled to death. All the // magazines I subscribed to loved it, but Apple didn't do a damn thing for it...they were cash-cowing the //'s for the Mac. The super-hackable //'s were set aside for the closed API of the Mac, and at the time, I thought that stupid little box was very lame (9" screen?).
:).
I was a huge Apple
On top of that, when Apple destroyed the clone market, I lost my bonus (I work for Motorola and the write-off was huge).
Guess my real enemy is Steve Jobs
Not really, StringToDate("89") could check the current year, if it's before the current year, ie in 2010, 2089 will be in the future, so you would assume 1989. If the date is in the past "01" you would assume 2001. Both of these ways are broken, but then again, using a 2digit date is broken.
-matt
If your programmer is a moron, your programs come out moronic. There is no way to get around the two digit problem from the OS side. Anybody who still stores/manipulates their dates as two digit dates deserves what they get.
There is no trap so deadly as the trap you set for yourself
-Raymond Chandler, The Long Goodbye
See! Told you it would sell well!
Macs have NO trouble with Y2K, I just made sure. I've just tested most of my apps, even created my own out of 3 languages just for testing! No problems! Whoever conducted this research is buying MS products I see...
John Hancock ->
Thank you for purchasing MS Bullshit.
Please mister, just shut the fuck up. You are annoying.
John Hancock ->
No. This thread is going nowhere.
I can't find further attribution than the original post here, and the only thing I can find on a Mac that isn't Y2K-ready is software from MS.
Unfortunately, many Mac users are forced to use MS software.
DON'T believe the hype unless we get more sources.
caut10n
user of all platforms
Wow. Your posts are so articulate and factual that I am forced to sell all my Macintosh hardware right this instant and purchase a herd-following Dell, Gateway or Compaq.
You mean I've been using a Macintosh all this time, and now, after reading this great information, I find that Apple sucks?
What would I do without you guys?
Here's a big clue:
No one cares if you don't like Macintosh computers. Me thinks thou dost protest too much.
If this has been pointed out already I appologize. This is exactly how the stringToDate function in the current MacOS works (taken from Apple's web site, URL listed below). Obviously some dumbass programmer somewhere can find a way to screw this up. However the comments quoted above are false and the person doesn't have a good understanding of the OS.
When one of the date components is missing, such as the year, the current date value is used as a default. If the value of the input year is less than 100, StringToDate determines the year as follows.
1. If (current year) MOD 100 is greater than or equal to 90 and the input year is less than or equal to 10, the input year is assumed to be in the next century.
2. If (current year) MOD 100 is less than or equal to 10 and the input year is greater than or equal to 90, the input year is assumed to be in the previous century.
3. Otherwise, the input year is assumed to be in the current century.
If the value of the input year is between 100 and 1000, then 1000 is added to it. Thus the dates 1/9/87, 1/9/987, and 1/9/1987 are equivalent.
http://developer.apple.c om/techpubs/mac/Text/Text-290.html
The truth will set you free.
Actually, since HAL was so screwed up, and he was designed by IBM (because of the alphabet thing) He's probably running on one of those cheapo Cyrix chips that IBM fabs under license from Cyrix.
"BadTimes will make you fall in love with a penguin" - Laika
I belive the year you are reffering to is 2037.
Do the obvious to e-mail me.
I hope people realise that this isn't the MacOS that is not Y2K compliant, it is the method that the programmer is using. If he/she wrote proper code then their program would be compliant along with MacOS.
This is like any other Y2K compliant OS. It just means the OS won't crash but some poorly written programs will. It's not Apple's fault.
"Open is better because:
I can buy hardware from a vendor other than Apple if I don't like Apple's prices/support/whatever, without
having to go to an entirely different architecture. I can put my own PC together from parts I can get without
buying them from Apple. "
Look, this is mostly a Linix site, so most people here like open. And I agree it has some very good merits. Yes it is good that a security bug can be found and fixed within hours/days. It is great that you can continually download bug fixes. But I DONT WANT TO. For many, myself included, a closed system works better. I don't want to have to keep so up to date with all the fixes. I like having just one GUI to contend with, and only one flavor of OS. (If you can use Mac OS 6, you can use 8.5)
For many, closed is better.
"I can put my own PC together from parts I can get without buying them from Apple. "
I dont want to build my own box. I want to just buy one that works. And if it doesn't, have one place to complain to. Not get a run around from the os company, hardware company, and whatever else may be the problem. I get this from a company that has influence in the chip and hardware and os and software dev. It provides a certain consistancy that I can rely on.
Some people want to build their own car, getting components from different makers and making them work. (my mechanic does this.) But I just want to go to a dealership and get one that works, And IF it works the way I want, I don;t care if they made all the parts themselves.
Also, in many ways it IS better to have one company having influence in chip and hardware and OS and software dev. This is what has kept the mac fairly consistant, and mac apps fairly consistent. Many problems with windows and intel/etc boxes in general is you don't know what is in there. There is much more chance for parts to conflict. M$ knows this, and is why it is trying to start controling what hardware is used in the boxes.
" Lots of vendors make hardware for PC's because of its open architecture. "
Actually, there are lots of vendors making hardware for Macs also. Just not making entire machines. And the reason there are multiple PC box makers is because IBM and MS are not the same company. Therefore anyone could liscence MSWin and make a box. If IBM made the OS, or had a different agreement with MS, they would not have moved to cloning (IMHO)
It seems that this isn't so much a bug in the
Mac's StringToDate function, but in two-digit
representations for dates. That is, *no* computer
can deal with StringToDate("89") properly, save
to interpret it as 1910 years ago.
I'd regard a computer which generated 89 from a
DateToString call for a recent time as buggy, but
I don't see any better way to handle this.
-- Brian T. Sniffen
I have an old PowerBook 100 that just for grins I changed the date on the computer from 6/20/98 to 6/20/02; I left the date in the 2000 range during a month or so of use with really old versions of Word, Excel, FileMaker Pro, and Photoshop, and near as I can tell everything worked fine.