what another person might spend a week doing in C (which is spectacularly unsuited for such tasks anyway).
A skilled C programmer also needs less than 1 hour for something like that. The standard C library has a lot of text processing functions (like sscanf()), plus it has a qsort(). Ever wonder why the C I/O library is suitable for managing database files? All the field functions in fscanf()/fprintf() etc. are suitable for database management.
Also, C is still one of the prime choice languages for writing compilers, which do a lot of text processing.
Works for me, I'm using RHEL5 (RedHat Linux). It shows a domain name in Arabic or similar script belonging to a guy in Teheran. I don't know if the rendering is correct, but a guy speaking Arabic once told me the letters need not be connected... they show up as individual letters in my console, but that could be a bug in the whois program or in the console app.
We have gone a bit higher than that, 10 gigabit over a single optical transciever is perfectly doable these days.
Ah ok, I haven't followed the developments in the past couple of years.
Really?! care to provide a citation for that? All the searches i've done for VDSL-50 seem to reffer to 50 megabit products. (...)
Again if true please provide a citation for this, it sounds like you have mixed up megabits and gigabits
Ah... I'm terribly sorry, I guess I'm a bit tired... of course I was referring to Mbit not Gbit!
Why not? You simple mix the liquid with any type of cells, like bacteria, viruses, or any plant or animal cells. Of course it must be something that is unlikely to be found naturally in the affected area. When the thief is sprayed with the liquid, the unusual DNA sticks to him and his clothing and can be found by analysis.
There's a simple explanation to that: In the 90ies it was discovered that the maximum carrier frequency of fiber optics is around 1-2 GHz, while there's new milestones been reached over copper wire every couple of years. Nowadays we have 50 Gbit over copper wire (VDSL-50), that's impossible over fiber. Of course, if you combine many fibers, you can achieve the same rate, but it's probably much more expensive. However, it is being researched whether partial waves and multiple colors (wavelengths) can be used to increase fiber bandwith. Shortly after the reunification of Germany, East Germany has been equipped with vast amounts of fiber optics, which was being thought of the technology of the future, and now they won't get the higher transmission rates until additional copper cables have been laid. In West Germany, copper was always dominating, so we don't have any bandwidth limits here (depending on the quality of cables installed on the way to the home). The maximum I can get currently is 16 Gbit over copper wire.
... almost every custom-built computer (of which many existed) had its own operating system. Many software companies developed OS and application software.
Writing OSes is still very common in embedded systems.
Depending on what you want, writing a Windows compatibility layer (if that's really what they want, if they didn't just want to say "has a GUI") is also no rocket science. The Windows API documentation is readily available, and if you stick to a specific set of APIs, you can come up with a compatible system pretty quickly.
WINE is not a good example for Windows compatibility, since it's ill-designed and bug-ridden. ECMA for instance provides a set of standards registered by Microsoft for Windows 3.x, and that can make a good starting point.
I think the project might be successful.
Oh, and writing compilers is no rocket science either... if you want to keep it simple, it's just an excersize in recursion...
Experience is not knowledge per se, but it is experience. That's why it's two different words. I've begun computer programming as a kid, and 30 years later, the experience I have now isn't even on the same planet as the experience I had when I was in my 20ies. Foolishness of youth and pride in all honor, but experience does grow with age, and the earlier you begin, the better. The only way to become proficient in computer programming is to do it... and after you've written a couple thousand programs, experience does begin to accumulate.
Yeah, I completely agree... I often made the experience myself... CS graduates who think they know everything; comically, while being reistant to advice, they learn the hard way what it means to be a real programmer... lol... everybody needs to make their own experiences, it seems... and programming truly is a form of creative expression, like music...
Companies are all different... some are good, some are bad, but in the end, all it comes down to is what an individual developer wants to do. It is possible to switch jobs... if you're not satsified at one company, go to another. There's so many different kinds of people in all the software industry, that there's also many different kinds of software development firms...
Not really. Having tried both, I actually found making corporate Java programs to be a _lot_ less stress.
And I've seen Java shops in which inexperienced coders slaved away for years at pointless code b/c of their own bad app design... often plenty of code had to be thrown away and replaced b/c it was simply useless and overcomplicated. Customers got frustrated and threatened with lawsuits...
Generally, I do agree with you. But really, all those problems are not typical for the games industry.
When Designer X comes with his bad idea, then it's always a good idea to talk it over with him, or management. And "nobody listens" doesn't count. You can always talk to people... if people can't be talked to, they shouldn't be in an office anyway...
Your post is pretty insightful and true for the most part, but this:
In the games industry you're not staying late to fix a few bugs you've made now and then, you're staying late because you have to, because it's the only way the project can possibly get done in the allocated timeframe with the resources given.
That's exactly the point I wanted to make: Inexperienced coders overshoot deadlines... if it's not b/c of bugs then it's b/c of excess work b/c of bad code design... well designed code can be changed in a snap, and all you have to do is make a few changes here and there.
In some industries, like business applications, companies often develop their own 4GL systems to write business applications and make changes within minutes... often even at the customer's site, so the customer can say "ah... I want that field here, that font there... ah, marvellous, you're already finished".
So, to have the right games engine that takes the least amount of work is paramount in saving time during game development. And to make that, takes experience.
I've seen lesser sophisticated shops in which people slaved away nonsensically at mountains of pointless code that could've been avoided.
The best way to learn any computer programming is to just do it. Get your students interested in developing their own games in their spare time, and help them along if they run into trouble. If you can't help them with programming problems, try to find someone who can. Teach them how to use books and how to get the most out of computer programming. A good starter would be a book on how to avoid creating bugs in the code in the first place. Learning this will keep them out of trouble much later in their career. Try to encourage them starting seemingly impossible projects, like creating a full-on 3D game. Experienced folk in the business have told me that any good game takes up to 1-2 time years (no matter how many people are on the project), so the earlier you start, the better. Make the result open-source for the benefit of all or sell it. BTW, studying existing code is good, but it's always more rewarding to write your own.
That is true for almost any kind of software development, especially when you're young and inexperienced. Deadlines will get young coders to begin a frantic struggle for keeping the deadline, which they will overshoot with most certainty, b/c of all the bugs they create in the code and have to iron out later. Software projects in any industry are a costly matter, and if the result is any usable depends largely on the pool of developers. It is always a good idea to have a couple of seasoned pros on the team. Young and cheap programmers often cost much more money in the end. In the industry, millions are being wasted and jobs are lost constantly b/c of that. Greed and bad management are ill advisors for a software project.
If you look at it as three lines of 11 bits each, placed below each other, you get 3 groups of 4-3-4 blocks that are bit masks for a slash, a circle, and another slash:
1100 101 1100
1001 010 1001
0011 101 0011
Granted, the 64-bit Flash player seemed to be less stable to me as well. Additionally, it doesn't seem to work well with PulseAudio. But on RHEL 5, I don't need to care anymore, since I'm neither using 64 bit, nor using PulseAudio.;P
Adobe Flash has been working on Linux for many years now. Only on some platforms like Ubuntu 10.04, Flash is a bit flaky. I'm running RHEL 5, and on that, Flash runs perfectly stable (the original ATI driver as well, btw).
Indeed, first thing I did was clicking on LGP's site to see if it's true. lol -- But I'm really interested in Linux games, and so I'm happy I found that site.:)
Thing is, I don't use Windows at all currently (I use it only on VirtualBox if I have to use a specific tax app once a year), so I'm happy about any Linux-related products that I find. I don't mind spending money for Linux software. Right now I'm thinking of going back to a 32-Bit Linux distro for maximum compatibility, especially for gaming. I have PowerDVD, Nero and Renoise for Linux. Quake 4 worked fine some time ago, and I have to try UT3 on Linux, and install UT2004 again. I'm definitely getting some LGP ports for Linux. Their DRM seems to be pretty non-intrusive, and decent, as well.:)
Well, this code does the same as yours. I wrote it in 46 minutes, using only the ANSI C library.
what another person might spend a week doing in C (which is spectacularly unsuited for such tasks anyway).
A skilled C programmer also needs less than 1 hour for something like that. The standard C library has a lot of text processing functions (like sscanf()), plus it has a qsort(). Ever wonder why the C I/O library is suitable for managing database files? All the field functions in fscanf()/fprintf() etc. are suitable for database management.
Also, C is still one of the prime choice languages for writing compilers, which do a lot of text processing.
Inertia Drive.
Works for me, I'm using RHEL5 (RedHat Linux). It shows a domain name in Arabic or similar script belonging to a guy in Teheran. I don't know if the rendering is correct, but a guy speaking Arabic once told me the letters need not be connected ... they show up as individual letters in my console, but that could be a bug in the whois program or in the console app.
Exactly ... and I'm sure there was also some application software using rollover images. That was pretty easy to program.
I'm sure there's also some Amiga software written before 1990 that has used rollover images for navigation.
Wikipedia ... the ccTLD is encoded in Punycode ... that makes it easy to use in any type of internet software, since it's just ASCII.
We have gone a bit higher than that, 10 gigabit over a single optical transciever is perfectly doable these days.
Ah ok, I haven't followed the developments in the past couple of years.
Really?! care to provide a citation for that? All the searches i've done for VDSL-50 seem to reffer to 50 megabit products. (...) Again if true please provide a citation for this, it sounds like you have mixed up megabits and gigabits
Ah ... I'm terribly sorry, I guess I'm a bit tired ... of course I was referring to Mbit not Gbit!
Why not? You simple mix the liquid with any type of cells, like bacteria, viruses, or any plant or animal cells. Of course it must be something that is unlikely to be found naturally in the affected area. When the thief is sprayed with the liquid, the unusual DNA sticks to him and his clothing and can be found by analysis.
There's a simple explanation to that: In the 90ies it was discovered that the maximum carrier frequency of fiber optics is around 1-2 GHz, while there's new milestones been reached over copper wire every couple of years. Nowadays we have 50 Gbit over copper wire (VDSL-50), that's impossible over fiber. Of course, if you combine many fibers, you can achieve the same rate, but it's probably much more expensive. However, it is being researched whether partial waves and multiple colors (wavelengths) can be used to increase fiber bandwith. Shortly after the reunification of Germany, East Germany has been equipped with vast amounts of fiber optics, which was being thought of the technology of the future, and now they won't get the higher transmission rates until additional copper cables have been laid. In West Germany, copper was always dominating, so we don't have any bandwidth limits here (depending on the quality of cables installed on the way to the home). The maximum I can get currently is 16 Gbit over copper wire.
... almost every custom-built computer (of which many existed) had its own operating system. Many software companies developed OS and application software.
... if you want to keep it simple, it's just an excersize in recursion ...
Writing OSes is still very common in embedded systems.
Depending on what you want, writing a Windows compatibility layer (if that's really what they want, if they didn't just want to say "has a GUI") is also no rocket science. The Windows API documentation is readily available, and if you stick to a specific set of APIs, you can come up with a compatible system pretty quickly.
WINE is not a good example for Windows compatibility, since it's ill-designed and bug-ridden. ECMA for instance provides a set of standards registered by Microsoft for Windows 3.x, and that can make a good starting point.
I think the project might be successful.
Oh, and writing compilers is no rocket science either
Experience is not knowledge per se, but it is experience. That's why it's two different words. I've begun computer programming as a kid, and 30 years later, the experience I have now isn't even on the same planet as the experience I had when I was in my 20ies. Foolishness of youth and pride in all honor, but experience does grow with age, and the earlier you begin, the better. The only way to become proficient in computer programming is to do it ... and after you've written a couple thousand programs, experience does begin to accumulate.
You're entirely right. That particular company did go bankrupt.
Yeah, I completely agree ... I often made the experience myself ... CS graduates who think they know everything; comically, while being reistant to advice, they learn the hard way what it means to be a real programmer ... lol ... everybody needs to make their own experiences, it seems ... and programming truly is a form of creative expression, like music ...
That's a pretty good idea ... lack of communication is often the source of all kinds of havoc.
Companies are all different ... some are good, some are bad, but in the end, all it comes down to is what an individual developer wants to do. It is possible to switch jobs ... if you're not satsified at one company, go to another. There's so many different kinds of people in all the software industry, that there's also many different kinds of software development firms ...
Not really. Having tried both, I actually found making corporate Java programs to be a _lot_ less stress.
And I've seen Java shops in which inexperienced coders slaved away for years at pointless code b/c of their own bad app design ... often plenty of code had to be thrown away and replaced b/c it was simply useless and overcomplicated. Customers got frustrated and threatened with lawsuits ...
Generally, I do agree with you. But really, all those problems are not typical for the games industry.
When Designer X comes with his bad idea, then it's always a good idea to talk it over with him, or management. And "nobody listens" doesn't count. You can always talk to people ... if people can't be talked to, they shouldn't be in an office anyway ...
In the games industry you're not staying late to fix a few bugs you've made now and then, you're staying late because you have to, because it's the only way the project can possibly get done in the allocated timeframe with the resources given.
That's exactly the point I wanted to make: Inexperienced coders overshoot deadlines ... if it's not b/c of bugs then it's b/c of excess work b/c of bad code design ... well designed code can be changed in a snap, and all you have to do is make a few changes here and there.
In some industries, like business applications, companies often develop their own 4GL systems to write business applications and make changes within minutes ... often even at the customer's site, so the customer can say "ah ... I want that field here, that font there ... ah, marvellous, you're already finished".
So, to have the right games engine that takes the least amount of work is paramount in saving time during game development. And to make that, takes experience.
I've seen lesser sophisticated shops in which people slaved away nonsensically at mountains of pointless code that could've been avoided.
The best way to learn any computer programming is to just do it. Get your students interested in developing their own games in their spare time, and help them along if they run into trouble. If you can't help them with programming problems, try to find someone who can. Teach them how to use books and how to get the most out of computer programming. A good starter would be a book on how to avoid creating bugs in the code in the first place. Learning this will keep them out of trouble much later in their career. Try to encourage them starting seemingly impossible projects, like creating a full-on 3D game. Experienced folk in the business have told me that any good game takes up to 1-2 time years (no matter how many people are on the project), so the earlier you start, the better. Make the result open-source for the benefit of all or sell it. BTW, studying existing code is good, but it's always more rewarding to write your own.
That is true for almost any kind of software development, especially when you're young and inexperienced. Deadlines will get young coders to begin a frantic struggle for keeping the deadline, which they will overshoot with most certainty, b/c of all the bugs they create in the code and have to iron out later. Software projects in any industry are a costly matter, and if the result is any usable depends largely on the pool of developers. It is always a good idea to have a couple of seasoned pros on the team. Young and cheap programmers often cost much more money in the end. In the industry, millions are being wasted and jobs are lost constantly b/c of that. Greed and bad management are ill advisors for a software project.
If you look at it as three lines of 11 bits each, placed below each other, you get 3 groups of 4-3-4 blocks that are bit masks for a slash, a circle, and another slash:
1100 101 1100
1001 010 1001
0011 101 0011
Granted, the 64-bit Flash player seemed to be less stable to me as well. Additionally, it doesn't seem to work well with PulseAudio. But on RHEL 5, I don't need to care anymore, since I'm neither using 64 bit, nor using PulseAudio. ;P
Adobe Flash has been working on Linux for many years now. Only on some platforms like Ubuntu 10.04, Flash is a bit flaky. I'm running RHEL 5, and on that, Flash runs perfectly stable (the original ATI driver as well, btw).
Indeed, first thing I did was clicking on LGP's site to see if it's true. lol -- But I'm really interested in Linux games, and so I'm happy I found that site. :)
Thing is, I don't use Windows at all currently (I use it only on VirtualBox if I have to use a specific tax app once a year), so I'm happy about any Linux-related products that I find. I don't mind spending money for Linux software. Right now I'm thinking of going back to a 32-Bit Linux distro for maximum compatibility, especially for gaming. I have PowerDVD, Nero and Renoise for Linux. Quake 4 worked fine some time ago, and I have to try UT3 on Linux, and install UT2004 again. I'm definitely getting some LGP ports for Linux. Their DRM seems to be pretty non-intrusive, and decent, as well. :)
LGP's blog shows that the company is still active. Last update was from April 5, 2010.