Firefox 2.x supports DOM:Storage objects that will already let you store arbitrary data client-side, and IE supports something similar with Persistence and DHTML Behaviors. If you want the same mechanism for multiple browser types you can do some crazy Flash-based stuff as well.
Within the browser storage objects there are some limitations as to size, so that could be part of the new versions. But make no mistake: this feature is already a reality. See Ajaxian or Dojo for more of the same, including concrete implementations.
Hilights include: Asimov - Foundation series Adams - Hitchhiker's Guide Herbert - Dune Card - Ender's Game Clarke - 2001 or 2010 Stephenson - Cryptonomicon Heinlein - Juvenile series Robinson - color Mars series (Red Mars, etc.) Niven - Ringworld
Robinson has a good handle on science and human nature, in these stories people transform themselves to be better adapted to their environment versus the other way around - although there are some interesting ideas on terraforming in the series as well. I'd recommend most of Stephenson's stuff, but with a grian of salt. Yes, there's a sound basis for nanotech factories that create substances, but personally I don't believe they'll be creating magical islands that pop out of the ocean on cue anytime soon. Cryptonomicon is good for math and a little history, but The Diamond Age is really just entertainment (although it's in my top 3 favorite books).
Another series suggested in the current thread would be "anything by Robin Cook," which I have to support. There is always some stretching of the truth in SciFi, but this series stretches it just enough to make the story interesting without going overboard. Also, since these stories are generally medical thrillers, there is more biology than most other SciFi series would have.
I've seen non-competes like this in things like news media, but not often in software development. If someone is a news anchor at station A, when they switch over to station B they generally get a 6-month to 1-year paid "vacation" so the marketing that station A did to promote this person to their viewers would not give an advantage to station B.
Non-competes should only be accepted for this sort of reason, where some person working within the same industry for another company would have either proprietary knowledge or influence not due to their skill, but only to their association with a company. If I'm working as a cashier for -insert megalomaniacal chain store here- then there isn't really any possibility of having such knowledge or influence. If instead I'm working in their procurement department and negotiating deals with (and cultivating relationships with) outside vendors, it makes sense for the company to have a non-compete clause. If I weren't working for them, I wouldn't have had the contact with those vendors, it is only due to my work with the company that I would be as successful at another company.
Whether or not you accept the clause, however, is up to you. Do the benefits of working for this company outweigh the problems that a non-compete may cause you?
First, if you have any connections with the 2nd level companies you should see if they could hire you. Since you already have a relationship they may have a better feel for your abilities than your resume shows, and they may be able to save themselves some money by hiring you directly versus using the 1st line company.
Second, try some consulting or temp work. Places like TEK-Systems will let you get some hands-on experience with administration, but won't tie you to a specific job/company for an extended period. We had a couple of admins at my last employer through a temp agency, and they can account for large variations in experience. If you don't know a whole lot but can learn, they should be able to place you somewhere that you'll have some oversight to make sure you don't break anything too badly. If they feel you do know a lot, they may place you somewhere that you can be more autonomous.
Other options have been suggested above, keep going with the job you hate for a little while and build up your resume. Find some side job that may not pay the bills, but that will give you experience. Look for entry-level sysadmin jobs, 2nd line support, anything you feel STRONGLY that you can do well. Network as much as you can, ask your geek friends if their companies are hiring or if they have suggestions.
One more that happened to work out very well for me is just get a random entry-level job. I was originally hired as a data entry clerk (or some stupid title), and managed to show my boss and theirs that I was useful enough for something more in short order. I progressed in that company from data entry to admin to executive admin to analyst and finally ended up as tech support and sysadmin. It sounds like a random stroll, but it was a series of relatively small jumps. I applied my geekdom to all of the positions and demonstrated how I could be more useful to the company in a different capacity, and it worked out better for both me and for the company - win-win.
If any of you actually took the time to go and see what Loopt is about or looked for more information, you would realize several things.
For starters, this is OPT-IN ONLY. You can't just see everyone's info, and you get to pick who you share your info with. You can choose who can and cannot see your info.
Second, the point of this is to see when you're in the same three blocks as your friends. You may not be in the same restaurant or same building as your friends, but you would be surprised at how often you are within a few blocks of them.
Third, this service updates your position about every 15 minutes. This is based on GPS, but phone GPS doesn't work like regular GPS. The location your phone gets probably isn't created from satellites, it probably comes from the cell tower. If you have enough signal to get/send a call/SMS, you have enough signal to locate your phone within a few hundred feet. This is the same thing that E911 uses to find you when you call for police/ambulance - it's by no means perfect, but it'll do.
Finally, this is no different than the Family Locator or similar services that the cell companies have available. Most people would probably love to know when their child (or at least their child's cellphone) goes outside of that same 1/4 mile of the schoolyard during the day, or deviates from the path between school and sitter/home. Yes, the data is a potential problem if it gets into the wrong hands, but there are safeguards in place, and in general this will help more than hurt.
You and Bob are being chased by a cheetah that can run 70mph. How fast do you have to run not to be eaten?
Wrong answer: 71mph Correct answer: Anything faster than Bob.
The same thing applies to harvesters, spam, and other pesky problems. You only have to make it so that your site is more of a PITA to abuse than someone else's site. CAPTCHAs and the like only succeed because it's easier to find another unprotected site than it is to read the CAPTCHA. It's not impossible - some OCR programs have 90%-ish recognition on common CAPTCHAs - it's just more difficult than typing "contact us" into Google to find someone else with a more spam-friendly page.
The same goes for JavaScript protection, image links, tarpits, grey listing and anything else that you put in as a roadblock - it only has to make your site inconvenient to abuse, not 100% perfectly resistant.
If you think this is bad, just wait until the Socket "4x4" comes out from AMD.
This one really bugs me because AM2 came out in May and F came out in August, and yet this month they're going to be obsoleted. The worst of it is that Socket F has the same pin count (1207), but doesn't appear to be compatible.
I feel sorry for everyone who has their brand-new AM2 system that's going to get screwed by this. Lucky for me I've been waiting/saving up, so now I can get a 4x4 on the new chipset and have the best of both worlds - or wait for the GX2 version of the 8800s and get a 4x4x4x2.
A Mersenne number is exactly what you're talking about, a long string of binary 1's.
Mersenne numbers are of the form 2^N - 1, which is essentially a binary string of N consecutive 1's. For example, the tenth Mersenne number - aka M(10) - is 2^10 - 1, which is 1023. The binary representation of 1023 is 1111111111.
The answer to your question is on the GMPS homepage:
When looking at the exponents, we expect only 1.78 Mersenne primes between powers of two, and prior to 2003, a maximum of 3 Mersenne primes were found between powers of two. The last 5 Mersenne prime exponents all fell between 224 and 225 -- and we haven't finished testing all the exponents in that range!
So Mersenne primes are very rare numbers. The only reason these primes are so insanely large is that we have efficient* methods of primality testing for numbers of certain special forms. It would be incredibly difficult to conclusively prove primality for 2^32,582,657 - 473** instead, since it's not of the same special form.
* - Efficient is a relative term - this number took hundreds of CPU hours to test for primality. From the same page, it took 6 days on a system "using 16 Itanium2 1.5 GHz CPUs" to confirm the results. For arbitrary 9 million digit numbers however, it would probably take centuries to test primality conclusively, even using current state-of-the-art methods and massive supercomputers.
** - This could be divisible by 3 for all I know, it's very unlikely that it is prime.
Some are really obvious and easy to find (CWShredder, ResHacker, etc.), but others are practically un-googleable in their current form (Discover, TFT, CD, etc.).
I'm looking for Discover, and doing searches for "discover force window" or "discover utility" give me nothing useful.
A 2" height restriction is going to be almost impossible in a non-laptop form factor, and almost all laptops are bigger than the 1" you're talking about.
What Mini-ITX boxes have you looked at?
Check out Mini-ITX.com. You'll find stuff like Hoojum for lunchbox-sized computers, or you can find something like the Albatrons Viiv Nano-PC that will accomodate almost all the specs you're talking about (when it goes into production).
If nothing else, buy a laptop, then take off the keyboard and screen. I've worked on Dell laptops and it's pretty simple, I don't imagine that other models would be too difficult.
I'm just putting the final touches on my own hashcash implementation that doesn't require a server-side database, I'll post a link to my journal when it's publicly availble.
Additionally, the X in AJAX doesn't really belong - if you run a protocol analyzer, you'll find XMLHTTPRequest doesn't actually send XML at all unless you explicitly send some XML.
That's because the XML DOM parsers in current-version browsers are dirt-slow, it takes way too long to parse proper XML and you don't get that fancy Web 2.0 responds-like-an-application feel from your app while it waits for your file to finish parsing.
Best practices dictate using delimited text if you have really simple content, or use JSON (JavaScript Object Notation) instead, as it returns pre-parsed data, and you can just eval() the string to get an actual JS object to work with.
At the time, VK president Yi Cheol-sang insisted that 8.8 millimetres was as thin as things could get, commenting that the technology demanded an antenna of at least 7 millimetres thick and a pair of plates of 1.8 millimetres.
Why is this a problem? I can understand that length of an antenna makes a huge difference, but how does the width matter? This guy is the president of the former "record-holder", so I don't know if he's just spouting crap or if he is technically informed.
Other than the mysterious antenna problem, 7.9mm is 16% larger than the iPod Nano, which clocks in at a mere 6.8mm thick. I'm not impressed yet, but I wouldn't turn down a free one.
It's not actually 8x for MD to CA, only for Columbia, MD -> Berkeley, CA. Pick a couple cities over for either one and it's about equivalent, or even switch from Rent -> Own and it evens out to 1.5x.
San Jose is in the same range as Columbia, and Mountain View and Palo Alto are both within 5%. Even downtown San Francisco is only 6% more expensive than Columbia. The 8x figure for Berkeley is just some kind of interesting fluke, although it's a bit more than most of the rest of the Bay Area (Stanford, Saratoga, Hillsborough aside).
AFAIK, they just QoS the hell out of everything so that game packets get YOU MUST DELIVER THIS IMMEDIATELY OR FACE CERTAIN DEATH!!! service and everything else gets meh, whenever you like, if you're not busy... service.
Due to some trouble at some point, our corporate lawyers have declared we are not allowed to delete anything from our e-mail server.
Nothing.
Not even spam. *
Our biggest mailbox is somewhere around 25GB, but several users have had problems when their boxes get that big and we have split them into several mailboxes - johnsmith, johnsmith2, johnsmith3, etc. Total mail space just for our office is about 2TB. The good thing is that users all have separate mail files, so backup/restore are user-based instead of server-based.
What sort of limitations does your company have on:
mailbox size - How big a disk can we attach?
amount of time you can keep mail - Ad infinitum, not by choice
At my company, we've had at least two virus infections before definitions were released. We worked through symptoms and used stuff like HijackThis! and Process Explorer to find out what was going on, plus a few of the PS Tools to get rid of it and Bart's PE to clean-room the system to remove persistent files. It took our virus vendor a week to come up with definitions, but a few others had them earlier and we could use their online or free versions to clean the systems.
Generally, when we get a suspicious file, it goes to VirusTotal first. If any of the 20-or-so listed AV vendors have a definition for the virus, you can usually find some information about it (at least a name) and from there figure out how to clean it. If nobody has a definition, next stop is Norman Sandbox to figure out what the beastie does, at least from a high-level point of view. If nothing else, it will probably give you a mutex that you can create to block execution/further infection, and sometimes it even gives you a clue as to what the virus would be or if it's a variant of something else. I found that we had a new variant of W32/Sality based on its mutex, which was one version number incremented from the info available online.
If there are no hits after that, there are some more things you can try, but they're mostly shots in the dark. Unless you can un-UPX the file and do some serious reverse-engineering on your own, you probably have to wait for a definition or post your symptoms in a newsgroup or forum and hope someone can help.
One good thing about VirusTotal is that it submits your sample to AV vendors (if you give it permission) so they are alerted and can start to develop definitions. It's difficult to find contact info for some vendors, but McAfee, ClamAV, CA and others have places you can submit a sample, you would do well to try them all if you have non-sensitive information in an infected file.
any particular reason these suits vaguely resemble that of spiderman's?
From TFA:
Skiwear company Spyder, based in Colorado, US, developed racing suits incorporating d3o along the shins and forearms...
Sounds like non-Newtonian fluid
on
Flexible Body Armor
·
· Score: 4, Informative
Looks like they use a Non-Newtonian fluid, that's the type of material that has these properties.
This was one of the cooler demonstration in my HS chemistry class, the teacher made up a big batch of water + corn starch, and was playing with it like mud, squishing it around and whatnot. Then he beat the hell out of it, and it just sat there and didn't splash, it looked (and sounded) like it was a solid sheet. It was odd to see something that was very dynamic under low force, but static under high force.
It's like a seatbelt, if you yank it hard it locks up, but if you pull gently it will extend.
The recommendation I've seen is not to lie, but rather to be prepared.
When your prospective employer asks you what your previous salary was, don't tell them. Know what range your new job should be making (be reasonable and accurate), and state it as a fact: "People who do xyz make between $a and $b" and leave it at that. Allow the uncomfortable silence to drag on. Let them squirm and give you excuses, then it's your choice if you accept their offer or walk away.
It's not "i made this much but now i'm so cool i want 5x as much" or even "i was undervalued and i want what i'm worth", it's being frank with them to say "you want this job done, it's fair to pay me this much to do it".
Don't forget, money isn't everything. Would you rather work for Google for $60k or EA for $80k?
(before you mod this flamebait, read the entry for EA, a lot has happened in a few months!)
This is also how I saw the question, not "what do you use for concurrent versioning?" but rather "how do i make libraries?".
If you want to make reusable code, one thing you're going to have to do is generalize. Don't make ultra-specific functions that just do one ultra-specific thing, put in a couple of parameters to make your function more generic. That's not to say you should have one function that does everything; just don't have a CreateRadio and a CreateCheckedRadio function in your js library, have a CreateRadio that accepts a parameter for checked or unchecked.
You may want to prefix your functions in some way so that you won't run into namespace conflicts - use your initials or something simple. The CreateRadio above would be xyz_CreateRadio.
Group your functions logically into modules. If you have a bunch of stuff that deals with HTML form controls, make an htmlformcontrols.js library. As before, don't go overboard either way, too many functions in a library or too many libraries with just a few functions will drive you nuts.
Use a style, and stick to it as much as possible. The most popular style I've seen is one true brace, but personally it drives me nuts to work with this kind of code. I like BSD/Allman much better, but any style is a matter of personal preference. Use what works for you.
Use clear, descriptive function names. Don't make function x(a,b,c) unless you have a good reason. If "nobody will ever see it and i'll never use it again," think again. Someone will see it, and you will have to use it again, and it will be a pain in your ass.
Finally, and perhaps most importantly, comment everything. Not every line of code, but every function: what it does, what its parameters are, what its outputs are. You won't remember what $stamp is in your hash-cash implementation unless you have some kind of comment or reference you can check where you clearly stated what it is and why it's part of your function.
You don't even have to wait.
Firefox 2.x supports DOM:Storage objects that will already let you store arbitrary data client-side, and IE supports something similar with Persistence and DHTML Behaviors. If you want the same mechanism for multiple browser types you can do some crazy Flash-based stuff as well.
Within the browser storage objects there are some limitations as to size, so that could be part of the new versions. But make no mistake: this feature is already a reality. See Ajaxian or Dojo for more of the same, including concrete implementations.
Or this thread from 2000 looking for a sci-fi reading list for a 13-year old girl.
Hilights include:
Asimov - Foundation series
Adams - Hitchhiker's Guide
Herbert - Dune
Card - Ender's Game
Clarke - 2001 or 2010
Stephenson - Cryptonomicon
Heinlein - Juvenile series
Robinson - color Mars series (Red Mars, etc.)
Niven - Ringworld
Robinson has a good handle on science and human nature, in these stories people transform themselves to be better adapted to their environment versus the other way around - although there are some interesting ideas on terraforming in the series as well. I'd recommend most of Stephenson's stuff, but with a grian of salt. Yes, there's a sound basis for nanotech factories that create substances, but personally I don't believe they'll be creating magical islands that pop out of the ocean on cue anytime soon. Cryptonomicon is good for math and a little history, but The Diamond Age is really just entertainment (although it's in my top 3 favorite books).
Another series suggested in the current thread would be "anything by Robin Cook," which I have to support. There is always some stretching of the truth in SciFi, but this series stretches it just enough to make the story interesting without going overboard. Also, since these stories are generally medical thrillers, there is more biology than most other SciFi series would have.
I've seen non-competes like this in things like news media, but not often in software development. If someone is a news anchor at station A, when they switch over to station B they generally get a 6-month to 1-year paid "vacation" so the marketing that station A did to promote this person to their viewers would not give an advantage to station B.
Non-competes should only be accepted for this sort of reason, where some person working within the same industry for another company would have either proprietary knowledge or influence not due to their skill, but only to their association with a company. If I'm working as a cashier for -insert megalomaniacal chain store here- then there isn't really any possibility of having such knowledge or influence. If instead I'm working in their procurement department and negotiating deals with (and cultivating relationships with) outside vendors, it makes sense for the company to have a non-compete clause. If I weren't working for them, I wouldn't have had the contact with those vendors, it is only due to my work with the company that I would be as successful at another company.
Whether or not you accept the clause, however, is up to you. Do the benefits of working for this company outweigh the problems that a non-compete may cause you?
First, if you have any connections with the 2nd level companies you should see if they could hire you. Since you already have a relationship they may have a better feel for your abilities than your resume shows, and they may be able to save themselves some money by hiring you directly versus using the 1st line company.
Second, try some consulting or temp work. Places like TEK-Systems will let you get some hands-on experience with administration, but won't tie you to a specific job/company for an extended period. We had a couple of admins at my last employer through a temp agency, and they can account for large variations in experience. If you don't know a whole lot but can learn, they should be able to place you somewhere that you'll have some oversight to make sure you don't break anything too badly. If they feel you do know a lot, they may place you somewhere that you can be more autonomous.
Other options have been suggested above, keep going with the job you hate for a little while and build up your resume. Find some side job that may not pay the bills, but that will give you experience. Look for entry-level sysadmin jobs, 2nd line support, anything you feel STRONGLY that you can do well. Network as much as you can, ask your geek friends if their companies are hiring or if they have suggestions.
One more that happened to work out very well for me is just get a random entry-level job. I was originally hired as a data entry clerk (or some stupid title), and managed to show my boss and theirs that I was useful enough for something more in short order. I progressed in that company from data entry to admin to executive admin to analyst and finally ended up as tech support and sysadmin. It sounds like a random stroll, but it was a series of relatively small jumps. I applied my geekdom to all of the positions and demonstrated how I could be more useful to the company in a different capacity, and it worked out better for both me and for the company - win-win.
Seconded!
If any of you actually took the time to go and see what Loopt is about or looked for more information, you would realize several things.
For starters, this is OPT-IN ONLY. You can't just see everyone's info, and you get to pick who you share your info with. You can choose who can and cannot see your info.
Second, the point of this is to see when you're in the same three blocks as your friends. You may not be in the same restaurant or same building as your friends, but you would be surprised at how often you are within a few blocks of them.
Third, this service updates your position about every 15 minutes. This is based on GPS, but phone GPS doesn't work like regular GPS. The location your phone gets probably isn't created from satellites, it probably comes from the cell tower. If you have enough signal to get/send a call/SMS, you have enough signal to locate your phone within a few hundred feet. This is the same thing that E911 uses to find you when you call for police/ambulance - it's by no means perfect, but it'll do.
Finally, this is no different than the Family Locator or similar services that the cell companies have available. Most people would probably love to know when their child (or at least their child's cellphone) goes outside of that same 1/4 mile of the schoolyard during the day, or deviates from the path between school and sitter/home. Yes, the data is a potential problem if it gets into the wrong hands, but there are safeguards in place, and in general this will help more than hurt.
This is like the classic story/problem:
You and Bob are being chased by a cheetah that can run 70mph.
How fast do you have to run not to be eaten?
Wrong answer: 71mph
Correct answer: Anything faster than Bob.
The same thing applies to harvesters, spam, and other pesky problems. You only have to make it so that your site is more of a PITA to abuse than someone else's site. CAPTCHAs and the like only succeed because it's easier to find another unprotected site than it is to read the CAPTCHA. It's not impossible - some OCR programs have 90%-ish recognition on common CAPTCHAs - it's just more difficult than typing "contact us" into Google to find someone else with a more spam-friendly page.
The same goes for JavaScript protection, image links, tarpits, grey listing and anything else that you put in as a roadblock - it only has to make your site inconvenient to abuse, not 100% perfectly resistant.
If you think this is bad, just wait until the Socket "4x4" comes out from AMD.
This one really bugs me because AM2 came out in May and F came out in August, and yet this month they're going to be obsoleted. The worst of it is that Socket F has the same pin count (1207), but doesn't appear to be compatible.
I feel sorry for everyone who has their brand-new AM2 system that's going to get screwed by this. Lucky for me I've been waiting/saving up, so now I can get a 4x4 on the new chipset and have the best of both worlds - or wait for the GX2 version of the 8800s and get a 4x4x4x2.
You're looking for something similar to a video keg, but probably with a bit more processing power and a more controlled interface.
Mersenne numbers are of the form 2^N - 1, which is essentially a binary string of N consecutive 1's. For example, the tenth Mersenne number - aka M(10) - is 2^10 - 1, which is 1023. The binary representation of 1023 is 1111111111.
The answer to your question is on the GMPS homepage:
So Mersenne primes are very rare numbers. The only reason these primes are so insanely large is that we have efficient* methods of primality testing for numbers of certain special forms. It would be incredibly difficult to conclusively prove primality for 2^32,582,657 - 473** instead, since it's not of the same special form.
* - Efficient is a relative term - this number took hundreds of CPU hours to test for primality. From the same page, it took 6 days on a system "using 16 Itanium2 1.5 GHz CPUs" to confirm the results. For arbitrary 9 million digit numbers however, it would probably take centuries to test primality conclusively, even using current state-of-the-art methods and massive supercomputers.
** - This could be divisible by 3 for all I know, it's very unlikely that it is prime.
Do you have URLs for these?
Some are really obvious and easy to find (CWShredder, ResHacker, etc.), but others are practically un-googleable in their current form (Discover, TFT, CD, etc.).
I'm looking for Discover, and doing searches for "discover force window" or "discover utility" give me nothing useful.
A 2" height restriction is going to be almost impossible in a non-laptop form factor, and almost all laptops are bigger than the 1" you're talking about.
What Mini-ITX boxes have you looked at?
Check out Mini-ITX.com. You'll find stuff like Hoojum for lunchbox-sized computers, or you can find something like the Albatrons Viiv Nano-PC that will accomodate almost all the specs you're talking about (when it goes into production).
If nothing else, buy a laptop, then take off the keyboard and screen. I've worked on Dell laptops and it's pretty simple, I don't imagine that other models would be too difficult.
Here are a couple places to start your search:
I'm just putting the final touches on my own hashcash implementation that doesn't require a server-side database, I'll post a link to my journal when it's publicly availble.
Best practices dictate using delimited text if you have really simple content, or use JSON (JavaScript Object Notation) instead, as it returns pre-parsed data, and you can just eval() the string to get an actual JS object to work with.
Why is this a problem? I can understand that length of an antenna makes a huge difference, but how does the width matter? This guy is the president of the former "record-holder", so I don't know if he's just spouting crap or if he is technically informed.
Other than the mysterious antenna problem, 7.9mm is 16% larger than the iPod Nano, which clocks in at a mere 6.8mm thick. I'm not impressed yet, but I wouldn't turn down a free one.
It's not actually 8x for MD to CA, only for Columbia, MD -> Berkeley, CA. Pick a couple cities over for either one and it's about equivalent, or even switch from Rent -> Own and it evens out to 1.5x.
San Jose is in the same range as Columbia, and Mountain View and Palo Alto are both within 5%. Even downtown San Francisco is only 6% more expensive than Columbia. The 8x figure for Berkeley is just some kind of interesting fluke, although it's a bit more than most of the rest of the Bay Area (Stanford, Saratoga, Hillsborough aside).
Isn't this the same concept as gaming routers?
AFAIK, they just QoS the hell out of everything so that game packets get YOU MUST DELIVER THIS IMMEDIATELY OR FACE CERTAIN DEATH!!! service and everything else gets meh, whenever you like, if you're not busy... service.
pay milage on a car if you drive it across the company
I don't think that mileage is deductible or reimbursable.
If I move from Columbia, MD on the East Coast out to Berkeley, CA in the Bay Area, I apparently need an 8x increase in salary.
Sounds good to me, I wouldn't mind 360k a year!
Nothing.
Not even spam. *
Our biggest mailbox is somewhere around 25GB, but several users have had problems when their boxes get that big and we have split them into several mailboxes - johnsmith, johnsmith2, johnsmith3, etc. Total mail space just for our office is about 2TB. The good thing is that users all have separate mail files, so backup/restore are user-based instead of server-based.
What sort of limitations does your company have on:
Lotus Notes, warehousing & distribution, ~400 users.
* - We can filter spam before it gets into the system, but once it's made it into someone's inbox it's stuck there.
At my company, we've had at least two virus infections before definitions were released. We worked through symptoms and used stuff like HijackThis! and Process Explorer to find out what was going on, plus a few of the PS Tools to get rid of it and Bart's PE to clean-room the system to remove persistent files. It took our virus vendor a week to come up with definitions, but a few others had them earlier and we could use their online or free versions to clean the systems.
Generally, when we get a suspicious file, it goes to VirusTotal first. If any of the 20-or-so listed AV vendors have a definition for the virus, you can usually find some information about it (at least a name) and from there figure out how to clean it. If nobody has a definition, next stop is Norman Sandbox to figure out what the beastie does, at least from a high-level point of view. If nothing else, it will probably give you a mutex that you can create to block execution/further infection, and sometimes it even gives you a clue as to what the virus would be or if it's a variant of something else. I found that we had a new variant of W32/Sality based on its mutex, which was one version number incremented from the info available online.
If there are no hits after that, there are some more things you can try, but they're mostly shots in the dark. Unless you can un-UPX the file and do some serious reverse-engineering on your own, you probably have to wait for a definition or post your symptoms in a newsgroup or forum and hope someone can help.
One good thing about VirusTotal is that it submits your sample to AV vendors (if you give it permission) so they are alerted and can start to develop definitions. It's difficult to find contact info for some vendors, but McAfee, ClamAV, CA and others have places you can submit a sample, you would do well to try them all if you have non-sensitive information in an infected file.
Looks like they use a Non-Newtonian fluid, that's the type of material that has these properties.
This was one of the cooler demonstration in my HS chemistry class, the teacher made up a big batch of water + corn starch, and was playing with it like mud, squishing it around and whatnot. Then he beat the hell out of it, and it just sat there and didn't splash, it looked (and sounded) like it was a solid sheet. It was odd to see something that was very dynamic under low force, but static under high force.
It's like a seatbelt, if you yank it hard it locks up, but if you pull gently it will extend.
The recommendation I've seen is not to lie, but rather to be prepared.
When your prospective employer asks you what your previous salary was, don't tell them. Know what range your new job should be making (be reasonable and accurate), and state it as a fact: "People who do xyz make between $a and $b" and leave it at that. Allow the uncomfortable silence to drag on. Let them squirm and give you excuses, then it's your choice if you accept their offer or walk away.
It's not "i made this much but now i'm so cool i want 5x as much" or even "i was undervalued and i want what i'm worth", it's being frank with them to say "you want this job done, it's fair to pay me this much to do it".
Don't forget, money isn't everything. Would you rather work for Google for $60k or EA for $80k?
(before you mod this flamebait, read the entry for EA, a lot has happened in a few months!)
This is also how I saw the question, not "what do you use for concurrent versioning?" but rather "how do i make libraries?".
If you want to make reusable code, one thing you're going to have to do is generalize. Don't make ultra-specific functions that just do one ultra-specific thing, put in a couple of parameters to make your function more generic. That's not to say you should have one function that does everything; just don't have a CreateRadio and a CreateCheckedRadio function in your js library, have a CreateRadio that accepts a parameter for checked or unchecked.
You may want to prefix your functions in some way so that you won't run into namespace conflicts - use your initials or something simple. The CreateRadio above would be xyz_CreateRadio.
Group your functions logically into modules. If you have a bunch of stuff that deals with HTML form controls, make an htmlformcontrols.js library. As before, don't go overboard either way, too many functions in a library or too many libraries with just a few functions will drive you nuts.
Use a style, and stick to it as much as possible. The most popular style I've seen is one true brace, but personally it drives me nuts to work with this kind of code. I like BSD/Allman much better, but any style is a matter of personal preference. Use what works for you.
Use clear, descriptive function names. Don't make function x(a,b,c) unless you have a good reason. If "nobody will ever see it and i'll never use it again," think again. Someone will see it, and you will have to use it again, and it will be a pain in your ass.
Finally, and perhaps most importantly, comment everything. Not every line of code, but every function: what it does, what its parameters are, what its outputs are. You won't remember what $stamp is in your hash-cash implementation unless you have some kind of comment or reference you can check where you clearly stated what it is and why it's part of your function.