ATT was facing growing competition, so they had the government declare them a "natural monopoly." In 1984, the government was just trying to undue the mistake it had made 60 years earlier.
The gub'mint didn't create the Windows "monopoly". It was a natural effect of MASSIVE NETWORK EFFECTS. Windows obviously (still) has competition.
The phone system is a prime candidate for even stronger NETWORKS EFFECTS. Imagine telco Foo has 51% market share and telco Bar has 49% market share and their systems are islands. Eventually most people will switch to the telco that allows them to connect with more people. It's not necessarily a quick, clean process, though.
Dedicated to the greatest film director who never lived.
Take, for instance, the science fiction epic Dune (1984). Under the protest of original writer-director David Lynch, the film was recut for television broadcast, bloated to 190 minutes with previously unseen footage and new narration. Lynch immediately disowned this version (he also exchanged his screenplay credit for the traitorous pseudonym "Judas Booth"), and the notorious Smithee was given credit as the ill-fated epic's director. Under Director's Guild guidelines, the assignment of the name "Allen (aka Alan) Smithee" is an official procedure of credit arbitration. Although the "last-resort" usage of the name has grown somewhat rare, new works by "Smithee" will continue to appear as long as filmmakers find a need to distance themselves from a project that has gone creatively sour.
We're experiencing these Netscape problems at my work. Plus Netscape 6 drops backwards compatibility with Netscapes 4's DOM! Now our web product must support IE, N4, and N6 DOMs..:-(
Hmm, maybe it's so that the person writing the program doesn't all of a sudden find that a FooException crashed it because it was added in Version 1.1.5.3 and the program was written to comply to version 1.0.4.2? It makes sure that - oh no, you always know what exceptions might be coming!
exactly. This is one of my favorite Java features! The exception throws clause is part of that method's signature. Python can't do this because it supports lambda functions. The code can't know at runtime exactly which methods will be called by whom.
ML Server Pages (MSP) is a web scripting language, a loose integration of Standard ML (SML) and HTML in the style of Sun's Java Server Pages, Microsoft's Active Server Pages, or PHP.
So far we have designed and implemented a usable proof-of-concept system, based on Moscow ML and the Apache webserver. Current goals are to obtain more experience with applications, and to improve efficiency, scalability, security, and functionality of the implementation.
The talk will present MSP script examples, details of the implementation, and ideas for future work. Feed-back on the design is most welcome.
High-level languages are not always slower than assembly. For specific tasks, tuned high-level language compilers have more optimization hints. Plus "hand tuned" assembly isn't always optimal, especially across various Intel hardware.
With the intent of getting an Ada waiver, a defense contractor wrote a portion of its software in Ada to prove that Ada could not produce real time code. The expectation was that the resultant machine code would to be too large to be effective for a communications application. However, the opposite was verified. After minor optimization, Ada compiled smaller and faster than assembly.
btw, you should use MSVCRT's _beginthread() instead of Win32's CreateThread(). _beginthread() initializes thread-local storage for threads that call MSVCRT functions.
Also (from MSDN\CreateThread): A thread that uses functions from the C run-time libraries should use the beginthread and endthread C run-time functions for thread management rather than CreateThread and ExitThread. Failure to do so results in small memory leaks when ExitThread is called.
Those 8 threads are not necessarily threads managed by Netscape code. Windows often creates "behind the scenes" threads in your process for GUI or IO tasks.
Palm Pilots, for example, and other devices, like cell phones, pagers, watches, cameras, VCRs, TiVos, PS2s, PSXs, Dreamcasts, N64s, GameCubes, GameBoys, Macs, Psions, microwaves, cars, and just about anything else with a couple hundred K of ram and a microprocessor.
Do you think that any of these devices have non-proprietary APIs? If I avoid Win32 APIs and create a Palm Pilot app, can I take advantage of Dreamcast, PS2, or Tivo APIs? Didn't think so.
Explorer.exe is the NT shell. It is not in the kernel. In fact, when you can kill Explorer.exe from Taskmgr and it will restart (useful when your shell freezes). With NT4, Microsoft moved graphics and GDI into the kernel, not the shell.
If you do move to SF, you should consider SanFran. Since BART (think above ground subway, except where it goes under the Bay) runs through Berkeley, you can walk to a station and be in downtown SF in under 30 mins without ever seeing a brakelight or putting up with exhaust fumes.
So are you recommending living in SF or working in SF? Your comment sounds like your recommending working in SF, but then you mention Berkeley housing costs.:-)
The only real key to living here is to get a place out of the rat race where you can spend evenings and weekends without thinking about technology. The local music scene is excellent, the symphony is excellent, there are lots of museums, it is easy to get to the theatre for an evenings entertainment, and there are still affordable places to live if you are willing to be a bit adventurous.
Which Bay Area towns or neighborhoods do you recommend that are not outrageously expensive or unsafe? I live in Seattle, but can't stand another deep freeze winter. I plan to move to the Bay Area (possibly Berkeley?) or LA next year. btw, are there software jobs outside of downtown SF or San Jose?
With so many tech and service workers leaving the Bay Area, will it become a waste land in 10 years? At some point, people won't want to commute for 2-4 hours to a shitty service job, even if it pays well. The United States "outsources" much of its manual labor to the hyper-poor around the world. Will the same thing happen in the Bay Area?
I haven't seen it, but there is an independent film called "I Want To Blow Up Silicon Valley" that attempts to capture the feeling of Bay Area locals being run out of their own town.
The film shows a local perspective of the technology culture which has overwhelmed Northern California. Rob Logan returns to this place he grew up in to find an old flame. Instead, he finds a place he doesn't recognize quickly becoming a place he doesn't like. He decides he has to set up a "super highway" roadblock to disrupt this "progress" from being transmitted any further. The green hills overlooking the rapidly expanding concrete jungle of Silicon Valley were once the stomping grounds of hippies and Hell's Angels on Harleys. Now they are overrun by latte-drinking, keyboard tapping yuppies on their ten-speeds."
what you're showing is that Linux actually is _closer_ to the perfect scaling (Linux is off by a factor of 5, while Solaris is off by a factor of 15 from the perfect scaling line, and scales down really badly).
Now, that factor of 5 (or 3, for 2.4.0) is still bad. I'd love to see Linux scale perfectly (which in this case means that 10000 fd's should take exactly 100 times as long to poll() as 100 entries take). But I suspect that there are a few things going on, one of the main ones probably being that the kernel data working set for 100 entries fits in the cache or something like that.
Either
1. Solaris has solved the faster-than-light problem, and Sun engineers should get a Nobel price in physics or something.
2. Solaris "scales" by being optimized for 10000 entries, and not speeding up sufficiently for a small number of entries.
"I see you emailed Bob on April 43, while he was chatting on IRC with known subversives planning protests at the Government, Inc. convention in Topeka - explain yourself citizen!"
You've heard of RISC, Reduced Instruction Set Computers? Well, here is the concept taken to its logical extreme -- an emulator for a computer with just one (1) instruction (Subtract and Branch if Negative)! Sample programs in the OISC machine language are included.
Europeans are stoopid. I know I would rather get paid $90,000 than $90.000!!!!
I wonder if they thought at all about 'single point of failure' issues of putting all the power in one big box?
]-R/-\])!!!!111!!!!1!!
ATT was facing growing competition, so they had the government declare them a "natural monopoly." In 1984, the government was just trying to undue the mistake it had made 60 years earlier.
The gub'mint didn't create the Windows "monopoly". It was a natural effect of MASSIVE NETWORK EFFECTS. Windows obviously (still) has competition.
The phone system is a prime candidate for even stronger NETWORKS EFFECTS. Imagine telco Foo has 51% market share and telco Bar has 49% market share and their systems are islands. Eventually most people will switch to the telco that allows them to connect with more people. It's not necessarily a quick, clean process, though.
The "long long" hack in C99 is just plain stupid. How is C/C++ going to be patched *cough hacked cough* to support 128-bit integers? "long long long"?
Just make "long long" 128 bits. Make "short long long" 64 bits. Though, I'm not sure what "short long" or "long short" would be... maybe 16 bits?
The Alan Smithee Tribute Page
Dedicated to the greatest film director who never lived.
Take, for instance, the science fiction epic Dune (1984). Under the protest of original writer-director David Lynch, the film was recut for television broadcast, bloated to 190 minutes with previously unseen footage and new narration. Lynch immediately disowned this version (he also exchanged his screenplay credit for the traitorous pseudonym "Judas Booth"), and the notorious Smithee was given credit as the ill-fated epic's director. Under Director's Guild guidelines, the assignment of the name "Allen (aka Alan) Smithee" is an official procedure of credit arbitration. Although the "last-resort" usage of the name has grown somewhat rare, new works by "Smithee" will continue to appear as long as filmmakers find a need to distance themselves from a project that has gone creatively sour.
We're experiencing these Netscape problems at my work. Plus Netscape 6 drops backwards compatibility with Netscapes 4's DOM! Now our web product must support IE, N4, and N6 DOMs.. :-(
Hmm, maybe it's so that the person writing the program doesn't all of a sudden find that a FooException crashed it because it was added in Version 1.1.5.3 and the program was written to comply to version 1.0.4.2? It makes sure that - oh no, you always know what exceptions might be coming!
;-)
exactly. This is one of my favorite Java features! The exception throws clause is part of that method's signature. Python can't do this because it supports lambda functions. The code can't know at runtime exactly which methods will be called by whom.
Of course, C++ exceptions are even worse.
ML server pages project
ML Server Pages (MSP) is a web scripting language, a loose integration of Standard ML (SML) and HTML in the style of Sun's Java Server Pages, Microsoft's Active Server Pages, or PHP.
So far we have designed and implemented a usable proof-of-concept system, based on Moscow ML and the Apache webserver. Current goals are to obtain more experience with applications, and to improve efficiency, scalability, security, and functionality of the implementation.
The talk will present MSP script examples, details of the implementation, and ideas for future work. Feed-back on the design is most welcome.
High-level languages are not always slower than assembly. For specific tasks, tuned high-level language compilers have more optimization hints. Plus "hand tuned" assembly isn't always optimal, especially across various Intel hardware.
"Ada Whips Assembly"
With the intent of getting an Ada waiver, a defense contractor wrote a portion of its software in Ada to prove that Ada could not produce real time code. The expectation was that the resultant machine code would to be too large to be effective for a communications application. However, the opposite was verified. After minor optimization, Ada compiled smaller and faster than assembly.
btw, you should use MSVCRT's _beginthread() instead of Win32's CreateThread(). _beginthread() initializes thread-local storage for threads that call MSVCRT functions.
Also (from MSDN\CreateThread): A thread that uses functions from the C run-time libraries should use the beginthread and endthread C run-time functions for thread management rather than CreateThread and ExitThread. Failure to do so results in small memory leaks when ExitThread is called.
It currently has 8 threads running.
Those 8 threads are not necessarily threads managed by Netscape code. Windows often creates "behind the scenes" threads in your process for GUI or IO tasks.
tend to agree with Jamie Zawinski's analysis of threads in Netscape: if you write a single-COE state machine.
Do you have a reference for this? This sounds interesting; I'd like to read more.
Of course this begs the question, what comes after Mac OS X? Is it Mac OS XI or Mac OS 11 or ??
Current Macs ship with Mac OS 9, so the next version is Mac OS "10". I guess the name "Mac OS X" is more l33t. :)
Palm Pilots, for example, and other devices, like cell phones, pagers, watches, cameras, VCRs, TiVos, PS2s, PSXs, Dreamcasts, N64s, GameCubes, GameBoys, Macs, Psions, microwaves, cars, and just about anything else with a couple hundred K of ram and a microprocessor.
Do you think that any of these devices have non-proprietary APIs? If I avoid Win32 APIs and create a Palm Pilot app, can I take advantage of Dreamcast, PS2, or Tivo APIs? Didn't think so.
Explorer.exe is the NT shell. It is not in the kernel. In fact, when you can kill Explorer.exe from Taskmgr and it will restart (useful when your shell freezes). With NT4, Microsoft moved graphics and GDI into the kernel, not the shell.
select
;-)
text("(\(206\)\s+\d{3}-\d{4})","","","T")
from
http://foo/bar.html
where
approach=sequence("1","10","1","XX")
I wouldn't exactly call that a simple interface!
If you do move to SF, you should consider SanFran. Since BART (think above ground subway, except where it goes under the Bay) runs through Berkeley, you can walk to a station and be in downtown SF in under 30 mins without ever seeing a brakelight or putting up with exhaust fumes.
:-)
So are you recommending living in SF or working in SF? Your comment sounds like your recommending working in SF, but then you mention Berkeley housing costs.
The only real key to living here is to get a place out of the rat race where you can spend evenings and weekends without thinking about technology. The local music scene is excellent, the symphony is excellent, there are lots of museums, it is easy to get to the theatre for an evenings entertainment, and there are still affordable places to live if you are willing to be a bit adventurous.
Which Bay Area towns or neighborhoods do you recommend that are not outrageously expensive or unsafe? I live in Seattle, but can't stand another deep freeze winter. I plan to move to the Bay Area (possibly Berkeley?) or LA next year. btw, are there software jobs outside of downtown SF or San Jose?
With so many tech and service workers leaving the Bay Area, will it become a waste land in 10 years? At some point, people won't want to commute for 2-4 hours to a shitty service job, even if it pays well. The United States "outsources" much of its manual labor to the hyper-poor around the world. Will the same thing happen in the Bay Area?
I haven't seen it, but there is an independent film called "I Want To Blow Up Silicon Valley" that attempts to capture the feeling of Bay Area locals being run out of their own town.
The film shows a local perspective of the technology culture which has overwhelmed Northern California. Rob Logan returns to this place he grew up in to find an old flame. Instead, he finds a place he doesn't recognize quickly becoming a place he doesn't like. He decides he has to set up a "super highway" roadblock to disrupt this "progress" from being transmitted any further. The green hills overlooking the rapidly expanding concrete jungle of Silicon Valley were once the stomping grounds of hippies and Hell's Angels on Harleys. Now they are overrun by latte-drinking, keyboard tapping yuppies on their ten-speeds."
On kernel-traffic you can see a recent discussion about select and poll on Linux. They just don't scale well AT ALL.
Last week's Kernel-Traffic summary, Linus actually says the opposite:
what you're showing is that Linux actually is _closer_ to the perfect scaling (Linux is off by a factor of 5, while Solaris is off by a factor of 15 from the perfect scaling line, and scales down really badly).
Now, that factor of 5 (or 3, for 2.4.0) is still bad. I'd love to see Linux scale perfectly (which in this case means that 10000 fd's should take exactly 100 times as long to poll() as 100 entries take). But I suspect that there are a few things going on, one of the main ones probably being that the kernel data working set for 100 entries fits in the cache or something like that.
Either
1. Solaris has solved the faster-than-light problem, and Sun engineers should get a Nobel price in physics or something.
2. Solaris "scales" by being optimized for 10000 entries, and not speeding up sufficiently for a small number of entries.
"I see you emailed Bob on April 43, while he was chatting on IRC with known subversives planning protests at the Government, Inc. convention in Topeka - explain yourself citizen!"
Just as long as my CPU runs at a faster frequency than my roomate's, I will be happy. NO I dont want to see how many fps my machine gets versus yours.
duh. did you even read the rest of his comment?
What about obfuscated OISC?
You've heard of RISC, Reduced Instruction Set Computers? Well, here is the concept taken to its logical extreme -- an emulator for a computer with just one (1) instruction (Subtract and Branch if Negative)! Sample programs in the OISC machine language are included.
ESR has an OSIC emulator.