If you've worked on a stand-alone product that has competitive advantages in it's algorithms, I can see the argument for keeping those algorithms private.
However, if it's a tool intended to generate revenue by leveraging a central service, your business is structured on service revenue, not product revenue, so there's much less concern about making the algorithms publicly accessible.
Personally I opted to open source my core technology over many years of research and enhancements. That way there can be no claim that I was using a "competitors" algorithms without their knowing about it -- they had full access to inspect the code all along. However, I've kept certain configuration/driver data options proprietary, and choose to deliver those using a service model in the future rather than "selling" them as complete products in and of themselves.
Leasing and contracts are just a better model for me to generate revenue with my work than a product sales and upgrade model would be.
Your own situation is likely completely different, but I thought I'd share my thoughts behind the approach I've taken myself.
The law does not legislate morality and cannot prevent greed by downstream distributors of a software package. However, it's PR suicide for a distributor to modify code to steal the paltry revenues generated by most OSS packages. That's effectively saying we're not satisfied with taking your free code homework, we want your lunch money, too.
And for a software distributor to do so (not the author) is as rude and socially unacceptable as any other bullying thief's behaviour.
If someone authors a piece of open source software, they have every right to try and make money with it. The distributions have the right to try and make their money selling packaging, security, and update services. It would be an extremely rude and blatant theft for a distributor to rewrite the code in the software to steal the revenue, no matter how great or small that revenue stream might actually be.
Personally I prefer to structure my software so it can encourage use of a service provider model for it's complex grunt work, simplifying updates and maintenance of the overall product family. There will be no billing associated with the eventual client GUI software as a result -- you're encouraged to use that for free just so I can get a "click to submit" button out there to engage the for-fee services. You'll even be able to manufacture the code for the OSS rules without contacting the service -- the service is how I intend to deploy proprietary product and technology support and generate revenue from that support.
That's not to say there couldn't be competing service providers using the same tools and core technology, but if I didn't encourage that competition through open source licensing, I'd just be another "I want to be Microsoft/Apple/Google/IBM" dreamer instead of someone trying to provide actual value for your development dollars.
As of Gnome 2.0 and KDE 3, Linux was more than capable of providing an acceptable desktop user experience, especially Ubuntu's releases. Unfortunately the very latest releases don't support my Logitech Track Ball, so I use an older 10.04.1 release which still has a couple glitches with the trackball support as well, but I can't fault Linux as a whole for me wanting to use a 12+ year old "mouse".
Open Office/Office Libre are more than adequate for the vast majority of home users. The extra "features" in the official Microsoft Office product line are wasted disk space for the majority of document editors. I can't speak to spreadsheets, as that's never been a technology I made much use of, and I've always preferred other tools for diagramming. Open Office does a perfectly acceptable job of editing and presenting overheads, the only non-document-editing requirement I've ever had for an office package. As to "slow" -- what are you running -- a P3?
Eclipse is actually a more functional and better designed IDE than Visual Studio. However, Visual Studio doesn't compete with Eclipse, it competes with Mono, and the Mono environment for Linux is little better than a workable beta in need of huge performance tuning and scalability efforts, so Microsoft wins the C# market by default as they'd always hoped and planned.
I can see how a video game console has anything to do whatsoever with desktop and server operating systems. Honestly. I can see your point. It's called FUD, and it's uselessly off topic.
But you keep drinking the Microsoft kool-aid, while I sip the coffee of open source. We'll both have our thirst for tools and technology satisfied in the end.
This means you are using a private torrent tracker or, of course, you may not be a torrent user at all! It happens.
Given all the TV shows I've downloaded over the years both current and old, I suspect this site really doesn't do much if you're not downloading torrents from "big names" like The Pirate Bay. With their grotesque lack of accuracy in their date, I do hope that anybody sued as a result of the information they do collect is wise enough to fight and question the validity of the data as a whole -- it's clearly not accurate, and likely to result in "fishing expedition" lawsuits such as we've already seen from the RIAA and MPAA for years.
I think Microsoft is acknowledging something more important: that many good products are developed under open source licenses, but sold and maintained under commercial terms, a hybrid of philosophies that allows the programmers to keep eating!
As it turns out the patents Microsoft is pursing have nothing to do with the Linux kernel, GPL'd utilities, or Java implementation, the Microsoft lawsuits are just "business as usual" for the telecommunications industry as it has been for decades. The lawsuits are punishing; they're just the way telcos and their technology companies have dealt with the business landscape for decades. It's not a "nice" way of doing business, but it is "a" way of doing business.
In a nutshell, one of the big problems that has always faced cross-platform product development is vendor lock in. I provide an abstraction Object-Relational-Mapping architecture that defines the interface to the database, and then implements each database interface using custom code. So unless you have very specific query needs that have to be hand coded through the BL (Business Logic) layers of the manufactured code, you neither see nor touch actual SQL.
All strings passed to the database are encoded using the vendor's string escape syntax, preventing SQL injection attacks if you use my manufactured API and don't write custom code to bypass that protection. As SQL injections are one of the most common attacks out there for client-server, web, and messaging/transaction processing environments, it's something that needed to be solved at the foundation layer of the programming interface to the database, not something that you want to count on every individual programmer remembering or knowing to do.
Simple field validations are done long before the database is hit with an INSERT or UPDATE statement, supporting what is known as a "fast fail" exception model. So although the database will check field ranges again to verify data integrity, you don't clog the database with requests that you should already know are going to fail.
The object inheritance model of the Business Application Models is a single-inheritance tree, the same as Java and C#. I could model multiple inheritance for C++, but that would negate the cross-language idealism I have. The future C++ version of the architecture will use multiple inheritance for it's implementation instead of hiding the inheritance via interface specifications, but the model that defines the application will not.
I do plan on doing a scripting language using the CFCore bindings as well, but I'm far from ready to start working on that. It's just another set of XML nodes in the object model to parse with the tool, and won't be a significant challenge to implement. It's just going to take another year or so before I have time for that, as I'll be focusing on getting the DbIO implementations for the different major databases done first.
You might also want to read the project's Roadmap page, it goes through a few other long-term future goals as well. Shorter term goals are in the "Up Next" page.
I hope this explanation helps. Sorry that I'm not always good at explaining complex subjects; I assume a lot of knowledge on the part of the reader to match my near 30 years of programming experience, and that really isn't a realistic way of viewing the audience.
This sounds like a variant on the nuisance toolbars that come with many supposedly free applications that try to inject yet another search box when I've already set my browser search preferences elsewhere. It's annoying and useless crapware offering nothing better than the newest take on Bonzi Buddy.
I wouldn't agree with that. The performance of Erlang is quite comparable to Java, though it is a steep learning curve unless you're already familiar with the paradigm of functional programming.
But I leverage functional programming paradigms in my Java, C#, and C++ code all the time. It's a powerful way of abstracting operations over collections of objects, and such loops are very, very common. The significant difference when implementing such code is to use tail recursion so your stack doesn't grow. If you do that, you'll find Erlang is actually quite a good and powerful performer.
Where Erlang falls down is it's periodic idiosyncratic behaviour, in particular not being able to find a function signature that's clearly defined by the code. Such errors can really cause you to tear your hair out, and will mysteriously disappear if you add a line of code that does nothing useful and recompile. It reminds me of a bug I had with a K&R C program on good old BSD 4.1 on a VAX 780 in University. I added a debug statement, which cleared some perverse race condition by doing IO, and the rest of the program suddenly worked fine.
Note that it wasn't any sort of threaded or OS code, it was just a weird idiosyncratic bug between the compiler and the system libraries, but it was happening regularly with one particular build of the class project I was working on.
If they'd fix those bugs with Erlang, I'd be interested in looking at it again, though they also need to improve the range of data types supported for it to be a really useful language. I'd call it a 1.0 in it's current state.
That really depends a lot on the team involved. There are no shortages of people with the skills to maintain the old COBOL systems yet, but it is getting to be a scarce resource pool. Fortunately the regulatory changes that demand updates to those old systems are few and far between, as most of them are financial, inventory, or accounting systems at the core. Few business requirements are as well known and stable as those of the accounting and financial services markets.
That is not to say that financial investment divisions don't employ far newer and more creative code, but they systems that manage your checking and savings accounts haven't undergone significant changes in years.
It sounds like Microsoft is just explicitly passing the buck for terminating an application to the application's vendor, not like they're trying to assume that capability and responsibility for anything, including malware cleanup. I'd think malware cleanup options would fall under the purview of the anti-virus service providers.
Note I said service provider. Like it or not, maintaining a secure system means subscribing to maintenance services for a lot of the software you need. You haven't been able to "buy" a lot of critical services for a long time. This is not a new delivery model by any stretch of the imagination.
Even Linux relies on service providers -- the distribution packagers and testers.
They've taken a completely different approach to code production than I do, but it still seems pretty powerful. I think most of what they've accomplished is a clean, elegant variation on good old C pre-processor macros, but restricted so it's a lot harder to hang yourself when writing such code expansions.
It seems to borrow a fair bit from the concept of annotations and UML stereotyping for it's expansion arguments, rather than inspecting a business application model for that information.
It's definitely competition for the grunt code market, but I think my approach requires less work on the part of business modellers, while IBM's approach is probably more comfortable for coders than modellers.
Either way, I'm going to have to hurry up with coding a GUI for this beast so people can use it without groking raw XML.
I'll have to check this software lineup in more detail and see if I have competition for my code manufacturing approach. I use expert-systems techniques to "compile" an enhanced ERD/object model that is not based on UML into the object-relational-mapping code (currently focusing on Java, though I did do an earlier variant with C# as well.)
But I'm not trying to prove a be-all solution with my work, I'm just trying to automate the grunt work and leave the business logic and user interfacing up to skilled developers.
Check out http://msscodefactory.sourceforge.net/ if you're curious. I'm debugging the latest version of the PostgreSQL DbIO code right now, and should have that done by Monday. After that I can start doing the "forks" of the PostgreSQL DbIOs for other databases.
The whole question of "cloud security" is off base. The "cloud" is nothing more than a geographically distributed cluster of compute nodes running virtual machines on behalf of the clients. While the essential firewall security and such are the responsibility of the cloud provider, it's still up to the customer to ensure that the server images are properly configured and secured.
Cloud providers who provision a complete suite of software are different -- they're not letting the customer set up the software, so they're taking ownership of the security issues at the provider end. However, most such services are referred to as SAS providers, not cloud providers.
So the question is not whether you trust cloud security, but whether you trust government and corporate security.
Sad to say, I do not. There have been and continue to be too many intrusions and cracks in the past few years by supposedly reputable outfits that expose the weakness of most web facing security models. See yesterday's article about XSS and SQL injection vulnerabilities in the majority of websites tested by a security firm for an example of why I don't trust the security "experts" most companies and government agencies have on staff.
If you don't know enough to encode the raw text received in a web form as an SQL or XML string instead of just wrapping it in quotes and passing it to the database, you should be sued for incompetence and negligence. There is simply no excuse for such sloppy coding in this day and age, even if you're fresh out of school and working your first job.
I seem to recall reading that the communications to the drones are largely unencrypted for some unknown reason, so if that's the case, I could see someone overriding the controls and bringing down the plane.
It seems very unlikely that an uncontrolled aircraft would come down in one piece, yet the US claims that the drone in Iran's possession is one they lost control and track of. The idea that the US could lose track of a piece of technology that size with all their spy satellites and spy planes doesn't seem very likely to me, further lending credence to Iran's story.
Methinks the US may have been caught red-handed spying on Iran. It's not a surprise that they would be doing so, but it is very surprising that they've been sloppy enough to get caught.
If you're getting paid for your content, you deserve to have journalist's credentials and a press card from whoever is paying you. But if you're a blogger who only makes a bit of ad revenue, if that, from your site, then you do not deserve the same protections the press gets.
Just because you want to be treated with the same respect as a professional does not mean you are a professional or that you deserve that respect.
"If the government can define who is part of the press, and therefore gets First Amendment protections, then where does that place the freedom of the press?"
I consider this argument flamebait, because it presumes that the bloggers are press, and as I've already stated, I don't feel that's the case.
I don't understand why anyone would tolerate this. I've done remote work for decades, since long before the internet made it possible to access client's source repositories or documentation sites as you can now. I've never had my billable hours questioned, and have always delivered quality software in the end.
I'd be so insulted to have a client even suggest such an intrusive back-handed accusation that I'm ripping them off that I would immediately leave the negotiating table with a pair of digits waved on high as I headed out the door.
That's such a cop-out on the part of the telcos. They could and should easily block the calling numbers used by the robodialing scamers who use out-of-country equipment.
Nonsense. A competent C/C++/Java programmer will produce more on the order of 1000 lines of debugged code per day, even with 25% of their time stuck in meetings. Nothing would ever have gotten done over the years if people could only write 10 lines a day!
Furthermore, coders, especially the "talented" ones, don't exactly fly the banner of allegiance. They'll leave at the first opportunity to make more money.
Having repeatedly stayed on to try to deliver failing and late projects over the years in order to save a client's bacon, I find your comment not only insulting but dead wrong. I and many other people I work with actually have the integrity to do our level-headed best to get things done, even if management is pissed off because we couldn't get it done on their fantasy schedule or overly optimistic budgets.
Real coders are ethical people who work on the code as much out of love of getting things done and the satisfaction of happy users as they are people who want to make money. Let's face it -- if you're only into money, this is the wrong industry to be in with all the fierce competition from cheap overseas labour constantly undercutting the rates.
Except IBM championed user interface standards like the Common User Access guidelines on which most non-Apple windowing systems are based. Apple, on the other hand, tries to sue it's competitors instead of making things intuitive for the users through common UI behaviour.
If you've worked on a stand-alone product that has competitive advantages in it's algorithms, I can see the argument for keeping those algorithms private.
However, if it's a tool intended to generate revenue by leveraging a central service, your business is structured on service revenue, not product revenue, so there's much less concern about making the algorithms publicly accessible.
Personally I opted to open source my core technology over many years of research and enhancements. That way there can be no claim that I was using a "competitors" algorithms without their knowing about it -- they had full access to inspect the code all along. However, I've kept certain configuration/driver data options proprietary, and choose to deliver those using a service model in the future rather than "selling" them as complete products in and of themselves.
Leasing and contracts are just a better model for me to generate revenue with my work than a product sales and upgrade model would be.
Your own situation is likely completely different, but I thought I'd share my thoughts behind the approach I've taken myself.
The law does not legislate morality and cannot prevent greed by downstream distributors of a software package. However, it's PR suicide for a distributor to modify code to steal the paltry revenues generated by most OSS packages. That's effectively saying we're not satisfied with taking your free code homework, we want your lunch money, too.
And for a software distributor to do so (not the author) is as rude and socially unacceptable as any other bullying thief's behaviour.
If someone authors a piece of open source software, they have every right to try and make money with it. The distributions have the right to try and make their money selling packaging, security, and update services. It would be an extremely rude and blatant theft for a distributor to rewrite the code in the software to steal the revenue, no matter how great or small that revenue stream might actually be.
Personally I prefer to structure my software so it can encourage use of a service provider model for it's complex grunt work, simplifying updates and maintenance of the overall product family. There will be no billing associated with the eventual client GUI software as a result -- you're encouraged to use that for free just so I can get a "click to submit" button out there to engage the for-fee services. You'll even be able to manufacture the code for the OSS rules without contacting the service -- the service is how I intend to deploy proprietary product and technology support and generate revenue from that support.
That's not to say there couldn't be competing service providers using the same tools and core technology, but if I didn't encourage that competition through open source licensing, I'd just be another "I want to be Microsoft/Apple/Google/IBM" dreamer instead of someone trying to provide actual value for your development dollars.
As of Gnome 2.0 and KDE 3, Linux was more than capable of providing an acceptable desktop user experience, especially Ubuntu's releases. Unfortunately the very latest releases don't support my Logitech Track Ball, so I use an older 10.04.1 release which still has a couple glitches with the trackball support as well, but I can't fault Linux as a whole for me wanting to use a 12+ year old "mouse".
Open Office/Office Libre are more than adequate for the vast majority of home users. The extra "features" in the official Microsoft Office product line are wasted disk space for the majority of document editors. I can't speak to spreadsheets, as that's never been a technology I made much use of, and I've always preferred other tools for diagramming. Open Office does a perfectly acceptable job of editing and presenting overheads, the only non-document-editing requirement I've ever had for an office package. As to "slow" -- what are you running -- a P3?
Eclipse is actually a more functional and better designed IDE than Visual Studio. However, Visual Studio doesn't compete with Eclipse, it competes with Mono, and the Mono environment for Linux is little better than a workable beta in need of huge performance tuning and scalability efforts, so Microsoft wins the C# market by default as they'd always hoped and planned.
I can see how a video game console has anything to do whatsoever with desktop and server operating systems. Honestly. I can see your point. It's called FUD, and it's uselessly off topic.
But you keep drinking the Microsoft kool-aid, while I sip the coffee of open source. We'll both have our thirst for tools and technology satisfied in the end.
Given all the TV shows I've downloaded over the years both current and old, I suspect this site really doesn't do much if you're not downloading torrents from "big names" like The Pirate Bay. With their grotesque lack of accuracy in their date, I do hope that anybody sued as a result of the information they do collect is wise enough to fight and question the validity of the data as a whole -- it's clearly not accurate, and likely to result in "fishing expedition" lawsuits such as we've already seen from the RIAA and MPAA for years.
I think Microsoft is acknowledging something more important: that many good products are developed under open source licenses, but sold and maintained under commercial terms, a hybrid of philosophies that allows the programmers to keep eating!
As it turns out the patents Microsoft is pursing have nothing to do with the Linux kernel, GPL'd utilities, or Java implementation, the Microsoft lawsuits are just "business as usual" for the telecommunications industry as it has been for decades. The lawsuits are punishing; they're just the way telcos and their technology companies have dealt with the business landscape for decades. It's not a "nice" way of doing business, but it is "a" way of doing business.
In a nutshell, one of the big problems that has always faced cross-platform product development is vendor lock in. I provide an abstraction Object-Relational-Mapping architecture that defines the interface to the database, and then implements each database interface using custom code. So unless you have very specific query needs that have to be hand coded through the BL (Business Logic) layers of the manufactured code, you neither see nor touch actual SQL.
All strings passed to the database are encoded using the vendor's string escape syntax, preventing SQL injection attacks if you use my manufactured API and don't write custom code to bypass that protection. As SQL injections are one of the most common attacks out there for client-server, web, and messaging/transaction processing environments, it's something that needed to be solved at the foundation layer of the programming interface to the database, not something that you want to count on every individual programmer remembering or knowing to do.
Simple field validations are done long before the database is hit with an INSERT or UPDATE statement, supporting what is known as a "fast fail" exception model. So although the database will check field ranges again to verify data integrity, you don't clog the database with requests that you should already know are going to fail.
The object inheritance model of the Business Application Models is a single-inheritance tree, the same as Java and C#. I could model multiple inheritance for C++, but that would negate the cross-language idealism I have. The future C++ version of the architecture will use multiple inheritance for it's implementation instead of hiding the inheritance via interface specifications, but the model that defines the application will not.
I do plan on doing a scripting language using the CFCore bindings as well, but I'm far from ready to start working on that. It's just another set of XML nodes in the object model to parse with the tool, and won't be a significant challenge to implement. It's just going to take another year or so before I have time for that, as I'll be focusing on getting the DbIO implementations for the different major databases done first.
You might also want to read the project's Roadmap page, it goes through a few other long-term future goals as well. Shorter term goals are in the "Up Next" page.
I hope this explanation helps. Sorry that I'm not always good at explaining complex subjects; I assume a lot of knowledge on the part of the reader to match my near 30 years of programming experience, and that really isn't a realistic way of viewing the audience.
This sounds like a variant on the nuisance toolbars that come with many supposedly free applications that try to inject yet another search box when I've already set my browser search preferences elsewhere. It's annoying and useless crapware offering nothing better than the newest take on Bonzi Buddy.
I wouldn't agree with that. The performance of Erlang is quite comparable to Java, though it is a steep learning curve unless you're already familiar with the paradigm of functional programming.
But I leverage functional programming paradigms in my Java, C#, and C++ code all the time. It's a powerful way of abstracting operations over collections of objects, and such loops are very, very common. The significant difference when implementing such code is to use tail recursion so your stack doesn't grow. If you do that, you'll find Erlang is actually quite a good and powerful performer.
Where Erlang falls down is it's periodic idiosyncratic behaviour, in particular not being able to find a function signature that's clearly defined by the code. Such errors can really cause you to tear your hair out, and will mysteriously disappear if you add a line of code that does nothing useful and recompile. It reminds me of a bug I had with a K&R C program on good old BSD 4.1 on a VAX 780 in University. I added a debug statement, which cleared some perverse race condition by doing IO, and the rest of the program suddenly worked fine.
Note that it wasn't any sort of threaded or OS code, it was just a weird idiosyncratic bug between the compiler and the system libraries, but it was happening regularly with one particular build of the class project I was working on.
If they'd fix those bugs with Erlang, I'd be interested in looking at it again, though they also need to improve the range of data types supported for it to be a really useful language. I'd call it a 1.0 in it's current state.
That really depends a lot on the team involved. There are no shortages of people with the skills to maintain the old COBOL systems yet, but it is getting to be a scarce resource pool. Fortunately the regulatory changes that demand updates to those old systems are few and far between, as most of them are financial, inventory, or accounting systems at the core. Few business requirements are as well known and stable as those of the accounting and financial services markets.
That is not to say that financial investment divisions don't employ far newer and more creative code, but they systems that manage your checking and savings accounts haven't undergone significant changes in years.
It sounds like Microsoft is just explicitly passing the buck for terminating an application to the application's vendor, not like they're trying to assume that capability and responsibility for anything, including malware cleanup. I'd think malware cleanup options would fall under the purview of the anti-virus service providers.
Note I said service provider. Like it or not, maintaining a secure system means subscribing to maintenance services for a lot of the software you need. You haven't been able to "buy" a lot of critical services for a long time. This is not a new delivery model by any stretch of the imagination.
Even Linux relies on service providers -- the distribution packagers and testers.
They've taken a completely different approach to code production than I do, but it still seems pretty powerful. I think most of what they've accomplished is a clean, elegant variation on good old C pre-processor macros, but restricted so it's a lot harder to hang yourself when writing such code expansions.
It seems to borrow a fair bit from the concept of annotations and UML stereotyping for it's expansion arguments, rather than inspecting a business application model for that information.
It's definitely competition for the grunt code market, but I think my approach requires less work on the part of business modellers, while IBM's approach is probably more comfortable for coders than modellers.
Either way, I'm going to have to hurry up with coding a GUI for this beast so people can use it without groking raw XML.
I'll have to check this software lineup in more detail and see if I have competition for my code manufacturing approach. I use expert-systems techniques to "compile" an enhanced ERD/object model that is not based on UML into the object-relational-mapping code (currently focusing on Java, though I did do an earlier variant with C# as well.)
But I'm not trying to prove a be-all solution with my work, I'm just trying to automate the grunt work and leave the business logic and user interfacing up to skilled developers.
Check out http://msscodefactory.sourceforge.net/ if you're curious. I'm debugging the latest version of the PostgreSQL DbIO code right now, and should have that done by Monday. After that I can start doing the "forks" of the PostgreSQL DbIOs for other databases.
The only way to really have this risk tested is to set the Mythbusters on it to try and make one blow up in flames. :D
But they didn't claim to be press; they claimed to be activists.
That's what I would classify most bloggers as: opinionated activists commenting on the events of the day.
But it takes more than opinion to be a journalist, because opinions are like assholes -- everybody has one.
The whole question of "cloud security" is off base. The "cloud" is nothing more than a geographically distributed cluster of compute nodes running virtual machines on behalf of the clients. While the essential firewall security and such are the responsibility of the cloud provider, it's still up to the customer to ensure that the server images are properly configured and secured.
Cloud providers who provision a complete suite of software are different -- they're not letting the customer set up the software, so they're taking ownership of the security issues at the provider end. However, most such services are referred to as SAS providers, not cloud providers.
So the question is not whether you trust cloud security, but whether you trust government and corporate security.
Sad to say, I do not. There have been and continue to be too many intrusions and cracks in the past few years by supposedly reputable outfits that expose the weakness of most web facing security models. See yesterday's article about XSS and SQL injection vulnerabilities in the majority of websites tested by a security firm for an example of why I don't trust the security "experts" most companies and government agencies have on staff.
If you don't know enough to encode the raw text received in a web form as an SQL or XML string instead of just wrapping it in quotes and passing it to the database, you should be sued for incompetence and negligence. There is simply no excuse for such sloppy coding in this day and age, even if you're fresh out of school and working your first job.
I seem to recall reading that the communications to the drones are largely unencrypted for some unknown reason, so if that's the case, I could see someone overriding the controls and bringing down the plane.
It seems very unlikely that an uncontrolled aircraft would come down in one piece, yet the US claims that the drone in Iran's possession is one they lost control and track of. The idea that the US could lose track of a piece of technology that size with all their spy satellites and spy planes doesn't seem very likely to me, further lending credence to Iran's story.
Methinks the US may have been caught red-handed spying on Iran. It's not a surprise that they would be doing so, but it is very surprising that they've been sloppy enough to get caught.
If you're getting paid for your content, you deserve to have journalist's credentials and a press card from whoever is paying you. But if you're a blogger who only makes a bit of ad revenue, if that, from your site, then you do not deserve the same protections the press gets.
Just because you want to be treated with the same respect as a professional does not mean you are a professional or that you deserve that respect.
I consider this argument flamebait, because it presumes that the bloggers are press, and as I've already stated, I don't feel that's the case.
I don't understand why anyone would tolerate this. I've done remote work for decades, since long before the internet made it possible to access client's source repositories or documentation sites as you can now. I've never had my billable hours questioned, and have always delivered quality software in the end.
I'd be so insulted to have a client even suggest such an intrusive back-handed accusation that I'm ripping them off that I would immediately leave the negotiating table with a pair of digits waved on high as I headed out the door.
I think the lack of oceans might be more of an issue here in Saskatchewan, but I like the concept and hope it works for them as well as planned.
Unfortunately a politician's view of "objectionable" is usually what the general population of their countries calls "political satire" or a "joke".
Which isn't surprising, seeing as these kind of censorship attempts are a joke in and of themselves.
That's such a cop-out on the part of the telcos. They could and should easily block the calling numbers used by the robodialing scamers who use out-of-country equipment.
Nonsense. A competent C/C++/Java programmer will produce more on the order of 1000 lines of debugged code per day, even with 25% of their time stuck in meetings. Nothing would ever have gotten done over the years if people could only write 10 lines a day!
Having repeatedly stayed on to try to deliver failing and late projects over the years in order to save a client's bacon, I find your comment not only insulting but dead wrong. I and many other people I work with actually have the integrity to do our level-headed best to get things done, even if management is pissed off because we couldn't get it done on their fantasy schedule or overly optimistic budgets.
Real coders are ethical people who work on the code as much out of love of getting things done and the satisfaction of happy users as they are people who want to make money. Let's face it -- if you're only into money, this is the wrong industry to be in with all the fierce competition from cheap overseas labour constantly undercutting the rates.
Except IBM championed user interface standards like the Common User Access guidelines on which most non-Apple windowing systems are based. Apple, on the other hand, tries to sue it's competitors instead of making things intuitive for the users through common UI behaviour.