No one is talking here about REAL evolution. Mutations alone do not constitute real evolution. Random changes that serve no benefit over time are simply random. Natural selection pressures sort through this randomness and identify what's good and what's bad.
That's all fine, except that for the last ~300 years or so we've slowly defeated natural selection through better medicine, health, and living. Thus with no pressures to kill off people like me who can't see without glass, I'm able to contribute my bad sight genes on to more and more people.
Everyone seems to be missing the point that we have defeated natural selection, and that is poised to continue indefinitely unless there is a major and massive plague that is only non-lethal in those with natural resistance; ie. some outbreak that science can't deal with.
Of course, what this means is that while our randomness is increasing through diversity, there is no selection criteria to evaluate what genes are useful and should be passed on. There has been a disturbing rise in genetic defects and other childhood diseases like autism, and while the cause for this is not clear, its very possible that our genetic diversity has led to predispositions for more and more problems.
The crux of all this is that humans will eventually need to assume responsibility for the selection process, since we consider it immoral to let nature do it for us. If we fail to do this, organisms that can truly EVOLVE at a much faster rate (bacteria, viruses) will always threaten us, as we've already seen from the antibiotic-resistant strains and mutating HIV virus.
Keep procedures short and simple and use a lot of them.
Don't repeat code when possible.
Comment where things really are confusing, but don't waste comments on things like/* this loop counts from 0 to x */
Don't nest if statments too deep, and when you do nest them, don't put 400 lines of code between the if and the next else. Use functions.
Use preprocessors to let the compiler work for you, but don't put ifdef's inside your actual code if possible.
Get a good set of base functionality and let everyone utilize it. Its a lot easier to optimize 10 functions than it is to consolidate 5 versions of those 10 different functions and fix all the code.
I agree with everything you say, except that the Russians regret reorbiting Mir.
Let's face it, the thing had become a virtual death-trap. There was mold and mildew inside the computers, the oxygen reactors caught on fire, the resupply vehicle crashed into it, they had cables jury-rigged into other modules, and there were performing fairly frequent spacewalks to keep replacing the failed parts.
I don't doubt that the Russians have superior experience at space stations, especially practical know-how and running one on a seriously meager budget. But I think another 6 months or year of Mir and someone would have died up there.
I read the article and couldn't help thinking, "how cool!" primarily because their experiences reminded me so much of my own.
As a computer science graduate from a major engineering school, I went through a lot of the same things, include the 100+ hour weeks, not sleeping for 4 straight days (thank you ephedra), and trying to coordinate and balance work in a team of with wildly disparate skills and strengths. While I hated it when I was doing it, I'm very proud of the fact that I did it. Of the 135 who started in my class, 13 remained to graduate five years later (five year BS program).
Our software development class was a lot like Guildhall in that the only object of the class was to write a game, in a team of about 7 people. We wrote an overhead scroller-shooter with 2-player cooperative network play, and a stand-alone level editor with 5 levels, 5 different types of weapons (including homing missles), sound effects, a musicial score, 7 different types of enemies, and 5 bosses (including one with the face of our professor) in just under 10 weeks. It was intense, but I learned a lot from the experience. I learned to cut down scope when required, to set up a flexible and correct object-oriented model with plenty of abstraction as early-on as possible, to spend the 10 minutes it might take to help someone get their code to compile because of a funny bug rather than have them waste two days trying to figure it out. I learned the value in leveraging existing technologies (we used DirectX and CDX) to speed up development, and the importance and difficulty of synchronization between network clients in a fast-paced game with lots of sprites.
I think that many schools are doing similar things, maybe not to the extent of Guildhall, but enough that those who survive are able to deal with similiar situations when they face them in the real world. I know that I have never faced a problem in the work-world as hard as the one I tackled (and solved) as my senior project (commodities trading price prediction). Granted I don't work at NASA or anything, but I'd say my work is pretty typical of a programmer, and given what I've went through, I have the confidence and the skills to take on just about anything I face.
What's my point? If you are thinking about programming as a career, go to a school with a program what will challenge you, not just in terms of what you can memorize, or what math problems you can solve, but also your ability to create complex programs, developed concurrently by a team. Put yourself through something hard, and if its not hard enough, then go beyond that and make it harder.
Semi-weighted means a fast action keyboard well-suited for synth playing. Fully-weighted and/or hammer-action means it will feel like a piano. Whether that's good or bad depends on what you like to play. But go try the action on a K5000 (which is semi-weighted) before you decide that the term is A euphamism for "cheap piece of crap?". BTW, 'semi-weighted' is an industry-standard term.
But you're right about it being overpriced for what it is.
I've been following this guy's project (Droid-3) for probably 2 years now waiting for them to actually sell these things outside Denmark. In fact, they could probably sell all the units they could produce in a fairly short amount of time. The demand for these types of quirky boxes is actually quite high.
I keep thinking they could bend the law in some way to export these thing. I can't imagine some of the modular manufacturers like Blacet and MOTM have to get their stuff certified by anyone. Maybe a kit form would be the answer (as long as its super-easy to build).
Anyway, best of luck getting this box out.
Re:It is not the bits..
on
Is Louder Better?
·
· Score: 2, Insightful
You're a bit off on the sample rate theory there buddy.
Nyquest states that the highest frequency digital sampling can reproduce is half the sample rate. Think about that: that means that at that frequency you are getting only 2 samples per cycle of the wave. Connect the dots and you have a triangle wave. But what if the original signal was a sine wave? You've lost the shape of the original wave.
By reproducing a triangle wave, you've added harmonics to the sound that didn't previously exist. Granted, they are out of the range of human hearing, but they can still have an audible effect on the sound due to canceling and phase shifts. But take even a frequency at 1/4 the sampling frequency. Now you've got 4 points to reproduce the sine wave, but its still going to be a jagged approxamation. As you can see, more samples per second gives a better reproduction of the original signal. Of course, if we can hear the difference or not is debatable, but in theory, if it shows up on the osciloscope in the human hearing range, someone somewhere will hear the difference.
The bit depth is probably more important (think how many possible wave height (amplitude) steps you can use in a sample). Of course, your benefits increase expotentially. Example, there are 256 different sample values in 8-bit recording versus 65535 different values at 16 bit. The difference is _very_ audible. The sample rate difference between say 44.1KHz and 96KHz or even 48KHz is subtle, but its certainly there.
Of course, if you are using some shitty labtech headphones/speakers or whatnot, don't expect to hear it. Get some good, real speakers, not PC speakers.
"I would actually appreciate a recent example where protests accomplished something in the US except increase security at WTO meetings."
Vietnam. Negative public opinion, fueled largely by massive protests with good media coverage was probably the biggest factor in ending the war. (warning, gross generalizations regarding the Vietnam war here, but for the most part they suffice). Protests can accomplish something, but their significance is the public's eye is measured largely by their size or frequency.
Its not _that_ difficult. I just had to do this a few weeks ago for my computer organization class. We build a processor that was a stack machine sort of in the spirit of the HP3000. Had to design everything at the gate level; registers, alu's, etc. It was definitely intense work, but it nevertheless quite doable.
Look, if you want to realize cost savings, you are going to have to look for your music in place other than Walmart/the mall/Tower, etc.
Recording records has continually become cheaper and more effective over the past.. well 100 years or so. But its the last 10 that have really made the difference. Digital recorders are incredibly cheap, decent mixers and mastering tools and software all are affordable. What this means is that there are more people than ever producing music.
This is both good and bad. There is lots of music out now that would otherwise have never gotten heard if not for home production (think pretty much ALL techno). But there is also A LOT of crapflood now as well, as everyone who produces music obviously thinks they produce good music. Guess what? They shouldn't try to be the judge of that.
As a result, sites like mp3.com and the like started up and eventually filled with spamming, self-promoting shitty artists, along with the few obligatory gems.
The individual, or unsigned artist cannot realistically get a record contract any more. They can however, record cheaply, and even produce short run cd's realatively cheaply (less than $1 / cd). Sure, that's more expensive than a major label can do it for, but its still cheap.
What we need are companies that will handle the actual cd production, warehouse the cd's, and ship them direct to customers. If you like a band, you'd go to their website, click to order the cd, and have it shipped to you. The cost of warehousing the cd's and shipping them would be included in the cd production costs the band would foot.
The idea is pretty simple actually; if you are a band, record a cd, get made 1000 made and try to sell those. No distribution needed, no major labels. However, for this to work, people have to actively seek out new music off the beaten path of ClearChannel/MTV. No band can afford to get a video on MTV or the payola to get in the rotation on ClearChannel without a major label. But if people don't pay attention to these outlets, independent bands start to level the playing field.
Granted, the alternative media outlets for finding and identifying new music are scattered. Eventually, these outlets will become more prevalent in the music-lovers search for new tunes. Reviewers will stop caring about the newest Virgin records releases and start surfing for that unknown, great band.
Here's a perhaps rash prediction: in 15 years all 6 of the major record labels will be either defunct or defanged. 95% of all music will be distributed directly via the web, either in the form of mp3s or online cd purchases. The number of platnium albums per year will plummet. Billboard magizine and SoundScan will cease to exist. Internet radio will become predominate as wireless technology allows people to listen in their cars.
The market conditions today are such that the major record labels grasp on the price of cd's is only maintained by the public's willingness to accept and wholeheartedly shallow the seminal fluid called pop.
I've read _a_lot_ of comment on this story and seen some thing I had to respond to.
First, the idea that we might introduce horrible disfigurements or conditions when we start tinkering with the human genome is not unlikely. But progress is made in such ways. Like every new risky technology, some people will be willing to take the risk (think Tooms and the artificial heart a year or two ago). Science finds ways to make these things work. What is a risky venture today (say getting into space) will _eventually_ become routine IF there is enough demand. Think about it, if a couple million people really wanted to go into space and were all willing to pony up some bucks, the technology advance much more rapidly. Progress is aided by money, but its risks and sacrifices by individuals that make dangerous technologies benign.
There have been quite a few people questioning the morality of genetic modification. However, I don't think morality will have any impact on the spread of technology over the long term. Religion and morality can't keep people from wanting technology; there aren't enough fanatics. Just look at all the people who dug burried satilite dishes up after the Taliban was defeated. Amongst the majority of people, religion does NOT mandate real morality or ethics; culture does. And there will almost certainly be some groups pursuing the technology that will popularize it after the initial backlash.
New technology is fearsome and dangerous. Thomas Edison used to electrocute rabbits with AC power to show how dangerous Telsa and Westinghouse were. And many people bought into it and were afraid of AC power. But eventually, common sense won out after the technology was proven safe.
Now on the really long term time line, nearly all births will be GM births, at least to some extent. Parents might not want to pick an IQ, but they would want to get rid of deseases, etc. But for the tweakers, eventually we'll reach a peak at which the DNA cannot be improved upon any more. New techniques will be invented to extend (not just modify) our genome.
We are evolving; just admit it. We can create our own Sun here on earth (fusion) but we don't fear our ability to do so. Likewise we will be able to control our own evolution through our technology.
The company I work for (Cinergy) currently has 8 coop's in CS or IS working for them at any given time. I started working for them as a coop.
When I was first looking for a coop position in mid-2001 I got offers from SDRC, Ethicon. I know people at the school I went to who've worked in the past 2 years for GE, Honda, TI, Apple, P&G, Mead, etc.
Plenty of other companies are willing to hire coop's/interns, although typically they maintain relationships with a few universities. Incidentally, the school I went to (University of Cincinnati) has the longest running and largest coop program in the nation.
The last thing you want to do in an interview is seem arrogant. Be polite and energetic and willing to learn. Most companies don't care what you already know at this point. Be ready to explain why you want to work for that particular company.
Sony Vaio r505's are running pretty cheap, even with the docking station. You won't be directly paying for windows since its not a new machine.
But some things (like paying for windows in the price of a new machine) you just have to live with. Afterall, many of us buy a car that has a stereo and speakers installed at the factory that we will immediately replace, but we don't insist that we are sold a car without them. Find a machine with the cheapest version of windows (XP Home probably) and cut your losses.
Assuming you want software, I would think the best way to go would be Realtime Csound. If you're not familiar with the csound language, its very powerful for dsp and was designed for manipulation of audio. It runs on most platforms and processors. Different implementations of csound designed for realtime use exist for both cisc and risc architectures. Assuming you can design the appropriate algorithm for echo cancelation, csound may be ideal.
Another option, also assuming you can design the algorithm, would be SuperCollider, which is another audio processing language that tends to have better realtime performance than csound. Only runs on macs tho.
Finally, in terms of techniques, you might think about 'shooting' the various rooms (by recording a balloon popping) and using the resulting impulse data to remove (rather than add, as in conventional convolution) the echos on voice audio from that same room. FFT might work here also, although probably less effective. SuperCollider can do realtime convolution; csound might be able to, depending on how high of a sample rate you need.
At the local level, your phone is switched by your neighboorhood central office, which is basically a small building filled with relays (or nowdays, digital switching equipment). The most striking thing about CO's is the battery room. They have racks upon racks of batteries that are constantly charged, and can provide power to run the CO at full load for roughly 12 hours. CO's also have 2 diesel generators to recharge the batteries and enough fuel onsite to run the generators continuously for 2+ days.
Think about it: how often has your phone went out? And when it has, how often was your neighboor's phone out also? Remember, the phone system keeps working even when the power is out.
The physical infrastructure is the most important layer. Everything else can be fixed relatively quickly in the event of an attack (DOS). Its trival to sever a carrier from your network, but its a major undertaking to replace physical infrastructure. As long as that is redundant, and relatively secure, your phones aren't going to stop working any time soon.
I got on the info list when I first heard about this (at least 7 months ago, before DEMF).
John Acquiviva and Hawtin have been using the system for well over a year. Acquiviva used it at last year's DEMF and it was flawless.
The first release to the public was pretty high-ticket ($3000) for 3 Final Scratch records, the interface box, the software, and a Sony Vaio laptop. Initially, they had reported that the suggested retail would be somewhere around $600, but my guess is that they made the initial release include the laptop to keep the price out of the range of amateurs; people like Cowboy Neal, et al.
Every review of the system I've read basically says that its great, and it responds exactly like vinyl. But keep in mind that you need a pair of 1200's also if you really want to use this.
Its going to remain an item for pro and semi pro dj for a while; but this _will_ change the way dj'ing is done. Just give it time.
At my university IS, CS, and CE (computer engineering) degrees are offered. Both CS and CE are through the engineering college and focus heavily of typical engineering skills (physics, math). CE includes more low-level electrical skills, although not as much as electrical engineering.
In CE and CS theory is strongly emphasised. I don't think a real database (ie sql server) class is even required. Lanagues used are typically C++ and assembler, with a bunch of other used sparingly (smalltalk, java). In contrast, the IS degree has a bit of c++, although its the same c++ that mechanical or chemical engineers take, and a lot more current lanaguages, like asp, oracle, etc.
I'm in the CS program, and to me, the biggest benefit is that while my education is very theory-oriented, the program requires that I co-op full-time for 6 quarters (two quarters consecutively, working, not taking classes). This university has the oldest co-op program in America (100+ years), and they do a pretty good job helping you find a job. We've had people at Intel, Compaq, NASA, Apple, TI, etc. What's great about it, is that through co-oping I've had a chance to learn asp, oracle, sql server, flash, active-x stuff, xml, etc. Moreoever, I've worked with these things in a real business enviroment.
I should note that the IS people also co-op, although its not required for them, and they typically do less quarters co-oping. Where I work, my experience has been that in general, co-ops coming from an IS background come to the table with more immediate skils (like oracle), but typically can't pick up new things as fast, or do heavy math. Of course this is a gross generalization, but the trend seems to be there.
So my take: screw the IS degree; take a strong theoretical CS-type degree, but augment it with real-world experience co-oping or interning.
"Everything you do will be more fun." -MS Win95 Install.
I'm sure most linux-hardcore out there cringe at the thought, but some kind of standardization would really do the linux world good. I know I have spent too much time fiddling with the details of several particular distributions.
Case in point: Printing. RedHat handles this differently than Debian, and StarOffice will do even weirder things if you let it. I think even the most hardened linux fans would be hard-pressed to say that getting your typical desktop printer working is easy. Sure, support has become a lot better, and there are a lot more drivers out there than ever before, but its still frustrating.
Personally, I'm certainly a linux novice/intermediate. But to me, its seems that I've run into so many time-consuming problems with linux that its almost become not worth my time. Let's face it: the average intelligent user still doesn't want to waste their time compiling programs because their particular distribution puts certain libraries in odd places, or has a broken compiler.
I tried to upgrade Mozilla about a month ago using an RPM on my Redhat 7.2 system, and it simply didn't work. Instead, Mozilla won't run at all. I'm sure its not that complex of a problem, but I spent several hours with no success. Maybe that's just indicitive of my incompetence, but you have to admit there are still lots of inconsistancies.
No standardized audio / midi api's
No standardized desktop api's
No standardized print interface
No standardized system/hardware management
No standardized installers / install locations
Don't get me wrong; its getting better. And there are systems that do the above things that are becoming quite popular. But if I'm a developer, I should be able to know for sure the bare minimum that the client should have on his/her machine, and where certain files are.
For everyone who likes their flexibility: keep it. But for the rest of us, who really don't care where a library or program is, as long as it works, please give us something. I think this is the biggest problem in learning linux (especially administration of system). I should be able to sit down at a standard machine of any distribution and not have to make any adjustments in what I'm use to.
But I understand that this (different Linux distributions / non-standardization) is an evolutive process. I just hope we get there soon.
A very good friend of mine has a rare problem with the optic nerves in his eyes, which causes his vision to be so blurred that he is legally blind. All tests indicate that his eyes are shaped perfectly; he should have 20/20 vision. Furthermore, the doctors haven't been able to do much for him, since they dont' fully understand the problem. So they try to give him eye-glasses, and magnifiers, which don't do much good.
Research like this, when it might potentially spark a break-thru that could help someone close to you, is always great to see. I hope they make serious progress with this one.
the only PC-based antivirus product I ever really had a lot of respect for was IBM AntiVirus, partly because it was the only one that could detect virii it didn't already know about.
There are several anti-virus programs that can, or try to do this. Usually its called Heuristic Scanning. The program has a list of heuristics, or rules of thumb that indicate virus-like activity. Usually you can customize what heuristics the program will check for.
Several years ago, I really liked a program called Thunderbyte anti-virus that seemed to do this type of scanning very well. It even found malicious code on a cdrom casio game I had, which I later learned would format the hard drive if you won the jackpot.
Norton Anti-virus has heuristic scanning; something they call Bloodhound technology. I believe that McAfee also has something similar, although neither program turns this type of scanning on by default I think.
As to whether or not they work well, Norton has detected several 'suspicious' things on my system, like when I installed csound and the installer added a line to my autoexec.bat file. Norton popped up, told me what the installer was trying to do, and gave me a list of options.
No software should seg fault ever, under any circumstances, ideally. But the idea that seg faulting on the user's action is totally unacceptable. That's basically like saying its ok a program crashes if you double-click on a radio button, because you are supposed to be smart enough to know not to do that.
I have a hard time believing that no one has ever accidentally hit the cd eject button ever when a disk was being read. And what is "or worse"? Should we expect a total system crash rather than just a seg fault?
Imagine if your car's engine exploded because you drove it on the wrong side of the road. Yeah, crazy analogy, but its a developer's responsibility to make software that doesn't break, no matter what the user does.
"lesser users do not deserve the rich functionality that open source has to offer if they do not know how to handle themselves with a computer"
Translation: Open source is only for computer science nerds, and will never be for children and old ladies who are both impatient and hit the disk eject button. Open source is only for elite geeks, who pride themselves on never making simple mistakes, who love to debug an application and fix the problems in it. Open source is for people who build cars for free, talk all day about how their cars are so vastly superior, and then, when they let an "average user" test drive one, the engine explodes, the wheels fall off, and the open source guru must pullout his GNU Craftsman toolkit and find the problem, which turns out to be that the "average user" couldn't drive very well, so his car deserved to fall apart.
You want to see Linux in schools? You want to see it on the average desktop? Then don't tolerate application crashes. But especially don't tolerate the attitude that any application crash is ok. Its not. Flexibility and proper error handling are no where near mutually exclusive.
I worked / volunteered as a tech at a non-profit organization that did work with people with disabilities. The particular section I worked in, tried to set clients up with assistive technology devices / computers / software. This stuff was rented or loaned on a long term basis at very low cost. Virtually all of the systems that were used in the building were donated, from office work, to the systems that went into clients with Lou Gehrig's desease homes to control X10 modules. We were always taking anything above a pentium 100 and using it as a working system, or taking lower systems and using them for parts.
Call up your local united way, or other non-profit agencies that do similar things. Public schools get grants to buy computers, but places like these can always use computers.
Hey chief, before you go spouting about bad reporting, why don't you read the first four sentences of the article?
"It took just three lines of code for Grossman to breach Hotmail filters and access Passport ID and credit card data. The second time it took just one line."
I'm not sure how this gets mod'd to 2. Sorry to be a bitch, but, well, if you can't read the article you deserve it.
to the plantation masters, technology ment using the cotton gyn and slaves to run bigger plantations than ever in history - yep thats what they thought the industrial revolution was about.
The industrial revolution also ended slavery. The growing industrialization of America mirrored in many ways the industrialization of Britian, in that sentiment towards slavery grew largely dissaproving amoung the industrialized. This mechanization suggested that it was no longer necessary to use slaves. Profit margins could now potentially be maintained without free labour.
Of course, the south would remain virtually the same even after the Civil War until industrialization became as widespread there as in the north.
As much as I dislike the MPAA / RIAA, I don't think we'll see a parallel between them and slavery. The RIAA essentially has been defeated by a technological revolution in which all copy-protection schemes can be defeated (All. I doubt there is, or will be any widespread protection scheme for software, audio, video, etc.. that can stand up over time). The RIAA are trying plug up the dike, but its already burst. They totally missed the mp3.
No one is talking here about REAL evolution. Mutations alone do not constitute real evolution. Random changes that serve no benefit over time are simply random. Natural selection pressures sort through this randomness and identify what's good and what's bad.
That's all fine, except that for the last ~300 years or so we've slowly defeated natural selection through better medicine, health, and living. Thus with no pressures to kill off people like me who can't see without glass, I'm able to contribute my bad sight genes on to more and more people.
Everyone seems to be missing the point that we have defeated natural selection, and that is poised to continue indefinitely unless there is a major and massive plague that is only non-lethal in those with natural resistance; ie. some outbreak that science can't deal with.
Of course, what this means is that while our randomness is increasing through diversity, there is no selection criteria to evaluate what genes are useful and should be passed on. There has been a disturbing rise in genetic defects and other childhood diseases like autism, and while the cause for this is not clear, its very possible that our genetic diversity has led to predispositions for more and more problems.
The crux of all this is that humans will eventually need to assume responsibility for the selection process, since we consider it immoral to let nature do it for us. If we fail to do this, organisms that can truly EVOLVE at a much faster rate (bacteria, viruses) will always threaten us, as we've already seen from the antibiotic-resistant strains and mutating HIV virus.
Don't mandate Hungarian notation; what a waste.
/* this loop counts from 0 to x */
Keep procedures short and simple and use a lot of them.
Don't repeat code when possible.
Comment where things really are confusing, but don't waste comments on things like
Don't nest if statments too deep, and when you do nest them, don't put 400 lines of code between the if and the next else. Use functions.
Use preprocessors to let the compiler work for you, but don't put ifdef's inside your actual code if possible.
Get a good set of base functionality and let everyone utilize it. Its a lot easier to optimize 10 functions than it is to consolidate 5 versions of those 10 different functions and fix all the code.
I agree with everything you say, except that the Russians regret reorbiting Mir.
Let's face it, the thing had become a virtual death-trap. There was mold and mildew inside the computers, the oxygen reactors caught on fire, the resupply vehicle crashed into it, they had cables jury-rigged into other modules, and there were performing fairly frequent spacewalks to keep replacing the failed parts.
I don't doubt that the Russians have superior experience at space stations, especially practical know-how and running one on a seriously meager budget. But I think another 6 months or year of Mir and someone would have died up there.
I read the article and couldn't help thinking, "how cool!" primarily because their experiences reminded me so much of my own.
As a computer science graduate from a major engineering school, I went through a lot of the same things, include the 100+ hour weeks, not sleeping for 4 straight days (thank you ephedra), and trying to coordinate and balance work in a team of with wildly disparate skills and strengths. While I hated it when I was doing it, I'm very proud of the fact that I did it. Of the 135 who started in my class, 13 remained to graduate five years later (five year BS program).
Our software development class was a lot like Guildhall in that the only object of the class was to write a game, in a team of about 7 people. We wrote an overhead scroller-shooter with 2-player cooperative network play, and a stand-alone level editor with 5 levels, 5 different types of weapons (including homing missles), sound effects, a musicial score, 7 different types of enemies, and 5 bosses (including one with the face of our professor) in just under 10 weeks. It was intense, but I learned a lot from the experience. I learned to cut down scope when required, to set up a flexible and correct object-oriented model with plenty of abstraction as early-on as possible, to spend the 10 minutes it might take to help someone get their code to compile because of a funny bug rather than have them waste two days trying to figure it out. I learned the value in leveraging existing technologies (we used DirectX and CDX) to speed up development, and the importance and difficulty of synchronization between network clients in a fast-paced game with lots of sprites.
I think that many schools are doing similar things, maybe not to the extent of Guildhall, but enough that those who survive are able to deal with similiar situations when they face them in the real world. I know that I have never faced a problem in the work-world as hard as the one I tackled (and solved) as my senior project (commodities trading price prediction). Granted I don't work at NASA or anything, but I'd say my work is pretty typical of a programmer, and given what I've went through, I have the confidence and the skills to take on just about anything I face.
What's my point? If you are thinking about programming as a career, go to a school with a program what will challenge you, not just in terms of what you can memorize, or what math problems you can solve, but also your ability to create complex programs, developed concurrently by a team. Put yourself through something hard, and if its not hard enough, then go beyond that and make it harder.
..we should use metric time too!
Oh wait. That would be fucking retarded.
Semi-weighted means a fast action keyboard well-suited for synth playing. Fully-weighted and/or hammer-action means it will feel like a piano. Whether that's good or bad depends on what you like to play. But go try the action on a K5000 (which is semi-weighted) before you decide that the term is A euphamism for "cheap piece of crap?". BTW, 'semi-weighted' is an industry-standard term.
But you're right about it being overpriced for what it is.
I've been following this guy's project (Droid-3) for probably 2 years now waiting for them to actually sell these things outside Denmark. In fact, they could probably sell all the units they could produce in a fairly short amount of time. The demand for these types of quirky boxes is actually quite high.
I keep thinking they could bend the law in some way to export these thing. I can't imagine some of the modular manufacturers like Blacet and MOTM have to get their stuff certified by anyone. Maybe a kit form would be the answer (as long as its super-easy to build).
Anyway, best of luck getting this box out.
You're a bit off on the sample rate theory there buddy.
Nyquest states that the highest frequency digital sampling can reproduce is half the sample rate. Think about that: that means that at that frequency you are getting only 2 samples per cycle of the wave. Connect the dots and you have a triangle wave. But what if the original signal was a sine wave? You've lost the shape of the original wave.
By reproducing a triangle wave, you've added harmonics to the sound that didn't previously exist. Granted, they are out of the range of human hearing, but they can still have an audible effect on the sound due to canceling and phase shifts. But take even a frequency at 1/4 the sampling frequency. Now you've got 4 points to reproduce the sine wave, but its still going to be a jagged approxamation. As you can see, more samples per second gives a better reproduction of the original signal. Of course, if we can hear the difference or not is debatable, but in theory, if it shows up on the osciloscope in the human hearing range, someone somewhere will hear the difference.
The bit depth is probably more important (think how many possible wave height (amplitude) steps you can use in a sample). Of course, your benefits increase expotentially. Example, there are 256 different sample values in 8-bit recording versus 65535 different values at 16 bit. The difference is _very_ audible. The sample rate difference between say 44.1KHz and 96KHz or even 48KHz is subtle, but its certainly there.
Of course, if you are using some shitty labtech headphones/speakers or whatnot, don't expect to hear it. Get some good, real speakers, not PC speakers.
"I would actually appreciate a recent example where protests accomplished something in the US except increase security at WTO meetings."
Vietnam. Negative public opinion, fueled largely by massive protests with good media coverage was probably the biggest factor in ending the war. (warning, gross generalizations regarding the Vietnam war here, but for the most part they suffice). Protests can accomplish something, but their significance is the public's eye is measured largely by their size or frequency.
Its not _that_ difficult. I just had to do this a few weeks ago for my computer organization class. We build a processor that was a stack machine sort of in the spirit of the HP3000. Had to design everything at the gate level; registers, alu's, etc. It was definitely intense work, but it nevertheless quite doable.
Look, if you want to realize cost savings, you are going to have to look for your music in place other than Walmart/the mall/Tower, etc.
Recording records has continually become cheaper and more effective over the past.. well 100 years or so. But its the last 10 that have really made the difference. Digital recorders are incredibly cheap, decent mixers and mastering tools and software all are affordable. What this means is that there are more people than ever producing music.
This is both good and bad. There is lots of music out now that would otherwise have never gotten heard if not for home production (think pretty much ALL techno). But there is also A LOT of crapflood now as well, as everyone who produces music obviously thinks they produce good music. Guess what? They shouldn't try to be the judge of that.
As a result, sites like mp3.com and the like started up and eventually filled with spamming, self-promoting shitty artists, along with the few obligatory gems.
The individual, or unsigned artist cannot realistically get a record contract any more. They can however, record cheaply, and even produce short run cd's realatively cheaply (less than $1 / cd). Sure, that's more expensive than a major label can do it for, but its still cheap.
What we need are companies that will handle the actual cd production, warehouse the cd's, and ship them direct to customers. If you like a band, you'd go to their website, click to order the cd, and have it shipped to you. The cost of warehousing the cd's and shipping them would be included in the cd production costs the band would foot.
The idea is pretty simple actually; if you are a band, record a cd, get made 1000 made and try to sell those. No distribution needed, no major labels. However, for this to work, people have to actively seek out new music off the beaten path of ClearChannel/MTV. No band can afford to get a video on MTV or the payola to get in the rotation on ClearChannel without a major label. But if people don't pay attention to these outlets, independent bands start to level the playing field.
Granted, the alternative media outlets for finding and identifying new music are scattered. Eventually, these outlets will become more prevalent in the music-lovers search for new tunes. Reviewers will stop caring about the newest Virgin records releases and start surfing for that unknown, great band.
Here's a perhaps rash prediction: in 15 years all 6 of the major record labels will be either defunct or defanged. 95% of all music will be distributed directly via the web, either in the form of mp3s or online cd purchases. The number of platnium albums per year will plummet. Billboard magizine and SoundScan will cease to exist. Internet radio will become predominate as wireless technology allows people to listen in their cars.
The market conditions today are such that the major record labels grasp on the price of cd's is only maintained by the public's willingness to accept and wholeheartedly shallow the seminal fluid called pop.
I've read _a_lot_ of comment on this story and seen some thing I had to respond to.
First, the idea that we might introduce horrible disfigurements or conditions when we start tinkering with the human genome is not unlikely. But progress is made in such ways. Like every new risky technology, some people will be willing to take the risk (think Tooms and the artificial heart a year or two ago). Science finds ways to make these things work. What is a risky venture today (say getting into space) will _eventually_ become routine IF there is enough demand. Think about it, if a couple million people really wanted to go into space and were all willing to pony up some bucks, the technology advance much more rapidly. Progress is aided by money, but its risks and sacrifices by individuals that make dangerous technologies benign.
There have been quite a few people questioning the morality of genetic modification. However, I don't think morality will have any impact on the spread of technology over the long term. Religion and morality can't keep people from wanting technology; there aren't enough fanatics. Just look at all the people who dug burried satilite dishes up after the Taliban was defeated. Amongst the majority of people, religion does NOT mandate real morality or ethics; culture does. And there will almost certainly be some groups pursuing the technology that will popularize it after the initial backlash.
New technology is fearsome and dangerous. Thomas Edison used to electrocute rabbits with AC power to show how dangerous Telsa and Westinghouse were. And many people bought into it and were afraid of AC power. But eventually, common sense won out after the technology was proven safe.
Now on the really long term time line, nearly all births will be GM births, at least to some extent. Parents might not want to pick an IQ, but they would want to get rid of deseases, etc. But for the tweakers, eventually we'll reach a peak at which the DNA cannot be improved upon any more. New techniques will be invented to extend (not just modify) our genome.
We are evolving; just admit it. We can create our own Sun here on earth (fusion) but we don't fear our ability to do so. Likewise we will be able to control our own evolution through our technology.
The company I work for (Cinergy) currently has 8 coop's in CS or IS working for them at any given time. I started working for them as a coop.
When I was first looking for a coop position in mid-2001 I got offers from SDRC, Ethicon. I know people at the school I went to who've worked in the past 2 years for GE, Honda, TI, Apple, P&G, Mead, etc.
Plenty of other companies are willing to hire coop's/interns, although typically they maintain relationships with a few universities. Incidentally, the school I went to (University of Cincinnati) has the longest running and largest coop program in the nation.
The last thing you want to do in an interview is seem arrogant. Be polite and energetic and willing to learn. Most companies don't care what you already know at this point. Be ready to explain why you want to work for that particular company.
Sony Vaio r505's are running pretty cheap, even with the docking station. You won't be directly paying for windows since its not a new machine.
But some things (like paying for windows in the price of a new machine) you just have to live with. Afterall, many of us buy a car that has a stereo and speakers installed at the factory that we will immediately replace, but we don't insist that we are sold a car without them. Find a machine with the cheapest version of windows (XP Home probably) and cut your losses.
Assuming you want software, I would think the best way to go would be Realtime Csound. If you're not familiar with the csound language, its very powerful for dsp and was designed for manipulation of audio. It runs on most platforms and processors. Different implementations of csound designed for realtime use exist for both cisc and risc architectures. Assuming you can design the appropriate algorithm for echo cancelation, csound may be ideal.
Another option, also assuming you can design the algorithm, would be SuperCollider, which is another audio processing language that tends to have better realtime performance than csound. Only runs on macs tho.
Finally, in terms of techniques, you might think about 'shooting' the various rooms (by recording a balloon popping) and using the resulting impulse data to remove (rather than add, as in conventional convolution) the echos on voice audio from that same room. FFT might work here also, although probably less effective. SuperCollider can do realtime convolution; csound might be able to, depending on how high of a sample rate you need.
At the local level, your phone is switched by your neighboorhood central office, which is basically a small building filled with relays (or nowdays, digital switching equipment). The most striking thing about CO's is the battery room. They have racks upon racks of batteries that are constantly charged, and can provide power to run the CO at full load for roughly 12 hours. CO's also have 2 diesel generators to recharge the batteries and enough fuel onsite to run the generators continuously for 2+ days.
Think about it: how often has your phone went out? And when it has, how often was your neighboor's phone out also? Remember, the phone system keeps working even when the power is out.
The physical infrastructure is the most important layer. Everything else can be fixed relatively quickly in the event of an attack (DOS). Its trival to sever a carrier from your network, but its a major undertaking to replace physical infrastructure. As long as that is redundant, and relatively secure, your phones aren't going to stop working any time soon.
I got on the info list when I first heard about this (at least 7 months ago, before DEMF).
John Acquiviva and Hawtin have been using the system for well over a year. Acquiviva used it at last year's DEMF and it was flawless.
The first release to the public was pretty high-ticket ($3000) for 3 Final Scratch records, the interface box, the software, and a Sony Vaio laptop. Initially, they had reported that the suggested retail would be somewhere around $600, but my guess is that they made the initial release include the laptop to keep the price out of the range of amateurs; people like Cowboy Neal, et al.
Every review of the system I've read basically says that its great, and it responds exactly like vinyl. But keep in mind that you need a pair of 1200's also if you really want to use this.
Its going to remain an item for pro and semi pro dj for a while; but this _will_ change the way dj'ing is done. Just give it time.
At my university IS, CS, and CE (computer engineering) degrees are offered. Both CS and CE are through the engineering college and focus heavily of typical engineering skills (physics, math). CE includes more low-level electrical skills, although not as much as electrical engineering.
In CE and CS theory is strongly emphasised. I don't think a real database (ie sql server) class is even required. Lanagues used are typically C++ and assembler, with a bunch of other used sparingly (smalltalk, java). In contrast, the IS degree has a bit of c++, although its the same c++ that mechanical or chemical engineers take, and a lot more current lanaguages, like asp, oracle, etc.
I'm in the CS program, and to me, the biggest benefit is that while my education is very theory-oriented, the program requires that I co-op full-time for 6 quarters (two quarters consecutively, working, not taking classes). This university has the oldest co-op program in America (100+ years), and they do a pretty good job helping you find a job. We've had people at Intel, Compaq, NASA, Apple, TI, etc. What's great about it, is that through co-oping I've had a chance to learn asp, oracle, sql server, flash, active-x stuff, xml, etc. Moreoever, I've worked with these things in a real business enviroment.
I should note that the IS people also co-op, although its not required for them, and they typically do less quarters co-oping. Where I work, my experience has been that in general, co-ops coming from an IS background come to the table with more immediate skils (like oracle), but typically can't pick up new things as fast, or do heavy math. Of course this is a gross generalization, but the trend seems to be there.
So my take: screw the IS degree; take a strong theoretical CS-type degree, but augment it with real-world experience co-oping or interning.
"Everything you do will be more fun." -MS Win95 Install.
I'm sure most linux-hardcore out there cringe at the thought, but some kind of standardization would really do the linux world good. I know I have spent too much time fiddling with the details of several particular distributions.
Case in point: Printing. RedHat handles this differently than Debian, and StarOffice will do even weirder things if you let it. I think even the most hardened linux fans would be hard-pressed to say that getting your typical desktop printer working is easy. Sure, support has become a lot better, and there are a lot more drivers out there than ever before, but its still frustrating.
Personally, I'm certainly a linux novice/intermediate. But to me, its seems that I've run into so many time-consuming problems with linux that its almost become not worth my time. Let's face it: the average intelligent user still doesn't want to waste their time compiling programs because their particular distribution puts certain libraries in odd places, or has a broken compiler.
I tried to upgrade Mozilla about a month ago using an RPM on my Redhat 7.2 system, and it simply didn't work. Instead, Mozilla won't run at all. I'm sure its not that complex of a problem, but I spent several hours with no success. Maybe that's just indicitive of my incompetence, but you have to admit there are still lots of inconsistancies.
No standardized audio / midi api's
No standardized desktop api's
No standardized print interface
No standardized system/hardware management
No standardized installers / install locations
Don't get me wrong; its getting better. And there are systems that do the above things that are becoming quite popular. But if I'm a developer, I should be able to know for sure the bare minimum that the client should have on his/her machine, and where certain files are.
For everyone who likes their flexibility: keep it. But for the rest of us, who really don't care where a library or program is, as long as it works, please give us something. I think this is the biggest problem in learning linux (especially administration of system). I should be able to sit down at a standard machine of any distribution and not have to make any adjustments in what I'm use to.
But I understand that this (different Linux distributions / non-standardization) is an evolutive process. I just hope we get there soon.
A very good friend of mine has a rare problem with the optic nerves in his eyes, which causes his vision to be so blurred that he is legally blind. All tests indicate that his eyes are shaped perfectly; he should have 20/20 vision. Furthermore, the doctors haven't been able to do much for him, since they dont' fully understand the problem. So they try to give him eye-glasses, and magnifiers, which don't do much good.
Research like this, when it might potentially spark a break-thru that could help someone close to you, is always great to see. I hope they make serious progress with this one.
There are several anti-virus programs that can, or try to do this. Usually its called Heuristic Scanning. The program has a list of heuristics, or rules of thumb that indicate virus-like activity. Usually you can customize what heuristics the program will check for.
Several years ago, I really liked a program called Thunderbyte anti-virus that seemed to do this type of scanning very well. It even found malicious code on a cdrom casio game I had, which I later learned would format the hard drive if you won the jackpot.
Norton Anti-virus has heuristic scanning; something they call Bloodhound technology. I believe that McAfee also has something similar, although neither program turns this type of scanning on by default I think.
As to whether or not they work well, Norton has detected several 'suspicious' things on my system, like when I installed csound and the installer added a line to my autoexec.bat file. Norton popped up, told me what the installer was trying to do, and gave me a list of options.
No software should seg fault ever, under any circumstances, ideally. But the idea that seg faulting on the user's action is totally unacceptable. That's basically like saying its ok a program crashes if you double-click on a radio button, because you are supposed to be smart enough to know not to do that.
I have a hard time believing that no one has ever accidentally hit the cd eject button ever when a disk was being read. And what is "or worse"? Should we expect a total system crash rather than just a seg fault?
Imagine if your car's engine exploded because you drove it on the wrong side of the road. Yeah, crazy analogy, but its a developer's responsibility to make software that doesn't break, no matter what the user does.
"lesser users do not deserve the rich functionality that open source has to offer if they do not know how to handle themselves with a computer"
Translation: Open source is only for computer science nerds, and will never be for children and old ladies who are both impatient and hit the disk eject button. Open source is only for elite geeks, who pride themselves on never making simple mistakes, who love to debug an application and fix the problems in it. Open source is for people who build cars for free, talk all day about how their cars are so vastly superior, and then, when they let an "average user" test drive one, the engine explodes, the wheels fall off, and the open source guru must pullout his GNU Craftsman toolkit and find the problem, which turns out to be that the "average user" couldn't drive very well, so his car deserved to fall apart.
You want to see Linux in schools? You want to see it on the average desktop? Then don't tolerate application crashes. But especially don't tolerate the attitude that any application crash is ok. Its not. Flexibility and proper error handling are no where near mutually exclusive.
I worked / volunteered as a tech at a non-profit organization that did work with people with disabilities. The particular section I worked in, tried to set clients up with assistive technology devices / computers / software. This stuff was rented or loaned on a long term basis at very low cost. Virtually all of the systems that were used in the building were donated, from office work, to the systems that went into clients with Lou Gehrig's desease homes to control X10 modules. We were always taking anything above a pentium 100 and using it as a working system, or taking lower systems and using them for parts.
Call up your local united way, or other non-profit agencies that do similar things. Public schools get grants to buy computers, but places like these can always use computers.
Hey chief, before you go spouting about bad reporting, why don't you read the first four sentences of the article?
"It took just three lines of code for Grossman to breach Hotmail filters and access Passport ID and credit card data. The second time it took just one line."
I'm not sure how this gets mod'd to 2. Sorry to be a bitch, but, well, if you can't read the article you deserve it.
to the plantation masters, technology ment using the cotton gyn and slaves to run bigger plantations than ever in history - yep thats what they thought the industrial revolution was about.
The industrial revolution also ended slavery. The growing industrialization of America mirrored in many ways the industrialization of Britian, in that sentiment towards slavery grew largely dissaproving amoung the industrialized. This mechanization suggested that it was no longer necessary to use slaves. Profit margins could now potentially be maintained without free labour.
Of course, the south would remain virtually the same even after the Civil War until industrialization became as widespread there as in the north.
As much as I dislike the MPAA / RIAA, I don't think we'll see a parallel between them and slavery. The RIAA essentially has been defeated by a technological revolution in which all copy-protection schemes can be defeated (All. I doubt there is, or will be any widespread protection scheme for software, audio, video, etc.. that can stand up over time). The RIAA are trying plug up the dike, but its already burst. They totally missed the mp3.