I'm much more impressed with Steve Wozniak, and his marketing
assistant, Steve Jobs, working out of a garage, with spare
parts and gleanings, coming up with a better little cruncher
than the blue behemoth, then getting venture capital to put it
into mass production (after being turned down by HP, TI, etc.,
when they offere to give the design to them). Of course, they
owe a debt to XEROX for the Macintosh operating system, who,
in turn, owe a debt to a quirky academic out east for the invention
of the "mouse".
The day-to-day travails of the IBM programmer are so amusing
to most of us who are fortunate enough to avoid being one.
It is like watching Charlie Chaplin trying to cook a shoe.
$$$
Another alternative to Lutris Enhydra Java/XML Application Server is Orion Server. This application
server was one of the first fully J2EE compliant application servers, even
before WebLogic. It is 100% Java. It
supports both EJB and JNDI. It is FREE for development. I follow their list group and they seem to have a
very good following. I find the product to be very easy to configure and
deploy. It is worth evaluating.
If you want them to hire you to develop games for them, bring several demos
of different kind of games your team created. Do not just do PC games - the
PC is a minor segment of the overall game business today. You need to make
demos for Game Boy and PlayStation as well (NOT Xbox!). It's kind of a
chicken-and-egg Catch-22 dilemma - you can't develop games for consoles
until you have a contract, and you can't get a contract unless you develop
games for consoles - it's not easy but you can find a way.
If you want them to publish your game, you need to finish the game first. I
recommend you bring them several finished games, in different genres and for
different hardware formats. Do not just bring PC games - the PC is not the
#1 gaming platform. And the Xbox is not the #1 console. And also bring
several demos of other games you're working on. Maybe nobody will publish
your game, but they might hire you to develop a game for them, if they like
your work.
When you have prepared your finished games and demos, and you have the
contact information at the game companies, call and find out who is in
charge of receiving submissions (if you are looking for publishing) or who
is in charge of hiring developers. At my last job, there was no one person
in charge of hiring developers. Each producer was in charge of hiring
developers - which means you might need to pitch your services to 10-20 guys
at a large publishing company. It might be best to do a mass mailing,
followed up by selective visits.
Of course, you could also approach the task a little more systematically. A
possible approach, and this is based purely on learning a language in order
to improve one's thinking processes, rather than learning a language based
on the marketability improvements possession of such knowledge brings, is to
broadly catergorise them along the lines of 'problem solving styles', or
'programming mindsets' that they directly support or encourage.
Assuming no prior knowledge, you could start by learning procedural
programming; a very good starting point is C. It is a small, compact
language that will help you learn the basics of procedural programming; it's
not a difficult language if you stay away, initially, from its more esoteric
features like pointers and bitwise operators. Having learnt C, you will have
a very solid grounding for learning languages such as JavaScript, C++, and
Java because the 'syntactic core' of these languages is very similar.
Another procedural language is COBOL. It is quite a big language in terms of
the number of reserved words ('verbs' in COBOL-speak) it offers. However, it
is really quite a simple language and provides, as core facilities,
tremendous file processing capabilities. In addition, it forces the
programmer to be systematic, that is, you need to spell out exactly, and in
painstaking detail, what it is you wish to do. In a way, its wordiness is
its strength, and it is difficult to produce 'sloppy' code the way it is
possible to do in, for example, C.
Next, you could tackle object oriented programming. You could start with
either one of the very popular object-oriented languages, C++ and Java.
Personally I would start with C++ as it is, I believe, more complex, and
thus, more difficult to learn; if you master it, Java will come easy, and
the hardest part will be simply to learn its rich set of packages
(collections of objects).
Smalltalk is probably one of the purer object-oriented
languages, is widely respected in the programming community, and, I should
admit that the main reason I included it here is that its the next language
on *my* list to learn. I've looked at a couple of Smalltalk code listings
and have found it difficult, at first glance, to understand it; that being
the case, I look forward to the challenge of learning it !
Now, for a couple of oldies, but goodies: LISP and Prolog. Neither of these
has, as far as I'm aware, very significant commercial application, but if
you are looking to try some truly 'different' programming approaches, in a
bid to extend your thinking processes, then these are it !
LISP, for me, is a truly enjoyable programming experience. I won't pretend
to be an expert in it, but by simply spending time with this language I have
learnt so much about data structures, programming techniques, and,
generally, problem solving techniques. It's a really good tool for
'doodling', that is, quickly whipping up little algorithms and immediately
testing them. A definite 'must-learn' language !
Prolog is one I find fascinating. I'm still struggling with it, and although
I've developed nothing more than simple database query applications with it,
every time I work with it I find myself approaching a 'simple' problem in
non-conventional ways, always forced to rethink how something should be
done. I would recommend you look at this language to learn how to program in
a truly non-procedural way, that is, to work 'with' the help of the language
itself, rather than simply writing down commands for the compiler /
interpreter to follow.
Finally, on top of these you could add interpretive 'scripting' languages,
tools which are aimed more at 'gluing' applications together than being
fully-fledged development languages in their own right (I know perl purists
will probably scream, claiming this is heresy, but basically it is not so
much a development language as a 'super-shell', an all-encompassing
environment, almost an 'operating system within an operating system').
Finally, I should stress that, as a programmer, it is not just languages
that you should be striving to learn, but to expand your knowledge in
general. For example, acquiring general business, management, communication
and 'people' skills will make you more aware of the 'real world' in which
you must apply your skills.
While the idea of learning other programming languages is to extend your
ability to identify and abstract problems, as well as adding to your
'armory' of programming tools, there is no substitute for a good grasp of
your problem environment, that is, understanding the nature and type of
'problems' you will be asked to solve. Not every problem necessarily
translates into a computer-based solution, hence the importance of also
acquiring non-programming skills.
NAI is getting quite a reputation, albeit a bad one, for sending its retail
customers on wild goose chases in search of after-sale support that simply
doesn't exist. The sad fact is when you buy an NAI product all you get is what
comes in the box. You want support and upgrades? You won't be getting them
from NAI.
Check their Web site and you'll find a few simplistic FAQs that reveal nothing
you didn't already know and some Forums that are ignored by NAI staff.
Somehow I let the cat out of the bag and now it's up on the chandelier
and won't come down even when I poke it with a broomstick and its
howling and mewling and my wife is crying and the vet's office is
closed and Oh my God this never should have happened. 10-4
Linux and Watchpad represents a paradigm shift. The classic
example of a paradigm shift is the Quartz watch. Although it was originally
developed in Switzerland, the Swiss watch makers originally wanted nothing
to do with it because it didn't have the gears and mainsprings that had
become the pride of the Swiss Watch factories.
Eventually, the inventors went to Japan and approached Seiko. The Swiss
have now gone from 60% of the market to less than 30% and the classical
mechanical watches represent status symbols rather than timepieces. I
recently heard a speaker declare that he had a $5000 Swiss watch that couldn't
tell time. He then went on to say that he had to put on his cheap watch
so that he would know what time it was. He didn't mention the brand name,
but one can guess who makes $5,000 Swiss watches.
Some people buy $5,000 Rolex Watches to impress people, I wear a Citizen
myself. It keeps pretty good time.
Speaking of "if you are important enough" and "all is takes is application
of resources", I was recently reading through some of the briefs in the US
v. Scarfo case. It sounded to me like the FBI got frustrated with his use of PGP
and went with the keylogger approach. I was under the impression that the
government had the resources to actually break some of the encryption
schemes that are lawfully available in the US. It takes them time and a lot
of computer horsepower, but I thought they could do it. It seems that the FBI didn't want to have
to use all these resources in the Scarfo case and take the time to do it
that way, so they used a logger. The material I was reading came from
www.epic.org. It was interesting.
But there is absolutely no way the "industry committee" will approve
as "secure" any operating system where you could just reconfigure
the kernel to remove the DRM feature. They would never, ever do such
a thing--because they're the "industry committee."
The amazing thing to me is that Senate will be openly considering
legislation to put a committee of corporations in charge of deciding
which hardware and OS configurations will be legal and illegal. Even
if the committee somehow miraculously doesn't ban Open Source operating
systems, the thought that they might be handed the power of life and
death over operating systems is startling.
I think it's wildly unrealistic to assume SSSCA won't pass just because
it's obviously crazy legislation. There are a lot of crazy laws on the
books, and most geeks didn't take DMCA very seriously either until
Dmitry got busted. Don't be complacent.
War is a terrible thing but some good seems to come out of it as well as
many rotting corpses. Many technologies are developed primarily out of
the neccesities brought about by war. War tends speeds up the development
of weapons and other related technologies. For example, during WWII
powers such as Germany, and especially the United States raced toward the
development of an A bomb. I believe that it would have been many years
before the development of an atom bomb if it weren't for the war. I
reason that there wasn't an immediate demand for this technology therefore
its development would have been delayed. Other examples I can think of is
the jet engine developed by the Germans and Radar I believe the British I
know they used but unsure if they developed.
(Guess I should pay more attention to Discovery channel's Wings)
As well they should. Although fiber PHY's are usually available for
newer technologies first, to this point we have seen copper PHY's for
more bandwidth than we can use, at a significant cost savings compared
with fiber PHY's.
Although the cable cost of the fiber is a nit, the optics at the end are
really expensive. It is hard to justify a mulitmode plant for expansion
beyond gigabit ethernet, since they had so much trouble getting gigabit
to work over multimode. Yet a well installed copper plant will be able
to handle gigabit as well.
Will we need gigabit to the desktop in the next 10 years? Of course.
Will we need something beyond that? Maybe. If we need something beyond
that, will it run on Fiber? It will run on singlemode, but the cost of
the optics would be prohibitive. It probably won't run on multimode.
Who knows what they will eek out of copper...
Will you be pulling the fiber at the same time as the copper? My suggestion
is to investigate utilizing BICC Brand-Rex's Blo-Twist as one of your cable
runs. The Blo-Twist cable has a small tube chamber attached that will allow
up to 4 strands of fiber to be blown into place at any time. This allows you
to install the copper and add fiber as it is needed.
You are certainly correct in planning on fiber to the desktop, I personally
think those that dismiss the technology as "too expensive" are short sighted
in some ways. Currently I am recommending nothing less than Cat 5e
(Enhanced) cable and components on all new installations and upgrades being
done for my clients. Even though a lot of the new installations are being
done in facilities they will occupy for a minimum of 10 years, they have
resisted planning for any fiber excepting a riser backbone.
I just returned from Java One and Sharp had a booth there.
They showed off this PDA that looked very cool. I think it takes Palm
attachments. The bottom slides down to reveal a tiny keyboard. But the
cool thing is that the PDA is a Java app thing that runs under Linux.
It was running a 2.4 kernel and it just looked friggin' cool. I don't know what
kind of development environment they've got (does gcc have a StrongARM
backend?), but I got the feeling that they were looking for people to
develop apps for it. I suppose that's because no one
will buy it without apps. I signed up to get an early development release,
but I don't really know what that means. Does anyone have any
more information on this? All the web pages I find are in Japanese.
Some quantum physics theories suggest that when the user is not directly observing SETI@Home software, it may cease to exist or will exist only in a vague and undetermined state.
www.handhelds.org is a good web page devoted to PDA type information. As a
point of interest, iPAQs can run Linux in several different flavors. The
YOPY kit is rediculously prices and I don't believe I would ever buy one
with the advances being made by the developers of Linux on the IPAQ. In my opinion,
that is where the fun is if you want to work with Linux on a PDA. If you
just want to use a Linux PDA you could get an agenda or wait for perhaps
Sharp to release one later this year. HP has also made rumblings about a
Linux PDA.
I just attended a conference last week where a scientist from
UC/Berkeley presented his current work on 'smartDust' which is a
microelectromechanical system project to design exactly such
critters. They're currently shooting for a 1 cubic millimeter final device.
The little mote contains a power supply, transceiver, sensors and actuators.
Pretty amazing stuff at the interface between science fiction and current
research.
I'm much more impressed with Steve Wozniak, and his marketing assistant, Steve Jobs, working out of a garage, with spare parts and gleanings, coming up with a better little cruncher than the blue behemoth, then getting venture capital to put it into mass production (after being turned down by HP, TI, etc., when they offere to give the design to them). Of course, they owe a debt to XEROX for the Macintosh operating system, who, in turn, owe a debt to a quirky academic out east for the invention of the "mouse".
The day-to-day travails of the IBM programmer are so amusing to most of us who are fortunate enough to avoid being one. It is like watching Charlie Chaplin trying to cook a shoe. $$$
"Code Red wasn't a virus."
*G* my bad. I owe you a lap dance.
"Ever hear of the Morris Worm?"
Was Linux even in existance at that era? Hurry up, it's time to change your Huggies, old fart.
You Linux zealots are jealous. Code Red is alive and healty. Windows has over forty-six thousand viruses, Linux has none. Does that settle the debate?
Impossible, the pit will eventually get you in China one day or another.
Gee, I sell stolen genuine Rolexes for $500 on Ebay.
Another alternative to Lutris Enhydra Java/XML Application Server is Orion Server. This application server was one of the first fully J2EE compliant application servers, even before WebLogic. It is 100% Java. It supports both EJB and JNDI. It is FREE for development. I follow their list group and they seem to have a very good following. I find the product to be very easy to configure and deploy. It is worth evaluating.
Before approaching publishers, be fully prepared.
If you want them to hire you to develop games for them, bring several demos of different kind of games your team created. Do not just do PC games - the PC is a minor segment of the overall game business today. You need to make demos for Game Boy and PlayStation as well (NOT Xbox!). It's kind of a chicken-and-egg Catch-22 dilemma - you can't develop games for consoles until you have a contract, and you can't get a contract unless you develop games for consoles - it's not easy but you can find a way.
If you want them to publish your game, you need to finish the game first. I recommend you bring them several finished games, in different genres and for different hardware formats. Do not just bring PC games - the PC is not the #1 gaming platform. And the Xbox is not the #1 console. And also bring several demos of other games you're working on. Maybe nobody will publish your game, but they might hire you to develop a game for them, if they like your work.
When you have prepared your finished games and demos, and you have the contact information at the game companies, call and find out who is in charge of receiving submissions (if you are looking for publishing) or who is in charge of hiring developers. At my last job, there was no one person in charge of hiring developers. Each producer was in charge of hiring developers - which means you might need to pitch your services to 10-20 guys at a large publishing company. It might be best to do a mass mailing, followed up by selective visits.
Learn them all !!!
Of course, you could also approach the task a little more systematically. A possible approach, and this is based purely on learning a language in order to improve one's thinking processes, rather than learning a language based on the marketability improvements possession of such knowledge brings, is to broadly catergorise them along the lines of 'problem solving styles', or 'programming mindsets' that they directly support or encourage.
Assuming no prior knowledge, you could start by learning procedural programming; a very good starting point is C. It is a small, compact language that will help you learn the basics of procedural programming; it's not a difficult language if you stay away, initially, from its more esoteric features like pointers and bitwise operators. Having learnt C, you will have a very solid grounding for learning languages such as JavaScript, C++, and Java because the 'syntactic core' of these languages is very similar.
Another procedural language is COBOL. It is quite a big language in terms of the number of reserved words ('verbs' in COBOL-speak) it offers. However, it is really quite a simple language and provides, as core facilities, tremendous file processing capabilities. In addition, it forces the programmer to be systematic, that is, you need to spell out exactly, and in painstaking detail, what it is you wish to do. In a way, its wordiness is its strength, and it is difficult to produce 'sloppy' code the way it is possible to do in, for example, C.
Next, you could tackle object oriented programming. You could start with either one of the very popular object-oriented languages, C++ and Java. Personally I would start with C++ as it is, I believe, more complex, and thus, more difficult to learn; if you master it, Java will come easy, and the hardest part will be simply to learn its rich set of packages (collections of objects).
Smalltalk is probably one of the purer object-oriented languages, is widely respected in the programming community, and, I should admit that the main reason I included it here is that its the next language on *my* list to learn. I've looked at a couple of Smalltalk code listings and have found it difficult, at first glance, to understand it; that being the case, I look forward to the challenge of learning it !
Now, for a couple of oldies, but goodies: LISP and Prolog. Neither of these has, as far as I'm aware, very significant commercial application, but if you are looking to try some truly 'different' programming approaches, in a bid to extend your thinking processes, then these are it !
LISP, for me, is a truly enjoyable programming experience. I won't pretend to be an expert in it, but by simply spending time with this language I have learnt so much about data structures, programming techniques, and, generally, problem solving techniques. It's a really good tool for 'doodling', that is, quickly whipping up little algorithms and immediately testing them. A definite 'must-learn' language !
Prolog is one I find fascinating. I'm still struggling with it, and although I've developed nothing more than simple database query applications with it, every time I work with it I find myself approaching a 'simple' problem in non-conventional ways, always forced to rethink how something should be done. I would recommend you look at this language to learn how to program in a truly non-procedural way, that is, to work 'with' the help of the language itself, rather than simply writing down commands for the compiler / interpreter to follow.
Finally, on top of these you could add interpretive 'scripting' languages, tools which are aimed more at 'gluing' applications together than being fully-fledged development languages in their own right (I know perl purists will probably scream, claiming this is heresy, but basically it is not so much a development language as a 'super-shell', an all-encompassing environment, almost an 'operating system within an operating system').
Finally, I should stress that, as a programmer, it is not just languages that you should be striving to learn, but to expand your knowledge in general. For example, acquiring general business, management, communication and 'people' skills will make you more aware of the 'real world' in which you must apply your skills.
While the idea of learning other programming languages is to extend your ability to identify and abstract problems, as well as adding to your 'armory' of programming tools, there is no substitute for a good grasp of your problem environment, that is, understanding the nature and type of 'problems' you will be asked to solve. Not every problem necessarily translates into a computer-based solution, hence the importance of also acquiring non-programming skills.
A "reach around" is grabbing the guys cock and getting him off WHILE you're fucking him. Also works for women :-)
NAI is getting quite a reputation, albeit a bad one, for sending its retail customers on wild goose chases in search of after-sale support that simply doesn't exist. The sad fact is when you buy an NAI product all you get is what comes in the box. You want support and upgrades? You won't be getting them from NAI.
Check their Web site and you'll find a few simplistic FAQs that reveal nothing you didn't already know and some Forums that are ignored by NAI staff.
Somehow I let the cat out of the bag and now it's up on the chandelier and won't come down even when I poke it with a broomstick and its howling and mewling and my wife is crying and the vet's office is closed and Oh my God this never should have happened. 10-4
Linux and Watchpad represents a paradigm shift. The classic example of a paradigm shift is the Quartz watch. Although it was originally developed in Switzerland, the Swiss watch makers originally wanted nothing to do with it because it didn't have the gears and mainsprings that had become the pride of the Swiss Watch factories.
Eventually, the inventors went to Japan and approached Seiko. The Swiss have now gone from 60% of the market to less than 30% and the classical mechanical watches represent status symbols rather than timepieces. I recently heard a speaker declare that he had a $5000 Swiss watch that couldn't tell time. He then went on to say that he had to put on his cheap watch so that he would know what time it was. He didn't mention the brand name, but one can guess who makes $5,000 Swiss watches.
Some people buy $5,000 Rolex Watches to impress people, I wear a Citizen myself. It keeps pretty good time.
Speaking of "if you are important enough" and "all is takes is application of resources", I was recently reading through some of the briefs in the US v. Scarfo case. It sounded to me like the FBI got frustrated with his use of PGP and went with the keylogger approach. I was under the impression that the government had the resources to actually break some of the encryption schemes that are lawfully available in the US. It takes them time and a lot of computer horsepower, but I thought they could do it. It seems that the FBI didn't want to have to use all these resources in the Scarfo case and take the time to do it that way, so they used a logger. The material I was reading came from www.epic.org. It was interesting.
There's a few people in here who will need to first take remedial English lessons.
But there is absolutely no way the "industry committee" will approve as "secure" any operating system where you could just reconfigure the kernel to remove the DRM feature. They would never, ever do such a thing--because they're the "industry committee."
The amazing thing to me is that Senate will be openly considering legislation to put a committee of corporations in charge of deciding which hardware and OS configurations will be legal and illegal. Even if the committee somehow miraculously doesn't ban Open Source operating systems, the thought that they might be handed the power of life and death over operating systems is startling.
I think it's wildly unrealistic to assume SSSCA won't pass just because it's obviously crazy legislation. There are a lot of crazy laws on the books, and most geeks didn't take DMCA very seriously either until Dmitry got busted. Don't be complacent.
Yes, they do. Holy Church of Elvis is coded as 521.
I've checked out the UK Statistics Office list of religions and it is indeed coded as 896.
Satanism is 331.
They even allow you to have your "Own Belief System" (code 344).
I guess after the very sexy 70's those in the UK needed a reason to stop getting laid...
War is a terrible thing but some good seems to come out of it as well as many rotting corpses. Many technologies are developed primarily out of the neccesities brought about by war. War tends speeds up the development of weapons and other related technologies. For example, during WWII powers such as Germany, and especially the United States raced toward the development of an A bomb. I believe that it would have been many years before the development of an atom bomb if it weren't for the war. I reason that there wasn't an immediate demand for this technology therefore its development would have been delayed. Other examples I can think of is the jet engine developed by the Germans and Radar I believe the British I know they used but unsure if they developed. (Guess I should pay more attention to Discovery channel's Wings)
As well they should. Although fiber PHY's are usually available for newer technologies first, to this point we have seen copper PHY's for more bandwidth than we can use, at a significant cost savings compared with fiber PHY's.
Although the cable cost of the fiber is a nit, the optics at the end are really expensive. It is hard to justify a mulitmode plant for expansion beyond gigabit ethernet, since they had so much trouble getting gigabit to work over multimode. Yet a well installed copper plant will be able to handle gigabit as well.
Will we need gigabit to the desktop in the next 10 years? Of course. Will we need something beyond that? Maybe. If we need something beyond that, will it run on Fiber? It will run on singlemode, but the cost of the optics would be prohibitive. It probably won't run on multimode. Who knows what they will eek out of copper...
Will you be pulling the fiber at the same time as the copper? My suggestion is to investigate utilizing BICC Brand-Rex's Blo-Twist as one of your cable runs. The Blo-Twist cable has a small tube chamber attached that will allow up to 4 strands of fiber to be blown into place at any time. This allows you to install the copper and add fiber as it is needed.
You are certainly correct in planning on fiber to the desktop, I personally think those that dismiss the technology as "too expensive" are short sighted in some ways. Currently I am recommending nothing less than Cat 5e (Enhanced) cable and components on all new installations and upgrades being done for my clients. Even though a lot of the new installations are being done in facilities they will occupy for a minimum of 10 years, they have resisted planning for any fiber excepting a riser backbone.
I just returned from Java One and Sharp had a booth there. They showed off this PDA that looked very cool. I think it takes Palm attachments. The bottom slides down to reveal a tiny keyboard. But the cool thing is that the PDA is a Java app thing that runs under Linux. It was running a 2.4 kernel and it just looked friggin' cool. I don't know what kind of development environment they've got (does gcc have a StrongARM backend?), but I got the feeling that they were looking for people to develop apps for it. I suppose that's because no one will buy it without apps. I signed up to get an early development release, but I don't really know what that means. Does anyone have any more information on this? All the web pages I find are in Japanese.
Some quantum physics theories suggest that when the user is not directly observing SETI@Home software, it may cease to exist or will exist only in a vague and undetermined state.
www.handhelds.org is a good web page devoted to PDA type information. As a point of interest, iPAQs can run Linux in several different flavors. The YOPY kit is rediculously prices and I don't believe I would ever buy one with the advances being made by the developers of Linux on the IPAQ. In my opinion, that is where the fun is if you want to work with Linux on a PDA. If you just want to use a Linux PDA you could get an agenda or wait for perhaps Sharp to release one later this year. HP has also made rumblings about a Linux PDA.
I just attended a conference last week where a scientist from UC/Berkeley presented his current work on 'smartDust' which is a microelectromechanical system project to design exactly such critters. They're currently shooting for a 1 cubic millimeter final device. The little mote contains a power supply, transceiver, sensors and actuators. Pretty amazing stuff at the interface between science fiction and current research.