This past year, I was accepted into Carnegie Mellon's [cmu.edu] School of Computer Science [cmu.edu]. It has been a remarkable experience that I would lik
e to share with the Slashdot community. Here's an account of my experience.
Week 1, Sunday: I moved in today. My roommate, a sophomore CS student, had already moved in tw
o days before me. The floor is already completely covered with garbage. He also smells. I think he
might be gay too. He's already asked me if I like the color he painted his toenails. This should be
interesting. I am almost completely settled in. Techno music is playing in every room in every floor
of my dorm. There are computers and other types of trash out in the common areas. What a mess. Tom
orrow, I am going to go sign up to get my network connection.
Week 1, Monday: I got hooked up to the CMU network today! I jacked into the network, only to f
ind that the hostname and address assigned to me were colliding with another system. I'll just increm
ent the network numbers a few times. I am really eager to get on.
Week 1, Tuesday: I am still looking for a free IP address. Can't anybody here properly configu
re their systems?
Week 1, Friday: I finally found a free IP! It's mine! You sons of bitches can't have i
t, I found it, I keep it, it's mine! To hell with all of you! Head hurts really bad. I've slowly be
en developing a headache since I first arrived. Everywhere I look there are these Lucent Technologies
wireless access points. I wonder if that's the problem.
Week 1, Saturday: I sat down at my computer today. My desktop wall paper is now the goatse.cx
guy. Pleasant. Scattered over every directory on my C: drive are thousands, possibly millions, of fi
les titled "J00AR30WN3DBITCH-phj33r-" and then some random hacker's name. Don't these people have liv
es? Maybe they need laid or something. It'd take days to clean this out. I mentioned to my roommate
that I needed to reinstall Windows, and immediately he jumped up and shouted: "NO! Do NOT use Window
s!" Suddenly, two dozen other guys (all of them possibly homosexuals) appeared at the door, each tout
ing an operating system called Linux. Half of them got into a fight over which was better, Debian, Re
dHat, Slackware, and a bunch of others I couldn't recognize. Some kid who appeared to not have shower
ed since he was born was touting "Linux From Scratch", saying that only losers used pre-made distros.
A crowd of people in the back kept quiet about how I'd be sorry if I used Linux instead of BSD on the
network. Who the fuck are these people? Classes start next week. Hope I have my computer working s
o I can do my assignments.
Week 3, Friday: People are still trying to get Linux to work on my system. They keep telling m
y that my hardware sucks. We go through about four or five distributions a day. Every now and then,
I notice a little devil on my screen. Stickers for every of these distributions have been plastered o
n my case. Suddenly, my room stinks a lot more with these people in here. I ask them why they never
shower, and the usual response is something along the lines of "showering is like rebooting" and "I do
n't want to lose my uptime."
Week 3, Saturday: There's a troop of men running naked in a circle around McGill Hall. I am no
t even going to ask.
Week 4, Wednesday: Linux is FINALLY working on my computer! I have a pretty slick desktop too.
I think I might like this. I can finally work in my room instead of the labs, although considering
the every increasing layer of garbage on the floor...
Week 4, Thursday: My computer flashes messages about how I am "0WNX0RED" and how I should "PHJ3
3R" whoever and how "L4MEX0R" I am for having an insecure box. A kid suggests we reinstall Linux afte
r discovering about 17 rootkits.
Week 5, Friday: Someone got BSD working on my computer. I wonder if this will last. The stres
s has been building and I forgot to take a shower this morning.
Week 6, Tuesday: Seems I have been "0WNX0R3D" again. Took longer this time. Minutes later, so
meone comes in with a "Bastile Linux" install CD. He gets started installing. I am feeling very susp
icious of these guys.
Week 6, Thursday: Everyone seems to know more about my system than I do. It's a bit unnerving.
I guess anyone could feel upset from this sort of treatment. They hack my box, trash it, then reins
tall everything. I guess they think they're being funny. My dirty clothes are piling up and I am out
of clean ones. I don't have time to do laundry, I'll have to wear something out of the pile.
Week 6, Friday: I got up this morning, sat at my machine, and stared at it blankly. An icon ap
peared on my desktop for Quake III. I suppose it couldn't hurt to play some. I have been very stress
ed lately.
Week 6, Sunday: I lost track of time! I started playing Quake III on the network with some oth
er CMU students (who killed me hundreds of times in the course of 10 minutes) and completely lost myse
lf. There's a bag of chips that has been sitting here for a few weeks. I think I'll finish those off
for breakfast and then go to sleep.
Week 7, Wednesday: I masturbate every day now. Not a single girl comes near me. This is so de
pressing. Do I really smell? Oh well, I have the task of learning how to secure my Linux box to keep
me busy. Who has time for the opposite sex after all?
Week 8, Tuesday: I got into a fight with this little shit who kept telling me RedHat was great.
What a fucking moron! Anybody who knows Linux knows that Debian kicks its sorry little ass. I'll b
e getting my judiciary papers for the incident in the mail. Doesn't this school get it? I can't let
someone go around converting people to RedHat! WtF!?
Week 8, Friday: My roommate squeezed my ass today! At first I was shocked and appauled, and I
told him off for it. Thinking about it later though, there was just something that seemed too strong
about my reaction. I'll talk to him later and appologize for getting so upset, it wasn't really so ba
d.
I understand the cars, alarm clocks, and buildings. But exactly how buggy would a chair have to be to kill someone??
I imagine a person could sit down in a chair, expecting it to work correctly, when suddenly it gives out, they fall backwards, and break their neck.:-)
More on topic, I think that many people are taught the "just get it done" thing even in college. Granted, the teachers might not actually teach that way on purpose, but most comp scis I know have at least once pulled an allnighter to finish a program the night before it is due. In that circumstance, it is not always so much "Does it work?" as "Does it appear to work?" A TA or professor might have a cheap little script to test the main functionality of the program, but it usually doesn't test limits and bounderies very much. With so many of us leaving college with this mentality (and not just us programmers, either) It's easy to see why such a problem is so prevalent. Of course, as with everything, there are always a handful who never partied in college (even us geeks party!) and actually leave with all the information they were given to become really good coders. And while the rest of us may include quite a few good coders, too, the fact is that the slacker mentality will probably still be present in the workplace, because we are "taught" that it works.
You are absolutely right with this. One of the things that frustrated me and pissed me off so much in school is that professors automatically mistook late programs as the work of lazy students. I (almost) never turned in a program that I wasn't confident worked well, not just "working". I would often lament to my professors that the program was mostly working, just not well enough yet. I understand the rigors of adhering to a class schedule, but I wanted to be sure I turned in something of quality, even if the extra effort might not significantly affect the output. I have often observed that the lackluster versions of my assignments were often superior to the majority of what my peers turned in, yet lateness typically results in penalty. I suppose that's just how the real world works. Funny that few people get upset when a building's finish date gets pushed back with engineers saying "it'll be ready when it's ready".
This past year, I was accepted into Carnegie Mellon's [cmu.edu] School of Computer Science [cmu.edu]. It has been a remarkable experience that I would lik
e to share with the Slashdot community. Here's an account of my experience.
Week 1, Sunday: I moved in today. My roommate, a sophomore CS student, had already moved in tw
o days before me. The floor is already completely covered with garbage. He also smells. I think he
might be gay too. He's already asked me if I like the color he painted his toenails. This should be
interesting. I am almost completely settled in. Techno music is playing in every room in every floor
of my dorm. There are computers and other types of trash out in the common areas. What a mess. Tom
orrow, I am going to go sign up to get my network connection.
Week 1, Monday: I got hooked up to the CMU network today! I jacked into the network, only to f
ind that the hostname and address assigned to me were colliding with another system. I'll just increm
ent the network numbers a few times. I am really eager to get on.
Week 1, Tuesday: I am still looking for a free IP address. Can't anybody here properly configu
re their systems?
Week 1, Friday: I finally found a free IP! It's mine! You sons of bitches can't have i
t, I found it, I keep it, it's mine! To hell with all of you! Head hurts really bad. I've slowly be
en developing a headache since I first arrived. Everywhere I look there are these Lucent Technologies
wireless access points. I wonder if that's the problem.
Week 1, Saturday: I sat down at my computer today. My desktop wall paper is now the goatse.cx
guy. Pleasant. Scattered over every directory on my C: drive are thousands, possibly millions, of fi
les titled "J00AR30WN3DBITCH-phj33r-" and then some random hacker's name. Don't these people have liv
es? Maybe they need laid or something. It'd take days to clean this out. I mentioned to my roommate
that I needed to reinstall Windows, and immediately he jumped up and shouted: "NO! Do NOT use Window
s!" Suddenly, two dozen other guys (all of them possibly homosexuals) appeared at the door, each tout
ing an operating system called Linux. Half of them got into a fight over which was better, Debian, Re
dHat, Slackware, and a bunch of others I couldn't recognize. Some kid who appeared to not have shower
ed since he was born was touting "Linux From Scratch", saying that only losers used pre-made distros.
A crowd of people in the back kept quiet about how I'd be sorry if I used Linux instead of BSD on the
network. Who the fuck are these people? Classes start next week. Hope I have my computer working s
o I can do my assignments.
Week 3, Friday: People are still trying to get Linux to work on my system. They keep telling m
y that my hardware sucks. We go through about four or five distributions a day. Every now and then,
I notice a little devil on my screen. Stickers for every of these distributions have been plastered o
n my case. Suddenly, my room stinks a lot more with these people in here. I ask them why they never
shower, and the usual response is something along the lines of "showering is like rebooting" and "I do
n't want to lose my uptime."
Week 3, Saturday: There's a troop of men running naked in a circle around McGill Hall. I am no
t even going to ask.
Week 4, Wednesday: Linux is FINALLY working on my computer! I have a pretty slick desktop too.
I think I might like this. I can finally work in my room instead of the labs, although considering
the every increasing layer of garbage on the floor...
Week 4, Thursday: My computer flashes messages about how I am "0WNX0RED" and how I should "PHJ3
3R" whoever and how "L4MEX0R" I am for having an insecure box. A kid suggests we reinstall Linux afte
r discovering about 17 rootkits.
Week 5, Friday: Someone got BSD working on my computer. I wonder if this will last. The stres
s has been building and I forgot to take a shower this morning.
Week 6, Tuesday: Seems I have been "0WNX0R3D" again. Took longer this time. Minutes later, so
meone comes in with a "Bastile Linux" install CD. He gets started installing. I am feeling very susp
icious of these guys.
Week 6, Thursday: Everyone seems to know more about my system than I do. It's a bit unnerving.
I guess anyone could feel upset from this sort of treatment. They hack my box, trash it, then reins
tall everything. I guess they think they're being funny. My dirty clothes are piling up and I am out
of clean ones. I don't have time to do laundry, I'll have to wear something out of the pile.
Week 6, Friday: I got up this morning, sat at my machine, and stared at it blankly. An icon ap
peared on my desktop for Quake III. I suppose it couldn't hurt to play some. I have been very stress
ed lately.
Week 6, Sunday: I lost track of time! I started playing Quake III on the network with some oth
er CMU students (who killed me hundreds of times in the course of 10 minutes) and completely lost myse
lf. There's a bag of chips that has been sitting here for a few weeks. I think I'll finish those off
for breakfast and then go to sleep.
Week 7, Wednesday: I masturbate every day now. Not a single girl comes near me. This is so de
pressing. Do I really smell? Oh well, I have the task of learning how to secure my Linux box to keep
me busy. Who has time for the opposite sex after all?
Week 8, Tuesday: I got into a fight with this little shit who kept telling me RedHat was great.
What a fucking moron! Anybody who knows Linux knows that Debian kicks its sorry little ass. I'll b
e getting my judiciary papers for the incident in the mail. Doesn't this school get it? I can't let
someone go around converting people to RedHat! WtF!?
Week 8, Friday: My roommate squeezed my ass today! At first I was shocked and appauled, and I
told him off for it. Thinking about it later though, there was just something that seemed too strong
about my reaction. I'll talk to him later and appologize for getting so upset, it wasn't really so ba
d.
I agree, with one caveat: efficient code can often be far less elegant than "normal" code. For example, there are plenty of goto statements in the Linux kernel. Using some of the more advanced features of C++ can have an efficiency impact, even if it does result in a simpler, more easily understood architecture.
Kind of forgot about this little issue: endless trade offs. Do you want to spend less time running the program or maintaining it?:-)
Yes, but the libraries can be improved or replaced independently of the applications. I believe there is a tiny libc floating around somewhere, for instance.
Oh, and when I was referring to when I said that libraries can bloat an app, consider a configuration file format in xml. Although it may never need to support anything other than us-ascii, use of an xml parser library would include code for unicode support at the very least, when a custom-written parser would not. Hence the trade-off between a well-understood, mature library, and a new, efficient chunk of code specific to that application. This is the kind of thing that would result in different choices for embedded vs desktop constraints.
*nod* I guess I can honestly admit I would rather see developers use the big XML library when developing for general purpose systems. Primarily because the big library will serve many more applications than a fine-tuned specific one -- as more apps use a library, the total efficiency in the system goes up, even if there is a performance hit on a case-by-case basis. I think this makes my original point moot in a lot of ways.:-)
you're completely right. I'm always wondering, why watching the screensaver completely sucks. Even the simplest screensavers are not moving as smoothely on my 1200 Mhz, 256M laptop as on a lousy Atari ST.
How come? It's a shame.
I do admit that those machines have very good graphics routines because, well, they were designed for doing graphics. Their graphics processors are also optimized for rendering to lower end monitors (like televisions) and could time the interlacing and refresh properly to achieve really solid graphics effects.
Any time you design a piece of hardware towards a specific function, you get amazing results. Whenever I play a few games on my SuperNES, I think "this machine is less powerful than an old IBM AT, but look at what it can do -- 3.87MHz designed for gaming can do a lot".
Now let me jump into more modern things. Your screensaver not appearing to be silky smooth can be from a couple reasons: 1) the author may not be as talented as those who implement powerful graphics libraries, and thus his/her rendering routines may not be as fast; 2) not using certain graphics libraries on some platforms means having to go through the environment's layers of abstraction. Modern operating systems do not allow direct hardware access unless you go through certian libraries (this is correct enough for the purposes of this discussion).
I bet if you look around for some screensavers that utilize your 3D accellerator, you'll be very pleased. I remember when I first got my nVidia TNT2 card and downloaded RivaLights (a non-Glide version of VoodooLights), a program that spun a bunch of lense-flare textures around on flat polys. Incredibly cool effect and silky smooth (usually got a full 30 fps). Today on my G4 PowerBook, I've got a couple of screensavers with OS X 10.2 that do some nifty things. There's one screensaver that pans pictures around on the display with a very subtle zoom that looks like you're watching physical photos get moved around. It's amazingly solid and rendered with OpenGL (as everything else is on this platform:-).
Points well taken (with many nods). Just a few comments:
Good engineering practices don't equate to small code. For example, reuse of existing libraries may increase overall code size compared with something written from scratch, but is usually a better engineering choice, as the libraries can be tested individually, and mature long before use in any particular application.
Yes, I'm talking mainly about desktop computers, which usually requires different constraints for the applications than embedded devices. Don't mix the two up, the skills demonstrated here could apply very well to embedded programming, but they are less useful in a desktop environment.
Granted, much of what makes Contiki impressive is its tiny footprint. Fitting all that into 48Kb is astonishing. But aside from memory constraints, there's the issue of raw crunching power. To do what Continki does requires code that gets a lot done in very few cycles. Good and clever algorithms make up a huge part of this. So don't get me wrong: I understand small code is not the end all of software design. Sure, bubble sort is four lines of code, but is an order or two slower than most other algorithms which are much larger in implementation and resource consumption (I realize this is not a good real-world example -- just to make a point). I am of course not against the use of libraries (and I fail to see how they make code larger;-). The problem is, a lot of people fall back to poorly written libraries that may not be as mature as perceived. They're only used because they are convenient. I think I would be preaching to the choir if I were to enumerate examples. What I am trying to get across here is that there are principle that easily apply to both worlds (and quite possibly all) of software design. I apologize also for using "software design" as a blanket term -- I mean to encompass efficiency in senses other than size.
Of course, I could just be droning on here... I am stuck in bed with the flu at the moment.
but these days you have a lot more code that needs to be churned out so a lot of it gets done by journeymen programmers (and i include myself in that)
I have to group myself into this category as well. I am perpetually driven by the "just get it done" mantra of my superiors and that is a real shame. I try my best to come up with good design and good code quickly, but that rarely works out. Worse still, good design does not fit well into a big picture of poor design.
The software industry needs a wake-up call. With players like Microsoft all pissing in this pot, there seems to be no hope. I cannot think of any other industry that produces similarly shitty products. If cars, alarm clocks, chairs, buildings and so forth were all built with the same principles, we'd all be dead, late, dead, and more dead.
Although the focus of this project is not the technology itself I think. This guy has proven to any employeer he will ever approach that he has superior skills when it comes to programming under tight constraints. Enjoy working in the embedded systems industry (and making money hand-over-fist doing it)!
What else is interesting about this is that it goes to show how foolish and blind nearly the entire computer industry is when it comes to technology advances. People can't upgrade to a 10GHz processor fast enough, when all they need to do is check their email. Companies are constantly wasting servers and replacing them with newer models. This is not necessary. Today's software is written so poorly that super high-end hardware is needed to make up for lazy/poor programmers. Look at what these ancient systems can do. That "old" PIII or PII or K6 sitting on your desk is a power house. What's the problem? The software you're running on it is likely to be wasting 75% of the CPU cycles it eats.
It's a shame there aren't more developers or at least software architects out there with this guy's talent. We'd all be saving a hell of a lot of money I think. Then again, hardware prices would increase in proportion to its long-term value. Then again, there's a lot of savings in many ways (largely environmental -- less junk being dumped into the wild at the beginning and end of a computer's life cycle). Of course, I wonder if most of the blame goes to businesses just trying to get software out the door as soon as possible without stopping to think about good design (in all senses).
Or any of the nearby cities. You'll find unguarded, WEP-less WAPs by the dozens.
There's just something about our nation's capital that screams lack of security. Particularly, load up Kismet around Arlington, VA *coughn.s.f.coughballstonmallcough*.
I realize this isn't American heartland, but many people swing past this way when they are off being tourists.
SCO has always sucked... it's just great how they have to go and do something particularly stupid. This hurts the image of open source dramatically in the eyes of business people, and that's not good.
Usually I'm all about supporting the little guy, but for this, I hope to see IBM make SCO look like fools in court. Clobber them into the ground.
If we all became layers... We could wreck that industry too! GO FOR IT!
If/. people became layers... that's a scary thought. You're right, if geeks at large were able to start having sex, the industry would fucking shut down.
Would it be easier to make the DLLs backwards compatible?
You're right. It would. The trouble is, Microsoft's API documentation is a closely guarded secret, and if you've ever done Windows development using resources from MSDN, you'd know that it's utterly pathetic. All the most useful library calls are kept hidden from you under penalty of DMCA I imagine.
So, what happens if you either A) have no access to powerful APIs or B) you have crappy documentation for a crappy set of APIs? Simple! You code it yourself, reinventing the wheel. Dozens upon dozens of application developers for Windows have done this, making changes and additions to what may be standard libraries. One vendor creates a library with a call foo(bar b), and distributes the library. Another makes a call like bar(foo f) and distributes the library under the same moniker. You can't just merge them... so one version has got to go.
And of course, as for backwards compatibility, since when have Microsoft ever gotten that right? I've ran into so many issues with a Windows application not working on XP because I developed it on 2000. A common solution to this problem is to distribute the version of a library that came with 2000 and overwrite whatever existed on the XP box with it.
All in all, Windows is a pathetic, shody state of affairs. I ask myself everyday: "how the hell does this criminal organization con so many sheeple into using their products!?"
This means that if you have somelibrary.dll-123 and somelibrary.dll-234, they will end up both getting cached (wasted memory) or only one will get cached at a time. An application that uses the one not cached will have the load the other, even though the two DLLs may be identical save a few minor details. There will certainly be greatly increased disk access and if you thought Windows was a hog on your disk now...
In order to solve "DLL confusion" in Windows, Microsoft are going to increase of the number of DLLs on the system, potentially by as much as there are applications installed, and give each DLL a unqiue, but symbolic only (xyz123:pdq098 versus msvcrt.dll for example) identifier.
One result is that from one machine to the next, not only will you not be sure what applications are using which DLLs, you will also have applications that use radically different identifiers for accessing their libraries.
This eliminates library confusion... how? I can't wait to have to troubleshoot it. Here's another solution Microsoft: document your standard libraries so that idiot application developers don't feel they need to re-invent the wheel and dump custom libraries all over the place.
Of course, the rest of us will continue using open source software.
I just heard some sad news on public radio - star of Mr. Roger's Neighborhood and community advocate Fred Rogers was found dead in his Pittsburgh home this morning . There weren't any more details. I'm sure everyone in the Slashdot community will miss him -- even if you didn't enjoy his television show, there's no denying his contributions to popular culture. Truly an American icon.
I just heard some sad news on public radio - star of Mr. Rodger's Neighborhood and community advocate Fred Rodgers was found dead in his Pittsburgh home this morning. There weren't any more details. I'm sure everyone in the Slashdot community will miss him -- even if you didn't enjoy his television show, there's no denying his contributions to popular culture. Truly an American icon.
I just heard some sad news on talk radio - star of Mr. Rodger's Neighborhood and community advocate Fred Rodgers was found dead in his Pittsburgh home this morning. There weren't any more details. I'm sure everyone in the Slashdot community will miss him - even if you didn't enjoy his television show, there's no denying his contributions to popular culture. Truly an American icon.
Certainly, I think it's important for universities to put an end to the free-flow of information through their campuses. I mean, imagine the damage caused to society if universities just flagrantly allowed students to share intellectual property without a whim for who owns it! What a disaster it could be, as profit margins begin from students acquiring someone else's IP. I cannot imagine anything worse.
OKay, so in recent history, some research groups from Israel have come up with the following:
1.) Quantum computers that cracked RC5 in a few miliseconds.
2.) "True AI" like HAL that they would raise from infancy and would be sentient.
3.) "Unbreakable" encryption.
4.) DNA computers that are 100,000 faster than any desktop PC (but whoops, it's only a PoC).
There's a few more, but I cannot recall them all. These were all posted on Slashdot, but I am lazy and don't feel like using the pitiful search function here to find them. I'm sure others will remember.
So what is it with "researchers" from that country coming up with all kinds of impossible and implausible discoveries that nobody else has even come close to producing... and then we never hear from them again? Is it common practice there to create a bullshit storm to get project funding or a bigger budget? Can someone clear this up for me?
Disclaimer: I am not anti-sematic or anything, I just want to know what the deal is.
...why would demons scream when thrown into fire? Wouldn't it be just like home? Also, I would guess that the flames of hell are a lot hotter than some little camp fire made by some young boy and his mommy.
"Oh geez Cthulu, we're being burned." "It's not much hotter than southern California, really." *both shrug*
These come up so often, I thought this story was a /. dupe at first glance.
OKAY PEOPLE I NEED YOUR ATTENTION
<spigot> KINDLY STOP WHATEVER IT IS YOU'RE DOING AND LISTEN UP
<spigot> THIS IS GOING TO AFFECT EVERYONE IN THE DEPARTMENT
<pants> HOLY GOD
<spigot> FAT BALLS
<spigot> SO YOU KNOW WE MEAN BUSINESS
This past year, I was accepted into Carnegie Mellon's [cmu.edu] School of Computer Science [cmu.edu]. It has been a remarkable experience that I would lik e to share with the Slashdot community. Here's an account of my experience.
Week 1, Sunday: I moved in today. My roommate, a sophomore CS student, had already moved in tw o days before me. The floor is already completely covered with garbage. He also smells. I think he might be gay too. He's already asked me if I like the color he painted his toenails. This should be interesting. I am almost completely settled in. Techno music is playing in every room in every floor of my dorm. There are computers and other types of trash out in the common areas. What a mess. Tom orrow, I am going to go sign up to get my network connection.
Week 1, Monday: I got hooked up to the CMU network today! I jacked into the network, only to f ind that the hostname and address assigned to me were colliding with another system. I'll just increm ent the network numbers a few times. I am really eager to get on.
Week 1, Tuesday: I am still looking for a free IP address. Can't anybody here properly configu re their systems?
Week 1, Friday: I finally found a free IP! It's mine! You sons of bitches can't have i t, I found it, I keep it, it's mine! To hell with all of you! Head hurts really bad. I've slowly be en developing a headache since I first arrived. Everywhere I look there are these Lucent Technologies wireless access points. I wonder if that's the problem.
Week 1, Saturday: I sat down at my computer today. My desktop wall paper is now the goatse.cx guy. Pleasant. Scattered over every directory on my C: drive are thousands, possibly millions, of fi les titled "J00AR30WN3DBITCH-phj33r-" and then some random hacker's name. Don't these people have liv es? Maybe they need laid or something. It'd take days to clean this out. I mentioned to my roommate that I needed to reinstall Windows, and immediately he jumped up and shouted: "NO! Do NOT use Window s!" Suddenly, two dozen other guys (all of them possibly homosexuals) appeared at the door, each tout ing an operating system called Linux. Half of them got into a fight over which was better, Debian, Re dHat, Slackware, and a bunch of others I couldn't recognize. Some kid who appeared to not have shower ed since he was born was touting "Linux From Scratch", saying that only losers used pre-made distros. A crowd of people in the back kept quiet about how I'd be sorry if I used Linux instead of BSD on the network. Who the fuck are these people? Classes start next week. Hope I have my computer working s o I can do my assignments.
Week 3, Friday: People are still trying to get Linux to work on my system. They keep telling m y that my hardware sucks. We go through about four or five distributions a day. Every now and then, I notice a little devil on my screen. Stickers for every of these distributions have been plastered o n my case. Suddenly, my room stinks a lot more with these people in here. I ask them why they never shower, and the usual response is something along the lines of "showering is like rebooting" and "I do n't want to lose my uptime."
Week 3, Saturday: There's a troop of men running naked in a circle around McGill Hall. I am no t even going to ask.
Week 4, Wednesday: Linux is FINALLY working on my computer! I have a pretty slick desktop too. I think I might like this. I can finally work in my room instead of the labs, although considering the every increasing layer of garbage on the floor...
Week 4, Thursday: My computer flashes messages about how I am "0WNX0RED" and how I should "PHJ3 3R" whoever and how "L4MEX0R" I am for having an insecure box. A kid suggests we reinstall Linux afte r discovering about 17 rootkits.
Week 5, Friday: Someone got BSD working on my computer. I wonder if this will last. The stres s has been building and I forgot to take a shower this morning.
Week 6, Tuesday: Seems I have been "0WNX0R3D" again. Took longer this time. Minutes later, so meone comes in with a "Bastile Linux" install CD. He gets started installing. I am feeling very susp icious of these guys.
Week 6, Thursday: Everyone seems to know more about my system than I do. It's a bit unnerving. I guess anyone could feel upset from this sort of treatment. They hack my box, trash it, then reins tall everything. I guess they think they're being funny. My dirty clothes are piling up and I am out of clean ones. I don't have time to do laundry, I'll have to wear something out of the pile.
Week 6, Friday: I got up this morning, sat at my machine, and stared at it blankly. An icon ap peared on my desktop for Quake III. I suppose it couldn't hurt to play some. I have been very stress ed lately.
Week 6, Sunday: I lost track of time! I started playing Quake III on the network with some oth er CMU students (who killed me hundreds of times in the course of 10 minutes) and completely lost myse lf. There's a bag of chips that has been sitting here for a few weeks. I think I'll finish those off for breakfast and then go to sleep.
Week 7, Wednesday: I masturbate every day now. Not a single girl comes near me. This is so de pressing. Do I really smell? Oh well, I have the task of learning how to secure my Linux box to keep me busy. Who has time for the opposite sex after all?
Week 8, Tuesday: I got into a fight with this little shit who kept telling me RedHat was great. What a fucking moron! Anybody who knows Linux knows that Debian kicks its sorry little ass. I'll b e getting my judiciary papers for the incident in the mail. Doesn't this school get it? I can't let someone go around converting people to RedHat! WtF!?
Week 8, Friday: My roommate squeezed my ass today! At first I was shocked and appauled, and I told him off for it. Thinking about it later though, there was just something that seemed too strong about my reaction. I'll talk to him later and appologize for getting so upset, it wasn't really so ba d.
I understand the cars, alarm clocks, and buildings. But exactly how buggy would a chair have to be to kill someone??
:-)
I imagine a person could sit down in a chair, expecting it to work correctly, when suddenly it gives out, they fall backwards, and break their neck.
More on topic, I think that many people are taught the "just get it done" thing even in college. Granted, the teachers might not actually teach that way on purpose, but most comp scis I know have at least once pulled an allnighter to finish a program the night before it is due. In that circumstance, it is not always so much "Does it work?" as "Does it appear to work?" A TA or professor might have a cheap little script to test the main functionality of the program, but it usually doesn't test limits and bounderies very much. With so many of us leaving college with this mentality (and not just us programmers, either) It's easy to see why such a problem is so prevalent. Of course, as with everything, there are always a handful who never partied in college (even us geeks party!) and actually leave with all the information they were given to become really good coders. And while the rest of us may include quite a few good coders, too, the fact is that the slacker mentality will probably still be present in the workplace, because we are "taught" that it works.
You are absolutely right with this. One of the things that frustrated me and pissed me off so much in school is that professors automatically mistook late programs as the work of lazy students. I (almost) never turned in a program that I wasn't confident worked well, not just "working". I would often lament to my professors that the program was mostly working, just not well enough yet. I understand the rigors of adhering to a class schedule, but I wanted to be sure I turned in something of quality, even if the extra effort might not significantly affect the output. I have often observed that the lackluster versions of my assignments were often superior to the majority of what my peers turned in, yet lateness typically results in penalty. I suppose that's just how the real world works. Funny that few people get upset when a building's finish date gets pushed back with engineers saying "it'll be ready when it's ready".
This past year, I was accepted into Carnegie Mellon's [cmu.edu] School of Computer Science [cmu.edu]. It has been a remarkable experience that I would lik e to share with the Slashdot community. Here's an account of my experience.
Week 1, Sunday: I moved in today. My roommate, a sophomore CS student, had already moved in tw o days before me. The floor is already completely covered with garbage. He also smells. I think he might be gay too. He's already asked me if I like the color he painted his toenails. This should be interesting. I am almost completely settled in. Techno music is playing in every room in every floor of my dorm. There are computers and other types of trash out in the common areas. What a mess. Tom orrow, I am going to go sign up to get my network connection.
Week 1, Monday: I got hooked up to the CMU network today! I jacked into the network, only to f ind that the hostname and address assigned to me were colliding with another system. I'll just increm ent the network numbers a few times. I am really eager to get on.
Week 1, Tuesday: I am still looking for a free IP address. Can't anybody here properly configu re their systems?
Week 1, Friday: I finally found a free IP! It's mine! You sons of bitches can't have i t, I found it, I keep it, it's mine! To hell with all of you! Head hurts really bad. I've slowly be en developing a headache since I first arrived. Everywhere I look there are these Lucent Technologies wireless access points. I wonder if that's the problem.
Week 1, Saturday: I sat down at my computer today. My desktop wall paper is now the goatse.cx guy. Pleasant. Scattered over every directory on my C: drive are thousands, possibly millions, of fi les titled "J00AR30WN3DBITCH-phj33r-" and then some random hacker's name. Don't these people have liv es? Maybe they need laid or something. It'd take days to clean this out. I mentioned to my roommate that I needed to reinstall Windows, and immediately he jumped up and shouted: "NO! Do NOT use Window s!" Suddenly, two dozen other guys (all of them possibly homosexuals) appeared at the door, each tout ing an operating system called Linux. Half of them got into a fight over which was better, Debian, Re dHat, Slackware, and a bunch of others I couldn't recognize. Some kid who appeared to not have shower ed since he was born was touting "Linux From Scratch", saying that only losers used pre-made distros. A crowd of people in the back kept quiet about how I'd be sorry if I used Linux instead of BSD on the network. Who the fuck are these people? Classes start next week. Hope I have my computer working s o I can do my assignments.
Week 3, Friday: People are still trying to get Linux to work on my system. They keep telling m y that my hardware sucks. We go through about four or five distributions a day. Every now and then, I notice a little devil on my screen. Stickers for every of these distributions have been plastered o n my case. Suddenly, my room stinks a lot more with these people in here. I ask them why they never shower, and the usual response is something along the lines of "showering is like rebooting" and "I do n't want to lose my uptime."
Week 3, Saturday: There's a troop of men running naked in a circle around McGill Hall. I am no t even going to ask.
Week 4, Wednesday: Linux is FINALLY working on my computer! I have a pretty slick desktop too. I think I might like this. I can finally work in my room instead of the labs, although considering the every increasing layer of garbage on the floor...
Week 4, Thursday: My computer flashes messages about how I am "0WNX0RED" and how I should "PHJ3 3R" whoever and how "L4MEX0R" I am for having an insecure box. A kid suggests we reinstall Linux afte r discovering about 17 rootkits.
Week 5, Friday: Someone got BSD working on my computer. I wonder if this will last. The stres s has been building and I forgot to take a shower this morning.
Week 6, Tuesday: Seems I have been "0WNX0R3D" again. Took longer this time. Minutes later, so meone comes in with a "Bastile Linux" install CD. He gets started installing. I am feeling very susp icious of these guys.
Week 6, Thursday: Everyone seems to know more about my system than I do. It's a bit unnerving. I guess anyone could feel upset from this sort of treatment. They hack my box, trash it, then reins tall everything. I guess they think they're being funny. My dirty clothes are piling up and I am out of clean ones. I don't have time to do laundry, I'll have to wear something out of the pile.
Week 6, Friday: I got up this morning, sat at my machine, and stared at it blankly. An icon ap peared on my desktop for Quake III. I suppose it couldn't hurt to play some. I have been very stress ed lately.
Week 6, Sunday: I lost track of time! I started playing Quake III on the network with some oth er CMU students (who killed me hundreds of times in the course of 10 minutes) and completely lost myse lf. There's a bag of chips that has been sitting here for a few weeks. I think I'll finish those off for breakfast and then go to sleep.
Week 7, Wednesday: I masturbate every day now. Not a single girl comes near me. This is so de pressing. Do I really smell? Oh well, I have the task of learning how to secure my Linux box to keep me busy. Who has time for the opposite sex after all?
Week 8, Tuesday: I got into a fight with this little shit who kept telling me RedHat was great. What a fucking moron! Anybody who knows Linux knows that Debian kicks its sorry little ass. I'll b e getting my judiciary papers for the incident in the mail. Doesn't this school get it? I can't let someone go around converting people to RedHat! WtF!?
Week 8, Friday: My roommate squeezed my ass today! At first I was shocked and appauled, and I told him off for it. Thinking about it later though, there was just something that seemed too strong about my reaction. I'll talk to him later and appologize for getting so upset, it wasn't really so ba d.
I agree, with one caveat: efficient code can often be far less elegant than "normal" code. For example, there are plenty of goto statements in the Linux kernel. Using some of the more advanced features of C++ can have an efficiency impact, even if it does result in a simpler, more easily understood architecture.
:-)
:-)
:-)
Kind of forgot about this little issue: endless trade offs. Do you want to spend less time running the program or maintaining it?
Yes, but the libraries can be improved or replaced independently of the applications. I believe there is a tiny libc floating around somewhere, for instance.
You are talking about this, I believe.
Oh, and when I was referring to when I said that libraries can bloat an app, consider a configuration file format in xml. Although it may never need to support anything other than us-ascii, use of an xml parser library would include code for unicode support at the very least, when a custom-written parser would not. Hence the trade-off between a well-understood, mature library, and a new, efficient chunk of code specific to that application. This is the kind of thing that would result in different choices for embedded vs desktop constraints.
*nod* I guess I can honestly admit I would rather see developers use the big XML library when developing for general purpose systems. Primarily because the big library will serve many more applications than a fine-tuned specific one -- as more apps use a library, the total efficiency in the system goes up, even if there is a performance hit on a case-by-case basis. I think this makes my original point moot in a lot of ways.
you're completely right. I'm always wondering, why watching the screensaver completely sucks. Even the simplest screensavers are not moving as smoothely on my 1200 Mhz, 256M laptop as on a lousy Atari ST.
:-).
How come? It's a shame.
I do admit that those machines have very good graphics routines because, well, they were designed for doing graphics. Their graphics processors are also optimized for rendering to lower end monitors (like televisions) and could time the interlacing and refresh properly to achieve really solid graphics effects.
Any time you design a piece of hardware towards a specific function, you get amazing results. Whenever I play a few games on my SuperNES, I think "this machine is less powerful than an old IBM AT, but look at what it can do -- 3.87MHz designed for gaming can do a lot".
Now let me jump into more modern things. Your screensaver not appearing to be silky smooth can be from a couple reasons: 1) the author may not be as talented as those who implement powerful graphics libraries, and thus his/her rendering routines may not be as fast; 2) not using certain graphics libraries on some platforms means having to go through the environment's layers of abstraction. Modern operating systems do not allow direct hardware access unless you go through certian libraries (this is correct enough for the purposes of this discussion).
I bet if you look around for some screensavers that utilize your 3D accellerator, you'll be very pleased. I remember when I first got my nVidia TNT2 card and downloaded RivaLights (a non-Glide version of VoodooLights), a program that spun a bunch of lense-flare textures around on flat polys. Incredibly cool effect and silky smooth (usually got a full 30 fps). Today on my G4 PowerBook, I've got a couple of screensavers with OS X 10.2 that do some nifty things. There's one screensaver that pans pictures around on the display with a very subtle zoom that looks like you're watching physical photos get moved around. It's amazingly solid and rendered with OpenGL (as everything else is on this platform
Points well taken (with many nods). Just a few comments:
;-). The problem is, a lot of people fall back to poorly written libraries that may not be as mature as perceived. They're only used because they are convenient. I think I would be preaching to the choir if I were to enumerate examples. What I am trying to get across here is that there are principle that easily apply to both worlds (and quite possibly all) of software design. I apologize also for using "software design" as a blanket term -- I mean to encompass efficiency in senses other than size.
Good engineering practices don't equate to small code. For example, reuse of existing libraries may increase overall code size compared with something written from scratch, but is usually a better engineering choice, as the libraries can be tested individually, and mature long before use in any particular application.
Yes, I'm talking mainly about desktop computers, which usually requires different constraints for the applications than embedded devices. Don't mix the two up, the skills demonstrated here could apply very well to embedded programming, but they are less useful in a desktop environment.
Granted, much of what makes Contiki impressive is its tiny footprint. Fitting all that into 48Kb is astonishing. But aside from memory constraints, there's the issue of raw crunching power. To do what Continki does requires code that gets a lot done in very few cycles. Good and clever algorithms make up a huge part of this. So don't get me wrong: I understand small code is not the end all of software design. Sure, bubble sort is four lines of code, but is an order or two slower than most other algorithms which are much larger in implementation and resource consumption (I realize this is not a good real-world example -- just to make a point). I am of course not against the use of libraries (and I fail to see how they make code larger
Of course, I could just be droning on here... I am stuck in bed with the flu at the moment.
but these days you have a lot more code that needs to be churned out so a lot of it gets done by journeymen programmers (and i include myself in that)
I have to group myself into this category as well. I am perpetually driven by the "just get it done" mantra of my superiors and that is a real shame. I try my best to come up with good design and good code quickly, but that rarely works out. Worse still, good design does not fit well into a big picture of poor design.
The software industry needs a wake-up call. With players like Microsoft all pissing in this pot, there seems to be no hope. I cannot think of any other industry that produces similarly shitty products. If cars, alarm clocks, chairs, buildings and so forth were all built with the same principles, we'd all be dead, late, dead, and more dead.
Although the focus of this project is not the technology itself I think. This guy has proven to any employeer he will ever approach that he has superior skills when it comes to programming under tight constraints. Enjoy working in the embedded systems industry (and making money hand-over-fist doing it)!
What else is interesting about this is that it goes to show how foolish and blind nearly the entire computer industry is when it comes to technology advances. People can't upgrade to a 10GHz processor fast enough, when all they need to do is check their email. Companies are constantly wasting servers and replacing them with newer models. This is not necessary. Today's software is written so poorly that super high-end hardware is needed to make up for lazy/poor programmers. Look at what these ancient systems can do. That "old" PIII or PII or K6 sitting on your desk is a power house. What's the problem? The software you're running on it is likely to be wasting 75% of the CPU cycles it eats.
It's a shame there aren't more developers or at least software architects out there with this guy's talent. We'd all be saving a hell of a lot of money I think. Then again, hardware prices would increase in proportion to its long-term value. Then again, there's a lot of savings in many ways (largely environmental -- less junk being dumped into the wild at the beginning and end of a computer's life cycle). Of course, I wonder if most of the blame goes to businesses just trying to get software out the door as soon as possible without stopping to think about good design (in all senses).
Or any of the nearby cities. You'll find unguarded, WEP-less WAPs by the dozens.
There's just something about our nation's capital that screams lack of security. Particularly, load up Kismet around Arlington, VA *coughn.s.f.coughballstonmallcough*.
I realize this isn't American heartland, but many people swing past this way when they are off being tourists.
SCO has always sucked... it's just great how they have to go and do something particularly stupid. This hurts the image of open source dramatically in the eyes of business people, and that's not good.
Usually I'm all about supporting the little guy, but for this, I hope to see IBM make SCO look like fools in court. Clobber them into the ground.
SCO: YOU FAIL IT
If we all became layers... We could wreck that industry too! GO FOR IT!
/. people became layers... that's a scary thought. You're right, if geeks at large were able to start having sex, the industry would fucking shut down.
If
Would it be easier to make the DLLs backwards compatible?
You're right. It would. The trouble is, Microsoft's API documentation is a closely guarded secret, and if you've ever done Windows development using resources from MSDN, you'd know that it's utterly pathetic. All the most useful library calls are kept hidden from you under penalty of DMCA I imagine.
So, what happens if you either A) have no access to powerful APIs or B) you have crappy documentation for a crappy set of APIs? Simple! You code it yourself, reinventing the wheel. Dozens upon dozens of application developers for Windows have done this, making changes and additions to what may be standard libraries. One vendor creates a library with a call foo(bar b), and distributes the library. Another makes a call like bar(foo f) and distributes the library under the same moniker. You can't just merge them... so one version has got to go.
And of course, as for backwards compatibility, since when have Microsoft ever gotten that right? I've ran into so many issues with a Windows application not working on XP because I developed it on 2000. A common solution to this problem is to distribute the version of a library that came with 2000 and overwrite whatever existed on the XP box with it.
All in all, Windows is a pathetic, shody state of affairs. I ask myself everyday: "how the hell does this criminal organization con so many sheeple into using their products!?"
This means that if you have somelibrary.dll-123 and somelibrary.dll-234, they will end up both getting cached (wasted memory) or only one will get cached at a time. An application that uses the one not cached will have the load the other, even though the two DLLs may be identical save a few minor details. There will certainly be greatly increased disk access and if you thought Windows was a hog on your disk now...
In order to solve "DLL confusion" in Windows, Microsoft are going to increase of the number of DLLs on the system, potentially by as much as there are applications installed, and give each DLL a unqiue, but symbolic only (xyz123:pdq098 versus msvcrt.dll for example) identifier.
One result is that from one machine to the next, not only will you not be sure what applications are using which DLLs, you will also have applications that use radically different identifiers for accessing their libraries.
This eliminates library confusion... how? I can't wait to have to troubleshoot it. Here's another solution Microsoft: document your standard libraries so that idiot application developers don't feel they need to re-invent the wheel and dump custom libraries all over the place.
Of course, the rest of us will continue using open source software.
I just heard some sad news on public radio - star of Mr. Roger's Neighborhood and community advocate Fred Rogers was found dead in his Pittsburgh home this morning . There weren't any more details. I'm sure everyone in the Slashdot community will miss him -- even if you didn't enjoy his television show, there's no denying his contributions to popular culture. Truly an American icon.
I just heard some sad news on public radio - star of Mr. Rodger's Neighborhood and community advocate Fred Rodgers was found dead in his Pittsburgh home this morning. There weren't any more details. I'm sure everyone in the Slashdot community will miss him -- even if you didn't enjoy his television show, there's no denying his contributions to popular culture. Truly an American icon.
I just heard some sad news on talk radio - star of Mr. Rodger's Neighborhood and community advocate Fred Rodgers was found dead in his Pittsburgh home this morning. There weren't any more details. I'm sure everyone in the Slashdot community will miss him - even if you didn't enjoy his television show, there's no denying his contributions to popular culture. Truly an American icon.
Sorry, that was supposed to be "...begin to slip from...". :-)
Certainly, I think it's important for universities to put an end to the free-flow of information through their campuses. I mean, imagine the damage caused to society if universities just flagrantly allowed students to share intellectual property without a whim for who owns it! What a disaster it could be, as profit margins begin from students acquiring someone else's IP. I cannot imagine anything worse.
Given that /. harbors a high number of dissidents, you can be pretty sure that they are.
We're both wrong. The proper spelling is "semitic", so many pardons. I guess /. has been a terrible influence on my spelling.
OKay, so in recent history, some research groups from Israel have come up with the following:
1.) Quantum computers that cracked RC5 in a few miliseconds.
2.) "True AI" like HAL that they would raise from infancy and would be sentient.
3.) "Unbreakable" encryption.
4.) DNA computers that are 100,000 faster than any desktop PC (but whoops, it's only a PoC).
There's a few more, but I cannot recall them all. These were all posted on Slashdot, but I am lazy and don't feel like using the pitiful search function here to find them. I'm sure others will remember.
So what is it with "researchers" from that country coming up with all kinds of impossible and implausible discoveries that nobody else has even come close to producing... and then we never hear from them again? Is it common practice there to create a bullshit storm to get project funding or a bigger budget? Can someone clear this up for me?
Disclaimer: I am not anti-sematic or anything, I just want to know what the deal is.
...why would demons scream when thrown into fire? Wouldn't it be just like home? Also, I would guess that the flames of hell are a lot hotter than some little camp fire made by some young boy and his mommy.
"Oh geez Cthulu, we're being burned."
"It's not much hotter than southern California, really."
*both shrug*