Oh, and once you've had West Nile you can't get it again.
This is especially true of those who die of the disease. West Nile disease takes the life of an estimated one out of every eight patients who show symptoms. Most of these fatalities occur in immunocompromised individuals such as the elderly.
Can it be created as part of the installation? Or deserialized then?
This would work on platforms shaped roughly like a PC (Mac, Sun, etc), but it wouldn't work on some platforms I code for. Many of these platforms have no high-capacity media that's writable by the device and thus have no concept of "installation." One of these platforms is a handheld device that has only a removable 4 MB ROM board on which the program and data are stored, 384 KB of RAM (32 KB on CPU, 256 KB on secondary slow RAM, 96 KB on video chip), and a 64 KB flash chip on the ROM board for storing the state of the simulation between runs. The data, which consist of models of a simulated environment, would need to be stored in ROM in the hardware's native struct format. I guess the answer is to deserialize data in the build process. I knew about that solution; I just wondered if there was a better way.
If what you're doing is truly real-time (a widely misunderstood concept), then you need a real-time OS and architecture.
I understand the difference between hard real time and soft real time. My apps are interactive simulations for training and entertainment purposes. They need only soft real time in the sense that multi-second delays are not acceptable.
then maybe you can agree on a structure that meets both ends' data alignment requirements at the beginning of the session.
For unknown PC-like workstation architectures (Mac, Sun, Itanium, Alpha, etc), can I generally assume that both sides use the so-called "natural" data alignment, that is, 4-byte types are aligned to addresses a multiple of 4, and 8-byte types are aligned to addresses a multiple of 8?
You're almost certain to use autoconf, imake, or something similar
So what do I do for architectures that Autoconf does not support, such as the handheld device I named above?
This is stuff that works fine on remote X11, so you can test it that way.
I have not investigated remote X11. Does remote X11 work well over a residential high-speed Internet connection?
Personally, I left my hometown of San Angelo, Texas and came to the Silicon Valley to find work.
I'm new to this. How do most people finance their first relocation? (Moderators: Relocation is sometimes necessary to gain access to equipment used to test portability of an application.)
Look, I'm not saying that you're a terrible programmer if you ever write anything that isn't portable.
It becomes tough when the question "Does 'portable' mean that it runs on several architectures, or that it runs on handheld devices?" is answered with "Both."
and maybe add something like '#ifndef i386 / #error "See ARCHITECTURE NOTES in the docs" / #endif'.
Thanks. The knowledge that such a last resort (that is, if lead developer has never heard of this architecture then refuse to compile) is not grounds for being ostracized takes a load off my mind.
Re:Money crunches create platform dependencies
on
Analysis: x86 Vs PPC
·
· Score: 1
Regarding endianness and padding: Is it acceptable to take a whole minute to manually serialize or de-serialize a complicated preinitialized data structure byte-by-byte, especially if the data structure is too large to fit into RAM? Not in some of the real-time simulation apps I write. Can database tables be moved from one architecture to another without dumping to text?
Size of ints. Make no assumptions.
In ANSI C (C89/C90, not C99 which few compilers support), how do I get a 32-bit integer type that won't be 16-bit or 64-bit? Choosing 'int' will give 16-bit types on some architectures; choosing 'long int' will give 64-bit types on some architectures.
Most of these are implicitly used without the programmer realizing it
So how do I check a program to make sure that I have not used such an assumption, without spending hours reading over the source code line-by-line several times?
Check with your friends (hobbyists often have old Alphas or Suns, and PPCs are becoming more common)
Unlike you, I have not been successful in finding friends that have computers other than PCs and game consoles.
check at work
Unlike you, I have not been successful in finding a job in my field (programming) in the area where my family lives (Fort Wayne, Indiana).
Could you give me some pointers on what I've been doing wrong?
You mean "an application can't take down Windows XP." I wasn't talking about app-induced crashes but rather driver-induced crashes. See, the PC hardware is a highly variable thing and needs drivers from several vendors to make it work. These drivers can and often do have defects that cause system instability.
and tv out is cheap and plentiful.
But not yet standard on new entry-level PCs, which means that a PC owner has to buy another $100 video card to be able to display the PC's output on an affordable display larger than 19" diagonal.
Microsoft is on top today because the PC has been open to the industry, and Microsoft embraced and pushed that concept.
Open? Hardly. Microsoft's standard OEM license through much of the 1980s and 1990s required a PC maker to pay Microsoft for each processor it sold, whether a Microsoft operating system was installed or not.
Honestly, I'd like to see IA-64 become the next standard (just my opinion).
IA64? Yuck. IA64 binaries are bloated (16 bytes per 3 instructions on IA64 vs. 16 bytes per 8 instructions on ARM Thumb), and bloated binaries creates a need for larger instruction caches, which make the processor hot and expensive. And just imagine how hot an Itanium-M laptop would get.
Most of the older action games for PC are difficult to impossible to obtain lawfully because they have been phased out of print in favor of new releases that require "an uber-l337 gaming PC" as you put it.
The sales of a widely publicized, all-platform title definitely bear some relation to the market situation.
The Xbox's exclusive titles tend toward "T" and "M" ratings, while the GameCube's tend toward "E" (and mild "T" such as Super Smash Bros. Melee). I'm guessing that because of this, more families with under-13 children have a GameCube than have an Xbox. Isn't Enter the Matrix rated M?
month-by-month, the US dollar share of the market of the Xbox is rising, and that of the Gamecube is diminishing.
Only because the Xbox plus a game costs much more than $150 (the current US price for a GameCube plus a game). Dollar market share is based on number of units sold times the price of goods. I don't feel that how much money was spent on the system (dollar market share) is as important as how many households the system is in (unit market share).
No matter what slight edge the Xbox may have over the GameCube in Europe and White America, the GameCube is still whipping the Xbox's butt in Japan. There, the Xbox is neck and neck with the PSone, for cricket's sake!
Windows crashes. Most cheap PCs don't ship with TV output. For games not in keyboard-and-mouse genres, the PS1 joypad reacts better than most PC joypads (that is, except for PS1 joypads hooked up through the EMS USB2 adapter (compare prices).
I don't see a mass shift to another platform because the chips run cooler.
If the chips run cooler, they eat less energy. Executions per kilowatt-hour is a valid benchmark unit, especially for large clusters where the cost of electric power becomes significant.
If the chips run cooler, you can safely put more of them in a box. Executions per cubic meter second is a valid benchmark unit, especially where rack space must be rented.
There are no engineering reasons to back down from anything
If cost-benefit analysis indicates that a ground-up rewrite would provide better value than refactoring, even in the face of Joel's article, then what do you do?
As the article observes, Linux (and open-source software in general) is not locked into the x86 architecture like Windows is.
Unfortunately, most games do not fall into "open-source software in general" because most artists and music composers haven't warmed up to "free as in speech" the way some programmers have.
barring architectural lock-in
In those market segments that are of apparent necessity dominated by proprietary software (such as games), architectural lock-in is the rule, not the exception.
Money crunches create platform dependencies
on
Analysis: x86 Vs PPC
·
· Score: 1
As a coder, how can I prevent myself from making a "badly written app" if I don't have enough money to buy a sample of each platform?
Do [RIAA members] have the patent on music, or something?
Actually, Sony is an RIAA member, and Sony does hold several patents related to the Compact Disc Digital Audio standard.
artists that have never had anything to do with any RIAA company.
If your stereo system was made by Sony, then you have done business with an RIAA and MPAA member. If you have a Sony CD recorder or have used Sony CD-R media, then you have done business with an RIAA and MPAA member. If you shot your album cover with a Sony digital camera, then you have done business with an RIAA and MPAA member. Sure, Sony Electronics and Columbia Records are quite autonomous within Sony Corporation, but they still share profits under NYSE:SNE. Likewise, if you connect to the Internet through AOL or Road Runner, then you have done business with Warner Communications, an RIAA and MPAA member.
The present suit does not accuse RIAA of "not allowing [webcasters] to play copyrighted material without permission" but rather of not allowing them to play copyrighted material without paying twice. Traditional FCC-licensed AM and FM radio stations must pay performance rights organizations such as BMI, ASCAP, and SESAC for the right to broadcast copyrighted songs[1]. Internet broadcasters, on the other hand, must pay both the performance rights organizations and the record labels.
[1] A "musical work", or "song" for short, consists of a sequence of notes, along with any accompanying harmonies and lyrics. A "sound recording" consists of the sound of a performance of a musical work.
But photographers don't have to pay a fee simply for the right to take pictures.
Likewise, webcasters don't have to pay a fee simply for the right to broadcast their own recordings of traditional songs. They just have to buy their musical instruments and record the songs.
Neither [BitTorrent nor Napster] are presently peer-to-peer networks.
More precisely: BitTorrent and OpenNap are centralized with respect to search but peer-to-peer with respect to file transfers. They have the P2P advantage of scalable bandwidth but lack the P2P advantage of immunity to legal or technical threats. Besides, s/BitTorrent/eMule/ and grandparent's point remains valid to an extent.
...definitely not CD-quality songs...
Nit: Any song is CD quality once recorded in a professional studio by competent engineers. A coded recording of that song, on the other hand, may not be CD quality. Remember that a "song" is sheet music, and a "recording" is what you find in the music [sic] section of Best Buy. I do agree with your point that the audio clarity of most recordings broadcast over FM or the Internet is nowhere near what Compact Disc Digital Audio is capable of.
I'd like to see more evidence that the distribution of crappy MP3s really cuts into record company sales.
The try-before-you-buy aspect of copying a single recorded song at a time keeps people from buying albums that have only a couple good tracks on them. The labels can adapt by abandoning the business model of tying in favor of something based around singles.
How to do <font size="+1"> in CSS
on
Open Source Law
·
· Score: 0, Offtopic
I do use the tag sometimes when I'm dashing off a quick/temporary hand-coded HTML fragment, especially with relative size like size="+1" which is not easily indicated with CSS.
To give you an idea: Replace all instances of <font size="+1">...</font> with <big>...</big>, which is semantically equivalent. (Likewise, there's a <small>...</small> inline element as well.) Or in CSS, use <span style="font-size:120%">...</span>. It may appear longer at first, but once it's CSS, you can bind it to a class.
It gets transmitted to the phone as a .WAV or something
Actually, ring tones on the phones I've used seem to be stored as a sequence of pitches and durations, sort of like a .mid file.
Oh, and once you've had West Nile you can't get it again.
This is especially true of those who die of the disease. West Nile disease takes the life of an estimated one out of every eight patients who show symptoms. Most of these fatalities occur in immunocompromised individuals such as the elderly.
Modern CPUs that execute x86 instructions spend half their transistors on decoding the instructions.
Can it be created as part of the installation? Or deserialized then?
This would work on platforms shaped roughly like a PC (Mac, Sun, etc), but it wouldn't work on some platforms I code for. Many of these platforms have no high-capacity media that's writable by the device and thus have no concept of "installation." One of these platforms is a handheld device that has only a removable 4 MB ROM board on which the program and data are stored, 384 KB of RAM (32 KB on CPU, 256 KB on secondary slow RAM, 96 KB on video chip), and a 64 KB flash chip on the ROM board for storing the state of the simulation between runs. The data, which consist of models of a simulated environment, would need to be stored in ROM in the hardware's native struct format. I guess the answer is to deserialize data in the build process. I knew about that solution; I just wondered if there was a better way.
If what you're doing is truly real-time (a widely misunderstood concept), then you need a real-time OS and architecture.
I understand the difference between hard real time and soft real time. My apps are interactive simulations for training and entertainment purposes. They need only soft real time in the sense that multi-second delays are not acceptable.
then maybe you can agree on a structure that meets both ends' data alignment requirements at the beginning of the session.
For unknown PC-like workstation architectures (Mac, Sun, Itanium, Alpha, etc), can I generally assume that both sides use the so-called "natural" data alignment, that is, 4-byte types are aligned to addresses a multiple of 4, and 8-byte types are aligned to addresses a multiple of 8?
You're almost certain to use autoconf, imake, or something similar
So what do I do for architectures that Autoconf does not support, such as the handheld device I named above?
This is stuff that works fine on remote X11, so you can test it that way.
I have not investigated remote X11. Does remote X11 work well over a residential high-speed Internet connection?
Personally, I left my hometown of San Angelo, Texas and came to the Silicon Valley to find work.
I'm new to this. How do most people finance their first relocation? (Moderators: Relocation is sometimes necessary to gain access to equipment used to test portability of an application.)
Look, I'm not saying that you're a terrible programmer if you ever write anything that isn't portable.
It becomes tough when the question "Does 'portable' mean that it runs on several architectures, or that it runs on handheld devices?" is answered with "Both."
and maybe add something like '#ifndef i386 / #error "See ARCHITECTURE NOTES in the docs" / #endif'.
Thanks. The knowledge that such a last resort (that is, if lead developer has never heard of this architecture then refuse to compile) is not grounds for being ostracized takes a load off my mind.
Regarding endianness and padding: Is it acceptable to take a whole minute to manually serialize or de-serialize a complicated preinitialized data structure byte-by-byte, especially if the data structure is too large to fit into RAM? Not in some of the real-time simulation apps I write. Can database tables be moved from one architecture to another without dumping to text?
Size of ints. Make no assumptions.
In ANSI C (C89/C90, not C99 which few compilers support), how do I get a 32-bit integer type that won't be 16-bit or 64-bit? Choosing 'int' will give 16-bit types on some architectures; choosing 'long int' will give 64-bit types on some architectures.
Most of these are implicitly used without the programmer realizing it
So how do I check a program to make sure that I have not used such an assumption, without spending hours reading over the source code line-by-line several times?
Check with your friends (hobbyists often have old Alphas or Suns, and PPCs are becoming more common)
Unlike you, I have not been successful in finding friends that have computers other than PCs and game consoles.
check at work
Unlike you, I have not been successful in finding a job in my field (programming) in the area where my family lives (Fort Wayne, Indiana).
Could you give me some pointers on what I've been doing wrong?
use a build farm like Sourceforge's
Yes, but then how do I test graphical code?
XP doesn't crash
You mean "an application can't take down Windows XP." I wasn't talking about app-induced crashes but rather driver-induced crashes. See, the PC hardware is a highly variable thing and needs drivers from several vendors to make it work. These drivers can and often do have defects that cause system instability.
and tv out is cheap and plentiful.
But not yet standard on new entry-level PCs, which means that a PC owner has to buy another $100 video card to be able to display the PC's output on an affordable display larger than 19" diagonal.
Microsoft is on top today because the PC has been open to the industry, and Microsoft embraced and pushed that concept.
Open? Hardly. Microsoft's standard OEM license through much of the 1980s and 1990s required a PC maker to pay Microsoft for each processor it sold, whether a Microsoft operating system was installed or not.
Honestly, I'd like to see IA-64 become the next standard (just my opinion).
IA64? Yuck. IA64 binaries are bloated (16 bytes per 3 instructions on IA64 vs. 16 bytes per 8 instructions on ARM Thumb), and bloated binaries creates a need for larger instruction caches, which make the processor hot and expensive. And just imagine how hot an Itanium-M laptop would get.
Most of the older action games for PC are difficult to impossible to obtain lawfully because they have been phased out of print in favor of new releases that require "an uber-l337 gaming PC" as you put it.
The sales of a widely publicized, all-platform title definitely bear some relation to the market situation.
The Xbox's exclusive titles tend toward "T" and "M" ratings, while the GameCube's tend toward "E" (and mild "T" such as Super Smash Bros. Melee). I'm guessing that because of this, more families with under-13 children have a GameCube than have an Xbox. Isn't Enter the Matrix rated M?
month-by-month, the US dollar share of the market of the Xbox is rising, and that of the Gamecube is diminishing.
Only because the Xbox plus a game costs much more than $150 (the current US price for a GameCube plus a game). Dollar market share is based on number of units sold times the price of goods. I don't feel that how much money was spent on the system (dollar market share) is as important as how many households the system is in (unit market share).
No matter what slight edge the Xbox may have over the GameCube in Europe and White America, the GameCube is still whipping the Xbox's butt in Japan. There, the Xbox is neck and neck with the PSone, for cricket's sake!
At which point, why buy the console?
Windows crashes. Most cheap PCs don't ship with TV output. For games not in keyboard-and-mouse genres, the PS1 joypad reacts better than most PC joypads (that is, except for PS1 joypads hooked up through the EMS USB2 adapter (compare prices).
at least as much as those who predicted midi would replace studio musicians by now.
In popular music, it largely has. In some genres, it has entirely. (Generic Trance anyone?)
why would a niche market drive (and take over) a huge market?
Stranger things have happened. The niche market of movies has taken over the electronics industry.
I don't care about backwards compatability (as long as you can have dual installs of perl6 and perl5)
But then watch as web hosting companies charge double for having such dual installs.
It would be absolutely fantastic to interact with those people I know in real life in a[n online] world
It would be way too easy to slip up and fall Out Of Character.
Jews and Christians say the same thing happens occasionally in this world as well.
In the religions that form in the worlds of Xbox games, is there a god named "Bill"?
On the other hand, there is the fairly large problem of "griefers" ... can you even reconcile these two ideas ?
Ultima Online solved it by banishing player-killers to a separate realm.
I don't see a mass shift to another platform because the chips run cooler.
If the chips run cooler, they eat less energy. Executions per kilowatt-hour is a valid benchmark unit, especially for large clusters where the cost of electric power becomes significant.
If the chips run cooler, you can safely put more of them in a box. Executions per cubic meter second is a valid benchmark unit, especially where rack space must be rented.
What exactly do politics have to do with programming languages?
One word: Ada.
There are no engineering reasons to back down from anything
If cost-benefit analysis indicates that a ground-up rewrite would provide better value than refactoring, even in the face of Joel's article, then what do you do?
[Microsoft's Windows OS unit] can quickly jump on a new architecture to make $$, or easily shift gears with the market (if everyone moves from x86).
The problem is that Microsoft's Windows OS unit defines the market. There is only one platform that could distantly compete with x86 under foreseeable market conditions, and its users tend to like the OS they already have.
As the article observes, Linux (and open-source software in general) is not locked into the x86 architecture like Windows is.
Unfortunately, most games do not fall into "open-source software in general" because most artists and music composers haven't warmed up to "free as in speech" the way some programmers have.
barring architectural lock-in
In those market segments that are of apparent necessity dominated by proprietary software (such as games), architectural lock-in is the rule, not the exception.
As a coder, how can I prevent myself from making a "badly written app" if I don't have enough money to buy a sample of each platform?
Do [RIAA members] have the patent on music, or something?
Actually, Sony is an RIAA member, and Sony does hold several patents related to the Compact Disc Digital Audio standard.
artists that have never had anything to do with any RIAA company.
If your stereo system was made by Sony, then you have done business with an RIAA and MPAA member. If you have a Sony CD recorder or have used Sony CD-R media, then you have done business with an RIAA and MPAA member. If you shot your album cover with a Sony digital camera, then you have done business with an RIAA and MPAA member. Sure, Sony Electronics and Columbia Records are quite autonomous within Sony Corporation, but they still share profits under NYSE:SNE. Likewise, if you connect to the Internet through AOL or Road Runner, then you have done business with Warner Communications, an RIAA and MPAA member.
The present suit does not accuse RIAA of "not allowing [webcasters] to play copyrighted material without permission" but rather of not allowing them to play copyrighted material without paying twice. Traditional FCC-licensed AM and FM radio stations must pay performance rights organizations such as BMI, ASCAP, and SESAC for the right to broadcast copyrighted songs[1]. Internet broadcasters, on the other hand, must pay both the performance rights organizations and the record labels.
[1] A "musical work", or "song" for short, consists of a sequence of notes, along with any accompanying harmonies and lyrics. A "sound recording" consists of the sound of a performance of a musical work.
But photographers don't have to pay a fee simply for the right to take pictures.
Likewise, webcasters don't have to pay a fee simply for the right to broadcast their own recordings of traditional songs. They just have to buy their musical instruments and record the songs.
Neither [BitTorrent nor Napster] are presently peer-to-peer networks.
More precisely: BitTorrent and OpenNap are centralized with respect to search but peer-to-peer with respect to file transfers. They have the P2P advantage of scalable bandwidth but lack the P2P advantage of immunity to legal or technical threats. Besides, s/BitTorrent/eMule/ and grandparent's point remains valid to an extent.
Nit: Any song is CD quality once recorded in a professional studio by competent engineers. A coded recording of that song, on the other hand, may not be CD quality. Remember that a "song" is sheet music, and a "recording" is what you find in the music [sic] section of Best Buy. I do agree with your point that the audio clarity of most recordings broadcast over FM or the Internet is nowhere near what Compact Disc Digital Audio is capable of.
I'd like to see more evidence that the distribution of crappy MP3s really cuts into record company sales.
The try-before-you-buy aspect of copying a single recorded song at a time keeps people from buying albums that have only a couple good tracks on them. The labels can adapt by abandoning the business model of tying in favor of something based around singles.
I do use the tag sometimes when I'm dashing off a quick/temporary hand-coded HTML fragment, especially with relative size like size="+1" which is not easily indicated with CSS.
To give you an idea: Replace all instances of <font size="+1">...</font> with <big>...</big>, which is semantically equivalent. (Likewise, there's a <small>...</small> inline element as well.) Or in CSS, use <span style="font-size:120%">...</span>. It may appear longer at first, but once it's CSS, you can bind it to a class.