total = 0; for(int i = 1; i < number; i++) { total += i; }
The Good Coder
total = (number*(number+1))/2
The good coder knows that when number gets large, the iterative version is a bottleneck because it is O(n). Using the other method is always constant time. Maybe it's possible that the average coder might stumble upon the second method at some point, but highly unlikely it would be their first instinct.
Well, I'm %99.9999 sure that you can get BioPerl running on a Linux box. Also, for a fun project, grab a copy of your sequence databases of choice and try to install BLAST on the Linux box.
That said, take a look at Chimera, which is an app written at UC San Francisco. It is mostly useful for visualizing, but I know there is a sequence viewer, and some other tools in there too.
Now, for all the aspiring bio geeks I give you BioKnoppix. Go download and burn the ISO. Then use that CD to boot any x86 box into a full Linux install with many of the popular bioinformatics tools already installed.
If I were you, my first approach would be to have them modify the contract. You do have the right to ask them to remove language from the contract that you find objectionable.
If that doesn't fly, I would run as fast away from that company as I could if I were you. My feeling is that if my employer distruts me enough to put such harsh restrictions on my employment, is that somewhere where I truly want to work?
And as the other poster said, these are definitely not common terms. Common terms would be things like direct non-compete clauses (such as with Mr. Lee), nondisclosure agreements, and ownership of code/inventions/IP created while at work.
I work for a major university, which does a lot of research, and one of the first pieces of paper they put in front of me was the document that said everything I create while at work was the property of the University. Honestly, I would have been suprised if they hadn't asked me to sign such a document.
I know it's a little touchy-feely, but understand that you are the real commodity in this situation. Ask any HR manager, good employees are hard to find, and hiring a new employee is an expensive process. So if you are a proven quantity, they have more to lose than you do.
I think the question in the original post is a little vauge on details, so I can't be any more helpful than this. But how about something like the Chicago Crime Database, which uses Google Maps.
How interesting. I just saw a lecture by one of the men that won a nobel prize for this very thing, Steven Chu. What is being done here is essentially what is called Optical Tweezers.
The way this works is that the laser is fired, in timed pulses at a molecule. When the laser hits it from an opposing direction, it starts to cancel out the kinetic energy that the molecule has, and therefore cooling it. (I think it was something to the order of 2.0 × 10^-06 degrees above absolute zero).
In a nutshell, this is what is going on:
Almost Absolute Zero == Essentially No Movement == Essentially "Frozen" Object
First, as one poster pointed out, I would provide an overview of technologies out there (languages, databases, operating systems). The mantra of a good programmer is to use whatever tool is best for the job; so make sure they know what their choices are.
Second, maybe a brief discussion on hardware. Specifically different ways to assemble a server farm. Do you need one single machine, a db and a webserver, or thousands of servers all running in parallel. This would presumably cover load balancing, database replication, and all that good stuff.
Going hand in hand with hardware architechure, is the software architechure. So I would explain three tier architechure, and show them how to seperate DB Access, Business Logic, and Display Logic. Once again, reinforce the fact that there are numerous DB access libraries, and numerous templating solutions out there.
In a perfect world, I would want to teach next about design patterns, but because these students may not have the best handle on OOP, design patterns might be a stretch at this point. And depending on how much XHTML and CSS they have, this would be a good time to start looking at that too.
Since this is an intro programming class, start like you would start a programming lanugages class. Teach control structures, variable scoping, and then ease into OOP if you are so inclined.
If you skipped the design patterns before, this is a good time to bring them in, once the students have somewhat of a grasp on OOP. I would definitely reccomend the Factory pattern, since I've seen it in more than one instance in PEAR (DataObjects in particular).
Once they have these basics down, get them to write something easy... like an address book or something like that (typical stuff you would teach them in any intro CS class to reinforce this stuff).
Once they have all this stuff down, introduce them to a framework. It could be something that you develop as a class, or it could be something out there currently (cake, blueshoes, seagull, mojavi). Then have them take their previous application that they wrote and then integrate it into the framework. This would be a GREAT time to talk about reusable code, and a great time to introduce PEAR/PECL.
This might be a good time to have them work on a colabrative project (since that DOES happen in the real world). This would bring into the picture the concept of source control. Talk about CVS/SVN, and get them using it.
A good final project would be to take their original application that they wrapped in the framework, and then add in some AJAX goodies if they have a good enough handle on the JS. If not, something like JPSPAN or SAJAX might be a good tool to show them. I would reccomend simple AJAX goodies, like instantly saving form fields as they are typed in.
And don't make them fight with PHP4. Get them PHP5 to use! I've recently been going through PHP5 Power Programming, and I highly reccomend it for a good read on OOP and Design Patterns in PHP.
Last time I was reading about the BlueGene project. The BlueGene/P (P as in Petaflop), was supposed to have somewhere around 1 MILLION processors, and the goal was to achieve a petaflop with it.
BlueGene/L is supposed to, depending on the IBM press briefing you read, top out at 200-300 terraflops.
I love the simplicity of this paper, and the following line always gets me to smile at the importance of it.
"It has not escaped our notice that the specific pairing we have postulated immediately suggests a possible copying mechanism for the genetic material."
They put it right at the end, making it seem almost as an afterthought. But in that single sentence, they provide the hypothesis that has driven a large majority of the molecular biology experiments since that paper was published.
From a quick read of the paper, I noticed that he sticks mainly to classical music. I think a natural extension of such a theory that he proposes would be to try different types of music, and specifically music from different cultures.
In my mind, the least granular distincition in music culturally is between western and eastern music, so I will start there. I assume my ear is culturally biased. When I hear western music, it flows well for me, I can "feel" where the song is going. However when I listen to eastern music, I'm constantly guessing where the music is going to go, and thus, doesn't flow as well for me.
I do not believe that one music is technically or artistically superior to the other, but I just feel that our "cultural ear" listens to them differently.
I would have liked to see this paper address the possibility that the context of the music could correspond to not only linguistics in general, but rather specific frequencies and sentence structures of the cultures that the music comes from.
I feel this person's pain. I graduated back in December and have also applied for literally hundreds of positions I am qualified for in both traditional Software Engineering as well as Comp. Bio. I would estimate I have had about 6 interviews
So what's to prevent us, the slashdot community, from forming a large "network" where we can find people with similar interests and go from there. I think the ideal solution would be to work it into the Slashcode, but could this be done in an Orkut or Friendster community (which there probably already is... I just haven't looked). How about a story on the front page where everyone can put a quick blurb about themselves so other people can find like-minded people.
In case anyone is interested in a programmer. My interests and aptitudes are in Web Applications(php, perl, mysql, and postgresql) and Computational Biology with a focus in structural bio, and sequence analysis.
Just FYI, it's been about 4 years now in some sort of form that Pearl Jam has been getting high quality copies of shows into their fan's hands. They started it with their European tour in 2000. However they did not start offering mp3 downloads until the 2002 tour.
The way the system currently works is that you can buy the concert even before you go to it, and for a while afterwards. The day after the show (or when you buy it), you are emailed a link to download 64kbps mp3's of the entire show. Then 10-20 days after that, your fully mastered double(sometimes triple) CD of the show is mailed to you. The band usually in the past, has picked out their favorite shows and they include a special little tiny icon on the back that says it's a band favorite (such as las vegas 10/22/2000). I think between the 4 tours they have recorded, they are somewhere around 100-120 live recordings.
The CD/mp3 download combination costs about 18 bucks (including shipping) if you aren't a fan club member, and about 15 if you are.
And I know for a fact there is a place out there to get torrents of both the mp3 downloaded versions and also SNHs when the CDs start making it into then hands of the people (google search "pearl jam bittorrent"). The band's opinion of the torrents isn't very clear, however in the past, they have been rather supportive of trading (not selling) live shows that people have recorded.
Here is the Diebold specificaion PDF for the 520. It says the thing has a P4 in it, and I would assume this is because they designed some sort of software framework for the Optiva to be expandable in the future to do things like sell concert tickets.
Imagine if that CDR drive was usable to load programs onto it. Furthermore, I'm really hoping these things don't have bluetooth in them.
I bought my iBook (12" 800mhz) in January '02. I was more than happy with it until August '02 when the screen died on me right in the middle of a Bioinformatics conference. Luckily I was in Palo Alto, so I just went down to the Apple store and the guy at the genius bar sent it out for repairs. Apple repaired it and shipped it back to my home within 5 days.
Cut to November '02. Same thing happens, screen goes nuts, trouble with video on booting. I take it down to the closest Apple store and the genius bar once again sends it back for repairs, and it comes back within 7 days.
Basically after November I was freaking out, because I didn't have the extra cash to buy an extended warranty, and I just about know that my motherboard will go out again at some point. But then Apple came through and started the Logic Board replacement program exactly 1 year from the day I bought my computer.
I can say that if Apple didn't cover this and I was forced to extend my warranty, I would probably have never bought another Apple again. But as it is, they came through with their customer support and my next computer will probably be a G5 laptop when they finally come out.
They could have set it up out in my backyard to take pictures of the piles of crap and rocks out there and if they wanted to simulate the solar radiation, they could have my girlfriend give it one of her famous looks... cause those are leathal enough to burn a hole in your soul.
If the BlueGene/L interests you, take a look at the next member of the family BlueGene/P (the P means Petaflop). If I recall correctly, the Petaflop version is going to have more than a million processors in it. These computers are pretty much used for biological applications, and are going to benefit from some serious hardware, software, and networking.
Well, I'm %99.9999 sure that you can get BioPerl running on a Linux box. Also, for a fun project, grab a copy of your sequence databases of choice and try to install BLAST on the Linux box.
That said, take a look at Chimera, which is an app written at UC San Francisco. It is mostly useful for visualizing, but I know there is a sequence viewer, and some other tools in there too.
Now, for all the aspiring bio geeks I give you BioKnoppix. Go download and burn the ISO. Then use that CD to boot any x86 box into a full Linux install with many of the popular bioinformatics tools already installed.
Enjoy!
-Steve
If I were you, my first approach would be to have them modify the contract. You do have the right to ask them to remove language from the contract that you find objectionable.
If that doesn't fly, I would run as fast away from that company as I could if I were you. My feeling is that if my employer distruts me enough to put such harsh restrictions on my employment, is that somewhere where I truly want to work?
And as the other poster said, these are definitely not common terms. Common terms would be things like direct non-compete clauses (such as with Mr. Lee), nondisclosure agreements, and ownership of code/inventions/IP created while at work.
I work for a major university, which does a lot of research, and one of the first pieces of paper they put in front of me was the document that said everything I create while at work was the property of the University. Honestly, I would have been suprised if they hadn't asked me to sign such a document.
I know it's a little touchy-feely, but understand that you are the real commodity in this situation. Ask any HR manager, good employees are hard to find, and hiring a new employee is an expensive process. So if you are a proven quantity, they have more to lose than you do.
I think the question in the original post is a little vauge on details, so I can't be any more helpful than this. But how about something like the Chicago Crime Database, which uses Google Maps.
-Steve
So if your looking to jump off the Apple boat because you don't like TC, what are you going to post to Slashdot on? A Windows Box?
So lets look at the options here:
A) I'm skipping out on a lifetime of mac loyalty and I'm going to run a PC
B) I'm skipping out on a lifetime of mac loyalty and I'm going to run *NIX even though it's UI is terrible.
C) I give up, I'm going to use an etch a sketch and an abacus.
D) Ok, I guess I'll stick with a mac.
How interesting. I just saw a lecture by one of the men that won a nobel prize for this very thing, Steven Chu. What is being done here is essentially what is called Optical Tweezers.
The way this works is that the laser is fired, in timed pulses at a molecule. When the laser hits it from an opposing direction, it starts to cancel out the kinetic energy that the molecule has, and therefore cooling it. (I think it was something to the order of 2.0 × 10^-06 degrees above absolute zero).
In a nutshell, this is what is going on:
-SteveAlmost Absolute Zero == Essentially No Movement == Essentially "Frozen" Object
First, as one poster pointed out, I would provide an overview of technologies out there (languages, databases, operating systems). The mantra of a good programmer is to use whatever tool is best for the job; so make sure they know what their choices are.
Second, maybe a brief discussion on hardware. Specifically different ways to assemble a server farm. Do you need one single machine, a db and a webserver, or thousands of servers all running in parallel. This would presumably cover load balancing, database replication, and all that good stuff.
Going hand in hand with hardware architechure, is the software architechure. So I would explain three tier architechure, and show them how to seperate DB Access, Business Logic, and Display Logic. Once again, reinforce the fact that there are numerous DB access libraries, and numerous templating solutions out there.
In a perfect world, I would want to teach next about design patterns, but because these students may not have the best handle on OOP, design patterns might be a stretch at this point. And depending on how much XHTML and CSS they have, this would be a good time to start looking at that too.
Since this is an intro programming class, start like you would start a programming lanugages class. Teach control structures, variable scoping, and then ease into OOP if you are so inclined.
If you skipped the design patterns before, this is a good time to bring them in, once the students have somewhat of a grasp on OOP. I would definitely reccomend the Factory pattern, since I've seen it in more than one instance in PEAR (DataObjects in particular).
Once they have these basics down, get them to write something easy... like an address book or something like that (typical stuff you would teach them in any intro CS class to reinforce this stuff).
Once they have all this stuff down, introduce them to a framework. It could be something that you develop as a class, or it could be something out there currently (cake, blueshoes, seagull, mojavi). Then have them take their previous application that they wrote and then integrate it into the framework. This would be a GREAT time to talk about reusable code, and a great time to introduce PEAR/PECL.
This might be a good time to have them work on a colabrative project (since that DOES happen in the real world). This would bring into the picture the concept of source control. Talk about CVS/SVN, and get them using it.
A good final project would be to take their original application that they wrapped in the framework, and then add in some AJAX goodies if they have a good enough handle on the JS. If not, something like JPSPAN or SAJAX might be a good tool to show them. I would reccomend simple AJAX goodies, like instantly saving form fields as they are typed in.
And don't make them fight with PHP4. Get them PHP5 to use! I've recently been going through PHP5 Power Programming, and I highly reccomend it for a good read on OOP and Design Patterns in PHP.
-Steve
I know there is an "all your base are belong to us" joke in here somewhere.... I just can't come up with it. Anybody willing to help?
-steve
oooh... and he gets a -1 Troll from the German Judge!
... is that this girl is from East Germany and has more hair on her upper lip than most of the posters on slashdot.
-Steve
ditto!
:)
I was a minor when I was at chico then switched to a CS major after I left
-Steve
Last time I was reading about the BlueGene project. The BlueGene/P (P as in Petaflop), was supposed to have somewhere around 1 MILLION processors, and the goal was to achieve a petaflop with it.
BlueGene/L is supposed to, depending on the IBM press briefing you read, top out at 200-300 terraflops.
-Steve
I have Gmail invites. Ask and ye shall receive.
:)
May I have one, pretty please?
-Steve
steve AT zocode DOT com
Charlie.. is that you? :)
-Steve
They put it right at the end, making it seem almost as an afterthought. But in that single sentence, they provide the hypothesis that has driven a large majority of the molecular biology experiments since that paper was published.
-Steve
In my mind, the least granular distincition in music culturally is between western and eastern music, so I will start there. I assume my ear is culturally biased. When I hear western music, it flows well for me, I can "feel" where the song is going. However when I listen to eastern music, I'm constantly guessing where the music is going to go, and thus, doesn't flow as well for me. I do not believe that one music is technically or artistically superior to the other, but I just feel that our "cultural ear" listens to them differently.
I would have liked to see this paper address the possibility that the context of the music could correspond to not only linguistics in general, but rather specific frequencies and sentence structures of the cultures that the music comes from.
Steve
So what's to prevent us, the slashdot community, from forming a large "network" where we can find people with similar interests and go from there. I think the ideal solution would be to work it into the Slashcode, but could this be done in an Orkut or Friendster community (which there probably already is... I just haven't looked). How about a story on the front page where everyone can put a quick blurb about themselves so other people can find like-minded people.
In case anyone is interested in a programmer. My interests and aptitudes are in Web Applications(php, perl, mysql, and postgresql) and Computational Biology with a focus in structural bio, and sequence analysis.
Steve's Resume
Steve
Just FYI, it's been about 4 years now in some sort of form that Pearl Jam has been getting high quality copies of shows into their fan's hands. They started it with their European tour in 2000. However they did not start offering mp3 downloads until the 2002 tour.
The way the system currently works is that you can buy the concert even before you go to it, and for a while afterwards. The day after the show (or when you buy it), you are emailed a link to download 64kbps mp3's of the entire show. Then 10-20 days after that, your fully mastered double(sometimes triple) CD of the show is mailed to you. The band usually in the past, has picked out their favorite shows and they include a special little tiny icon on the back that says it's a band favorite (such as las vegas 10/22/2000). I think between the 4 tours they have recorded, they are somewhere around 100-120 live recordings.
The CD/mp3 download combination costs about 18 bucks (including shipping) if you aren't a fan club member, and about 15 if you are.
And I know for a fact there is a place out there to get torrents of both the mp3 downloaded versions and also SNHs when the CDs start making it into then hands of the people (google search "pearl jam bittorrent"). The band's opinion of the torrents isn't very clear, however in the past, they have been rather supportive of trading (not selling) live shows that people have recorded.
Some Links:
Pearl Jam Concert Chronology
Apple - Pearl Jam Video Production Article
-Steve
Here is the Diebold specificaion PDF for the 520. It says the thing has a P4 in it, and I would assume this is because they designed some sort of software framework for the Optiva to be expandable in the future to do things like sell concert tickets.
Imagine if that CDR drive was usable to load programs onto it. Furthermore, I'm really hoping these things don't have bluetooth in them.
520 Spec PDF
-Steve
Yep, sorry about that. It was 2003.
-SF
I bought my iBook (12" 800mhz) in January '02. I was more than happy with it until August '02 when the screen died on me right in the middle of a Bioinformatics conference. Luckily I was in Palo Alto, so I just went down to the Apple store and the guy at the genius bar sent it out for repairs. Apple repaired it and shipped it back to my home within 5 days.
Cut to November '02. Same thing happens, screen goes nuts, trouble with video on booting. I take it down to the closest Apple store and the genius bar once again sends it back for repairs, and it comes back within 7 days.
Basically after November I was freaking out, because I didn't have the extra cash to buy an extended warranty, and I just about know that my motherboard will go out again at some point. But then Apple came through and started the Logic Board replacement program exactly 1 year from the day I bought my computer.
I can say that if Apple didn't cover this and I was forced to extend my warranty, I would probably have never bought another Apple again. But as it is, they came through with their customer support and my next computer will probably be a G5 laptop when they finally come out.
They could have set it up out in my backyard to take pictures of the piles of crap and rocks out there and if they wanted to simulate the solar radiation, they could have my girlfriend give it one of her famous looks... cause those are leathal enough to burn a hole in your soul.
-SF
...this sounds like a bad sitcom plot.
If the BlueGene/L interests you, take a look at the next member of the family BlueGene/P (the P means Petaflop). If I recall correctly, the Petaflop version is going to have more than a million processors in it. These computers are pretty much used for biological applications, and are going to benefit from some serious hardware, software, and networking.
P resentation_January_2002.pdf
Here is the project update from a while back, talks a bit about each level of the blue gene project. It also talks about the biological motivations for supercomputing.
http://www.research.ibm.com/bluegene/BG_External_
And more generally, the blugene homepage: http://www.research.ibm.com/bluegene/
-SF