I'm sure a lot of slashdot readers, 30 - 35, probably remember how it was, teen guru yes, power and authority, not.
To make a short story longer...
When I was in sixth grade, my school got its first computer, as Apple ][ (Pac Bell, black case). I was really fascinated by it. The library had one book about the computer, which was hand written, about very simple programming in BASIC. The last several pages covered the advanced topic of FOR loops, but only briefly. Whoever wrote the thing obviously stopped abruptly, but it was a start. The librarian said they didn't have any other books, and of course she was the only person at among the staff that "knew about the computer", which consisted of how to boot the computer and run the Oregon Trial game.
It didn't take long to go through the hand written book. One other guy, Will, also was really interested in the computer and read it all. There was a guy named Adam who was an expert and seemed to know everything about the machine. It turned out he had one at home. He was in 8th grade, and usually didn't want to help me and Will much. To me and Will, Adam didn't just have power and authority, he was a god, but nobody else, neither kids nor adults cared much about him.
One day I got to talk with Adam (who was working on a simple text-adventure to model an AD&D adventure module), and I asked him how he learned all this stuff that wasn't in the hand written book. He told me about the applesoft basic manual that came with his computer. He said the library had the book in the back room. The librarian lied to me... they did have another book, but they considered it part of the expensive computer equipment and not something they could check out or even let anyone read in the library. After all, we were just kids! The environment wasn't anything like what's described in the Brill's Content article.
That book was the first thing I ever stole in my life!
I started going to bed earlier, and I had a small light in my room. I'd spend all night reading the manual, and writing basic programs on paper. Time with the computer was very limited, and they had a strong policy to be fair to everyone, which meant giving everyone equal time slices to play Oregon Trial. I rarely had time to type more than a couple dozen lines in a session, and it was usually hard to remember what the code was supposed to be about. To make matters worse, Will got to the DOS (Apple DOS 3.3, long before the PC computer) manual, so access to the disk would have to wait for another couple years. Some parts of the applesoft manual, particularily the GOSUB, were "try this... now you see what it does". I couldn't possibly bring the stolen book back to the school and use it in front of the computer, so it took a very long time to really learn most of the material.
Still, it was great fun, to be able to create programs. I had been interested in electronics... I had a bunch of the kits from radio shack, with the scrings for connecting the wires. Electronic projects were frustrating, because I didn't have the parts and I didn't ever have money to buy them. With the computer, all I needed was my 5 1/4 inch floppy disk, and lingering around trying to get some time on the school's only computer.
The next year Will and I were the experts about the computer, but we really didn't end up being in a position of any authority, because for the most part nobody really needed to know anything, and "knowing how to use the computer" involved being able to boot up, type CATALOG, and RUN a basic program... almost always Oregon Trial.
In 8th grade, the school district was re-zoned, and I ended up at a much larger school, which had about 8 computers instead of one. I could almost always get time on a machine. They also had the newer Apple ][e, and they had lots of copies of the manuals, including the DOS manual the Will grabbed a couple years earlier. The larger school also had a "activity bus", intended for sports, so I could stay after school for nearly two hours and get some real time on the computer. With all the manuals, lots of time on the computer, and not having the hide the stolen property, I started really getting pretty good at writing code. Will was zoned to a different school, so I was certainly the only guru, but it really didn't matter. Only a couple other students were really interested in the computers, and they were always nervous about being a nerd. I was already there, and while it sucked, I more or less learned to brush off insults and hostility from my classmates. Back then, it was seriously uncool to be interested in computers.
Late in the 8th grade year, there was a science fair, and because computers were going to be the "next big thing", they had a computer science category. The school brought in some actual programmers, because it was well known that the one teacher who had the one and only (lame) computer class knew far less than I did, and was probably less knowledgable than some of the others as well. My little program was a tiny stats program, as I recall for track teams, simple stats for each runner per event. It loaded and saved data to the disk, had menus, data entry screens, on-screen data table display and some simple reports that went to the printer. I won the contest, and somewhere in the evening my folks talked with the programmers and they convinced my parents to buy me a computer.
I spent a lot of time with the computer... a lot of time. I finally had all night sessions in front of a real computer. My parents were concerned that I spent too much time with it. I spent a lot of time playing games, but also a lot of time coding. Like most other kids at the time, I spent a lot of time copying programs. It wasn't until much later that my parents got the clue that I really was knowledgable about programming, for a long time all their thoughts revolved around how much time I was spending on the computer. Of course, they never needed and certainly didn't want to use the computer, so they never needed any advise and never even had an opportunity to see what I could do.
High school wasn't much more accepting of being a geek, but there were more of us, and there were a bunch of people who were indifferent, so it was much easier to avoid hostility. Like before, there was one teacher that knew about computers, but much less than I did. Over those years I learned a lot, and I wrote a really nice database program, with bits of 6502 asm code, which was mainly used to track a collection of copied disks.
One summer my folks arranged for a special class about interfacing hardware to the computer... and it was a great experience. The instructor really knew a lot about both software and hardware, and the other guys (no girls) in the class were guys just like me. One guy was a master as asm code, and I learned several tricks, a couple others really knew quite a bit about electronics. I think I was the only guy without a modem. Every day at lunch they'd all talk about various BBSs. I got a printed list of phone numbers from one of them. The hardware portion of the class was a bit over my head, and it slowly sank in over last two years of high school. Like me, they were certainly gurus at versious technical subjects, but these relationships or authority that teen gurus experience today just didn't happen, mostly because adults generally didn't need to use computers and so they didn't need help.
After that summer, I had to get a modem. My folks were terrified that I'd break into banks, and they'd read some lame articles about "profiles" of hackers (I wonder it Katz it reading). It was nearly a year until I finally got a modem. A friend of mine got a 1200 baud modem, so he loaned me his old 300 baud.
Getting onto BBSs was great, and I spent lots and lots of time on-line, reading and posting in boards, and exchanging email. I met lots of people, all in the local area. The computer teacher at my school was intersted in these user groups, and together with a couple other students, we ended up going to lots of user group meetings. It all seemed very natural, and I didn't even realize I was staying out until 11pm or midnight until my parents expressed their concerns. By that time I'd learned most of the things there were to know about applesoft basic, 6502 asm, and the internals of DOS 3.3. There were some other kids, but it was really cool meeting with other geeks. Some of those times were the first times I was a guru, AND someone was actually interested. I had learned quite a few tricks to defeat the floppy-based copy protection schemes, and there were always plenty of people who really, really wanted to hear tips and tricks they didn't already know. The position of authority, though, was only with other hard-core geeks... never in my family.
In my last year of high school (1988), the school got a bunch of macintosh computers. For reasons I don't recall, a number of teachers were using them for various things, and while I quickly learned about mac (resedit, et all), there was another student who knew a lot more, and he basically took over a sys-admin role for the one server they had in the building. That was probably the first time I saw this whole teen guru thing in real action. He really did command some real authority with teachers and admin types, because he more or less controlled the network (localtalk) and was the only one who knew how to fix most of the conmputer problems.
Well, I finally got out of high school, moved to college, away from my parents, and into, for the first time in my life, into an environment where is was "ok" to be myself (a true geek, I suppose). Things have only gotten better and better every year since then, and every year it seems that more and more people need the services of geeks like me, fortunately including employers.
Now I'm an authority on many subjects technical, sometimes because I really know something, other times because non-technical people don't know any better. I'm certainly not a teenager anymore (currently 30), and now even my parents have to use computers, which I fix for them.
Re:My website once had this unintentional problem
on
Web Site "Lock-In"
·
· Score: 1
An AC writes: ...and a server that doesn't even provide control over that is fundamentally broken.
My point, lost somewhere in all the rambling, is that many site authors do not have any control over their web server, only the HTML files they can edit. Since they can not excersize any control over the HTTP headers, all they can do is redirect with a meta tag. The intuitive thing to do is redirect with a zero second delay... assuming the user won't want to wait to get to your page in its great new location. It is very easy to do this and believe you've made a good design and never even know that your design has messed up the back button.
If anything, the web browsers are fundamentally broken when they implement a redirect immediately after the user presses the BACK button. This only ends up returning the user to the same page that they were attempting to leave by pressing the back button in the first place.
I wonder if anyone from the MOZILLA team is reading this message. How hard can it be to ignore the redirects when a page is loaded as a result of the BACK button. Does it ever make sense for a browser to follow a redirect when the page was reached via the back button?
My website once had this unintentional problem
on
Web Site "Lock-In"
·
· Score: 2
It's really simple and easy to do this without knowing it... or at least it happed for me.
Well, all good things (actually their server was not very reliable) come to an end, and the university was under a big scare, supposedly because of some lawsuit somewhere, regarding old accounts from former students. I got a message that I would need to move my site.
I did indeed move the page, to it's new and permanent location, but even after over a year, the old site still gets lots of hits. Forunately, they have been nice enough to keep my redirector page in place all this time.
At first, I did what seemed like the obvious thing and I set the HTTP-EQUIV meta tag to redirect, in zero seconds. Seemed like a good idea. It was actually like that for months, and I was totally unaware of the problem. I finally got an angry e-mail from someone who was upset that I messed with his back button, but as far as I could tell, nothing on my site would do that. Indeed, nothing on my site was doing anything with the back button.... by that time I hardly gave any though to the old urls anymore, so it didn't even occur to me at the time to try going to the old url and then seeing if the back button still worked. Even if I'd typed the old URL, to experience what an ordinary web surfer got, I would have had to find my url from a link (not hard, since the search engines don't update well anymore, even if you fill out their forms to rescan your url).
My point in all this, dear reader (and you're still reading after all this rambling), is that it's easy to need to redirect users, because old URLs don't stop getting hits, even after a year.
Some people have said that the web design should use a location redirect in the HTTP header. I tried this, but the browsers generally don't honor that from within the HTTP-EQUIV meta tag (even though they should), and I have no control over the configuration of the server itself, only the html content.
It's easy to say the commercial companies are different, since their web servers are for their corporate missing (whatever that is), but I can easily see how the "web designer" only has control over the content within the html file itself, and not the web server config... often times controlled by an admin who isn't helpful, or a third party hosting company.
Looks like a lot of "innovation" for the court, which will probably turn out to be vapor, but at least they're excersizing their "freedom to innovate", by tying everything together so tightly that it'd be nearly impossible to split the company.
I've just spent a bit of time reading through the source code for this project. It's pretty crafty to make the PIC do this stuff.
I've seen a number of comments above where the poster has lept to the conclusion that this thing is comparable to a "real" web server, such as apache running on a unix platform.
The most important limitation that I can see in the code is that it only remembers information from the previously received packet, and it can only send a packet in response to receiving one, but can't retransmit on a timeout not having received an ACK. Calling this TCP is a streatch at best. It's certainly a long way from RFC-1122.
For example, consider the case where two clients attempt to access this little web server at the same time, which is not unlikely running the data pipe at 19200 baud, and having CTS inhibiting data flow in between every received byte, and during all data transmission. The remote IP address is overwritten as the second packet is received, causing all knowledge of the first connection to be lost. Most of that information will be regained when the first host sends another packet, but the point is that this little web server isn't going to work well with multiple connections at the same time, and probably won't work at all if the TCP retransmit is require because of any packet loss.
It is a neat project, and doing even this minimal tx follows rx without pre-connection state is some impressive code for such a small chip. Neat as it is, it just isn't a viable web server for any application where multiple clients may use it. It probably won't do well on networks that have packet loss, duplicated packet and the other not-so-common problems that come with the best-effort (but unreliable) IP datagram service.
And now for a shameless plug.... for the posters above who were talking about connecting a disk drive, here's a little project I did that connects a IDE hard drive to a 8051 microcontroller. Maybe it could be used with a PIC? My code is public domain, so it could be combined with a GPL'd project, like this little web server.
When someone downloads a Trojan Horse MP3 file, wouldn't they be very likely to delete it as soon as they discover it isn't the real thing?
My understanding of Napster (not having used it), is that each user makes a shared directory, and whatever files they place in it are shared with other users, and whatever they download is downloaded into this directory. The important idea being that each user is in control of what material they are currently sharing with others.
I just don't understand how a couple dozen or even hundreds of Napster users (of the 10e6) could undermine the entire system by "flooding" it with Trojan Horses or Bombs? Maybe Freenet, where the file is copied automatically, but in Napster and Gnutella space, the copies happen as a result of users, who nearly always will review the material and delete it if it's bogus.
Did I miss some important part of their Trojan Horse attack that makes it viable??
When you do the resistor trick, you can achieve much lower speeds (larger resistance value) by also placing a capacitor in parallel with the resistor. Make sure the cap is rated for at least 16 volts (since it will have 12 accross it initially). It should be a fairly large value, over 1000 uF is probably fine.
In normal operation, the capacitor does nothing, but when you first turn on the power, the cap makes sure there is the full 12 volts applied to the fan, for just a short time. This will allow the fan to begin spinning, even if the steady state voltage is very low.
There's a company, Seven Twentyfour which provides this same service, though not for free. I've been using them, one a lower cost one-report-per-week service for several months, and they do a nice job. They offer a 30 day trial with no obligation to buy, so if you have a recently moved web site, you could do the trial on the old website to find all the old links that got broken by the move.
If all you're worried about is moved pages within your server, looking at the error log from the web server is pretty good.
IMPORTANT-READ CAREFULLY: This Microsoft Agreement ("Agreement") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation ("Microsoft") for the version of the Microsoft specification identified above which you are about to download ("Specification"). BY DOWNLOADING, COPYING OR OTHERWISE USING THE SPECIFICATION, YOU AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT DOWNLOAD, COPY, OR USE THE SPECIFICATION.
The Specification is confidential information and a trade secret of Microsoft. Therefore, you may not disclose the Specification to anyone else (except as specifically allowed below), and you must take reasonable security precautions, at least as great as the precautions you take to protect your own confidential information, to keep the Specification confidential. If you are an entity, you may disclose the Specification to your full-time employees on a need to know basis, provided that you have executed appropriate written agreements with your employees sufficient to enable you to comply with the terms of this Agreement. You are also permitted to discuss the Specification with anyone else who has downloaded the Specification and agreed to these terms and conditions.
Microsoft reserves all other rights it may have in the Specification and any intellectual property therein. Microsoft may have patents or pending patent applications, trademarks, copyrights, trade secrets or other intellectual property rights covering subject matter in the Specification. The furnishing of this Specification does not give you any license to these patents, trademarks, trade secrets, copyrights, or other intellectual property rights, except as specifically set forth above with respect to certain copyrights and trade secrets.
INTELLECTUAL PROPERTY RIGHTS. All ownership, title and intellectual property rights in and to the Specification are owned by Microsoft or its suppliers.
DISCLAIMER OF WARRANTIES. To the maximum extent permitted by applicable law, Microsoft and its suppliers provide the Specification (and all intellectual property therein) AS IS AND WITH ALL FAULTS, and hereby disclaim all warranties and conditions, either express, implied or statutory, including, but not limited to, any (if any) implied warranties or conditions of merchantability, of fitness for a particular purpose, and of accuracy or completeness, all with regard to the Specification and any intellectual property therein. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE OR NON-INFRINGEMENT WITH REGARD TO THE SPECIFICATION AND ANY INTELLECTUAL PROPERTY THEREIN.
APPLICABLE LAW. This Agreement is governed by the laws of the State of Washington.
ENTIRE AGREEMENT. This Agreement is the entire agreement between you and Microsoft relating to the Specification and it supersedes all prior or contemporaneous oral or written communications, proposals and representations with respect to the Specification.
Many years ago I did a bit of reverse engineering to convert a binary data file format, stored from some ancient dos-based software to an ASCII text file format that we could easily manipulate. One of the systems used a few more bits for its floating point mantissa than the other, and it took quite a bit of fiddling to figure it out (without any documentation).
Nowadays, we have IEEE 754, which says a 32 bit float has 23 bits (plus an implied 1 bit) in the mantissa, 8 in the exponent, and of course the sign bit. Intel, Motorola, Sun, et all followed the standard, which presumably had input from all the major players. The major IC manufacturers caused the compilers and other tools to follow, which generally caused most software to follow the standard, and today the idea of using floats other than IEEE 754 is thought only by developers of very resource limited embedded devices, who typically convert their space-saving floats to the standard when they communicate.
With the recent M$ kerberos slashdot story/hype, I suspect a lot of slashdot folk will complain about monopolies breaking standards, and probably trademarks, patents, and all the other usual slashdot stuff.... cynical and jaded as many slashdotters may be, there are lots of computer related standards that are well followed.
ASCII
ATA/ATAPI
SCSI
IPv4, TCP, UDP, ICMP, IGMP, ARP (internet)
IEEE 802.3 (ethernet)
PCI
JPEG, MPEG, MP3
V32, V42, V.90, etc (modem signals)
ISO9660
Why follow standards? Nobody enforces standards, except for customers. Customers generally like it when products interoperate, and if a group of competing products interoperate because they all follow a standard, a new product that doesn't generally won't sell.
Now there are lots of de-facto standards, where a single company had enough market share that they could just come up with something and everyone else followed. ISA bus (IBM), PDF (Adobe), and.DOC/.XLS format (Microsoft) come to mind, though there are many others.
Whether a format or de-facto standard, the reason to follow the standard is usually because a product which inter-operates with others has a market advantage over other products that don't. Look at Microsoft Exchange Server and Lotus Domino, which have their own proprietary protocols, but also have to support the standards to be accepted by customers.
Sure some people use older programs, but think about it. In programs where performance really matters, do you use anything older than two years?
Yes, usually the faster code is much older than just 2 years back!
Where I work, most people un-install gnome and use fvwm, because its so much faster.
When I draw simple low-res diagrams for my web site, I use MacPaint 2.0 (1988) on a 50 Mhz '030 mac, and it's certainly the fastest and most responsive simple pixle-level paint program I've seen, running on 386-class hardware!
I think any long-time computer user can think of many examples where a newer version of a program ran more slowly than the last, often times much more slowly... and on the flip side of the coin, it seems (at least to me) that a newer version of a program rarely ends up being faster than older versions.
What actually happens, year after year, is an effort to add new functionality, sometimes very useful, other times bells and whistles. What doesn't tend to happen is an effort to make programs execute faster. Sometimes there is an effort to not hurt performance "too much", but the comparison (when made at all) is between the older version running on older hardware, and the new version running on state-of-the-art hardware, or sometimes even the hardware expected to be on the market when the program comes into wide-spread use!
Often times the tests of performance are highly subjective, and the subjective decision is made by the programmer (who would have to do a lot of difficult work re-writing his code), or worse yet by a manager, who would have to cost-justify the time and money spent to improve performance without adding new functionality!
Using gnome as an example, the last two interviews I've read with their developers, someone complained about general slowness. The attitude expressed by the developers was the usual "fast enough". Maybe it is, but it certainly is quite slugish compared to fvwm if all you want to do is run a bunch of xterms, netscape, and maybe a couple other plain X apps.
I wish that people would stop making comments like "that's so stupid" or "this is so dumb" I mean, really, leaving the little guy on your desktop is no dumber than using vi or emacs or AmiPro or AbiWord or KWord or anything else. It's just a personal preference, right?
Maybe you should try the OUA Vulnerability Proof of Concept web page. You'll see quite quickly how simplying having that damn paperclip (not even running) is one of the worse security holes to come along... not anything like leaving a dozen x-terms open, all running vi or emacs.
Don't forget to set your macro virus protection back after you do the demo... not like it would be of any help against a worm/virus using this exploit.
And to state the obvious, this is some seriously cool reverse engineering on the part of @state and l0pht. I looked at his script code... lots of hex numbers in the calls, must have been a lot of effort to do this job. If anyone needs any examples to show why reverse engineering needs to remain legal, this is a great one.
Yes, you have a point, and I would like to apologize. I composed my post in a hurry, and though I checked it briefly for spelling, grammar and that the three links would work, I didn't take the time to consider that my second paragraph would sound like self-promotion. I really should not have made the link, and perhaps not even mentioned the subject of the page. If I could edit my original post, I'd change the second paragraph to:
I'm working on a web site which may be linked from slashdot within a few months, and I fear that my site will buckle under the load, as zeldman.com did this morning.
I really have been concerned about the slashdot effect, and I'm planning to off-load my images to another site with more bandwidth. Other than that, I'm really not sure what else I can do to prepare.
I really am sorry that my post annoyed you and others. By wording my message poorly it probably missed its chance to be chosen.
Editors: in the unlikely case that you do choose my message, please remove the second paragraph or replace it with the one from this message. I've done enough damage already.
I rarely "reload" slashdot, but today I just happened to finish reading some interesting comments about the Motif story, and I saw this article. Like many others, I saw the words one of the best Web design tutorials ever and I just had to click to see. Of course, all I got was connection reset by peer.
Someday (hopefully within a couple months) I may have to deal with the slashdot effect, with my Homebrew MP3 player project, which is open source, but at the moment only in a just barely working state.
My question, specifically from your recent experience, is how should one deal with the slashdot effect, knowing that is coming.
I keep seeing mention that the patents cover only the encoder and not the layer3 decoder. I want to know where people get this idea. It isn't from Thomson's MP3 Licensing Web Site that claims their patents cover both encoders and decoders, and they clearly spell out what they feel you owe them.
Of course, Thomson does not require a royalty for mp3 Software Decoders/Players distributed free-of-charge via the Internet for personal use of end-users, so free (beer or speech) software is ok, but only for software distibuted free on the internet. Distributed on a cdrom (Redhat, Suse, etc) seems questionable.
Now after having read these pages, I'd be curious to know why so many people believe that the patents only apply to encoders. Please, please, please tell of a reliable source that shows the MP3 related patents are only for encoding. My email address appears above, with an obvious anti-spam word that you can easily remove.
MODERATORS: Please help dispell the misinformation about the applicability of the patents.
Something doesn't quite add up... maybe I'm not counting the bits correctly?
One obvious coordinate representation is IEEE 32-bit floating point numbers. The 24 bit mantissa specified by IEEE would provide at least 8 bits of sub-pixel position within the 16-bit X coordinate space, and would be easy for applications to manage.
Ok, using floats sounds a little strange, but maybe everyone's FPU are fast now-a-days, and who cares about ever running on hand held devices for the forseeable future, as the protcol itself will require a FPU to run well.
However, it is desirable for objects to be translationally invariant. As objects move to larger coordinates, IEEE floats will slowly drop bits of sub-pixel position information.
This is true, but you'll have quite a large number of pixels until the 23 bits bits of the mantissa (the 24'th bit is always one) aren't representing much sub-pixel positioning info.
The next question is how many bits of fraction to use. Four is enough for most applications, but eight will suffice for all but the most particular uses.
If 4 bits will do, I'd think that 2^19 pixels is a lot more than will be needed for some time. Even if 300 dpi flat panels come about in several years, and you must have 8 bits for subpixel location, 2^15 pixels at 300 dpi is still 109 inches!!
Hey, three more nasty for-profit entities... how dare they
3c59x.c:v0.99H 11/17/98 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.h tml
And who hasn't seen Donald, who wrote drivers for nearly every card in existance at the time
Most authors of free software / open source authors display their names. If a company pays a few people to contriubute full time to a project, why shouldn't they get the same (rather minimal) mention that individuals get?
Perhaps not an option for everyone, but it can be fun to roll your own. Here's one I did a couple months ago. The MAS3507D chip is a bit spendy ($25 single piece qty), but it does all the hard work so all you have to do is get the mpeg bitstream off the media and into the decoder chip. Not too bad, considering that MP3 bitrates are fairly slow.
Of course, then there are issues of user interface, playlists, low power consumption, etc. Still, if I can put something together by myself in just a couple weeks, it makes me wonder why all the commercial vendors are so late to market.
Maybe if there is some interest, I'll make some improvements to the design and arrange to make the assembled/tested circuit boards available at a reasonable price... see the bottom of the page for more info.
2 GB hard disk with a minimum of 1 GB of free space. (Additional free hard disk space is required if you are installing over a network.)
To me, bloated is anything that won't run on the best machine I own. With my current 128 megs of RAM, looks like I won't be replacing my linux server with win2k...
I'd say the thing to do is order these protected discs TODAY, before they start some sort of "click to agree"... to more licensing terms than you can shake a stick at!
The way I see it, if I can walk into a store and buy one off the shelf (with cash) and not agree to any "no reverse engineering" terms and conditions, then it'll only be a matter of time until someone posts a linux based player. It'd be really interesting if a linux player appears when there's not yet one for windoze.
I just hope whoever cra.. er, reverse engineers this thing gives the player a more honest-sounding name than DeCSS. Maybe:
Katz, nearly everyone else who posts to slashdot manages to include a link to whatever article they're talking about. Ok, you've got the paper copy and the website still only has December.... a point that a number of prople posting to this discussion seem to have missed when they write "go to the American Demographics site to find out". I went there poking around for a few minutes, only to discover this. I did find find this little gem which says 59% don't think downloading music online (for free) is wrong, and another 11% thinks it's wrong, but they'll do it anyway. (12% don't have an opinion, leaving only 18% who wouldn't).
So, I was gonna flame Katz for once again not being able to create a link, but this time it looks like the article in question just isn't on-line. Still, Katz ought to have mentioned that right after the link that leads only to their main website. I suppose he did say "January issue" and the site shows that it's giving you material from December.
To make a short story longer...
When I was in sixth grade, my school got its first computer, as Apple ][ (Pac Bell, black case). I was really fascinated by it. The library had one book about the computer, which was hand written, about very simple programming in BASIC. The last several pages covered the advanced topic of FOR loops, but only briefly. Whoever wrote the thing obviously stopped abruptly, but it was a start. The librarian said they didn't have any other books, and of course she was the only person at among the staff that "knew about the computer", which consisted of how to boot the computer and run the Oregon Trial game.
It didn't take long to go through the hand written book. One other guy, Will, also was really interested in the computer and read it all. There was a guy named Adam who was an expert and seemed to know everything about the machine. It turned out he had one at home. He was in 8th grade, and usually didn't want to help me and Will much. To me and Will, Adam didn't just have power and authority, he was a god, but nobody else, neither kids nor adults cared much about him.
One day I got to talk with Adam (who was working on a simple text-adventure to model an AD&D adventure module), and I asked him how he learned all this stuff that wasn't in the hand written book. He told me about the applesoft basic manual that came with his computer. He said the library had the book in the back room. The librarian lied to me... they did have another book, but they considered it part of the expensive computer equipment and not something they could check out or even let anyone read in the library. After all, we were just kids! The environment wasn't anything like what's described in the Brill's Content article.
That book was the first thing I ever stole in my life!
I started going to bed earlier, and I had a small light in my room. I'd spend all night reading the manual, and writing basic programs on paper. Time with the computer was very limited, and they had a strong policy to be fair to everyone, which meant giving everyone equal time slices to play Oregon Trial. I rarely had time to type more than a couple dozen lines in a session, and it was usually hard to remember what the code was supposed to be about. To make matters worse, Will got to the DOS (Apple DOS 3.3, long before the PC computer) manual, so access to the disk would have to wait for another couple years. Some parts of the applesoft manual, particularily the GOSUB, were "try this... now you see what it does". I couldn't possibly bring the stolen book back to the school and use it in front of the computer, so it took a very long time to really learn most of the material.
Still, it was great fun, to be able to create programs. I had been interested in electronics... I had a bunch of the kits from radio shack, with the scrings for connecting the wires. Electronic projects were frustrating, because I didn't have the parts and I didn't ever have money to buy them. With the computer, all I needed was my 5 1/4 inch floppy disk, and lingering around trying to get some time on the school's only computer.
The next year Will and I were the experts about the computer, but we really didn't end up being in a position of any authority, because for the most part nobody really needed to know anything, and "knowing how to use the computer" involved being able to boot up, type CATALOG, and RUN a basic program... almost always Oregon Trial.
In 8th grade, the school district was re-zoned, and I ended up at a much larger school, which had about 8 computers instead of one. I could almost always get time on a machine. They also had the newer Apple ][e, and they had lots of copies of the manuals, including the DOS manual the Will grabbed a couple years earlier. The larger school also had a "activity bus", intended for sports, so I could stay after school for nearly two hours and get some real time on the computer. With all the manuals, lots of time on the computer, and not having the hide the stolen property, I started really getting pretty good at writing code. Will was zoned to a different school, so I was certainly the only guru, but it really didn't matter. Only a couple other students were really interested in the computers, and they were always nervous about being a nerd. I was already there, and while it sucked, I more or less learned to brush off insults and hostility from my classmates. Back then, it was seriously uncool to be interested in computers.
Late in the 8th grade year, there was a science fair, and because computers were going to be the "next big thing", they had a computer science category. The school brought in some actual programmers, because it was well known that the one teacher who had the one and only (lame) computer class knew far less than I did, and was probably less knowledgable than some of the others as well. My little program was a tiny stats program, as I recall for track teams, simple stats for each runner per event. It loaded and saved data to the disk, had menus, data entry screens, on-screen data table display and some simple reports that went to the printer. I won the contest, and somewhere in the evening my folks talked with the programmers and they convinced my parents to buy me a computer.
I spent a lot of time with the computer... a lot of time. I finally had all night sessions in front of a real computer. My parents were concerned that I spent too much time with it. I spent a lot of time playing games, but also a lot of time coding. Like most other kids at the time, I spent a lot of time copying programs. It wasn't until much later that my parents got the clue that I really was knowledgable about programming, for a long time all their thoughts revolved around how much time I was spending on the computer. Of course, they never needed and certainly didn't want to use the computer, so they never needed any advise and never even had an opportunity to see what I could do.
High school wasn't much more accepting of being a geek, but there were more of us, and there were a bunch of people who were indifferent, so it was much easier to avoid hostility. Like before, there was one teacher that knew about computers, but much less than I did. Over those years I learned a lot, and I wrote a really nice database program, with bits of 6502 asm code, which was mainly used to track a collection of copied disks.
One summer my folks arranged for a special class about interfacing hardware to the computer... and it was a great experience. The instructor really knew a lot about both software and hardware, and the other guys (no girls) in the class were guys just like me. One guy was a master as asm code, and I learned several tricks, a couple others really knew quite a bit about electronics. I think I was the only guy without a modem. Every day at lunch they'd all talk about various BBSs. I got a printed list of phone numbers from one of them. The hardware portion of the class was a bit over my head, and it slowly sank in over last two years of high school. Like me, they were certainly gurus at versious technical subjects, but these relationships or authority that teen gurus experience today just didn't happen, mostly because adults generally didn't need to use computers and so they didn't need help.
After that summer, I had to get a modem. My folks were terrified that I'd break into banks, and they'd read some lame articles about "profiles" of hackers (I wonder it Katz it reading). It was nearly a year until I finally got a modem. A friend of mine got a 1200 baud modem, so he loaned me his old 300 baud.
Getting onto BBSs was great, and I spent lots and lots of time on-line, reading and posting in boards, and exchanging email. I met lots of people, all in the local area. The computer teacher at my school was intersted in these user groups, and together with a couple other students, we ended up going to lots of user group meetings. It all seemed very natural, and I didn't even realize I was staying out until 11pm or midnight until my parents expressed their concerns. By that time I'd learned most of the things there were to know about applesoft basic, 6502 asm, and the internals of DOS 3.3. There were some other kids, but it was really cool meeting with other geeks. Some of those times were the first times I was a guru, AND someone was actually interested. I had learned quite a few tricks to defeat the floppy-based copy protection schemes, and there were always plenty of people who really, really wanted to hear tips and tricks they didn't already know. The position of authority, though, was only with other hard-core geeks... never in my family.
In my last year of high school (1988), the school got a bunch of macintosh computers. For reasons I don't recall, a number of teachers were using them for various things, and while I quickly learned about mac (resedit, et all), there was another student who knew a lot more, and he basically took over a sys-admin role for the one server they had in the building. That was probably the first time I saw this whole teen guru thing in real action. He really did command some real authority with teachers and admin types, because he more or less controlled the network (localtalk) and was the only one who knew how to fix most of the conmputer problems.
Well, I finally got out of high school, moved to college, away from my parents, and into, for the first time in my life, into an environment where is was "ok" to be myself (a true geek, I suppose). Things have only gotten better and better every year since then, and every year it seems that more and more people need the services of geeks like me, fortunately including employers.
Now I'm an authority on many subjects technical, sometimes because I really know something, other times because non-technical people don't know any better. I'm certainly not a teenager anymore (currently 30), and now even my parents have to use computers, which I fix for them.
My point, lost somewhere in all the rambling, is that many site authors do not have any control over their web server, only the HTML files they can edit. Since they can not excersize any control over the HTTP headers, all they can do is redirect with a meta tag. The intuitive thing to do is redirect with a zero second delay... assuming the user won't want to wait to get to your page in its great new location. It is very easy to do this and believe you've made a good design and never even know that your design has messed up the back button.
If anything, the web browsers are fundamentally broken when they implement a redirect immediately after the user presses the BACK button. This only ends up returning the user to the same page that they were attempting to leave by pressing the back button in the first place.
I wonder if anyone from the MOZILLA team is reading this message. How hard can it be to ignore the redirects when a page is loaded as a result of the BACK button. Does it ever make sense for a browser to follow a redirect when the page was reached via the back button?
For four years, my web site was hosted by the Oregon State University Electrical Engineering Webserver, at this url that was widely linked and in all the search engines' first result page for a number of keywords.
Well, all good things (actually their server was not very reliable) come to an end, and the university was under a big scare, supposedly because of some lawsuit somewhere, regarding old accounts from former students. I got a message that I would need to move my site.
I did indeed move the page, to it's new and permanent location, but even after over a year, the old site still gets lots of hits. Forunately, they have been nice enough to keep my redirector page in place all this time.
At first, I did what seemed like the obvious thing and I set the HTTP-EQUIV meta tag to redirect, in zero seconds. Seemed like a good idea. It was actually like that for months, and I was totally unaware of the problem. I finally got an angry e-mail from someone who was upset that I messed with his back button, but as far as I could tell, nothing on my site would do that. Indeed, nothing on my site was doing anything with the back button.... by that time I hardly gave any though to the old urls anymore, so it didn't even occur to me at the time to try going to the old url and then seeing if the back button still worked. Even if I'd typed the old URL, to experience what an ordinary web surfer got, I would have had to find my url from a link (not hard, since the search engines don't update well anymore, even if you fill out their forms to rescan your url).
Well, several weeks later, I learned what had happened while reading Jokob Nielsen's Alertbox Column, Top Ten New Mistakes of Web Design. Breaking the back button was his number 1 offense, and I was guilty... and until that moment I didn't even know it.
My point in all this, dear reader (and you're still reading after all this rambling), is that it's easy to need to redirect users, because old URLs don't stop getting hits, even after a year.
Some people have said that the web design should use a location redirect in the HTTP header. I tried this, but the browsers generally don't honor that from within the HTTP-EQUIV meta tag (even though they should), and I have no control over the configuration of the server itself, only the html content.
It's easy to say the commercial companies are different, since their web servers are for their corporate missing (whatever that is), but I can easily see how the "web designer" only has control over the content within the html file itself, and not the web server config... often times controlled by an admin who isn't helpful, or a third party hosting company.
Looks like a lot of "innovation" for the court, which will probably turn out to be vapor, but at least they're excersizing their "freedom to innovate", by tying everything together so tightly that it'd be nearly impossible to split the company.
Actually, according to r3mix, MP3 does very well at high frequencies if you encode with LAME.
I've seen a number of comments above where the poster has lept to the conclusion that this thing is comparable to a "real" web server, such as apache running on a unix platform.
The most important limitation that I can see in the code is that it only remembers information from the previously received packet, and it can only send a packet in response to receiving one, but can't retransmit on a timeout not having received an ACK. Calling this TCP is a streatch at best. It's certainly a long way from RFC-1122.
For example, consider the case where two clients attempt to access this little web server at the same time, which is not unlikely running the data pipe at 19200 baud, and having CTS inhibiting data flow in between every received byte, and during all data transmission. The remote IP address is overwritten as the second packet is received, causing all knowledge of the first connection to be lost. Most of that information will be regained when the first host sends another packet, but the point is that this little web server isn't going to work well with multiple connections at the same time, and probably won't work at all if the TCP retransmit is require because of any packet loss.
It is a neat project, and doing even this minimal tx follows rx without pre-connection state is some impressive code for such a small chip. Neat as it is, it just isn't a viable web server for any application where multiple clients may use it. It probably won't do well on networks that have packet loss, duplicated packet and the other not-so-common problems that come with the best-effort (but unreliable) IP datagram service.
And now for a shameless plug.... for the posters above who were talking about connecting a disk drive, here's a little project I did that connects a IDE hard drive to a 8051 microcontroller. Maybe it could be used with a PIC? My code is public domain, so it could be combined with a GPL'd project, like this little web server.
My understanding of Napster (not having used it), is that each user makes a shared directory, and whatever files they place in it are shared with other users, and whatever they download is downloaded into this directory. The important idea being that each user is in control of what material they are currently sharing with others.
I just don't understand how a couple dozen or even hundreds of Napster users (of the 10e6) could undermine the entire system by "flooding" it with Trojan Horses or Bombs? Maybe Freenet, where the file is copied automatically, but in Napster and Gnutella space, the copies happen as a result of users, who nearly always will review the material and delete it if it's bogus.
Did I miss some important part of their Trojan Horse attack that makes it viable??
In normal operation, the capacitor does nothing, but when you first turn on the power, the cap makes sure there is the full 12 volts applied to the fan, for just a short time. This will allow the fan to begin spinning, even if the steady state voltage is very low.
If all you're worried about is moved pages within your server, looking at the error log from the web server is pretty good.
IMPORTANT-READ CAREFULLY: This Microsoft Agreement ("Agreement") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation ("Microsoft") for the version of the Microsoft specification identified above which you are about to download ("Specification"). BY DOWNLOADING, COPYING OR OTHERWISE USING THE SPECIFICATION, YOU AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT DOWNLOAD, COPY, OR USE THE SPECIFICATION.
The Specification is confidential information and a trade secret of Microsoft. Therefore, you may not disclose the Specification to anyone else (except as specifically allowed below), and you must take reasonable security precautions, at least as great as the precautions you take to protect your own confidential information, to keep the Specification confidential. If you are an entity, you may disclose the Specification to your full-time employees on a need to know basis, provided that you have executed appropriate written agreements with your employees sufficient to enable you to comply with the terms of this Agreement. You are also permitted to discuss the Specification with anyone else who has downloaded the Specification and agreed to these terms and conditions.
Microsoft reserves all other rights it may have in the Specification and any intellectual property therein. Microsoft may have patents or pending patent applications, trademarks, copyrights, trade secrets or other intellectual property rights covering subject matter in the Specification. The furnishing of this Specification does not give you any license to these patents, trademarks, trade secrets, copyrights, or other intellectual property rights, except as specifically set forth above with respect to certain copyrights and trade secrets.
INTELLECTUAL PROPERTY RIGHTS. All ownership, title and intellectual property rights in and to the Specification are owned by Microsoft or its suppliers.
DISCLAIMER OF WARRANTIES. To the maximum extent permitted by applicable law, Microsoft and its suppliers provide the Specification (and all intellectual property therein) AS IS AND WITH ALL FAULTS, and hereby disclaim all warranties and conditions, either express, implied or statutory, including, but not limited to, any (if any) implied warranties or conditions of merchantability, of fitness for a particular purpose, and of accuracy or completeness, all with regard to the Specification and any intellectual property therein. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE OR NON-INFRINGEMENT WITH REGARD TO THE SPECIFICATION AND ANY INTELLECTUAL PROPERTY THEREIN.
APPLICABLE LAW. This Agreement is governed by the laws of the State of Washington.
ENTIRE AGREEMENT. This Agreement is the entire agreement between you and Microsoft relating to the Specification and it supersedes all prior or contemporaneous oral or written communications, proposals and representations with respect to the Specification.
Nowadays, we have IEEE 754, which says a 32 bit float has 23 bits (plus an implied 1 bit) in the mantissa, 8 in the exponent, and of course the sign bit. Intel, Motorola, Sun, et all followed the standard, which presumably had input from all the major players. The major IC manufacturers caused the compilers and other tools to follow, which generally caused most software to follow the standard, and today the idea of using floats other than IEEE 754 is thought only by developers of very resource limited embedded devices, who typically convert their space-saving floats to the standard when they communicate.
With the recent M$ kerberos slashdot story/hype, I suspect a lot of slashdot folk will complain about monopolies breaking standards, and probably trademarks, patents, and all the other usual slashdot stuff.... cynical and jaded as many slashdotters may be, there are lots of computer related standards that are well followed.
Why follow standards? Nobody enforces standards, except for customers. Customers generally like it when products interoperate, and if a group of competing products interoperate because they all follow a standard, a new product that doesn't generally won't sell.
Now there are lots of de-facto standards, where a single company had enough market share that they could just come up with something and everyone else followed. ISA bus (IBM), PDF (Adobe), and .DOC/.XLS format (Microsoft) come to mind, though there are many others.
Whether a format or de-facto standard, the reason to follow the standard is usually because a product which inter-operates with others has a market advantage over other products that don't. Look at Microsoft Exchange Server and Lotus Domino, which have their own proprietary protocols, but also have to support the standards to be accepted by customers.
Yes, usually the faster code is much older than just 2 years back!
Where I work, most people un-install gnome and use fvwm, because its so much faster.
When I draw simple low-res diagrams for my web site, I use MacPaint 2.0 (1988) on a 50 Mhz '030 mac, and it's certainly the fastest and most responsive simple pixle-level paint program I've seen, running on 386-class hardware!
I think any long-time computer user can think of many examples where a newer version of a program ran more slowly than the last, often times much more slowly... and on the flip side of the coin, it seems (at least to me) that a newer version of a program rarely ends up being faster than older versions.
What actually happens, year after year, is an effort to add new functionality, sometimes very useful, other times bells and whistles. What doesn't tend to happen is an effort to make programs execute faster. Sometimes there is an effort to not hurt performance "too much", but the comparison (when made at all) is between the older version running on older hardware, and the new version running on state-of-the-art hardware, or sometimes even the hardware expected to be on the market when the program comes into wide-spread use!
Often times the tests of performance are highly subjective, and the subjective decision is made by the programmer (who would have to do a lot of difficult work re-writing his code), or worse yet by a manager, who would have to cost-justify the time and money spent to improve performance without adding new functionality!
Using gnome as an example, the last two interviews I've read with their developers, someone complained about general slowness. The attitude expressed by the developers was the usual "fast enough". Maybe it is, but it certainly is quite slugish compared to fvwm if all you want to do is run a bunch of xterms, netscape, and maybe a couple other plain X apps.
I wish that people would stop making comments like "that's so stupid" or "this is so dumb" I mean, really, leaving the little guy on your desktop is no dumber than using vi or emacs or AmiPro or AbiWord or KWord or anything else. It's just a personal preference, right?
Maybe you should try the OUA Vulnerability Proof of Concept web page. You'll see quite quickly how simplying having that damn paperclip (not even running) is one of the worse security holes to come along... not anything like leaving a dozen x-terms open, all running vi or emacs.
Don't forget to set your macro virus protection back after you do the demo... not like it would be of any help against a worm/virus using this exploit.
And to state the obvious, this is some seriously cool reverse engineering on the part of @state and l0pht. I looked at his script code ... lots of hex numbers in the calls, must have been a lot of effort to do this job. If anyone needs any examples to show why reverse engineering needs to remain legal, this is a great one.
I'm working on a web site which may be linked from slashdot within a few months, and I fear that my site will buckle under the load, as zeldman.com did this morning.
I really have been concerned about the slashdot effect, and I'm planning to off-load my images to another site with more bandwidth. Other than that, I'm really not sure what else I can do to prepare.
I really am sorry that my post annoyed you and others. By wording my message poorly it probably missed its chance to be chosen.
Editors: in the unlikely case that you do choose my message, please remove the second paragraph or replace it with the one from this message. I've done enough damage already.
Someday (hopefully within a couple months) I may have to deal with the slashdot effect, with my Homebrew MP3 player project, which is open source, but at the moment only in a just barely working state.
My question, specifically from your recent experience, is how should one deal with the slashdot effect, knowing that is coming.
To see just how bad the patent situation really is, try reading this page about all the patents standing in the way of a GNU patent-free codec. This page is linked right from the main LAME page, which says to me that a whole lot of posters here haven't done much looking at the LAME website.
Of course, Thomson does not require a royalty for mp3 Software Decoders/Players distributed free-of-charge via the Internet for personal use of end-users, so free (beer or speech) software is ok, but only for software distibuted free on the internet. Distributed on a cdrom (Redhat, Suse, etc) seems questionable.
Now after having read these pages, I'd be curious to know why so many people believe that the patents only apply to encoders. Please, please, please tell of a reliable source that shows the MP3 related patents are only for encoding. My email address appears above, with an obvious anti-spam word that you can easily remove.
MODERATORS: Please help dispell the misinformation about the applicability of the patents.
One obvious coordinate representation is IEEE 32-bit floating point numbers. The 24 bit mantissa specified by IEEE would provide at least 8 bits of sub-pixel position within the 16-bit X coordinate space, and would be easy for applications to manage.
Ok, using floats sounds a little strange, but maybe everyone's FPU are fast now-a-days, and who cares about ever running on hand held devices for the forseeable future, as the protcol itself will require a FPU to run well.
However, it is desirable for objects to be translationally invariant. As objects move to larger coordinates, IEEE floats will slowly drop bits of sub-pixel position information.
This is true, but you'll have quite a large number of pixels until the 23 bits bits of the mantissa (the 24'th bit is always one) aren't representing much sub-pixel positioning info.
The next question is how many bits of fraction to use. Four is enough for most applications, but eight will suffice for all but the most particular uses.
If 4 bits will do, I'd think that 2^19 pixels is a lot more than will be needed for some time. Even if 300 dpi flat panels come about in several years, and you must have 8 bits for subpixel location, 2^15 pixels at 300 dpi is still 109 inches!!
Well, that's enough nit-picking for one posting.
Intel gets special consideration
POSIX conformance testing by UNIFIXHere's a plug for unifix, and maybe even IEEE
mtrr: v1.35a (19990819) Richard Gooch (rgooch@atnf.csiro.au)Shameless self promotion on Richard's part
Based upon Swansea University Computer Society NET3.039Swansea, what right have they...
<Sound Blaster 16 (4.16)> at 0x220 irq 5 dma 1,5
Creative Labs gets their registered trademark displayed
(scsi0) <Adaptec AIC-7890/1 Ultra2 SCSI host adapter> found at PCI 6/0 Vendor: SEAGATE Model: ST39102LW Rev: 0005 Vendor: TOSHIBA Model: CD-ROM XM-6201TA Rev: 1030Hey, three more nasty for-profit entities... how dare they
3c59x.c:v0.99H 11/17/98 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.And who hasn't seen Donald, who wrote drivers for nearly every card in existance at the time
Most authors of free software / open source authors display their names. If a company pays a few people to contriubute full time to a project, why shouldn't they get the same (rather minimal) mention that individuals get?
Of course, then there are issues of user interface, playlists, low power consumption, etc. Still, if I can put something together by myself in just a couple weeks, it makes me wonder why all the commercial vendors are so late to market.
Maybe if there is some interest, I'll make some improvements to the design and arrange to make the assembled/tested circuit boards available at a reasonable price... see the bottom of the page for more info.
Paul
Windows 2000 Professional
- 64 megabytes (MB) of RAM recommended minimum; more memory generally improves responsiveness [4 gigabytes (GB) RAM maximum.]
- 2 GB hard disk with a minimum of 650 MB of free space. (Additional free hard disk space is required if you are installing over a network.)
Windows 2000 Server- 256 MB of RAM recommended minimum. (128 MB minimum supported; 4 GB maximum.)
- 2 GB hard disk with a minimum of 1 GB of free space. (Additional free hard disk space is required if you are installing over a network.)
To me, bloated is anything that won't run on the best machine I own. With my current 128 megs of RAM, looks like I won't be replacing my linux server with win2k...I'd say the thing to do is order these protected discs TODAY, before they start some sort of "click to agree"... to more licensing terms than you can shake a stick at!
S lashDevSlashDSP
The way I see it, if I can walk into a store and buy one off the shelf (with cash) and not agree to any "no reverse engineering" terms and conditions, then it'll only be a matter of time until someone posts a linux based player. It'd be really interesting if a linux player appears when there's not yet one for windoze.
I just hope whoever cra.. er, reverse engineers this thing gives the player a more honest-sounding name than DeCSS. Maybe:
CactusPlay
or maybe even
ThouShaltNotRedirectThisCactusDataToAnywhereBut
So, I was gonna flame Katz for once again not being able to create a link, but this time it looks like the article in question just isn't on-line. Still, Katz ought to have mentioned that right after the link that leads only to their main website. I suppose he did say "January issue" and the site shows that it's giving you material from December.