When any company begins to equate their software as priviledge is the day that company becomes an extinct company.
That is how Microsoft and all other proprietary software companies do business. they seem to be doing just fine.
You may notice in your EULA the sentence, often in bold letters, "This software is licensed, not sold." You are committing the crime of copyright infringement by using the software (because the software must be copied into memory to be run) unless you comply with the terms of the license agreement.
Comply with the terms as written, or don't use the software. Until open source takes over the world, that is how the business works.
Remember the Newton? You'd try writing "Having a party" on one of those things and it would produce "Hating a potty" or some such. There was a Simpsons joke about that kind of thing. In fact, the only word I could get Newton to consistently recognize was, in fact, "Newton". So writing "Newton sucks" would produce 1001 fun incorrect interpretations: "Newton stocks", "Newton sports", "Newton critics" and so on.
One of those multiheaded worms to sniff out information on 7 different networks at once, like from Swordfish? Can it break 512-bit encryption like Halle Berry said?
Nowadays, ASM isn't nearly as bad as it was years ago -- you at least know the code you've written when you see it in a debugger like SoftIce, and there's plenty of other macros and such that keep the writing fast.
Write enough macros for ASM, and eventually you end up with C.:)
Most code has incompatibilities and requires hacking to get to work on other systems, and it's not as good as it wishes it were. If you have to port ASM, use it for inner loops and abstract everything else in C -- not bloated C++.
OK, I'll be serious now. There is nothing inherent about C++ that makes it bloated. It's just that the minds of most C++ programmers have been corrupted by object-oriented political correctness so that they write classes to wrap their classes to wrap their classes. That, and linking against dogs like MFC doesn't help.
be reminded of this image. Wouldn't want to mess with her cataloguing skillz.
Values of beta will give rise to dom!
on
Gnarly Error Messages
·
· Score: 5, Interesting
This story from Dennis Ritchie tells of an error message in old versions of Unix that was actually sort of a Bell Labs version of "All your base".
From personal experience, one that sticks out in my mind is from Microsoft's Flight Simulator. If you auger into the ground, it says "Crash". If you bellyflop into Lake Michigan it says "Splash". But if you make a perfect landing, forgetting the minor detail of putting down your landing gear, it'd say "Crash! Lower your gear next time!" This message dates all the way back to MFS 1.0.
It should be noted that DCOP is hardly an advanced rpc protocol. In particular, it's tied to Qt, and is text based (iirc). Something like CORBA is better, but unfortunately is much harder to setup and understand. Hopefully some day somebody will build an object model that doesn't suck.
The problem with object models is, they all suck.:) Once you move to objects because "objects are better" you are adding complexity and rigidity to a system. The Unix command line philosophy more closely resembles functional programming: data goes in one end of a component, and comes out the other end suitably transformed. This makes the protocol for fitting components together easy to understand. Text streams are actually advantageous because they allow someone to better examine and test the data that's being moved around.
When you transition to an object model, that adds some excess baggage to the protocol. Each component now needs to have methods associated with it, and a standard format for method calls and parameter passing. These tend to vary from language to language. You also have to check for number and type of parameters, etc. This is easy to do if you are Microsoft or Apple, and can dictatorially impose one object model on all of your developers. In Unix land, where we have KDE and GNOME duking it out for supremacy, with GNUstep trying to muscle its way in, then the object problem becomes more difficult.
As for Emacs, I love it. When I'm doing some serious hacking, I keep an Emacs open all the time. When I need to make a few quick changes across a lot of files, though, I still have sed and vi in my toolkit. Horses for courses.
BSD is, afaik, monolithic. Mach was invented as a BSD-workalike microkernel architecture. It also came about before FreeBSD originally existed (remember the original NeXT machine?); its interface was based on the original Berkeley Software Distribution.
As someone who likes to draw and sketch I appreciate the beauty of hand-drawn art as much as anybody. But no painter can accurately simulate all the physics involved in lighting and texturing the objects in a scene.
Like paints and pencils, 3D tools are no better or worse than any other medium, only as good as the artist using them.
Oh, and CD's have a higher resolution than the human ear can hear, or than a needle on a typical phonograph can pick up. Add to that the added benefit of being more resistant to scratches, and being digital allowing perfect copies to be made (modulo the RIAA's stance on the issue) and you have the makings of a superior audio format for average listening.
Second, I'm not sure that using the phrase "workspace" is the greatest choice. Looking at Metrowerks' package design or the name "Sourceforge" gives you a neat, romanticized image of some code artist beating away on a big piece of iron, forging something new. Its designed to appear attractive to the person doing the work, not his manager -- not MS's strong point. "Workspaces"? Might appeal to the corporate world, but in the hobbyist market, out to write some good code and have fun, I think they're missing the mark.
Nearly all of the Microsoft.NET hype has been in the enterprise development domain. My experience has been that enterprise developers are a totally different animal than your average GNU/Linux hacker. They tend to wear starched shirts, play golf, and be much more concerned about applying proven development methods to a certain business problem than they are about striking out and solving new code problems. Writing code is something they do for money, not a lifestyle, and not particularly fun either.
This is Microsoft's target audience. Their marketroids don't feel the need to appeal to a group often not even considered to be real programmers.
Oh, and the documentation is in Word format because Word is "the standard".
Unless you're planning for compatibility with MacOS 9, Objective-C and Cocoa are the language and API you should be using. The Quartz API is far more robust and does a lot of things better (e.g., rendering fonts) than Carbon does. Java Cocoa programs tend to have a huge memory footprint simply because Java comes with an enormous framework of classes that needs to be linked in.
Carbon also has the disadvantage of being a bitch to program. I think I'd rate Win32 and Classic MacOS API's (which is what Carbon is) as bing at about the same level of difficulty to program in. Objective-C isn't all that bad: it's like C with Smalltalk grafted in. Once you pick up the basic syntax, writing graphical applications using Cocoa is a breeze. The Developer Tools CD comes with everything you need, including compilers and full API documentation. Consider it a fun learning experience.
... or Puyo Puyo, or a Final Fantasy game with promotional posters of the villain, chest bared and long sumptuous hair flowing, they'd have to beat the women gamers down with a stick.
If you are an Intel user who is interested in bleeding-edge hardware support for some exotic peripheral, I'd say Linux is more suitable. The Linux developers are much more willing to experiment, the BSD people catching up once Linux support has stabilized. If you are looking for stability in a server environment, consider one of the BSD's (Free or Open).
If you are a developer for a really exotic CPU architecture, then chances are a NetBSD port exists for it (much more likely than a Linux port).
I use Linux and NetBSD. Linux is my primary development/hacking system. I have also recommended and installed OpenBSD for server usage. I like both Linux and BSD, and think that each has strengths and weaknesses. Being a "True Uber Geek" to me means evaluating each based on their merits and fitting them into the overall picture.
Microsoft has nothing to fear about the viability of the X-Box: in a year or so, the X-Box will become the dominant console platform.
Historically, the console with the most shovelware running on it has been the winner in the console wars for that generation. Because it's easier to grind out Britney Spears or Blue's Clues games than truly otiginal creations, there are far more publishers of shovelware than there are publishers of outstandingly unique games, and console platforms like computer platforms have a sort of "developer gravity about them": the more developers they attract now the more developers they're likely to attract in the future.
The PS2 had a head start in the shovel-wars, but the X-Box was designed from the ground up to be a shovelware console platform. What with its use of fairly stock hardware components and the industry standard Direct3D API, porting games from Windows (another big shovelware substrate) should be easy. Developers which find getting decent results on the PS2 or Gamecube difficult will flock to the X-Box.
I could be wrong on this. In a year I'd love to be proven wrong.:) But that is my current conviction.
For your builtin scripting language, may I suggest you *not* invent your own, especially for a small project. If it were me, I'd create a Perl module (probably a class of them) and use those for the scripting. That way your program has much greater power than it would with a custom language (think web-based 3D apps) plus it reduces learning curves. Think AutoCad/Lisp.
With that in mind, it seems like Guile seems like a perfect choice for this sort of thing.
Then again, AutoCAD has been heading down the Visual Basic track more and more lately...
The author of this article seems to believe the following: If you distrust government then you're a libertarian. If you distrust business then you're a socialist. Since many geeks have a healthy distrust of both government and business, and you can't be both a libertarian and a socialist, the author concludes that geek politics is therefore hypocritical (though he doesn't use that word). This is a serious flaw, as our conventional view of left-right politics really doesn't have a place for someone who thinks that neither government nor business should accumulate too much power. We are therefore led to conclude that such views are erroneous, and we must therefore choose a king to serve: government or business, communism or capitalism.
This is perhaps one of the greatest dangers to "geek politics".
Why am I not surprised to hear about object-oriented features being slapped onto the side of Fortran for no other reason, apparently, than to be cool? I'm with our buddy Tablizer on this one: objects are nice in some applications but there are places where they're better left out. Coincidentally, many of those places are where languages like Fortran are still used.
And I thought my nerdy version of "Name That Tune" was off the wall. I'd send my friend Rich a BASIC "PLAY" statement and ask him to guess what tune it was. Then he'd run it, discover it was the "Happy Happy Joy Joy" song and we'd both laugh because we were Ren and Stimpy geeks.
Ah, memories. That was a nifty hack you did, though.
Well, at least as implemented in the US, individuals suffer more from environmentalism than do corporations. Corporations can always buy the right to pollute; individuals cannot. And the more individual activity is restricted (e.g., by limiting or banning outright the use of internal-combustion engine based vehicles), the more "pollution credits" exist for the corporations to make use of. That's why Al Gore has been pushing for an end to the car as we know it.
It's worth bringing up Freon; this gas was banned primarily because the patents DuPont held on it had expired. An environmental cause was made up to justify it so people wouldn't be up in arms about having to switch to DuPont's new, more poisonous, more expensive refrigerant (which is very solidly protected by patents). The "ozone layer" is comprised of ozone in the upper atmosphere that is produced when oxygen is exposed to the sun's UV rays. It is very difficult to damage or destroy the ozone layer. But DuPont together with the greenies convinced the UN that we were in some sort of danger, so they could make more money.
If Linus weren't working for Transmeta, they probably wouldn't have gotten a lot of name recognition, and may have been shut out of the market entirely by now.
Although, if you ask me, without a user-reprogrammable Crusoe (i.e., one where you can specify your own ISA to emulate), Transmeta won't be able to differentiate itself substantially from the other cheap CPU shops.
That is how Microsoft and all other proprietary software companies do business. they seem to be doing just fine.
You may notice in your EULA the sentence, often in bold letters, "This software is licensed, not sold." You are committing the crime of copyright infringement by using the software (because the software must be copied into memory to be run) unless you comply with the terms of the license agreement.
Comply with the terms as written, or don't use the software. Until open source takes over the world, that is how the business works.
Remember the Newton? You'd try writing "Having a party" on one of those things and it would produce "Hating a potty" or some such. There was a Simpsons joke about that kind of thing. In fact, the only word I could get Newton to consistently recognize was, in fact, "Newton". So writing "Newton sucks" would produce 1001 fun incorrect interpretations: "Newton stocks", "Newton sports", "Newton critics" and so on.
One of those multiheaded worms to sniff out information on 7 different networks at once, like from Swordfish? Can it break 512-bit encryption like Halle Berry said?
Write enough macros for ASM, and eventually you end up with C.
OK, I'll be serious now. There is nothing inherent about C++ that makes it bloated. It's just that the minds of most C++ programmers have been corrupted by object-oriented political correctness so that they write classes to wrap their classes to wrap their classes. That, and linking against dogs like MFC doesn't help.
be reminded of this image. Wouldn't want to mess with her cataloguing skillz.
This story from Dennis Ritchie tells of an error message in old versions of Unix that was actually sort of a Bell Labs version of "All your base".
From personal experience, one that sticks out in my mind is from Microsoft's Flight Simulator. If you auger into the ground, it says "Crash". If you bellyflop into Lake Michigan it says "Splash". But if you make a perfect landing, forgetting the minor detail of putting down your landing gear, it'd say "Crash! Lower your gear next time!" This message dates all the way back to MFS 1.0.
Isn't that in the D&D manual somewhere?
Did I miss my saving throw against not being able to install Word?
The problem with object models is, they all suck.
When you transition to an object model, that adds some excess baggage to the protocol. Each component now needs to have methods associated with it, and a standard format for method calls and parameter passing. These tend to vary from language to language. You also have to check for number and type of parameters, etc. This is easy to do if you are Microsoft or Apple, and can dictatorially impose one object model on all of your developers. In Unix land, where we have KDE and GNOME duking it out for supremacy, with GNUstep trying to muscle its way in, then the object problem becomes more difficult.
As for Emacs, I love it. When I'm doing some serious hacking, I keep an Emacs open all the time. When I need to make a few quick changes across a lot of files, though, I still have sed and vi in my toolkit. Horses for courses.
BSD is, afaik, monolithic. Mach was invented as a BSD-workalike microkernel architecture. It also came about before FreeBSD originally existed (remember the original NeXT machine?); its interface was based on the original Berkeley Software Distribution.
As someone who likes to draw and sketch I appreciate the beauty of hand-drawn art as much as anybody. But no painter can accurately simulate all the physics involved in lighting and texturing the objects in a scene.
Like paints and pencils, 3D tools are no better or worse than any other medium, only as good as the artist using them.
Oh, and CD's have a higher resolution than the human ear can hear, or than a needle on a typical phonograph can pick up. Add to that the added benefit of being more resistant to scratches, and being digital allowing perfect copies to be made (modulo the RIAA's stance on the issue) and you have the makings of a superior audio format for average listening.
Scratching, well, that's a different story.
Nearly all of the Microsoft
This is Microsoft's target audience. Their marketroids don't feel the need to appeal to a group often not even considered to be real programmers.
Oh, and the documentation is in Word format because Word is "the standard".
Don't you know? The Amiga is God's chosen computer; ask any Amiga user (clearly a reliable, non-biased, objective source on the issue).
Hint: The above was sarcasm.
Unless you're planning for compatibility with MacOS 9, Objective-C and Cocoa are the language and API you should be using. The Quartz API is far more robust and does a lot of things better (e.g., rendering fonts) than Carbon does. Java Cocoa programs tend to have a huge memory footprint simply because Java comes with an enormous framework of classes that needs to be linked in.
Carbon also has the disadvantage of being a bitch to program. I think I'd rate Win32 and Classic MacOS API's (which is what Carbon is) as bing at about the same level of difficulty to program in. Objective-C isn't all that bad: it's like C with Smalltalk grafted in. Once you pick up the basic syntax, writing graphical applications using Cocoa is a breeze. The Developer Tools CD comes with everything you need, including compilers and full API documentation. Consider it a fun learning experience.
LISP is the language that discovers there is no spoon, and learns to bend itself. In so doing, it becomes master of them all.
... or Puyo Puyo, or a Final Fantasy game with promotional posters of the villain, chest bared and long sumptuous hair flowing, they'd have to beat the women gamers down with a stick.
It depends on what kind of geek you are.
If you are an Intel user who is interested in bleeding-edge hardware support for some exotic peripheral, I'd say Linux is more suitable. The Linux developers are much more willing to experiment, the BSD people catching up once Linux support has stabilized. If you are looking for stability in a server environment, consider one of the BSD's (Free or Open).
If you are a developer for a really exotic CPU architecture, then chances are a NetBSD port exists for it (much more likely than a Linux port).
I use Linux and NetBSD. Linux is my primary development/hacking system. I have also recommended and installed OpenBSD for server usage. I like both Linux and BSD, and think that each has strengths and weaknesses. Being a "True Uber Geek" to me means evaluating each based on their merits and fitting them into the overall picture.
Microsoft has nothing to fear about the viability of the X-Box: in a year or so, the X-Box will become the dominant console platform.
:) But that is my current conviction.
Historically, the console with the most shovelware running on it has been the winner in the console wars for that generation. Because it's easier to grind out Britney Spears or Blue's Clues games than truly otiginal creations, there are far more publishers of shovelware than there are publishers of outstandingly unique games, and console platforms like computer platforms have a sort of "developer gravity about them": the more developers they attract now the more developers they're likely to attract in the future.
The PS2 had a head start in the shovel-wars, but the X-Box was designed from the ground up to be a shovelware console platform. What with its use of fairly stock hardware components and the industry standard Direct3D API, porting games from Windows (another big shovelware substrate) should be easy. Developers which find getting decent results on the PS2 or Gamecube difficult will flock to the X-Box.
I could be wrong on this. In a year I'd love to be proven wrong.
With that in mind, it seems like Guile seems like a perfect choice for this sort of thing.
Then again, AutoCAD has been heading down the Visual Basic track more and more lately...
The author of this article seems to believe the following: If you distrust government then you're a libertarian. If you distrust business then you're a socialist. Since many geeks have a healthy distrust of both government and business, and you can't be both a libertarian and a socialist, the author concludes that geek politics is therefore hypocritical (though he doesn't use that word). This is a serious flaw, as our conventional view of left-right politics really doesn't have a place for someone who thinks that neither government nor business should accumulate too much power. We are therefore led to conclude that such views are erroneous, and we must therefore choose a king to serve: government or business, communism or capitalism.
This is perhaps one of the greatest dangers to "geek politics".
Why am I not surprised to hear about object-oriented features being slapped onto the side of Fortran for no other reason, apparently, than to be cool? I'm with our buddy Tablizer on this one: objects are nice in some applications but there are places where they're better left out. Coincidentally, many of those places are where languages like Fortran are still used.
And I thought my nerdy version of "Name That Tune" was off the wall. I'd send my friend Rich a BASIC "PLAY" statement and ask him to guess what tune it was. Then he'd run it, discover it was the "Happy Happy Joy Joy" song and we'd both laugh because we were Ren and Stimpy geeks.
Ah, memories. That was a nifty hack you did, though.
Well, at least as implemented in the US, individuals suffer more from environmentalism than do corporations. Corporations can always buy the right to pollute; individuals cannot. And the more individual activity is restricted (e.g., by limiting or banning outright the use of internal-combustion engine based vehicles), the more "pollution credits" exist for the corporations to make use of. That's why Al Gore has been pushing for an end to the car as we know it.
It's worth bringing up Freon; this gas was banned primarily because the patents DuPont held on it had expired. An environmental cause was made up to justify it so people wouldn't be up in arms about having to switch to DuPont's new, more poisonous, more expensive refrigerant (which is very solidly protected by patents). The "ozone layer" is comprised of ozone in the upper atmosphere that is produced when oxygen is exposed to the sun's UV rays. It is very difficult to damage or destroy the ozone layer. But DuPont together with the greenies convinced the UN that we were in some sort of danger, so they could make more money.
If Linus weren't working for Transmeta, they probably wouldn't have gotten a lot of name recognition, and may have been shut out of the market entirely by now.
Although, if you ask me, without a user-reprogrammable Crusoe (i.e., one where you can specify your own ISA to emulate), Transmeta won't be able to differentiate itself substantially from the other cheap CPU shops.
Seeing as how God wrote in LISP code, that is hardly surprising.
IANAL but if I recall correctly in certain cases (e.g., RICO actions), the defendant has to pay the plaintiff's legal fees if he loses.
The US legal system is a tangled mess that tends to favor the powerful. But, I think any system that relies on lawyers is like that.