How would you like it if you had to 'activate' your car every time you moved or made an upgrade to it?
Not much. I'd like it even less if I had one of those burglar alarm systems that shut themselves down if you don't pay for a new maintenance contract within 30 days of it telling you the old one is running out.
No back doors, of course, but I'm seriously thinking about putting "phone homes" into some of the things I write.
Look, you write something, you give it to the client, you hear nothing. Is that because you've written a brilliant bug-free piece of code? Is it because each member of the client's staff has run it once and hated it and gone back to doing things the old way? Is it because nobody has run your code yet because their part of the system isn't ready?
It's usually the last reason, of course, but I'm seriously tempted to put in a "phone home" one of these days just to find out.
Sendo ("Hey, nice phone tech, we'll just be taking it, then. Enjoy your chapter 11.")
You ever try to do business with Sendo?
Not easy. Didn't pay on time, and went right to the wire, only agreeing to pay when I'd convinced them I was one click away from suing (you can do that online here).
I spent more time chasing payment than doing the work, and I suspect that my experience of doing business with them was not unique.
It is just possible that one of their other suppliers, Microsoft, also found them difficult to do business with.
OK, in 1.4 you can, at least, get a list of the interfaces and IP addresses on the machine, but to get the subnet mask and default gateway for each interface you have to revert to something platform specific. ICMP? Forget it. Unicasting to a known MAC address when the destination device doesn't have an IP address yet? Forget it. Other low level protocols for which raw socket access might be useful? Forget it.
Sockets and threads; the spec says that if you have one thread waiting to receive on a socket you can cause it to stop waiting, and throw an exception, by closing the socket in another thread.
Now, if you do this to the native socket API you get difference results on different platforms. I may not recall all the details correctly but it's something like: it works on Windows; on Linux it works for UDP sockets but not TCP sockets; on Solaris it doesn't work reliably for either.
Fine, so the whole point of Java is portability, right, so the JVM somehow works round these differences in the underlying socket API, right?
'Fraid not quite right - there are some bugs listed against 1.4 which suggest to me that the JVM implementation of closing a socket in one thread whilst another thread is waiting on some sort of receive is not done cleverly at all, it just calls the native socket API and passes the differences up to the application, which is therefore not portable.
[I haven't done all the expermiments so some of the above is probably wrong in detail - I'd be grateful for any corrections from anyone with first hand experience.]
[So in fact the portability of Java is no better, in this respect, than writing the same thing in C direct to the socket API, except that it's probably harder to come up with nasty fudge workarounds in Java.]
If you want to make non-trivial use of sockets then there are plenty of things you can't do in Java anyway. Even if you find that Java can do what you want to with sockets you may find that it's not portable (particularly if you are combining sockets and threads).
This is an exploit of a hole that was fixed last year, yet it makes the/. front page??
However the last two major outbreaks which exploited holes patched yonks ago didn't make the/. front page. Would that perhaps be because this one is a Windows exploit and the last two were Linux/Apache exploits, by any chance, just possibly?
All you have to do is live in one of the other 199 countries of the world. Us non-Americans have been used for years to carrying our GSM phones around the world with us and making phone calls wherever we are (except, of course, in the USA).
Does anyone know why the USA insists on being different to the rest of humanity?? - it's not just phones, it's also the only country with its own paper sizes, it's the only country still using slugs and foot-poundals, and so on...
If you've got to integration and discover that some people haven't produced what it said on the plan they were going to produce you have already screwed up. That is not how to do project management.
How to do project management is covered in many textbooks, but they'll all tell you to monitor what is going on, so you don't have a surprise on delivery date to discover that nothing has been produced, and take corrective action when you discover a problem.
In a competently managed project you simply can't arrive at the position you describe. Sure, you can get useless programmers, but you should have discovered this and dumped them months ago. (Or, if you personally don't have the power to dump them, you could have screamed enough at higher management that you don't even need to say "told you so".)
Some colleagues of mine has a large radio telescope dish in their back garden, with a couple of racks of electronics in the kitchen. Most of this gear, I think, came out of the skip at a company they did some work for, so I don't think you have to be very rich to do this.
When it detects some aliens a red light flashes and a siren goes off. So far they've all been false alarms.
The big investments in infrastructure (roads, bridges, cross channel tunnels, whatever) never pay back fast enough for the original owners to survive.
So they go bust, the banks sell off the assets minus debts to new operators, who do fine (after all, an operating profit was available, just not enough to service the debt).
The bill is picked up by the banks, private investors and/or government, depending on your local system.
It seems to depend on how the application is presented to the customer. If you ship an application which works against "any database engine", and suggest to the customer that he might like to consider downloading and using MySQL, then you don't need a commercial licence.
If on the other hand you want to present your customer with a single install, and don't necessarily even need him to know that a tiny part of your application is an embedded database engine, then you do need a commercial licence.
There are large segments of various markets where a customer would be ever so slightly pissed off to find out after installing your application that he'd only got part of it and that he needed to fiddle around downloading and installing all sorts of other crap from other places before he had something that would actually run.
My cable modem supplier keeps changing the rules on running servers, but what it boils down to is that they don't want you eating "too much" bandwidth.
So you can run web servers, email servers, news servers, whatever, that are private to a group of friends and they won't mind at all, even in a week when their Ts&Cs say it's forbidden.
Run a publicly advertised server with free stolen porno videos, though, and you might expect them to notice and close you down.
VPN similarly seems to be "allowed" some weeks and not others, but they've never actually blocked it, and I've always been able to use it when I want to. Running an entire network off the cable modem is "not supported" - but of course everybody does it, and they even provide a self-help newsgroup for people to tell each other how to set it up. One imagines however that they'd get upset if you ran a multi-person company behind one cable modem on a domestic tariff and saturated your 512K for eight hours a day.
What it amounts to is that if their network falls over because of a few prats play silly buggers they'll deal with them, otherwise if you're sensible they don't in practice mind what you get up to.
The comment didn't say anything, so I read the article. That didn't say anything we haven't heard zillions of times before either, apart from the new (to me) idea that asymmetric bandwidth to the home is a conspiracy by ISPs and advertisers (and there was me thinking there were some technical considerations).
... Microsoft do list their bugs online (ever heard of the Knowledge Base)?
Few other closed source suppliers come remotely close to this - some try, a bit, but they just don't put in the investment.
OK, the KB doesn't answer everthing, and you have to Google usenet sometimes, ie at the end of the day you can be reduced to using the only resource that is available for tracking open source bugs.
I realised the other day that I was agreeing with some of the things the Conservative politicians were saying.
That's the thing about the LibDems. You're actually allowed to agree with the Tories if and when they happen to be talking sense; and you're actually allowed to agree with Labour if and when they happen to be talking sense; and naturally, of course, you're allowed to disagree with other liberals when they're talking a load of bollocks, as we do from time to time.
Anyone who's done any cellphone programming will know that there aren't an awful lot of spare CPU cycles going begging when the phone is idle, and there are hardly any at all when you're in a call.
Unless your phone has more CPU power than you need for normal use, and why on earth would the phone manufacturer do that?? - it'll just eat battery and make the phone uncompetitive.
Sorry, but you can't get this sort of system for free. It will cost, in more expensive handsets and/or reduced battery life. Not to mention a re-run of all the safety research as the things will be transmitting on a higher duty cycle even when you aren't deliberately making a call.
[Disclaimer: The above is all true for GSM systems as used in 199 countries of the world. I gather things may be a bit different in the USA.]
How would you like it if you had to 'activate' your car every time you moved or made an upgrade to it?
Not much. I'd like it even less if I had one of those burglar alarm systems that shut themselves down if you don't pay for a new maintenance contract within 30 days of it telling you the old one is running out.
No back doors, of course, but I'm seriously thinking about putting "phone homes" into some of the things I write.
Look, you write something, you give it to the client, you hear nothing. Is that because you've written a brilliant bug-free piece of code? Is it because each member of the client's staff has run it once and hated it and gone back to doing things the old way? Is it because nobody has run your code yet because their part of the system isn't ready?
It's usually the last reason, of course, but I'm seriously tempted to put in a "phone home" one of these days just to find out.
Sendo ("Hey, nice phone tech, we'll just be taking it, then. Enjoy your chapter 11.")
You ever try to do business with Sendo?
Not easy. Didn't pay on time, and went right to the wire, only agreeing to pay when I'd convinced them I was one click away from suing (you can do that online here).
I spent more time chasing payment than doing the work, and I suspect that my experience of doing business with them was not unique.
It is just possible that one of their other suppliers, Microsoft, also found them difficult to do business with.
OK, in 1.4 you can, at least, get a list of the interfaces and IP addresses on the machine, but to get the subnet mask and default gateway for each interface you have to revert to something platform specific. ICMP? Forget it. Unicasting to a known MAC address when the destination device doesn't have an IP address yet? Forget it. Other low level protocols for which raw socket access might be useful? Forget it.
Sockets and threads; the spec says that if you have one thread waiting to receive on a socket you can cause it to stop waiting, and throw an exception, by closing the socket in another thread.
Now, if you do this to the native socket API you get difference results on different platforms. I may not recall all the details correctly but it's something like: it works on Windows; on Linux it works for UDP sockets but not TCP sockets; on Solaris it doesn't work reliably for either.
Fine, so the whole point of Java is portability, right, so the JVM somehow works round these differences in the underlying socket API, right?
'Fraid not quite right - there are some bugs listed against 1.4 which suggest to me that the JVM implementation of closing a socket in one thread whilst another thread is waiting on some sort of receive is not done cleverly at all, it just calls the native socket API and passes the differences up to the application, which is therefore not portable.
[I haven't done all the expermiments so some of the above is probably wrong in detail - I'd be grateful for any corrections from anyone with first hand experience.]
[So in fact the portability of Java is no better, in this respect, than writing the same thing in C direct to the socket API, except that it's probably harder to come up with nasty fudge workarounds in Java.]
If you want to make non-trivial use of sockets then there are plenty of things you can't do in Java anyway. Even if you find that Java can do what you want to with sockets you may find that it's not portable (particularly if you are combining sockets and threads).
... why anyone should want to run Linux on an Xbox? What will you be able to do with it that you can't do with Linux running on a proper computer?
You do (sometimes) publicise non-MS vulnerabilities.
Panic! Disaster!
...
"tim ward cambridge" always used to get me in seven of the top ten places - now it's down to six!! Better get my mates to put up a few more links
But as I'm still on the first page with "accommodation cambridge" I can agree - famous people are worse off, but technical queries are unaffected.
This is an exploit of a hole that was fixed last year, yet it makes the /. front page??
/. front page. Would that perhaps be because this one is a Windows exploit and the last two were Linux/Apache exploits, by any chance, just possibly?
However the last two major outbreaks which exploited holes patched yonks ago didn't make the
I mean nothing is more stupid than an idle processor 24/7 while it can help something.
So turn the f***ing thing off if you're not using it!! Haven't you heard of global warming? Let me guess, you're American, right?
All you have to do is live in one of the other 199 countries of the world. Us non-Americans have been used for years to carrying our GSM phones around the world with us and making phone calls wherever we are (except, of course, in the USA).
...
Does anyone know why the USA insists on being different to the rest of humanity?? - it's not just phones, it's also the only country with its own paper sizes, it's the only country still using slugs and foot-poundals, and so on
Medium grey text on slightly lighter grey stripey background??!?!?!*!???
Nothing this guy could have to say on GUIs could possibly be worth reading.
Provided you live somewhere civilised, of course, like Europe for example.
If you've got to integration and discover that some people haven't produced what it said on the plan they were going to produce you have already screwed up. That is not how to do project management.
How to do project management is covered in many textbooks, but they'll all tell you to monitor what is going on, so you don't have a surprise on delivery date to discover that nothing has been produced, and take corrective action when you discover a problem.
In a competently managed project you simply can't arrive at the position you describe. Sure, you can get useless programmers, but you should have discovered this and dumped them months ago. (Or, if you personally don't have the power to dump them, you could have screamed enough at higher management that you don't even need to say "told you so".)
The Jennys are both now, along with me, LibDem Cambridge City Councillors ... strange world we live in when loonies like us can run a city!
Here
Some colleagues of mine has a large radio telescope dish in their back garden, with a couple of racks of electronics in the kitchen. Most of this gear, I think, came out of the skip at a company they did some work for, so I don't think you have to be very rich to do this.
When it detects some aliens a red light flashes and a siren goes off. So far they've all been false alarms.
The big investments in infrastructure (roads, bridges, cross channel tunnels, whatever) never pay back fast enough for the original owners to survive.
So they go bust, the banks sell off the assets minus debts to new operators, who do fine (after all, an operating profit was available, just not enough to service the debt).
The bill is picked up by the banks, private investors and/or government, depending on your local system.
It seems to depend on how the application is presented to the customer. If you ship an application which works against "any database engine", and suggest to the customer that he might like to consider downloading and using MySQL, then you don't need a commercial licence.
If on the other hand you want to present your customer with a single install, and don't necessarily even need him to know that a tiny part of your application is an embedded database engine, then you do need a commercial licence.
There are large segments of various markets where a customer would be ever so slightly pissed off to find out after installing your application that he'd only got part of it and that he needed to fiddle around downloading and installing all sorts of other crap from other places before he had something that would actually run.
It isn't all over. There's another week of grown-ups chasing balls about to endure (called "Wimbledon").
My cable modem supplier keeps changing the rules on running servers, but what it boils down to is that they don't want you eating "too much" bandwidth.
So you can run web servers, email servers, news servers, whatever, that are private to a group of friends and they won't mind at all, even in a week when their Ts&Cs say it's forbidden.
Run a publicly advertised server with free stolen porno videos, though, and you might expect them to notice and close you down.
VPN similarly seems to be "allowed" some weeks and not others, but they've never actually blocked it, and I've always been able to use it when I want to. Running an entire network off the cable modem is "not supported" - but of course everybody does it, and they even provide a self-help newsgroup for people to tell each other how to set it up. One imagines however that they'd get upset if you ran a multi-person company behind one cable modem on a domestic tariff and saturated your 512K for eight hours a day.
What it amounts to is that if their network falls over because of a few prats play silly buggers they'll deal with them, otherwise if you're sensible they don't in practice mind what you get up to.
Seems reasonable to me.
The comment didn't say anything, so I read the article. That didn't say anything we haven't heard zillions of times before either, apart from the new (to me) idea that asymmetric bandwidth to the home is a conspiracy by ISPs and advertisers (and there was me thinking there were some technical considerations).
So why does this make the front page?
... Microsoft do list their bugs online (ever heard of the Knowledge Base)?
Few other closed source suppliers come remotely close to this - some try, a bit, but they just don't put in the investment.
OK, the KB doesn't answer everthing, and you have to Google usenet sometimes, ie at the end of the day you can be reduced to using the only resource that is available for tracking open source bugs.
I realised the other day that I was agreeing with some of the things the Conservative politicians were saying.
That's the thing about the LibDems. You're actually allowed to agree with the Tories if and when they happen to be talking sense; and you're actually allowed to agree with Labour if and when they happen to be talking sense; and naturally, of course, you're allowed to disagree with other liberals when they're talking a load of bollocks, as we do from time to time.
Control Freaks R'nt Us!, basically.
Anyone who's done any cellphone programming will know that there aren't an awful lot of spare CPU cycles going begging when the phone is idle, and there are hardly any at all when you're in a call.
Unless your phone has more CPU power than you need for normal use, and why on earth would the phone manufacturer do that?? - it'll just eat battery and make the phone uncompetitive.
Sorry, but you can't get this sort of system for free. It will cost, in more expensive handsets and/or reduced battery life. Not to mention a re-run of all the safety research as the things will be transmitting on a higher duty cycle even when you aren't deliberately making a call.
[Disclaimer: The above is all true for GSM systems as used in 199 countries of the world. I gather things may be a bit different in the USA.]