While the entire app is a bit overkill, using mythtv would be a reasonable solution. For just Music, you would need to run a backend server with the music and NFS and then just install the clients on your laptops. There's also a Knoppix distro for it - http://mysettopbox.tv/knoppmyth.html
You can do KAP really cheap. I've built a couple kites (surprisingly easy) and used cheap cameras from ebay to to take lots of photos, including some good ones without fancy rigs or remote controls. I've got pictures of the kites and pictures from the kites up: http://3cats.us/gallery/KAP and links to the other sites that I got help from on building the kites and stuff.
Odds are you probably already have some of this stuff lying around already.
Digital camera from ebay $30-100 555 timer and a bit of solder ~$5 11ft Kite built from wood and fabric ~$30 Kite spool and line ~$10-20 Cool photos from the sky - priceless
Also, if you are very interested, the American Kite Association is holding their annual convention in Seaside Oregon October 11th through 16th and they have some workshops on KAP and kitebuilding. http://aka.kite.org/
This is pretty easy stuff. I'm using an inexpensive 2 megapixel camera I got of of ebay for my latest shots. I just popped it open and added a small circuit to cause it to take a picture every 20 seconds. With even a 128MB flash card, that's good for a nice long flight time.
I've got photos and some howto info from early attempts to my latest flights last weekend here: http://3cats.us/gallery/KAP
My problem is I keep loosing the kites, not the cameras...
OK, this sounds interesting, but can you provide a link or two to some more specific information? The gameshark site's manuals don't seem to go into much detail about using the network at all.
Other users have stated that it does, but check the user forums for more details (try here and here). I've only been messing around with audio at the present time, so I can't provide any first-hand knowledge.
Unfortunately, you do have to have a windows box to "bootstrap" the media configuration files. But after you have the configuration files, you don't need the windows box anymore, and your linux box can do all the actual serving of media to the prismiq client.
The prismiq folks said that they will be working on a media configuration file creation code for linux, but I'm guessing that it's a bit lower on their list of priorities right now. To keep up to speed on prismiq developments, check out the prismiq forums and user website.
(yes, I've actually done this and have it working at home)
I've actually got one of these and am running the linux server right now, so hopefully I'm qualified to make a few comments:-) If you have specific questions, feel free to drop me a line.
First, the theory behind this device is fairly good. There's limited processing on the client device, and the heavy lifting gets done by the server, the way things ought to be.
The actual configuration files are human-readable with a little bit of effort, and I've even hacked mine up with some success to redo playlists to make more sense.
The bad news is that for large collections of audio (and probably also video) the playlist navigation on the client is really unacceptable. There's only a single level of playlists, so you can't do a lot of things that you would normally do with a hierarchial setup that makes navigating easy. The other problem is that scrolling through the playlists is very, very slow, so in reality a old Rio receiver is faster to navigate, which is a real bummer since I got mine in hopes of having a clean replacement for the Rio's lackluster playlist navigation:-(
On the positive side, they have a user site prismiq.org with good forums that a number of users have been using to communicate how to make limited improvements on both the client and server side. I do think it shows a lot of promise, but don't expect it to be an out-of-the-box instant solution to your media problems...
It's a nice little tool. it's got some rough edges, but the javascript "quick-mark" works great and It means I can quickly access my bookmarks from 3 machines with no real effort.
Something that might be helpful, but not exactly what you are looking for is profiling and performance tools. Intel released their compiler and vtune (a performance analysis tool) recently for Linux:
I can't speak for the debugger, but when we switched our simulator from gcc to icc with profiling, we gained 25-30% performance. Needless to say, that was way cool. The other threading and vtune items might provide some useful insights to your code.
I hate to say it, but all the stuff I work on is generally so small, it's not worth the overhead to attach a debugger to it, so I'm not much of an expert in this area:-(
>Don't listen to anybody who suggests that you do it all by hand with flat files. They've never tried.
That's for sure. This is a database problem and demands a proper database solution. I tried with flat files and it was just too cumbersome to keep up to date and work with. I would be happy to let anyone take a look at the rather miserable chunk of perl code that I wrote if they wanted, but the short story is to not reinvent the wheel, and use a database to do all the storage and searching.
BTW, thanks to Nate for all the good pointers, I might try again with my 2000+ photos:-)
The original poster is correct.
Just for clarification here...
Cache coherency is maintained in a UMA SMP (i.e. all 2 and 4-way x86 platforms) at all times, and is done by the hardware not the software, with a few minor exceptions like I/O and the page tables. But the only time that you need to modify the page tables in a way that requires you to update the other CPUs is when you are mallocing or freeing large chunks of memory, and that's an OS call (read: context switch) anyway.
Also keep in mind that x86 Linux process switches are fairly low cost to begin with because there isn't that much x86 state to save in comparison to other ISAs that have a lot more architectual state associated with any given process. Also, a lot of effort has gone into making context switches as low-cost as possible since it is a large contributor to OS performance, so the process context switches are highly optimized.
What I would consider more interesting is how to you schedule in a SMP with on a multithreaded processor design (like Intel's upcoming Hyperthreading Xeon, or some of the MIT research CPUs) where threads 'borrow' resources from each other. It's also called Shared Resource Multiprocessing (ShReMP). And while the virtual CPUs are symetric, they differ in "effective" computing power based on what is (or isn't) running on the hardware next to them.
Two general directions. Go get Omniweb or another NeXT based browser from a respectable archive
(ftp://ftp.peak.org/next-ftp/next/apps/internet/ww w/) or run a X client/server pair on the box (strangely VNC doesn't seem to be available, but that might be worth further research: http://www.uk.research.att.com/vnc/) and try and get mozilla or some other 'modern' browser running using X for the graphical display. It's BSD deep under all that fancy exterior and display-level postscript, and it will run X11 with some help
(ftp://ftp.peak.org/next-ftp/next/X-for-NeXT/).
Sadly, lack of a decent browser is what pushed me from using my nice NeXT cube with a 19" monitor to a Linux box with a 13" monitor around '96.
This discussion has been going on for close to a full decade now. Sony, Sharp and others don't seem to be interested in making MDs work this way. It seems like a really stupid move considering that they could have cleaned up against Zip drives and even jaz (with the 700MB version of MD) back in the old days, and about a year ago, they could have cleaned up against the MP3 players considering the cost of flash memory a year ago.
It would be really simple to put a USB port on one of those players and write a small driver and end this sillyness once and for all. An external, portable drive/music player that can record music at better than 1x speeds.
I strongly suspect that the technology agreements between companies for MD prevent the use of the technology in a computer. There are products that use MD as storage, but only Sony has one that can actually allows a computer to read the disk (via PCMCIA no less) as a data only media and costs big bucks.
I have had one problem where it failed to correctly run LILO after a new kernel install which left me scrambling with a recovery disk for about an hour to relilo to point to a kernel that actually was still on the disk.
Otherwise it's been pretty nice. I've gotten several good security patches in a timely manner and it was quite painless.
Has anybody sucessfully upgraded from RH 7.0 to 7.1 through RHN? I'd like to switch to the new kernel and firewall, but I don't know how to tell it to use the 7.1 configuration instead of the 7.0.
It is a feature. Processors doing 'intense' compute work use more power (and thus generate more heat) than processors not doing work. The thermal throttle is there to prevent the chip from bursting into flame if you drive it too hard with a insufficient heat sink (which many cheeper companies like to use since most consumers don't know the difference). It's much better than P3's which simply turn off (thermal trip) when they get too hot, leaving you without your data...
Grab some motherboard diagonistics and take a look at thermal values. Heck, my P4 hovers around 35C for even fairly intensive operations like Serious Sam and Unreal Tournament.
In normal situations you aren't going to throttle if you got a decent heat sink. But if you do, or your fan breaks, or your heatsink falls off, I'm guessing that you'd prefer throttling to the alternatives of fire or data loss.
It might not be flamebait, but it's certainly offtopic. The question is very clear about requesting information about compatiblity of laptops with Unix-like operating systems. Bringing windows into the discussion in this manner is clearly outside the topic, and either uninformed, or rude.
As another poster has pointed out, they usually suck. But the concept is sound. I've got an IBM Thinkpad A21p, and the keyboard is great. Full sized, no numeric keypad so the mouse is closer. and the trackpoint is good for quickly selecting windows (not so accurate for other stuff).
The real problem that I see is that because the screen is connected to the keyboard, you can't get the screen a the right ergo-height without raising the keyboard to a bad ergo-height (and vice versa). If this was not the case, I wouldn't need this second keyboard:-(
They are also really good starter machines for non-tech people. It's small, so they don't have to find a huge desk to drop it on. Minimal commitment and a non-imposing form factor makes it easier to say 'just try it'.
With a modem (usually internal) it can browse the web and do other basic things. Essentially all the "webplayer" and "network appliance" machines are P5-150 equivs with small 640x480 or 800x600 displays in a small form factor. Well, shoot. That's basically an old notebook with a specific software configuration.
You are right on the first count. I TAed a microcontrolers class for two terms (~60% hardware, 40% software). We actually encouraged cooperation and helping other classmates out. You can't 'cp' hardware which simplifies some of the cheating issues. It was just about the only way to pass the course. And we only had one case of people verbatem copying code.
But on the other side, it was really obvious who understood the material and who didn't. It's really hard to fake your way through a hardware demonstration. And we also required a lab report which we really did read. As I recall, we gave partial credit to people who had working hardware, but were running other people's code to prove the hardware worked (and told us that was the case).
As for automated tools to check for cheating... Most are defeatable if you know what it is looking for. As a simple example, there was one program that logged emailed assignment turnins to ensure that they were turned in before a certain date/time. Unfortunately, it could be faked by sending the email through a.jp mail server to get their local timestamp...
Sorry about the OSU website going MIA. We are all working out in industry these days:-)
Anyway, if anyone is interested, I have copies of both papers (presented at HPCA3 and HPCA4) that I can put online if there are people interested. Actually, I've got the simulators and stuff too if you are interested in those for continued research. It's a cycle-based simulator written in Java (don't laugh, it was a really good decision) that runs off traces generated by SimpleScalar.
Basically we drove the architectural research for CFPP forward about a generation's worth. Some of their papers look a bit like our stuff, but it was a logical progression, and I haven't gotten a chance to read their stuff in detail. They are more concentrated in the asynch circuits, where we were approaching it from a higher level, with clocked approach. We stuck with clocks because our research was at such a higher level and it didn't model the async circuits. Besides, after the architecture was straightened out, it would be easier to then work out the details of the async circuts at the lower levels.
It's really nice to see the research that I was doing being continued on:-)
As a person who actually has a Masters of Computer Engineering, maybe I'm qualified to answer this question;-)
Personally I believe that you can model the relationship of CS, CpE and EE on a spectrum with CS and one end, EE on the other and CpE in the middle. While this is simplistic, it points out that we all are in the same universe, and the three fields are all related. Some CS majors (like compiler writers) are a lot closer to CpE than others (like game theory people). Some EE's are closer CpE/CS (like VLSI circuit designers) than others (like high-voltage motors people).
Computer engineers design computers, and I'm not just talking about the box, we do the chips as well. Generally we are working above the actual gate level representation of chips (only a little analog, and only in some spots, the EE people get to play with analog) usually at the RTL level (think of it as a really low-level parallel language). In reality this means doing a lot of programming, simulation, debugging, and analysis. Most days I spend the bulk of my time either writing code or debugging failing tests. The types of code we write are very different than other 'programmers' in that we tend to write either at a really high level (perl and python) or at a really low level (assembly or RTL).
In general, CpEs have a clear picture of the low level details of a computer and what it takes to get work done. The code isn't real pretty, the user interfaces are usually non-robust, but generally it's fast and gets the job done. The final hardware products are high quality because the company is legally liable for the quality (ever read a software NDA? The company isn't liable for anything the software does or doesn't do).
CS on the other hand (I have minor in CS) is focused on writing software for the sake of writing software, or possibly a final application for users. CS people generally can build larger, more user-friendly applications more quickly than CpEs, and have better knowledge of data structures and non-procedural languages.
If you have to choose, I'd encourage you to go CpE. It's trivial to switch from CpE to CS or even EE because you get the foundations of CS, CpE and EE to be a CpE (for example, at orst.edu the BS CpE degree automatically includes a minor in CS). Switching the other direction isn't so easy, as a good CS friend of mine will tell you after taking the CpE microcontrolers course (he now writes compilers for a hardware company).
These one-size-fits-all books are unrealistic in their view of the programming world.
I have to disagree. I read these books and I read about programmers with similar problems to mine and how they dealt with the problems and learn from their mistakes instead of making the same mistakes on my own. Certainly their particular solutions might not be optimal for my problem area, but at the same time, I can learn from what they did and adapt their solutions for my environment. In 'Extreme Programming Explained' Kent makes it very clear that not all projects should use XP. While I do work on projects that shouldn't use XP in general, I learned a number of techniques and ideas that are useful for my project (some we were already doing, and now I know why they work).
In CS we encourage people to reuse code and read other people's source to improve their own code. Should we not extend this to how we program, not just what we program?
- Mike
Re:Technical and business issues
on
Macs In Space II
·
· Score: 1
I was thinking more of hitting volume markets.
If they are just going after a niche market for high-cost fast connect-disconnect services, they don't stand a chance agains all the other well-established competitors in that niche.
If they are going after lower-cost volume... Well, I see the latency as somewhat of an issue. It might not be too bad due to the lower orbit, but it still seems unlikely to me that it would be able to compete against wires or even terrestial-based wireless services for latency.
So what he is advocating is to have the government to come in and 'terrify' people into not sharing information that might annoy other people. But I think we've all seen that what really happens is that it will really be is that the only thing that gets protected is corporations or very large groups of people by this kind of government intervention. I'm sure we can all think of laws that ought to protect the 'little people' but end up only being enforced for the benefit of corporations.
So what this really is, is an attempt to codify the producer/consumer relationship where the consumers are prevented from becoming producers because of the additional government regulations and requirements. (Remember FCC regulations on FM radio?) One of the largest benefits from the Internet is the ability of everyone to be both a consumer and a producer of information (unlike other mediums where the consumers were never producers). Traditional media
(print, radio, tv) all have a clear difference between the producers and consumers. The high cost of entry made it very difficult for the average consumer to publish a book, distribute original music or video. It is in the corporations best interests to keep it this way. They profit from volume distribution of information. And now he want to give corporations a license to effectively become the only legal information providers. Clearly this only benefits corporations.
Most people aren't as stupid as he claims. We all know that information in the 'Wall Street Journal' is more reliable than information in tabloids.
We all know that information on cnn.com is more
reliable than some person posting to alt.barney.die.die.die or what I'm posting here. And if you don't, then eventually you'll need to learn that lesson. It's just we have a lot of people who don't have a whole lot of 'internet common sense' yet. That will come with time. That is a self-correcting problem as people make mistakes and then learn from those mistakes.
It all comes down to crediblity. His claim is that people don't have good enough 'bullsh*t' detectors, therefore the government must step in and take that role of saying who is credible and who isn't. But honestly, people will get better at it, and I don't believe that we should give up the peer-to-peer information distribution models that might not be as financially benefitial to corporations.
The funny thing is that I'm certainly not going to buy any of his books now, since he's lost a lot of crediblity with me after reading this piece:-)
Speaking of crediblity... Does he personally benefit from such government regulation. Why yes, I believe he does... as a current information producer, government protection reducing the number of other information providers (competition) benefits him.
Current laws (copyright, libel, slander, child pornography) are frequently sufficient when enforced, even in 'cyberspace'. We don't need a plethora of new laws, just proper enforcement and refinement of the ones we have.
There are several websites on converting laptops into "picture frames" http://www.likelysoft.com/hacks/pictureframes.shtm l,
http://slashdot.org/article.pl?sid=04/12/27/023922 2&tid=222&tid=1,
http://channel9.msdn.com/wiki/default.aspx/Channel 9.JunktopRevival
Which you could modify slightly to add built in powered speakers and hang one in each room.
- Mike
You can do KAP really cheap. I've built a couple kites (surprisingly easy) and used cheap cameras from ebay to to take lots of photos, including some good ones without fancy rigs or remote controls. I've got pictures of the kites and pictures from the kites up: http://3cats.us/gallery/KAP and links to the other sites that I got help from on building the kites and stuff.
Odds are you probably already have some of this stuff lying around already.
Digital camera from ebay $30-100
555 timer and a bit of solder ~$5
11ft Kite built from wood and fabric ~$30
Kite spool and line ~$10-20
Cool photos from the sky - priceless
Also, if you are very interested, the American Kite Association is holding their annual convention in Seaside Oregon October 11th through 16th and they have some workshops on KAP and kitebuilding.
http://aka.kite.org/
- Mike
I've got photos and some howto info from early attempts to my latest flights last weekend here: http://3cats.us/gallery/KAP
My problem is I keep loosing the kites, not the cameras...
- Mike
OK, this sounds interesting, but can you provide a link or two to some more specific information? The gameshark site's manuals don't seem to go into much detail about using the network at all.
Thanks,
- Mike
- Mike
The prismiq folks said that they will be working on a media configuration file creation code for linux, but I'm guessing that it's a bit lower on their list of priorities right now. To keep up to speed on prismiq developments, check out the prismiq forums and user website.
(yes, I've actually done this and have it working at home)
- Mike
First, the theory behind this device is fairly good. There's limited processing on the client device, and the heavy lifting gets done by the server, the way things ought to be.
The actual configuration files are human-readable with a little bit of effort, and I've even hacked mine up with some success to redo playlists to make more sense.
The bad news is that for large collections of audio (and probably also video) the playlist navigation on the client is really unacceptable. There's only a single level of playlists, so you can't do a lot of things that you would normally do with a hierarchial setup that makes navigating easy. The other problem is that scrolling through the playlists is very, very slow, so in reality a old Rio receiver is faster to navigate, which is a real bummer since I got mine in hopes of having a clean replacement for the Rio's lackluster playlist navigation :-(
On the positive side, they have a user site prismiq.org with good forums that a number of users have been using to communicate how to make limited improvements on both the client and server side. I do think it shows a lot of promise, but don't expect it to be an out-of-the-box instant solution to your media problems...
- Mike
It's a nice little tool. it's got some rough edges, but the javascript "quick-mark" works great and It means I can quickly access my bookmarks from 3 machines with no real effort.
Something that might be helpful, but not exactly what you are looking for is profiling and performance tools. Intel released their compiler and vtune (a performance analysis tool) recently for Linux:
:-(
http://www.intel.com/software/products/index.htm
I can't speak for the debugger, but when we switched our simulator from gcc to icc with profiling, we gained 25-30% performance. Needless to say, that was way cool. The other threading and vtune items might provide some useful insights to your code.
I hate to say it, but all the stuff I work on is generally so small, it's not worth the overhead to attach a debugger to it, so I'm not much of an expert in this area
- Mike
That's for sure. This is a database problem and demands a proper database solution. I tried with flat files and it was just too cumbersome to keep up to date and work with. I would be happy to let anyone take a look at the rather miserable chunk of perl code that I wrote if they wanted, but the short story is to not reinvent the wheel, and use a database to do all the storage and searching.
BTW, thanks to Nate for all the good pointers, I might try again with my 2000+ photos :-)
- Mike
Cache coherency is maintained in a UMA SMP (i.e. all 2 and 4-way x86 platforms) at all times, and is done by the hardware not the software, with a few minor exceptions like I/O and the page tables. But the only time that you need to modify the page tables in a way that requires you to update the other CPUs is when you are mallocing or freeing large chunks of memory, and that's an OS call (read: context switch) anyway.
Also keep in mind that x86 Linux process switches are fairly low cost to begin with because there isn't that much x86 state to save in comparison to other ISAs that have a lot more architectual state associated with any given process. Also, a lot of effort has gone into making context switches as low-cost as possible since it is a large contributor to OS performance, so the process context switches are highly optimized.
What I would consider more interesting is how to you schedule in a SMP with on a multithreaded processor design (like Intel's upcoming Hyperthreading Xeon, or some of the MIT research CPUs) where threads 'borrow' resources from each other. It's also called Shared Resource Multiprocessing (ShReMP). And while the virtual CPUs are symetric, they differ in "effective" computing power based on what is (or isn't) running on the hardware next to them.
  - Mike http://pooh.asric.com/~mikem/index.php
Sadly, lack of a decent browser is what pushed me from using my nice NeXT cube with a 19" monitor to a Linux box with a 13" monitor around '96.
- Mike
It would be really simple to put a USB port on one of those players and write a small driver and end this sillyness once and for all. An external, portable drive/music player that can record music at better than 1x speeds.
I strongly suspect that the technology agreements between companies for MD prevent the use of the technology in a computer. There are products that use MD as storage, but only Sony has one that can actually allows a computer to read the disk (via PCMCIA no less) as a data only media and costs big bucks.
- Mike
Otherwise it's been pretty nice. I've gotten several good security patches in a timely manner and it was quite painless.
Has anybody sucessfully upgraded from RH 7.0 to 7.1 through RHN? I'd like to switch to the new kernel and firewall, but I don't know how to tell it to use the 7.1 configuration instead of the 7.0.
- Mike
Grab some motherboard diagonistics and take a look at thermal values. Heck, my P4 hovers around 35C for even fairly intensive operations like Serious Sam and Unreal Tournament.
In normal situations you aren't going to throttle if you got a decent heat sink. But if you do, or your fan breaks, or your heatsink falls off, I'm guessing that you'd prefer throttling to the alternatives of fire or data loss.
- Mike
- Mike
- Mike
The real problem that I see is that because the screen is connected to the keyboard, you can't get the screen a the right ergo-height without raising the keyboard to a bad ergo-height (and vice versa). If this was not the case, I wouldn't need this second keyboard :-(
- Mike
With a modem (usually internal) it can browse the web and do other basic things. Essentially all the "webplayer" and "network appliance" machines are P5-150 equivs with small 640x480 or 800x600 displays in a small form factor. Well, shoot. That's basically an old notebook with a specific software configuration.
- Mike
But on the other side, it was really obvious who understood the material and who didn't. It's really hard to fake your way through a hardware demonstration. And we also required a lab report which we really did read. As I recall, we gave partial credit to people who had working hardware, but were running other people's code to prove the hardware worked (and told us that was the case).
As for automated tools to check for cheating... Most are defeatable if you know what it is looking for. As a simple example, there was one program that logged emailed assignment turnins to ensure that they were turned in before a certain date/time. Unfortunately, it could be faked by sending the email through a .jp mail server to get their local timestamp...
- Mike
Anyway, if anyone is interested, I have copies of both papers (presented at HPCA3 and HPCA4) that I can put online if there are people interested. Actually, I've got the simulators and stuff too if you are interested in those for continued research. It's a cycle-based simulator written in Java (don't laugh, it was a really good decision) that runs off traces generated by SimpleScalar.
Basically we drove the architectural research for CFPP forward about a generation's worth. Some of their papers look a bit like our stuff, but it was a logical progression, and I haven't gotten a chance to read their stuff in detail. They are more concentrated in the asynch circuits, where we were approaching it from a higher level, with clocked approach. We stuck with clocks because our research was at such a higher level and it didn't model the async circuits. Besides, after the architecture was straightened out, it would be easier to then work out the details of the async circuts at the lower levels.
It's really nice to see the research that I was doing being continued on :-)
Personally I believe that you can model the relationship of CS, CpE and EE on a spectrum with CS and one end, EE on the other and CpE in the middle. While this is simplistic, it points out that we all are in the same universe, and the three fields are all related. Some CS majors (like compiler writers) are a lot closer to CpE than others (like game theory people). Some EE's are closer CpE/CS (like VLSI circuit designers) than others (like high-voltage motors people).
Computer engineers design computers, and I'm not just talking about the box, we do the chips as well. Generally we are working above the actual gate level representation of chips (only a little analog, and only in some spots, the EE people get to play with analog) usually at the RTL level (think of it as a really low-level parallel language). In reality this means doing a lot of programming, simulation, debugging, and analysis. Most days I spend the bulk of my time either writing code or debugging failing tests. The types of code we write are very different than other 'programmers' in that we tend to write either at a really high level (perl and python) or at a really low level (assembly or RTL).
In general, CpEs have a clear picture of the low level details of a computer and what it takes to get work done. The code isn't real pretty, the user interfaces are usually non-robust, but generally it's fast and gets the job done. The final hardware products are high quality because the company is legally liable for the quality (ever read a software NDA? The company isn't liable for anything the software does or doesn't do).
CS on the other hand (I have minor in CS) is focused on writing software for the sake of writing software, or possibly a final application for users. CS people generally can build larger, more user-friendly applications more quickly than CpEs, and have better knowledge of data structures and non-procedural languages.
If you have to choose, I'd encourage you to go CpE. It's trivial to switch from CpE to CS or even EE because you get the foundations of CS, CpE and EE to be a CpE (for example, at orst.edu the BS CpE degree automatically includes a minor in CS). Switching the other direction isn't so easy, as a good CS friend of mine will tell you after taking the CpE microcontrolers course (he now writes compilers for a hardware company).
I have to disagree. I read these books and I read about programmers with similar problems to mine and how they dealt with the problems and learn from their mistakes instead of making the same mistakes on my own. Certainly their particular solutions might not be optimal for my problem area, but at the same time, I can learn from what they did and adapt their solutions for my environment. In 'Extreme Programming Explained' Kent makes it very clear that not all projects should use XP. While I do work on projects that shouldn't use XP in general, I learned a number of techniques and ideas that are useful for my project (some we were already doing, and now I know why they work).
In CS we encourage people to reuse code and read other people's source to improve their own code. Should we not extend this to how we program, not just what we program?
- Mike
If they are just going after a niche market for high-cost fast connect-disconnect services, they don't stand a chance agains all the other well-established competitors in that niche.
If they are going after lower-cost volume... Well, I see the latency as somewhat of an issue. It might not be too bad due to the lower orbit, but it still seems unlikely to me that it would be able to compete against wires or even terrestial-based wireless services for latency.
- Mike
So what this really is, is an attempt to codify the producer/consumer relationship where the consumers are prevented from becoming producers because of the additional government regulations and requirements. (Remember FCC regulations on FM radio?) One of the largest benefits from the Internet is the ability of everyone to be both a consumer and a producer of information (unlike other mediums where the consumers were never producers). Traditional media (print, radio, tv) all have a clear difference between the producers and consumers. The high cost of entry made it very difficult for the average consumer to publish a book, distribute original music or video. It is in the corporations best interests to keep it this way. They profit from volume distribution of information. And now he want to give corporations a license to effectively become the only legal information providers. Clearly this only benefits corporations.
Most people aren't as stupid as he claims. We all know that information in the 'Wall Street Journal' is more reliable than information in tabloids. We all know that information on cnn.com is more reliable than some person posting to alt.barney.die.die.die or what I'm posting here. And if you don't, then eventually you'll need to learn that lesson. It's just we have a lot of people who don't have a whole lot of 'internet common sense' yet. That will come with time. That is a self-correcting problem as people make mistakes and then learn from those mistakes.
It all comes down to crediblity. His claim is that people don't have good enough 'bullsh*t' detectors, therefore the government must step in and take that role of saying who is credible and who isn't. But honestly, people will get better at it, and I don't believe that we should give up the peer-to-peer information distribution models that might not be as financially benefitial to corporations.
The funny thing is that I'm certainly not going to buy any of his books now, since he's lost a lot of crediblity with me after reading this piece :-)
Speaking of crediblity... Does he personally benefit from such government regulation. Why yes, I believe he does... as a current information producer, government protection reducing the number of other information providers (competition) benefits him.
Current laws (copyright, libel, slander, child pornography) are frequently sufficient when enforced, even in 'cyberspace'. We don't need a plethora of new laws, just proper enforcement and refinement of the ones we have.
- Mike