When the first generation PS3 was released, I spent more with the Yellow Dog folks getting up to speed with their Linux then I did on games. What we have there is a company that invested engineering time creating a distro that ran on the PS3 and provided the only moderately priced CELL platform I knew of. So this change not only pisses me off because I spent money to run Linux on my PS3, The Yellow Dogs are more of less out of the business of selling their product. I don't know if they had a contract with Sony allowing them to run their Linux on the platform, but from every angle this change is ugly. I guess I don't need to go on and on about this, but all the time I spent learning about writing Linux based software for the PS3 in hopes of selling it to clients who would also buy PS3's from Sony. I even had a plan to sell a bunch to the government with some special software I have spent serious hours on. This is the problem with writing software products that run on other vendor's hardware. I want to build my own hardware in the future, so if I want, I can screw myself over by making it incompatible with my own products.:-)
I bought two generation one PS3's because they had the Cell processor and I wanted to experiment
with high performance multi-core systems.
Sony has stated that they lose money on each PS3 that doesn't get additional game revenue.
They didn't state that while they were selling the first PS3 units. It wasn't part of the EULA
that you were expected to buy their games.
I am used to buying hardware and doing what I like with it. That didn't include any intention
to reverse engineer any part of the machine, which I have not done.
I guess I cannot let either of my machines accept any further updates from Sony, because
Yellow Dog Linux is my development environment for Cell experimentation.
I wonder if there will bea class action suit down the road about this. As an aside, I will not be
buying any more Sony products, ever.
The photonic fence was quite impressive. IF you had asked me if it was possible, I would have doubted it, but having seen some information about it, it is very impressive. If this guy is involved, it may have some reality. There are some people with the right combination of math, science, and intuition that bring forward amazing stuff. I am going to be paying attention to what this fellow does.
For several decades I bought everything Microsoft. Each upgrade I could hardly wait for the new stuff. After a while it became clear there was no end, and as the window of opportunity for each version got shorter and shorter, it became clear that a single developer or team could not keep up Microsoft's relentless updates. It didn't even seem like several teams alternating release cycles could keep up. If every release takes a six month learning curve, and something changes every five months of so, there is no end, or even a plateau on which to breath. To make things worse, a collection of technical materials and training are required to get critical mass on Microsoft development at any particular moment. At a certain point I released I could not read the books fast enough to keep up, and everywhere I looked in my lab were piles of Microsoft press books at 60-80 dollars apiece, sitting around like paperweights. The books have become hopelessly version oriented, and become obsolete in just a few months. anyway, the point I am trying to make is that to be a "serious Microsoft shop", takes a serious amount of money and staff, and under the circumstances, I understand why companies do not want to afford in-house programming staff. Microsoft has their hand in the deep pockets of american business, and it is a major drag, lie taxes, on the economy and the lifeblood of businesses. It is one thing, if a company sells tools that are powerful and efficient, but in my opinion, Microsoft doesn't care about the welfare of developers, and only seem to care about the next credit card. I saw the earth shift on it's axis when I realized Microsoft saw developers as another class of paying customers, and not the strategic partners developers once were. Bah humbug, not another penny for Microsoft, that's my motto.
If you are not writing in assembler, or something like C without frameworks, there are intermediate layers. I quit working in the Windows arena because I objected to the force Microsoft was bringing to bare on programmers to writing using Microsoft language tools calling Microsoft frameworks targeting Microsoft intermediate code, executed my Microsoft common language runtimes. After Microsoft declared Visual Basic was the best language for writing Windows apps, I lost interest. In my mind the trusted computing initiative was more like the closed computing initiative. Citizens cannot be trusted to write real code. Only Microsoft staff because they are more trustworthy.
I jumped ship to Apple and bought some Macs. I never became a fanboi about Mac style development though and still write most of my code at the command line with GNU tools. It is my way to like to be closer to the hardware because it changes more slowly. Writing programs that interface with and comply with vendor software layers is a life draining exercise and the windows of opportunity are so small these days, I can't believe it.
The iPhone though is the pathological case of all these problems, and as a software engineer, a goodly part of my life has been spent improving language tools, and I find it wrong that Apple is taking a position that only they can write language tools for their ubiquitous instrument. My experience with Apple iPhone programming was such that after the first year, there was no way I would pay them again for the iPhone development program. While it may be popular, I find the App-Store to be the worst marketing environment I could have imagined, and that alone will cause people to think about alternatives to the iPhone. Anyway, I just don't like objective C or Apple's frameworks, and with Apple's current policies, that leaves me out of things I guess.
The point I was trying to get to though is that on a platform as ubiquitous as the iPhone, I think it would be great of the public had the benefit of public inventiveness helping the platform, and I don;'t believe that Apple's Languages and Apple's frameworks, and Apple's Applications are the best that could be. Apple doesn't employ the best engineering in the world, just some good ones. Look how popular the PC became, and although IBM did lose control, look what it did for personal computing
You are right that no one should tell you you can't use your skills to make a living, but in all my forty years of contract engineering, only once did I chose to work for a clients direct competitor. There was enough opportunity out there that I felt I could move on. I think it hurts your professional reputation if you do that kind of thing. The one time I did work for a company that had a similar product as a previous client, I asked for and received permission from the previous client based on their faith in my honesty and their faith that I would not share their IP with their competitors. I made my share of mistakes in my career, but treating my clients poorly after taking their money was not one of them.
I remember back in the day, that companies had software departments and some people stayed there for years. After the programmers learned not just programming, but the business aspects of what the companies software did, they became more valuable. When new projects came around, there were staff engineers available that could not only work on the new code, but could make suggestions and have insights into the products that made them better. If companies are hiring short term code-monkeys to grind out code, they may be saving some money short term, but they are not building teams of people who understand more than code, but the underlying problem domain the company works in. More and more I see software development being enhanced by knowledge of electrical and physical sciences. Beyond the writing of code, there is the issue of engineers that have pride in their workmanship, the efficiency, reliability, and maintainability of their code. Cheap code-monkeys don't necessarily care or understand these things, and ultimately companies benefit from having software assets with these qualities, and the staff that can create these products
There is a difference between having an idea for a new application or utility program and wanting not to accidentally re-invent a coding technique that happens to be patented, and writing an emulator that competes with a companies hardware and software system. The fact that the code may be open source doesn't mean the software isn't infringing on trademarks, copyrights, and patents. We aren't talking about a piece of software that is similar. We are talking about a piece of software, designed to replace a complete product. Probably written using IBM technical documents. The software attempts to copy the functionality of the mainframe exactly. IBM has every right to be annoyed at someone trying to copy their product. The fact it is open source is just an attempt to cloud the issue. If you stand back ten feet and squint, it probably looks like the same product. Courts have found fault with that before. This is not a general trend of IBM going after many open source programs, but rather a particular program designed to divert legitimate customers and revenue. It is one thing to write an emulator for a vintage machine no longer being actively sold, and something else to go after a contemporary product. IANABCL, but IMHO, IBM has a leg to stand on about this.
As a software engineer that primarily writes transportable code and hardware drivers. I disliked learning software only frameworks because they are artificial and change too often. chips are more stable. From the outset.NET made the hairs on the back of my neck stand on end. The idea that the software engineers could not be trusted to write unmanaged code was insulting and arrogant on Microsoft's and Intel's part. The licensing restrictions on the example cli runtime told me early that we would have trouble staying transportable with.NET. ECMA was a joke from the start and I had trouble understanding why people couldn't see it. The idea that Visual Basic was the best langauge for writing Windows programs said a lot about WIndows as a platform. I wrote the Mono people about my concerns and they did not respond. I wrote the DotGnu people about my concerns, and they didn't respond either. In the end, I just didn't bother to learn.NET because the versions came too fast and I couldn't afford to buy the reference documentation every time the changed the framework. In my mind, Microsoft shot themselves in the foot first, then released.NET. They just kept their foot wrapped in ductape all this time and didn't mention they were bleeding. It was dead from the start, but the body took a while to stop moving. This is my opinion, and I stand by it.
I have been around for most of the technical revolution here in america. I saw transistors become integrated circuits. This happened around the time that it was decided we should go to the moon. The race for space caused a focus on education in america and a generation of baby boomer engineers of all disciplines came out of that time. I am sure that they hoped those careers would pay ok, but my father made about a little over twenty thousand dollars a year working for aerospace companies as a Hughes Fellow after college. As his son, I wanted to have a technical career, and I saw software as being as important as hardware in the future. After I had taken "computer programming" as far as it would go, I wanted to transcend to "Software Engineer". What happened after that was twenty-five more years of self-motivated education to become the best software engineer I could be. It wasn't about money. It was about wanting to do a good job, and to earn the opportunity to work on new and more exciting projects, again not because of the money, but because of the opportunity to continue learning. That is the critical thing. With each project comes a chance to gain experience and leverage off previous knowledge and build excellent products. That was where I feel I was let down by corporate america. When they started exporting "educational work opportunities", foreign workers walked away with the newly earned wisdom and became more qualified for subsequent opportunities. After enough of this kind of thing, I started to lose the ability to compete against less capable engineers who just happened to have had more recent experience in key technologies. I know that I was responsible for my own continued viability. But somehow I looked up and the train was moving on without me. I am trying not to be bitter, and I know that I am not alone, and that there are a huge number of american engineers of all disciplines who feel disenfranchised. When software people worked on staff, there was a constant flow of projects and opportunities to stay with the flow of technologies. Sometimes companies participated in the educational process, sharing tuition costs for previously excellent employees. What is going on now is that companies are hiring short term help with specific key skills like picking low hanging fruit, and not taking any responsibility for bringing the workers forward with them. We now seem to be entirely responsible for every last item on the skill list, and it is a buyers market. The HR people are only looking at the top surface of the skill definition, and don';t seem to care about the depth or breadth of knowledge and skills embodied in the existing engineering pool in america. I remember a time when I would accept a little less pay to have a chance to work on something with a component I still had to learn about. To get my top dollar in my expertise area, and a little less when I would have to crack the books and would produce a little more slowly. Now you have to have it all up front, employers are more impatient, and they toss you away like a spent battery when someone new comes along with the latest bit of experience needed for the next short term project. The window of opportunity for engineers working with any specific technology has become frighteningly short. This isn't helping america grow it's industrial base. Maybe it is partly because individuals are focused very tightly on their own goals and salaries, and aren't feeling like they are part of a national effort to excel at something. I didn't mean to go on so long, but this is an important topic.
Thanks for the link. There was information t here I hadn't previously known. It is a testament to Microsoft's belief that computer users are stupid and cannot find the setup program on the install media. There is no other possible reason that they would have put this in in the beginning or left it in all this time. They are so worried they might get a tech support call about how to install their expensive software, that they have left all these machines wide open all these years.
It is not about real or unreal programmers. It is about systems versus application programmers. I am a systems programmer, and I write BIOSs, bootloaders, operating systems, and libraries. Because that is what interests me. I am not interested in financial applications, or I would be writing in Cobol at some bank. The breadth of skills required to be a functional systems programmers was more interesting to me and some others. There is more to programming than popping up a dialog box and responding to some buttons. I think I am a real programmer. I don't do BASIC.
I find it hard to believe that Microsoft is still shipping operating sysatems with AUTORUN enabled.
Most people who understand the issue have a hard time understanding why the feature wasn't disabled
the very first time Microsoft realized it was being used as an attack vector. I understand that primitive
users find it easier to install software when all they have to do is insert the CD, but the US government
had a major thrash because everyone was carrying around flash dongles and inserting them more often
then people have unprotected sex. Eventually the US Government had to make a strict policy against
the use of these devices in order to get a handle on the rampant re-infection of there user base's
machines. Even now it would have been more effective to turn off AUTORUN then to depend on people
doing the right thing about not using flash dongles. Some companies and agencies disabled all the USB
ports because they couldn't control the users.
I can only think that Microsoft doesn't care to solve the virus problem because about once a
week a get a CERT notification saying that Microsoft Windows or Office has a vulnerability that allows
remote users to execute code. This situation never seems to get better. It is like there is a never-ending
source of vulnerabilities for hackers to exploit and Windows will never be safe. It is a joke.
I was so proud that I bought two original PS3 units. I wanted to write programs for the advanced hardware within. Of course that might mean unauthorized software that Sony would not have control over. I don't like where this is going. I am simply not going to buy any more Sony products. The Sony rootkit episode should have put me on notice. I am not going to buy any more closed hardware. There is no need. Alternatives exist. If GPUs are your thing, there is CUDA. I am sure I would be more pissed off about this if I had an investment in time and money with games, and I was concerned about my on-line status. I was thrilled about the impending release of the HOME product, but after a couple of years of waiting, I gave up. My two original PS3 units are collecting dust, and I remember them being pricey at the time I bought them.
In the past when serial interfaces were implemented with UARTs. Things were very stable. Once you got the
cable, speed, bits... right, things were usually VERY stable. I have noticed that since serial ports have become
IP blown into gate arrays, and more recently with these USB/serial converters, things are not reliable at all.
I get things running, then for no reason, things hang up, and for no reason start working again. This is maddening
for a software/hardware engineer used to having things that work, continue to work. While these interfaces are
going to be around for a while longer, they are no where near as fun as they used to be. My recent experience
using ADTPRO to bootstrap a bare-metal Apple ][ was an exercise in heartache. Armed with gender changers,
null modems, serial breakout boxes, and plenty of little wires, things seem much harder than they used to be.
We really need something else to become ubiquitous and usable, sooner than later, this is making me nauseous.
Back when I lived in Sonoma county, I lived 14,000 feet from the central office and was just barely allowed to get a modest DSL circuit that was capped to keep it reliable. I put a WRT54G on the top of the chimney and threw the cables down the chimney to my lab. Then I hooked some neighbors up with USB wi-fi pods on 20 foot USB extension cords out their windows with line of sight to my roof. As far as that went, the technology worked fine until one of the neighbors violated our agreement and installed peer to peer software and started downloading and sharing copyrighted music and software. I finally put a sniffer on the circuit and found that IP numbers from all over the world were saturating my DSL trying to get to my neighbor's PC to download some songs and software. It took over a year before the tracker site dropped the database entry about my neighbor and my circuit became usable again. It seems like no matter how sincerely they promise not to abuse the connectivity, either they or their kids cannot wait until you are not looking to start abusing the favor. I was providing the service for free because my neighbors could not get DSL and POTS was so pitiful. Never again I say. Neighbors cannot be trusted with precious connectivity and don't know how to share.
I remember clearly that Microsoft was the company that broke ranks first and destroyed the feeling of partnership that developers felt towards the previous system vendors. Before Microsoft, developers enjoyed the cooperation of vendors that knew that applications sold systems, whether their interest was hardware of software. The idea of paying to be in the developer program, the idea that Microsoft had as many SKUs for development products as user products changed the whole nature of the development game.
I remember clearly that semiconductor vendors as an example, were happy to provide technical information that helped designers understand the benefits of their products. Piles of handbooks were freely available from a variety of sources, often the sales reps directly, or the vendors support divisions.
Going back as far as CP/M-80, the operating system shipped with developer tools and programming documentation. Until Chuck Peddle stopped shipping the language tools and started charging separately for them. Vendors would put on free seminars to convince developers to support their platforms, and provide free technical support to serious developers needing help to complete products that would enhance the overall market impact of a vendors products.
I remember being shocked and disappointed when Microsoft started charging serious money to be in their developer program. They also priced the development tools rather high, and began an onslaught of versions that never ended, I remember at least half a dozen so called 6-month learning curves alleged to provide developers with the understandings they would need to succeed with their applications. With one hand they charged a lot for assembly and C support, while they talked out of the other side of their mouths about how Visual Basic was all anyone really needed to write applications for Windows. They said you didn't even need to know how to program:-)
Then Novell followed suit and priced up their developer program. Suddenly you had to be a member of several developer organizations at once to get critical mass on information required to create a non-trivial application, and it would not be competitive if you didn't use undocumented APIs like Microsoft did.
Because of Microsoft's marketing style, the other development software vendors fell by the wayside one by one. Microsoft licensed their headers and framework to other compiler vendors, but never the latest version. Eventually the only viable compilers came directly from Microsoft at any cost. And you couldn't write software just with the information contained in the massive pile of refuse called the MSDN Library. It was full of deprecated (or should I say defecated toolkits that were so downlevel that the sample code rarely compiled without massive changes. You also had to buy piles of books, many of which costs more than $70 each. That wasn't even enough, if you were serious, you probably had to attend specific training from Microsoft or approved trainers.
Because of the proliferation of operating system versions, API version, and general DLL Hell, it was rarely possible for small developers to test their products economically on all variations of the target platforms and versions. And Microsoft kept the target moving at all times, complete with misdirections and promises of features and future support that vanished quietly from time to time.
We waited years for a certain version of Visual Studio to come out of Beta, and instead of actually releasing a stable product, they issued what I called the "forgiveness license" that said it was OK after all to ship products using what were previously beta components. The windows of opportunity shrunk to nothing and began overlapping in such a way that linear development was no longer sufficient and cascaded teams were necessary to stay viable in the face of streams of conflicting information and toolkits from Microsoft.
Also if you could not afford the $25,000 support contract, they would just laugh in your face if you asked them a technical question only they could answer in order to complete a product that only operated under their operating system.
Back when I had Goodall Computer Systems on 24th Street in San Francisco, I kept the freezer stocked with Jamaican Blue Mountain beans for the employees. I admit it was a little extreme, but the employees looked forward to coffee time, and knew I valued their work. Those were good times I remember fondly. Later when the company was run by an anal bean-counter, work was no longer fun. I guess it is what you value. If every penny is counted, and paper clips are inventoried weekly, that is going to be less fun. When there is a liberal supply of colored sharpies and tapeflags, it makes me happy. Each person finds satisfaction at work in different ways. If management wants software engineers to be exempt, and work 60 hours a week, the free coffee helps a lot.
I have been waiting years to hear this story. I may be courting flames, but I hated visual basic from the beginning. An advertising point was that you could program without being a programmer. To me, Visual Basic seemed a lot like Ada. I made jokes that there wasn't really an Ada language but rather a run-time that could recognize a few example ada programs and benchmarks. The concept that programs can be written by non-programmers is troubling. I am NOT saying that non-programmer's should not program. What I am saying is the serious software people check return codes, do risk analysis, care about robustness, spend time considering repercussions of coding decisions... I think it is great is someone can cobble up some code to do something small, but I prefer code that must be correct to be written by serious developers that care about the difference between programming and software engineering. I think too much process is bad, but maintainability and reliability and efficiency are some of the goals of serious developers and people that spend a few weeks with Visual Basic and think they can program haven't a clue why these things are important.
Getting back to the point though... Writing important code in a single sourced proprietary language is risky the same way designing hardware with single sourced components. Hardware developers learn the hard way when Intel decides to drop a part that was needed in a design unexpectedly. Serious hardware engineers think twice about using single sourced components because availability and pricing are not in control. Multi-vendor competition is good in hardware as pricing stays competitive and there are alternative vendors for critical components.
I clearly say the danger of in the success of Visual Basic, and watched with horror as Microsoft told us VB was the great language we had been waiting for. Actually I believe c++ was that language, but Microsoft polluted the c++ language with their foundation classes. That was the beginning of the end as developers had to decide whether to utilize Microsoft's framework. The decision to do that cost you the ability to transport to other platforms, unless you were willing to hand port MFC which had licensing issues.
Microsoft wasn't satisfied to lock people in with MFC and came up with something grander to lock people in. The arrival of.NET happened around the time that Intel and Microsoft decided that the common man shouldn't be allowed to write in native code, but rather should write managed code. Personally, I don't want to be managed by Microsoft.
The last point that I wanted to make is the the trusted platform and.NET did Microsoft and the rest of us almost no benefit when it came to protecting against viruses, and it is clear from the CERT notifications that Windows continues to be riddled with vulnerabilities that allow infection by netbots. I guess I am saying, "I told you so". I failed to convince people of my concerns about where Microsoft was taking the software community, and have watched in horror as the industry has raced to the bottom hiring foreign.NET coders instead of real software engineers with decades of experience writing maintainable, efficient, reliable code.
I guess there is losing, and then there is losing. For a company that "lost", I have seem very little change in behavior from them afterwards. Every time there is a judgement against them, they appeal, and soon afterwards I hear it has been reversed. It looks like they are beyond the law and able to laugh off any attempts to control them.
When the first generation PS3 was released, I spent more with the Yellow Dog folks getting up to speed with their Linux then I did on games. What we have there is a company that invested engineering time creating a distro that ran on the PS3 and provided the only moderately priced CELL platform I knew of. So this change not only pisses me off because I spent money to run Linux on my PS3, The Yellow Dogs are more of less out of the business of selling their product. I don't know if they had a contract with Sony allowing them to run their Linux on the platform, but from every angle this change is ugly. I guess I don't need to go on and on about this, but all the time I spent learning about writing Linux based software for the PS3 in hopes of selling it to clients who would also buy PS3's from Sony. I even had a plan to sell a bunch to the government with some special software I have spent serious hours on. This is the problem with writing software products that run on other vendor's hardware. I want to build my own hardware in the future, so if I want, I can screw myself over by making it incompatible with my own products. :-)
I bought two generation one PS3's because they had the Cell processor and I wanted to experiment with high performance multi-core systems. Sony has stated that they lose money on each PS3 that doesn't get additional game revenue. They didn't state that while they were selling the first PS3 units. It wasn't part of the EULA that you were expected to buy their games. I am used to buying hardware and doing what I like with it. That didn't include any intention to reverse engineer any part of the machine, which I have not done. I guess I cannot let either of my machines accept any further updates from Sony, because Yellow Dog Linux is my development environment for Cell experimentation. I wonder if there will bea class action suit down the road about this. As an aside, I will not be buying any more Sony products, ever.
The photonic fence was quite impressive. IF you had asked me if it was possible, I would have doubted it, but having seen some information about it, it is very impressive. If this guy is involved, it may have some reality. There are some people with the right combination of math, science, and intuition that bring forward amazing stuff. I am going to be paying attention to what this fellow does.
For several decades I bought everything Microsoft. Each upgrade I could hardly wait for the new stuff. After a while it became clear there was no end, and as the window of opportunity for each version got shorter and shorter, it became clear that a single developer or team could not keep up Microsoft's relentless updates. It didn't even seem like several teams alternating release cycles could keep up. If every release takes a six month learning curve, and something changes every five months of so, there is no end, or even a plateau on which to breath. To make things worse, a collection of technical materials and training are required to get critical mass on Microsoft development at any particular moment. At a certain point I released I could not read the books fast enough to keep up, and everywhere I looked in my lab were piles of Microsoft press books at 60-80 dollars apiece, sitting around like paperweights. The books have become hopelessly version oriented, and become obsolete in just a few months. anyway, the point I am trying to make is that to be a "serious Microsoft shop", takes a serious amount of money and staff, and under the circumstances, I understand why companies do not want to afford in-house programming staff. Microsoft has their hand in the deep pockets of american business, and it is a major drag, lie taxes, on the economy and the lifeblood of businesses. It is one thing, if a company sells tools that are powerful and efficient, but in my opinion, Microsoft doesn't care about the welfare of developers, and only seem to care about the next credit card. I saw the earth shift on it's axis when I realized Microsoft saw developers as another class of paying customers, and not the strategic partners developers once were. Bah humbug, not another penny for Microsoft, that's my motto.
If you are not writing in assembler, or something like C without frameworks, there are intermediate layers. I quit working in the Windows arena because I objected to the force Microsoft was bringing to bare on programmers to writing using Microsoft language tools calling Microsoft frameworks targeting Microsoft intermediate code, executed my Microsoft common language runtimes. After Microsoft declared Visual Basic was the best language for writing Windows apps, I lost interest. In my mind the trusted computing initiative was more like the closed computing initiative. Citizens cannot be trusted to write real code. Only Microsoft staff because they are more trustworthy. I jumped ship to Apple and bought some Macs. I never became a fanboi about Mac style development though and still write most of my code at the command line with GNU tools. It is my way to like to be closer to the hardware because it changes more slowly. Writing programs that interface with and comply with vendor software layers is a life draining exercise and the windows of opportunity are so small these days, I can't believe it. The iPhone though is the pathological case of all these problems, and as a software engineer, a goodly part of my life has been spent improving language tools, and I find it wrong that Apple is taking a position that only they can write language tools for their ubiquitous instrument. My experience with Apple iPhone programming was such that after the first year, there was no way I would pay them again for the iPhone development program. While it may be popular, I find the App-Store to be the worst marketing environment I could have imagined, and that alone will cause people to think about alternatives to the iPhone. Anyway, I just don't like objective C or Apple's frameworks, and with Apple's current policies, that leaves me out of things I guess. The point I was trying to get to though is that on a platform as ubiquitous as the iPhone, I think it would be great of the public had the benefit of public inventiveness helping the platform, and I don;'t believe that Apple's Languages and Apple's frameworks, and Apple's Applications are the best that could be. Apple doesn't employ the best engineering in the world, just some good ones. Look how popular the PC became, and although IBM did lose control, look what it did for personal computing
You are right that no one should tell you you can't use your skills to make a living, but in all my forty years of contract engineering, only once did I chose to work for a clients direct competitor. There was enough opportunity out there that I felt I could move on. I think it hurts your professional reputation if you do that kind of thing. The one time I did work for a company that had a similar product as a previous client, I asked for and received permission from the previous client based on their faith in my honesty and their faith that I would not share their IP with their competitors. I made my share of mistakes in my career, but treating my clients poorly after taking their money was not one of them.
I remember back in the day, that companies had software departments and some people stayed there for years. After the programmers learned not just programming, but the business aspects of what the companies software did, they became more valuable. When new projects came around, there were staff engineers available that could not only work on the new code, but could make suggestions and have insights into the products that made them better. If companies are hiring short term code-monkeys to grind out code, they may be saving some money short term, but they are not building teams of people who understand more than code, but the underlying problem domain the company works in. More and more I see software development being enhanced by knowledge of electrical and physical sciences. Beyond the writing of code, there is the issue of engineers that have pride in their workmanship, the efficiency, reliability, and maintainability of their code. Cheap code-monkeys don't necessarily care or understand these things, and ultimately companies benefit from having software assets with these qualities, and the staff that can create these products
I can do that is less than a second with my cereal mullet.
There is a difference between having an idea for a new application or utility program and wanting not to accidentally re-invent a coding technique that happens to be patented, and writing an emulator that competes with a companies hardware and software system. The fact that the code may be open source doesn't mean the software isn't infringing on trademarks, copyrights, and patents. We aren't talking about a piece of software that is similar. We are talking about a piece of software, designed to replace a complete product. Probably written using IBM technical documents. The software attempts to copy the functionality of the mainframe exactly. IBM has every right to be annoyed at someone trying to copy their product. The fact it is open source is just an attempt to cloud the issue. If you stand back ten feet and squint, it probably looks like the same product. Courts have found fault with that before. This is not a general trend of IBM going after many open source programs, but rather a particular program designed to divert legitimate customers and revenue. It is one thing to write an emulator for a vintage machine no longer being actively sold, and something else to go after a contemporary product. IANABCL, but IMHO, IBM has a leg to stand on about this.
As a software engineer that primarily writes transportable code and hardware drivers. I disliked learning software only frameworks because they are artificial and change too often. chips are more stable. From the outset .NET made the hairs on the back of my neck stand on end. The idea that the software engineers could not be trusted to write unmanaged code was insulting and arrogant on Microsoft's and Intel's part. The licensing restrictions on the example cli runtime told me early that we would have trouble staying transportable with .NET. ECMA was a joke from the start and I had trouble understanding why people couldn't see it. The idea that Visual Basic was the best langauge for writing Windows programs said a lot about WIndows as a platform. I wrote the Mono people about my concerns and they did not respond. I wrote the DotGnu people about my concerns, and they didn't respond either. In the end, I just didn't bother to learn .NET because the versions came too fast and I couldn't afford to buy the reference documentation every time the changed the framework. In my mind, Microsoft shot themselves in the foot first, then released .NET. They just kept their foot wrapped in ductape all this time and didn't mention they were bleeding. It was dead from the start, but the body took a while to stop moving. This is my opinion, and I stand by it.
I have been around for most of the technical revolution here in america. I saw transistors become integrated circuits. This happened around the time that it was decided we should go to the moon. The race for space caused a focus on education in america and a generation of baby boomer engineers of all disciplines came out of that time. I am sure that they hoped those careers would pay ok, but my father made about a little over twenty thousand dollars a year working for aerospace companies as a Hughes Fellow after college. As his son, I wanted to have a technical career, and I saw software as being as important as hardware in the future. After I had taken "computer programming" as far as it would go, I wanted to transcend to "Software Engineer". What happened after that was twenty-five more years of self-motivated education to become the best software engineer I could be. It wasn't about money. It was about wanting to do a good job, and to earn the opportunity to work on new and more exciting projects, again not because of the money, but because of the opportunity to continue learning. That is the critical thing. With each project comes a chance to gain experience and leverage off previous knowledge and build excellent products. That was where I feel I was let down by corporate america. When they started exporting "educational work opportunities", foreign workers walked away with the newly earned wisdom and became more qualified for subsequent opportunities. After enough of this kind of thing, I started to lose the ability to compete against less capable engineers who just happened to have had more recent experience in key technologies. I know that I was responsible for my own continued viability. But somehow I looked up and the train was moving on without me. I am trying not to be bitter, and I know that I am not alone, and that there are a huge number of american engineers of all disciplines who feel disenfranchised. When software people worked on staff, there was a constant flow of projects and opportunities to stay with the flow of technologies. Sometimes companies participated in the educational process, sharing tuition costs for previously excellent employees. What is going on now is that companies are hiring short term help with specific key skills like picking low hanging fruit, and not taking any responsibility for bringing the workers forward with them. We now seem to be entirely responsible for every last item on the skill list, and it is a buyers market. The HR people are only looking at the top surface of the skill definition, and don';t seem to care about the depth or breadth of knowledge and skills embodied in the existing engineering pool in america. I remember a time when I would accept a little less pay to have a chance to work on something with a component I still had to learn about. To get my top dollar in my expertise area, and a little less when I would have to crack the books and would produce a little more slowly. Now you have to have it all up front, employers are more impatient, and they toss you away like a spent battery when someone new comes along with the latest bit of experience needed for the next short term project. The window of opportunity for engineers working with any specific technology has become frighteningly short. This isn't helping america grow it's industrial base. Maybe it is partly because individuals are focused very tightly on their own goals and salaries, and aren't feeling like they are part of a national effort to excel at something. I didn't mean to go on so long, but this is an important topic.
If they have so much money they made fraudulently, why don't they pay a meaningful penalty?
Thanks for the link. There was information t here I hadn't previously known. It is a testament to Microsoft's belief that computer users are stupid and cannot find the setup program on the install media. There is no other possible reason that they would have put this in in the beginning or left it in all this time. They are so worried they might get a tech support call about how to install their expensive software, that they have left all these machines wide open all these years.
It is not about real or unreal programmers. It is about systems versus application programmers. I am a systems programmer, and I write BIOSs, bootloaders, operating systems, and libraries. Because that is what interests me. I am not interested in financial applications, or I would be writing in Cobol at some bank. The breadth of skills required to be a functional systems programmers was more interesting to me and some others. There is more to programming than popping up a dialog box and responding to some buttons. I think I am a real programmer. I don't do BASIC.
I can only think that Microsoft doesn't care to solve the virus problem because about once a week a get a CERT notification saying that Microsoft Windows or Office has a vulnerability that allows remote users to execute code. This situation never seems to get better. It is like there is a never-ending source of vulnerabilities for hackers to exploit and Windows will never be safe. It is a joke.
I was so proud that I bought two original PS3 units. I wanted to write programs for the advanced hardware within. Of course that might mean unauthorized software that Sony would not have control over. I don't like where this is going. I am simply not going to buy any more Sony products. The Sony rootkit episode should have put me on notice. I am not going to buy any more closed hardware. There is no need. Alternatives exist. If GPUs are your thing, there is CUDA. I am sure I would be more pissed off about this if I had an investment in time and money with games, and I was concerned about my on-line status. I was thrilled about the impending release of the HOME product, but after a couple of years of waiting, I gave up. My two original PS3 units are collecting dust, and I remember them being pricey at the time I bought them.
Thanks for the great link. I had no idea about this and I found it amazing.
In the past when serial interfaces were implemented with UARTs. Things were very stable. Once you got the cable, speed, bits... right, things were usually VERY stable. I have noticed that since serial ports have become IP blown into gate arrays, and more recently with these USB/serial converters, things are not reliable at all. I get things running, then for no reason, things hang up, and for no reason start working again. This is maddening for a software/hardware engineer used to having things that work, continue to work. While these interfaces are going to be around for a while longer, they are no where near as fun as they used to be. My recent experience using ADTPRO to bootstrap a bare-metal Apple ][ was an exercise in heartache. Armed with gender changers, null modems, serial breakout boxes, and plenty of little wires, things seem much harder than they used to be. We really need something else to become ubiquitous and usable, sooner than later, this is making me nauseous.
Back when I lived in Sonoma county, I lived 14,000 feet from the central office and was just barely allowed to get a modest DSL circuit that was capped to keep it reliable. I put a WRT54G on the top of the chimney and threw the cables down the chimney to my lab. Then I hooked some neighbors up with USB wi-fi pods on 20 foot USB extension cords out their windows with line of sight to my roof. As far as that went, the technology worked fine until one of the neighbors violated our agreement and installed peer to peer software and started downloading and sharing copyrighted music and software. I finally put a sniffer on the circuit and found that IP numbers from all over the world were saturating my DSL trying to get to my neighbor's PC to download some songs and software. It took over a year before the tracker site dropped the database entry about my neighbor and my circuit became usable again. It seems like no matter how sincerely they promise not to abuse the connectivity, either they or their kids cannot wait until you are not looking to start abusing the favor. I was providing the service for free because my neighbors could not get DSL and POTS was so pitiful. Never again I say. Neighbors cannot be trusted with precious connectivity and don't know how to share.
I remember clearly that semiconductor vendors as an example, were happy to provide technical information that helped designers understand the benefits of their products. Piles of handbooks were freely available from a variety of sources, often the sales reps directly, or the vendors support divisions.
Going back as far as CP/M-80, the operating system shipped with developer tools and programming documentation. Until Chuck Peddle stopped shipping the language tools and started charging separately for them. Vendors would put on free seminars to convince developers to support their platforms, and provide free technical support to serious developers needing help to complete products that would enhance the overall market impact of a vendors products.
I remember being shocked and disappointed when Microsoft started charging serious money to be in their developer program. They also priced the development tools rather high, and began an onslaught of versions that never ended, I remember at least half a dozen so called 6-month learning curves alleged to provide developers with the understandings they would need to succeed with their applications. With one hand they charged a lot for assembly and C support, while they talked out of the other side of their mouths about how Visual Basic was all anyone really needed to write applications for Windows. They said you didn't even need to know how to program :-)
Then Novell followed suit and priced up their developer program. Suddenly you had to be a member of several developer organizations at once to get critical mass on information required to create a non-trivial application, and it would not be competitive if you didn't use undocumented APIs like Microsoft did.
Because of Microsoft's marketing style, the other development software vendors fell by the wayside one by one. Microsoft licensed their headers and framework to other compiler vendors, but never the latest version. Eventually the only viable compilers came directly from Microsoft at any cost. And you couldn't write software just with the information contained in the massive pile of refuse called the MSDN Library. It was full of deprecated (or should I say defecated toolkits that were so downlevel that the sample code rarely compiled without massive changes. You also had to buy piles of books, many of which costs more than $70 each. That wasn't even enough, if you were serious, you probably had to attend specific training from Microsoft or approved trainers.
Because of the proliferation of operating system versions, API version, and general DLL Hell, it was rarely possible for small developers to test their products economically on all variations of the target platforms and versions. And Microsoft kept the target moving at all times, complete with misdirections and promises of features and future support that vanished quietly from time to time.
We waited years for a certain version of Visual Studio to come out of Beta, and instead of actually releasing a stable product, they issued what I called the "forgiveness license" that said it was OK after all to ship products using what were previously beta components. The windows of opportunity shrunk to nothing and began overlapping in such a way that linear development was no longer sufficient and cascaded teams were necessary to stay viable in the face of streams of conflicting information and toolkits from Microsoft.
Also if you could not afford the $25,000 support contract, they would just laugh in your face if you asked them a technical question only they could answer in order to complete a product that only operated under their operating system.
Back when I had Goodall Computer Systems on 24th Street in San Francisco, I kept the freezer stocked with Jamaican Blue Mountain beans for the employees. I admit it was a little extreme, but the employees looked forward to coffee time, and knew I valued their work. Those were good times I remember fondly. Later when the company was run by an anal bean-counter, work was no longer fun. I guess it is what you value. If every penny is counted, and paper clips are inventoried weekly, that is going to be less fun. When there is a liberal supply of colored sharpies and tapeflags, it makes me happy. Each person finds satisfaction at work in different ways. If management wants software engineers to be exempt, and work 60 hours a week, the free coffee helps a lot.
Adolf Hitler or Albert Hoffman. One gave us LSD and the other a history so terrible that some people refuse to acknowledge it exists.
Getting back to the point though... Writing important code in a single sourced proprietary language is risky the same way designing hardware with single sourced components. Hardware developers learn the hard way when Intel decides to drop a part that was needed in a design unexpectedly. Serious hardware engineers think twice about using single sourced components because availability and pricing are not in control. Multi-vendor competition is good in hardware as pricing stays competitive and there are alternative vendors for critical components.
I clearly say the danger of in the success of Visual Basic, and watched with horror as Microsoft told us VB was the great language we had been waiting for. Actually I believe c++ was that language, but Microsoft polluted the c++ language with their foundation classes. That was the beginning of the end as developers had to decide whether to utilize Microsoft's framework. The decision to do that cost you the ability to transport to other platforms, unless you were willing to hand port MFC which had licensing issues.
Microsoft wasn't satisfied to lock people in with MFC and came up with something grander to lock people in. The arrival of .NET happened around the time that Intel and Microsoft decided that the common man shouldn't be allowed to write in native code, but rather should write managed code. Personally, I don't want to be managed by Microsoft.
The last point that I wanted to make is the the trusted platform and .NET did Microsoft and the rest of us almost no benefit when it came to protecting against viruses, and it is clear from the CERT notifications that Windows continues to be riddled with vulnerabilities that allow infection by netbots. I guess I am saying, "I told you so". I failed to convince people of my concerns about where Microsoft was taking the software community, and have watched in horror as the industry has raced to the bottom hiring foreign .NET coders instead of real software engineers with decades of experience writing maintainable, efficient, reliable code.
I have never heard of Windows/MacOS before... Is it some kind of hybrid OS that looks like Apple but lives in DLL Hell?
I guess there is losing, and then there is losing. For a company that "lost", I have seem very little change in behavior from them afterwards. Every time there is a judgement against them, they appeal, and soon afterwards I hear it has been reversed. It looks like they are beyond the law and able to laugh off any attempts to control them.