Only it turned out that Saddam, against all expectations, actually did fear repercussions and had all his WMD destroyed. Who'd have thought it! Certain no-one who wanted to trouble themselves with proof, when they *knew* the answer they wanted already.
why stop there, eyeball-tracking should be all you need for mouse movement. wink to click using either eye (close both eyes at the same time is ignored).
I suppose all the Microsofties using an iPhone havn't had them sanctioned by their IT department then! That obviously shows every other IT department just how essential it is to have an IT-sanctioned mobile device.
I second this. I work for a company that sells software to the emergency services, on Windows, and we've had 2 major outbreaks of Conficker in the last year or so. It was a nightmare to get rid of (though MS consulting services did very well out of it, trying to eradicate it).
As it initially spread from a 3rd party supplier's flash drive, we've now been banned from using them at all. No way at all are we allowed to connect anything to anything anymore.
and that's for a clean, work-only USB keydrive. I can imagine what the IT department would think of a device being used at home and then brought in for work. Not a chance. Our FM team even has 2 laptops now - one for the customer network, and another for ours. If only they ran Linux:(
You're assuming a fair competitive market, which MS doesn't allow you to have - once a monopoly, they stay a monopoly for a long time.
Still, the biggest issue for many form factor devices is the retailers - how much stock will you haver to hold of the ones no-one wants, or how much shelf space will you have to give over to show every different combo? Remember when Apple sold the coloured iMacs, they forced retailers to buy them in blocks and the retailers sold out of the blueberry ones immediately, but the apple ones didn't sell so well (who wanted the manky green one, everyone wanted the blue). That was back then, today with just-in-time, minimal stock retailing, you can imagine how unimpressed retailers will be. If MS brings out 5 different tablets, I expect 3 of them to be effectively discontinued in weeks.
there is something to say about form factor - not that its so bad that no-one buys a tablet, but that to hold it in one hand you're going to have to get a smudgy fingerprint on the screen, which I've never quite understood how that doesn't affect its UI (ie, I hold the table in one hand and I've clicked 3 widgets with my thumb)
All a table needs to make it really friendly form factor is a bit of a handle - something you can grab hold of without having to touch the screen. I think a ridge on the back for your fingers to grip would help as well.
I'd say there's nothing wrong with paid-for blog instead of the usual publishing route... because the peer review should still take place.
I can say whatever bo**ocks I want on/. and someone will tell me I'm wrong - fine. I can put up my own blog and say the same bull with comments disabled, that's fine. But I could pay/. to post my comments, and all's good - if people can still say I'm wrong.
(cue the 'wits' replying with the obvious now:)
So the paid-for aspect only becomes a problem if there's some coercion that cntrary arguments are withheld in some way, and I suppose there's always the case that the publication will censor in order to keep the money flowing in, but the peer community will quickly recognise that and will boycott it making the whole point of the initial exercise futile.
Or the pepsico scientists could contribute exactly what they were going to, but without the financial backing of Pepsico. I'm sure Pepsico just wants the advertising and marketing of saying these clever scientists work for them.
1. they do have 4 million numbers, they're not a phone compnay but an ISP that offers VoIP services.
2. The numbers they have are assigned to them, and are obviously able to be called, but ar not handed out to a subscriber yet (so technically,A&A are the subscriber).
3. They added every one to the TPS list - that is the correct thing to do. The message they play says the right things, giving the caller a chance to realise its a wrong number before going off on one - its just that telemarketers play a recording, and only connect to a human if you press a key, hence the beep near the beginning of each of the traps they have on the website. Regular people are going to hear the initial 'this is not a valid number'.
the GC was supposed to solve all problems. I recall a microsoftie telling us how he could never get his reference counts correct, and how he could never write an app without circular references, and that the all-new.NET with added GC would magically solve all these problems.
That's what it was like when.NET appeared, it was pushed as a silver bullet to all problems. We had to fight tooth and nail to get them to add IDispose back then, they (MS) didn't seem to think it was necessary, after all, we had Finalisers. IDispose was just a design pattern back then BW, no using blocks to make it into a pretend-RAII mechanism that is used so often now, just imagine if you didn't have using.
RAII is the better solution BTW, so much so that its copied as much as it can be in.NET today.
You think they understand resource issues in.NET, have a read through this blog entry. Nice comment: or how we were forced to providing such a useful construct, here's a detailed writeup on SafeHandle. Took MS 3 years to figure out reference counts aren't a dead construct after all.
Ruby - its a clean language, nicely laid out, easy to write for, got some excellent ideas about naming and automatically matching one thing to another (ok requires Rails too). It may not look like what you expect, but frankly, C# code looks like C sometimes, and I'm sure you don't want to say C is a clean language (it is, IMHO, unless abused). Maybe you think clean = pretty, but I'm an engineer, clean = elegant = efficiency through simple yet powerful consructs.
MS MO is to hook devs into the MS-only technologies, as then there is a large number of MS-only applications, and a lot of MS-only employees. Business users don't understand the difference MS, Linux and a potato but they understand the cost implications of a market that has a predominance of MS-only employees, tools, and developer mindshare. That's why Ballmer went bonkers telling everyone why developers were so essential to MS's success (even if he didn't understand the difference between Linux and a potato)
True, the innovative work is done elsewhere - but MS has deep enough pockets, thanks to the above spread over many years, to buy the innovation and cripple it.
a point I thought made sense a while back, but I'm not so sure now. MS has been 're-evaluating' their strategies for a couple of years now, and appear to be fighting back with cheap offerings to web-host companies. For example, the one used to use suddenly started to send me adverts for their new 'hosted Windows servers running on Hyper-V technology'. It appears they have gone into 'partnership' with MS and got tons of free software.
As a result, whereas it used to be $5/month for the LAMP OS and $25 for the Windows equivalent, its now the same price - and somehow, the hosting companies are all pushing the Windows plans.
I'm more buoyed by Google's decision to stop using Windows internally - that sends a message out, but the Linux webhosts are not going to be the factor that kills off Windows anymore. Mobile platform is probably the most likely MS killer currently, but we'll see what they come up with.
You'd like VB.net more then, its more wordy but as languages go, its more powerful and more consistent than C#.
Mind you, I remember when Java came out and everyone wittered on about how 'elegant' it was. History is just repeating itself with the latest fashion. I don't think its particularly clean, stuff they've added like extension methods make it very, very dirty indeed. GC is another problem that wasn't really fully understood when they started - hence the (fairly quick) addition of IDispose pattern, and then using, and also SafeHandle (for when you need reference counting, even though the GC system is supposed to solve all memory issues!).
There's plenty more - nothing is as clean as you'd want. If you want to try a better one, have a go at Ruby.
True, C# is a copy of Java, with extras and a load of nicer wrappers round Win32 than you'd expect.
Why does the event system need to multithread? Typically this makes it easier to have gui elements that interact with themselves (sure, if you had a static form that only responded to user input, single threaded is fine), but today everyone wants animated buttons and little popup paperclips and suchlike. In a multi threaded system its a lot easier to let them jiggle themselves rather than pulse them using a timer or message pumps.
All in all, its not much of a big deal I think, MT only adds more complexity in places, but removes it in others.
C++ coders could continue to do this, of course, but they've assumed they needed to use objects for this purpose, leading to complex schemes for streaming those objects out to disk for persistence.
My PoV on C v C++ coding comes down to this kind of stuff. In C, you'll have a function that takes a struct parameter and writes it to file. In C++ you put that function inside the struct and remove the parameter.
so Persist(struct Data d); becomes d.Persist(); simples!
In effect, no difference - except to handily keep methods and data together and easier to understand. Obviously a decent C programmer will put the persistence routines and data struct together in a module... which is roughly the same thing.
The benefit to C++ is that you get all the above type of coding (ie no difference but a bit of easier code organisation) and you can, if you want to, use some nice new features like the STL.
Any coder who thinks that C++ is a great place to go fully OO is miguided, IMHO. I've seen object hierarchies and exception hierarchies that are totally confused, difficult to debug and understand. In fact, you could say that this kind of app should not be written in C++, but written in UML instead! In other words - confused, difficult to understand, debug and fragile as any other "Enterprise" app.
So - keep it simple and you're golden, try to go crazy with every little feature and you're stuffed. I have a feeling that many a coder who tries the latter and fails then moves on to Java or C# thinking its the language that is at fault.
TeX or troff aren't exactly user friendly, which raises the question whether there are open source DTP packages out there, or has this application become too niche in this day of web-publishing?
developers usually are required to deal with end-users directly, and depending upon their personalities (and general level of professionalism) that may not work very well
Hell, some places I've worked some developers can't work well with other developers. Or managers and support staff.
Its not necessarily the way to go - sure its probably the best way, but since when has that ever been a factor in human endeavours.
Let the hardware companies that they can keep their binary-only drivers, but they'll be maintaining them themselves. If the ABI was stable, chances are they'd be perfectly happy with this too. Linux would get hardware accelerated drivers, you might have to download them yourself from the manufacturer website, but otherwise all would be goodness.
Current status is a bit of a stand-off that no-one wins. The hardware companies don't want to release their very precious secret driver code, the kernel guys don't want to fix the driver interface, the consumer doesn't get fast hardware acceleration, and Steve and Steve laugh their heads off as users stick with Windows and Macs. Make it easy for the manufacturers to support their systems and they will, and they'll drive more people to using them. At the moment, all we have is Linux based systems that are 'consumer devices', ie closed off ecosystems with fixed hardware support (and no, an oss driver won't sell more graphics chips, they're already chosen from features and price, driver support is almost a non-factor).
This is one battle I think the OSS guys have to 'lose' in order to win. We're never going to get the best backing from hardware companies if we force them to release their driver code (not the important stuff, your webcam driver can go fly, but your 'competitive advantage' video driver is another matter), instead we need to make it easy for them to support Linux with their binary drivers, easy to download and install.
Would you though? You write Android apps because there's a large base of Android users who would use your software. For Windows, you're likely to be delivering to a niche market, even if you like to code.NET as a hobby, that's all its likely to be. There are a lot of potential developers, true, but that's a meaningless statistic.
If you want lots of people to use your software, forget.NET on the mobile platform and go with Android. If you want to make some money, code for iPhone. Coding for a Windows mobile is just pointless, you'd be better off coding apps for Meego.
But on the bright side, one of their employees has come to the conclusion that, in principle anyway, it would be good if their software worked. And was easy to use.
read that article again - it describes how they want to make it appear that it works and is easy to use. Subtle difference between 'well engineered' and 'crufty implementation with a pretty gui plastered on top'.
Obviously, the Russians were after something other than the Windows source code. ... You know, stuff that wouldn't be in the WIndows 7 source code
You mean the secret NSA backdoor keys! of course, because they're not in the Windows 7 source code, ok. right. *wink* :)
Only it turned out that Saddam, against all expectations, actually did fear repercussions and had all his WMD destroyed. Who'd have thought it! Certain no-one who wanted to trouble themselves with proof, when they *knew* the answer they wanted already.
Or more likely, business strategy, research & development direction, or contract bid pricing
Microsoft has any of those things?
then one paying customer can take the source and fork it back out to everybody else for gratis.
And that's vTiger, see a comparative review between the two.
why stop there, eyeball-tracking should be all you need for mouse movement. wink to click using either eye (close both eyes at the same time is ignored).
Not sure about the scroll wheel though.
This is that you want to see - it shoots things near the end, the beginning is more a demo for the CnC GUI.
I suppose all the Microsofties using an iPhone havn't had them sanctioned by their IT department then! That obviously shows every other IT department just how essential it is to have an IT-sanctioned mobile device.
I second this. I work for a company that sells software to the emergency services, on Windows, and we've had 2 major outbreaks of Conficker in the last year or so. It was a nightmare to get rid of (though MS consulting services did very well out of it, trying to eradicate it).
As it initially spread from a 3rd party supplier's flash drive, we've now been banned from using them at all. No way at all are we allowed to connect anything to anything anymore.
and that's for a clean, work-only USB keydrive. I can imagine what the IT department would think of a device being used at home and then brought in for work. Not a chance. Our FM team even has 2 laptops now - one for the customer network, and another for ours. If only they ran Linux :(
You're assuming a fair competitive market, which MS doesn't allow you to have - once a monopoly, they stay a monopoly for a long time.
Still, the biggest issue for many form factor devices is the retailers - how much stock will you haver to hold of the ones no-one wants, or how much shelf space will you have to give over to show every different combo? Remember when Apple sold the coloured iMacs, they forced retailers to buy them in blocks and the retailers sold out of the blueberry ones immediately, but the apple ones didn't sell so well (who wanted the manky green one, everyone wanted the blue). That was back then, today with just-in-time, minimal stock retailing, you can imagine how unimpressed retailers will be. If MS brings out 5 different tablets, I expect 3 of them to be effectively discontinued in weeks.
there is something to say about form factor - not that its so bad that no-one buys a tablet, but that to hold it in one hand you're going to have to get a smudgy fingerprint on the screen, which I've never quite understood how that doesn't affect its UI (ie, I hold the table in one hand and I've clicked 3 widgets with my thumb)
All a table needs to make it really friendly form factor is a bit of a handle - something you can grab hold of without having to touch the screen. I think a ridge on the back for your fingers to grip would help as well.
I'd say there's nothing wrong with paid-for blog instead of the usual publishing route... because the peer review should still take place.
I can say whatever bo**ocks I want on /. and someone will tell me I'm wrong - fine. I can put up my own blog and say the same bull with comments disabled, that's fine. But I could pay /. to post my comments, and all's good - if people can still say I'm wrong.
(cue the 'wits' replying with the obvious now :)
So the paid-for aspect only becomes a problem if there's some coercion that cntrary arguments are withheld in some way, and I suppose there's always the case that the publication will censor in order to keep the money flowing in, but the peer community will quickly recognise that and will boycott it making the whole point of the initial exercise futile.
Or the pepsico scientists could contribute exactly what they were going to, but without the financial backing of Pepsico. I'm sure Pepsico just wants the advertising and marketing of saying these clever scientists work for them.
You didn't read the article did you?
1. they do have 4 million numbers, they're not a phone compnay but an ISP that offers VoIP services.
2. The numbers they have are assigned to them, and are obviously able to be called, but ar not handed out to a subscriber yet (so technically,A&A are the subscriber).
3. They added every one to the TPS list - that is the correct thing to do. The message they play says the right things, giving the caller a chance to realise its a wrong number before going off on one - its just that telemarketers play a recording, and only connect to a human if you press a key, hence the beep near the beginning of each of the traps they have on the website. Regular people are going to hear the initial 'this is not a valid number'.
the GC was supposed to solve all problems. I recall a microsoftie telling us how he could never get his reference counts correct, and how he could never write an app without circular references, and that the all-new .NET with added GC would magically solve all these problems.
That's what it was like when .NET appeared, it was pushed as a silver bullet to all problems. We had to fight tooth and nail to get them to add IDispose back then, they (MS) didn't seem to think it was necessary, after all, we had Finalisers. IDispose was just a design pattern back then BW, no using blocks to make it into a pretend-RAII mechanism that is used so often now, just imagine if you didn't have using.
RAII is the better solution BTW, so much so that its copied as much as it can be in .NET today.
You think they understand resource issues in .NET, have a read through this blog entry. Nice comment: or how we were forced to providing such a useful construct, here's a detailed writeup on SafeHandle. Took MS 3 years to figure out reference counts aren't a dead construct after all.
Ruby - its a clean language, nicely laid out, easy to write for, got some excellent ideas about naming and automatically matching one thing to another (ok requires Rails too). It may not look like what you expect, but frankly, C# code looks like C sometimes, and I'm sure you don't want to say C is a clean language (it is, IMHO, unless abused). Maybe you think clean = pretty, but I'm an engineer, clean = elegant = efficiency through simple yet powerful consructs.
MS's MO is to indoctrinate people at the business level not the developer level
"Developers, developers, developers, developers, developers".
MS MO is to hook devs into the MS-only technologies, as then there is a large number of MS-only applications, and a lot of MS-only employees. Business users don't understand the difference MS, Linux and a potato but they understand the cost implications of a market that has a predominance of MS-only employees, tools, and developer mindshare. That's why Ballmer went bonkers telling everyone why developers were so essential to MS's success (even if he didn't understand the difference between Linux and a potato)
True, the innovative work is done elsewhere - but MS has deep enough pockets, thanks to the above spread over many years, to buy the innovation and cripple it.
a point I thought made sense a while back, but I'm not so sure now. MS has been 're-evaluating' their strategies for a couple of years now, and appear to be fighting back with cheap offerings to web-host companies. For example, the one used to use suddenly started to send me adverts for their new 'hosted Windows servers running on Hyper-V technology'. It appears they have gone into 'partnership' with MS and got tons of free software.
As a result, whereas it used to be $5/month for the LAMP OS and $25 for the Windows equivalent, its now the same price - and somehow, the hosting companies are all pushing the Windows plans.
I'm more buoyed by Google's decision to stop using Windows internally - that sends a message out, but the Linux webhosts are not going to be the factor that kills off Windows anymore. Mobile platform is probably the most likely MS killer currently, but we'll see what they come up with.
C# is the cleanest language I've ever coded in
You'd like VB.net more then, its more wordy but as languages go, its more powerful and more consistent than C#.
Mind you, I remember when Java came out and everyone wittered on about how 'elegant' it was. History is just repeating itself with the latest fashion. I don't think its particularly clean, stuff they've added like extension methods make it very, very dirty indeed. GC is another problem that wasn't really fully understood when they started - hence the (fairly quick) addition of IDispose pattern, and then using, and also SafeHandle (for when you need reference counting, even though the GC system is supposed to solve all memory issues!).
There's plenty more - nothing is as clean as you'd want. If you want to try a better one, have a go at Ruby.
True, C# is a copy of Java, with extras and a load of nicer wrappers round Win32 than you'd expect.
Why does the event system need to multithread?
Typically this makes it easier to have gui elements that interact with themselves (sure, if you had a static form that only responded to user input, single threaded is fine), but today everyone wants animated buttons and little popup paperclips and suchlike. In a multi threaded system its a lot easier to let them jiggle themselves rather than pulse them using a timer or message pumps.
All in all, its not much of a big deal I think, MT only adds more complexity in places, but removes it in others.
C++ coders could continue to do this, of course, but they've assumed they needed to use objects for this purpose, leading to complex schemes for streaming those objects out to disk for persistence.
My PoV on C v C++ coding comes down to this kind of stuff. In C, you'll have a function that takes a struct parameter and writes it to file. In C++ you put that function inside the struct and remove the parameter.
so Persist(struct Data d); becomes d.Persist(); simples!
In effect, no difference - except to handily keep methods and data together and easier to understand. Obviously a decent C programmer will put the persistence routines and data struct together in a module... which is roughly the same thing.
The benefit to C++ is that you get all the above type of coding (ie no difference but a bit of easier code organisation) and you can, if you want to, use some nice new features like the STL.
Any coder who thinks that C++ is a great place to go fully OO is miguided, IMHO. I've seen object hierarchies and exception hierarchies that are totally confused, difficult to debug and understand. In fact, you could say that this kind of app should not be written in C++, but written in UML instead! In other words - confused, difficult to understand, debug and fragile as any other "Enterprise" app.
So - keep it simple and you're golden, try to go crazy with every little feature and you're stuffed. I have a feeling that many a coder who tries the latter and fails then moves on to Java or C# thinking its the language that is at fault.
and yes.. before anyone replies... I am an idiot today, and to think I even RTFA!
TeX or troff aren't exactly user friendly, which raises the question whether there are open source DTP packages out there, or has this application become too niche in this day of web-publishing?
developers usually are required to deal with end-users directly, and depending upon their personalities (and general level of professionalism) that may not work very well
Hell, some places I've worked some developers can't work well with other developers. Or managers and support staff.
Its not necessarily the way to go - sure its probably the best way, but since when has that ever been a factor in human endeavours.
Let the hardware companies that they can keep their binary-only drivers, but they'll be maintaining them themselves. If the ABI was stable, chances are they'd be perfectly happy with this too. Linux would get hardware accelerated drivers, you might have to download them yourself from the manufacturer website, but otherwise all would be goodness.
Current status is a bit of a stand-off that no-one wins. The hardware companies don't want to release their very precious secret driver code, the kernel guys don't want to fix the driver interface, the consumer doesn't get fast hardware acceleration, and Steve and Steve laugh their heads off as users stick with Windows and Macs. Make it easy for the manufacturers to support their systems and they will, and they'll drive more people to using them. At the moment, all we have is Linux based systems that are 'consumer devices', ie closed off ecosystems with fixed hardware support (and no, an oss driver won't sell more graphics chips, they're already chosen from features and price, driver support is almost a non-factor).
This is one battle I think the OSS guys have to 'lose' in order to win. We're never going to get the best backing from hardware companies if we force them to release their driver code (not the important stuff, your webcam driver can go fly, but your 'competitive advantage' video driver is another matter), instead we need to make it easy for them to support Linux with their binary drivers, easy to download and install.
Would you though? You write Android apps because there's a large base of Android users who would use your software. For Windows, you're likely to be delivering to a niche market, even if you like to code .NET as a hobby, that's all its likely to be. There are a lot of potential developers, true, but that's a meaningless statistic.
If you want lots of people to use your software, forget .NET on the mobile platform and go with Android. If you want to make some money, code for iPhone. Coding for a Windows mobile is just pointless, you'd be better off coding apps for Meego.
Even MS says that Silverlight has 60% penetration - that's significantly insufficient for it to replace Flash.
But on the bright side, one of their employees has come to the conclusion that, in principle anyway, it would be good if their software worked. And was easy to use.
read that article again - it describes how they want to make it appear that it works and is easy to use. Subtle difference between 'well engineered' and 'crufty implementation with a pretty gui plastered on top'.