... and it ought to be possble. WPA was designed to be implementable with a firmware upgrade to existing 802.11b hardware. See here for more on that - scroll down about halfway on the page.
I have a perfectly useable 500 MHz G3 iBook that's going to be cut off from my company's wireless when they move to WPA, because it's not AirPort Extreme capable. Is Apple's response going to be "go buy a new laptop - your less-than-two-years-old machine is obsolete"? Even though it's supported by Panther (which improved performance on it quite a bit, thankyouverymuch)?
I'm willing to pay something reasonable for the upgrade - I realize code like that doesn't write itself. But just abandoning the non-Extreme hardware sucks.
... is how many people have more than one choice in broadband providers. We won't see serious changes in costs and terms of service until a lot more people have alternatives.
In my neighborhood (Bowie, MD, USA) DSL doesn't work (we're behind a digital switch - hell, normal dialup never goes over 28 kbaud), so our broadband options are Comcast or satellite. Satellite has unacceptable latency for my purposes (ssh), so it's Comcast. Their terms of service suck - servers of any kind are illegal (currently tolerated by the network, but they could change that anytime). I'd vote with my feet, but there's no alternative short of my own T1.
Note that most of the modern scripting languages occupy an intermediate point here, since they tend to have a single implementation which effectively is the specification. Perl/Ruby/tcl are like that. Python is a little better since it has multiple implementations, but no formal specification other than a test suite (correct me if I'm wrong, Python people).
Now, if I would have just googled for instructions on how to dismantle an iBook, I would have discovered the magnitude of my mistake. iBooks are laid out very different from powerbooks. In fact, in the iBooks, the hard drive is pretty much the last thing you get to.
I successfully replaced the hard drive in my 500 MHz dual USB, using these instructions. The first time I took it apart, it took three hours - two to get the hard drive out, and one to re-assemble it afterwards.
Everything appeared to work at first, except it wouldn't automatically go to sleep when I closed the lid. Took it apart again and reseated the cable from the trackpad (just under the keyboard and memory/AirPort shield), which fixed that.
I've taken it apart once more since then, to fix a bent rail on the CDROM drawer - my son dropped the machine on our carpeted stairs, the drive drawer popped open and got hit/bent so it wouldn't close.
As you can tell, I beat the crap out of laptops. My iBook has been to Apple service under warranty once (infant mortality on the CDROM drive), and has otherwise taken an incredible amount of abuse with only a gradual hard drive failure to show for it. I have a new 800 G4 iBook on order, and I dearly hope it's as tough as my current one.
Actually non-integrated WiFi is lame on all notebooks, but especially so on this one.
When it's ultra-light and ultra-thin, the goal is portability, right? This should mean I can close the machine, dump it into its bag, and run.
But you can't do that safely if you have a WiFI card in the slot with the antenna lump sticking out of the side, just waiting to break off or transfer a bump from the outside into the card socket (munging it and in all likelyhood your machine's motherboard).
You "love" the fact that a pop-up window has disrupted your browsing to tell you about another pop-up window, and are then happy about having avoided the second one?
Actually, yes, I am. The first pop-up is simple text with two buttons, so it pops up fast; typical "real" pop-up windows are usually graphic-intensive and slow, so killing them with a pop-up window is a net win.
The pop-up query always looks the same, and it appears centered in the current window, so clicking NO is fast, too. It could perhaps be better if it were smaller and appeared centered on your mouse (so the muscle memory for "NO" would be identical every time too).
My UI likes/dislikes are probably not good heuristics for the universe as a whole, though. I'm more tolerant of UI inconsistency than most people I know - I've worked in environments with a window system emulated inside an X window, where the functions of left and middle button were swapped between window universes, and I hardly ever confused the two while working, even when rapidly switching between them.
Don't fool yourself, those MIT robot's were suspended by a cable, so it isn't autonomous run.
True - they're research models, so no one of them does everything the way the Sony robot does (and their web pages point this out). 3D Biped didn't have feet/ankles, so it couldn't stand still - they started it by lowering it onto a treadmill using those cables, but it ran on its own with the cables dangling once it got going.
Still what they do is pretty cool, especially considering 3D Biped did it in the early 90's, several Moore's law generations ago.
... is still the best. I love it when a window pops up saying "This window wants to open another window. Shall I let it?", because then I get to click on NO, while saying "Die, marketing scum!".
Also, when I'm somewhere where pop-ups are required for the site to work at all, I can let them through selectively.
MIT's Leg Lab has had various walking/running/jumping robots since the early 1980's. For a real hoot, check out the 3D Biped that can run, hop and somersault. That thing has been around since 1989.
... because it forces them to make a decision that can only be rationally made on technical grounds (which fork is best for our needs, is the cost of supporting multiple forks worth it, etc.).
PHBs fear decisions like this, because they either have to defer to their better-qualified underlings to decide, or take a guess and risk looking stupid afterwards.
For those of you who weren't around in the early 1980's, search for PATCO, which was the air traffic controllers' union until it tried to strike in 1981.
PATCO had a union in place and had some legitimate grievances that included potential public safety hazards. When their contract talks with the FAA broke down, they tried to strike (illegally, it must be added). The Government swooped down on them and basically fired them all.
The parallel to USPTO is clearer in accounts like this one, which makes the point that what the ATC workers were really fighting for was not money, but control of their workplace - they wanted it to be possible to do their jobs without needing things like big bowls of antacid tabs in the control towers.
He missed a couple, IMHO
on
Effective XML
·
· Score: 2, Informative
And one of them is Just Plain Wrong, also IMHO.
Here are two heuristics for good XML design that I dearly wish more people would take to heart:
1. If processing any text field requires parsing, Something Is Wrong, and you probably need to break it apart into more elements/subelements.
The only exceptions to this rule are fields that are numbers, or maybe date/time stamps that adhere to ISO standards.
2. If you're using attributes, You'll Wish You Hadn't In The Future.
Attributes are supposed to be the way XML seperates metadata from data. The problem with them is that they are also "leaves" of the XML tree, and intended to be simple, flat text. If you ever need more complex structure in attribute metadata, you're screwed - you must either violate rule 1 above, or move the data out into elements, totally breaking your old structure. Just don't use them, OK?
There has to be a killer reason to switch, maybe someone hit by one of the worms lately might, but that's still a minority of home users.
So, we should promote Linux by writing and distributing worms that don't just DDoS the Internet, but also corrupt data and scrag hard drives on Windows machines?
Truly a hard-core suggestion, and I dearly hope nobody takes it seriously. I do enough friend-of-a-friend Windows support based on the current set of problems.
S-exprs, in their commonly understood form, represent a tree. XML documents, in their specified form, represent a graph.
Off-topic right back at you:
S-expressions as defined in the Common Lisp spec (and as implemented by many Scheme dialects) can also be graphs:
#1= (a . #1#)
represents a single cons node whose CDR points to itself. Like XHTML anchors, the graph notation is rarely used when typing in S-expression code or data, but it gets used a lot by the printer when *PRINT-CIRCLE* is on.
XML does get one thing right - document "packaging". The required header on XML documents gives the reader enough information to properly reconstruct a document in arbitrarily weird character encodings (a place where the Common Lisp spec punts to ASCII/implementation-dependent) and allows for versioning and other expansion.
As for the rest of XML, I'm with Philip Wadler when he says:
So the essence of XML is this: the problem it solves is not hard, and it does not solve the problem well.
Don't know about viruses, but the first computer worms (as in programs that dynamically spread themselves across networks) were created at Xerox PARC in 1978. See here (scroll down to "1978") or here for details.
Not yet - I had seen this problem intermittently since I upgraded to Panther around November 1st, but didn't see it repeatedly from two different applications until this morning. I thought it might be hardware until I saw it on my laptop, too - my B&W G3 has had a hard life.
Would you believe someone from Blizzard has already contacted me? Solely from reading the previous post?
Classic/Carbon apps that use full-screen mode and change your screen resolution worked in 10.2.x, but cause Panther's Quartz to wedge royally. If I launch StarCraft (Carbon version) on my B&W G3 or my 500 MHz iBook, I get garbage drawn on my screen, and the mouse gets restricted to a box in the upper-left corner.
You can get out of it by pushing the boot button. When the dialog pops up asking whether you want to shut down/restart/whatever, your mouse becomes free and you can use it to go to the dock and kill StarCraft. Then go back to the dialog and cancel the restart.
I have seen the same behavior from Ten Thumbs Typing (2.3 or before). The fix is apparently straightforward, because Ten Thumbs 2.4 works correctly. Time to hector Blizzard about it, I guess...
... and it ought to be possble. WPA was designed to be implementable with a firmware upgrade to existing 802.11b hardware. See here for more on that - scroll down about halfway on the page.
I have a perfectly useable 500 MHz G3 iBook that's going to be cut off from my company's wireless when they move to WPA, because it's not AirPort Extreme capable. Is Apple's response going to be "go buy a new laptop - your less-than-two-years-old machine is obsolete"? Even though it's supported by Panther (which improved performance on it quite a bit, thankyouverymuch)?
I'm willing to pay something reasonable for the upgrade - I realize code like that doesn't write itself. But just abandoning the non-Extreme hardware sucks.
... when you saw this article, you thought, "What does Richard Gabriel have to do with music?
... is how many people have more than one choice in broadband providers. We won't see serious changes in costs and terms of service until a lot more people have alternatives.
In my neighborhood (Bowie, MD, USA) DSL doesn't work (we're behind a digital switch - hell, normal dialup never goes over 28 kbaud), so our broadband options are Comcast or satellite. Satellite has unacceptable latency for my purposes (ssh), so it's Comcast. Their terms of service suck - servers of any kind are illegal (currently tolerated by the network, but they could change that anytime). I'd vote with my feet, but there's no alternative short of my own T1.
Open specifications
With multiple implementations
On multiple platforms
This is what published standards allow.
Monopolies tend to produce:
Closed specifications
With single implementations
On single platforms
which is why they're easier targets for exploits.
Note that most of the modern scripting languages occupy an intermediate point here, since they tend to have a single implementation which effectively is the specification. Perl/Ruby/tcl are like that. Python is a little better since it has multiple implementations, but no formal specification other than a test suite (correct me if I'm wrong, Python people).
I successfully replaced the hard drive in my 500 MHz dual USB, using these instructions. The first time I took it apart, it took three hours - two to get the hard drive out, and one to re-assemble it afterwards.
Everything appeared to work at first, except it wouldn't automatically go to sleep when I closed the lid. Took it apart again and reseated the cable from the trackpad (just under the keyboard and memory/AirPort shield), which fixed that.
I've taken it apart once more since then, to fix a bent rail on the CDROM drawer - my son dropped the machine on our carpeted stairs, the drive drawer popped open and got hit/bent so it wouldn't close.
As you can tell, I beat the crap out of laptops. My iBook has been to Apple service under warranty once (infant mortality on the CDROM drive), and has otherwise taken an incredible amount of abuse with only a gradual hard drive failure to show for it. I have a new 800 G4 iBook on order, and I dearly hope it's as tough as my current one.
See here.
Actually non-integrated WiFi is lame on all notebooks, but especially so on this one.
When it's ultra-light and ultra-thin, the goal is portability, right? This should mean I can close the machine, dump it into its bag, and run.
But you can't do that safely if you have a WiFI card in the slot with the antenna lump sticking out of the side, just waiting to break off or transfer a bump from the outside into the card socket (munging it and in all likelyhood your machine's motherboard).
Sorry, I couldn't resist...
Actually, yes, I am. The first pop-up is simple text with two buttons, so it pops up fast; typical "real" pop-up windows are usually graphic-intensive and slow, so killing them with a pop-up window is a net win.
The pop-up query always looks the same, and it appears centered in the current window, so clicking NO is fast, too. It could perhaps be better if it were smaller and appeared centered on your mouse (so the muscle memory for "NO" would be identical every time too).
My UI likes/dislikes are probably not good heuristics for the universe as a whole, though. I'm more tolerant of UI inconsistency than most people I know - I've worked in environments with a window system emulated inside an X window, where the functions of left and middle button were swapped between window universes, and I hardly ever confused the two while working, even when rapidly switching between them.
True - they're research models, so no one of them does everything the way the Sony robot does (and their web pages point this out). 3D Biped didn't have feet/ankles, so it couldn't stand still - they started it by lowering it onto a treadmill using those cables, but it ran on its own with the cables dangling once it got going.
Still what they do is pretty cool, especially considering 3D Biped did it in the early 90's, several Moore's law generations ago.
... is still the best. I love it when a window pops up saying "This window wants to open another window. Shall I let it?", because then I get to click on NO, while saying "Die, marketing scum!".
Also, when I'm somewhere where pop-ups are required for the site to work at all, I can let them through selectively.
MIT's Leg Lab has had various walking/running/jumping robots since the early 1980's. For a real hoot, check out the 3D Biped that can run, hop and somersault. That thing has been around since 1989.
It's called worse is better. Read it and weep.
... because it forces them to make a decision that can only be rationally made on technical grounds (which fork is best for our needs, is the cost of supporting multiple forks worth it, etc.).
PHBs fear decisions like this, because they either have to defer to their better-qualified underlings to decide, or take a guess and risk looking stupid afterwards.
... when somebody compromises Darwin.
... just for the name alone.
Then again, I intend to be first in line when someone comes out with a cool-looking plutonium credit card...
For those of you who weren't around in the early 1980's, search for PATCO, which was the air traffic controllers' union until it tried to strike in 1981.
PATCO had a union in place and had some legitimate grievances that included potential public safety hazards. When their contract talks with the FAA broke down, they tried to strike (illegally, it must be added). The Government swooped down on them and basically fired them all.
The parallel to USPTO is clearer in accounts like this one, which makes the point that what the ATC workers were really fighting for was not money, but control of their workplace - they wanted it to be possible to do their jobs without needing things like big bowls of antacid tabs in the control towers.
And one of them is Just Plain Wrong, also IMHO.
Here are two heuristics for good XML design that I dearly wish more people would take to heart:
1. If processing any text field requires parsing, Something Is Wrong, and you probably need to break it apart into more elements/subelements.
The only exceptions to this rule are fields that are numbers, or maybe date/time stamps that adhere to ISO standards.
2. If you're using attributes, You'll Wish You Hadn't In The Future.
Attributes are supposed to be the way XML seperates metadata from data. The problem with them is that they are also "leaves" of the XML tree, and intended to be simple, flat text. If you ever need more complex structure in attribute metadata, you're screwed - you must either violate rule 1 above, or move the data out into elements, totally breaking your old structure. Just don't use them, OK?
So, we should promote Linux by writing and distributing worms that don't just DDoS the Internet, but also corrupt data and scrag hard drives on Windows machines?
Truly a hard-core suggestion, and I dearly hope nobody takes it seriously. I do enough friend-of-a-friend Windows support based on the current set of problems.
Off-topic right back at you:
S-expressions as defined in the Common Lisp spec (and as implemented by many Scheme dialects) can also be graphs:
#1= (a . #1#)
represents a single cons node whose CDR points to itself. Like XHTML anchors, the graph notation is rarely used when typing in S-expression code or data, but it gets used a lot by the printer when *PRINT-CIRCLE* is on.
XML does get one thing right - document "packaging". The required header on XML documents gives the reader enough information to properly reconstruct a document in arbitrarily weird character encodings (a place where the Common Lisp spec punts to ASCII/implementation-dependent) and allows for versioning and other expansion.
As for the rest of XML, I'm with Philip Wadler when he says:
Dang. Though, if you want to get really persnickety, ANIMAL was technically a Trojan horse, as it required human help to spread.
Good catch on going to the original source - if John Walker believes he was the first, I'm 99.9% inclined to believe him.
Don't know about viruses, but the first computer worms (as in programs that dynamically spread themselves across networks) were created at Xerox PARC in 1978. See here (scroll down to "1978") or here for details.
Not yet - I had seen this problem intermittently since I upgraded to Panther around November 1st, but didn't see it repeatedly from two different applications until this morning. I thought it might be hardware until I saw it on my laptop, too - my B&W G3 has had a hard life.
Would you believe someone from Blizzard has already contacted me? Solely from reading the previous post?
Classic/Carbon apps that use full-screen mode and change your screen resolution worked in 10.2.x, but cause Panther's Quartz to wedge royally. If I launch StarCraft (Carbon version) on my B&W G3 or my 500 MHz iBook, I get garbage drawn on my screen, and the mouse gets restricted to a box in the upper-left corner.
You can get out of it by pushing the boot button. When the dialog pops up asking whether you want to shut down/restart/whatever, your mouse becomes free and you can use it to go to the dock and kill StarCraft. Then go back to the dialog and cancel the restart.
I have seen the same behavior from Ten Thumbs Typing (2.3 or before). The fix is apparently straightforward, because Ten Thumbs 2.4 works correctly. Time to hector Blizzard about it, I guess...