According to a FindLaw primer on employee rights, you may have an action to sue your former employer for using your photograph without your permission. You should contact an employment lawyer in your area; you might be able to get a settlement from your former company to justly compensate you for your photo being used without permission.
Key questions you need to answer:
1) Did you sign a written consent form allowing the company to use your photograph?
2) Do you have the original photograph to use as evidence that you are in fact the one in the picture?
3) Do you have current contact information for the other employees in the photograph that have been similarly misused?
4) Do you know when the ads first appeared, how long they have been running, and in what medium (newspaper, TV, magazines, web, etc.)?
5) Do you have samples of the advertisment in question that could be used as evidence?
6) What jurisdiction applies? If the ad was shown in California you may have more protections for use of your photograph; Georgia only appears to have such restrictions for serious crimes like child pornography.
Your action does not concern "fraud", per se. Fraud, legally, is decieving others for gain. What you need to focus on is the state statues that require an employee to provide written consent before that employee's photograph can be used for marketing purposes.
For more details, see a general discussion on the issue from FindLaw:
Many states prohibit employers from using an employee's photograph for commercial purposes (such as in an advertisement or in a company brochure) without your written consent. Cases have been won by female employees who discovered their likeness on such materials but did not authorize their employers to use them.
For instance, see California Civil Code Section 3344-3346. I'll quote a small portion of this section which directly applies to your situation:
3344. (a) Any person who knowingly uses another's name, voice,
signature, photograph, or likeness, in any manner, on or in products,
merchandise, or goods, or for purposes of advertising or selling, or
soliciting purchases of, products, merchandise, goods or services,
without such person's prior consent, or, in the case of a minor, the
prior consent of his parent or legal guardian, shall be liable for
any damages sustained by the person or persons injured as a result
thereof. In addition, in any action brought under this section, the
person who violated the section shall be liable to the injured party
or parties in an amount equal to the greater of seven hundred fifty
dollars ($750) or the actual damages suffered by him or her as a
result of the unauthorized use, and any profits from the unauthorized
use that are attributable to the use and are not taken into account
in computing the actual damages.
The company is likely to argue that, because your head is not visible, you cannot be readily identified under 3344(b)(2):
(1) A person shall be deemed to be readily identifiable from a
photograph when one who views the photograph with the naked eye can
reasonably determine that the person depicted in the photograph is
the same person who is complaining of its unauthorized use.
The company may also insist that your likeness is not "essential" to the advertisement, per 3344(c):
(c) Where a photograph or likeness of an employee of the person
using the photograph or likeness appearing in the advertisement or
other publication prepared by or in behalf of the user is only
incidental, and not essential, to the purpose of the publication in
which it appears, there shall arise a rebuttable presumption
affecting the burden of producing evidence that the fai
Is this a question or an advertisement for pghoster.com? If you've got a product you want to advertise to the slashdot community, it's relatively simple to come up with a "question" that subtlely advertises your product. Free advertising; all you have to do is submit a "question". The Big Corps are gonna love it!
Posted by CliffAdverts4U on Wed March 17, 09:20 AM
from the how-much-did-they-pay-VA-Software-for-this-dept.
RandomMarkter asks: "Hey, I heard Coca-Cola(TM) is a great, refreshing, tasty beverage that seems to be just what I'm looking for, have you tried one lately? I've also been thinking about grabbing a bite to eat while hacking, and I found a website for Pizza Hut(TM), has anyone else heard of this company? I've got to pay for it somehow, I was thinking of getting a MasterCard(TM), which has a fantastic new low introductory APR of only 9.99%, what should I do?
Kevin's only been on the net a few days now, and look what happens!
No need to "Free Kevin" anymore... he's got the master key!
"No, Officer, I didn't steal the key to the prison, I didn't take any hostages, all I had to do to get out was use this file here that Randall sent me in a Perl 6.0 Birthday Cake..."
First, you can't be older than 13, or at least can't act older then 13. Having any of the following will immediately disqualify you: wife, kids, or a job where you have to wear shoes.
Second, you must be M3G4 31337 and learn to substitute numbers and punctuation symbols when typing words. Massive use of abbreviation helps.
Third, you must have large quantities of pizza and cola nearby at all times. Purchased, of course, with a credit card "borrowed" from an IRC buddy.
Fourth, you must have no life outside of the demoscene, lest you become unable to dedicate every waking late-night moment to the demo group.
Fifth, you have to wear imitation Matrix-style sunglasses and a long black overcoat. Intersperse conversation with constant quotes or references to the movie.
Sixth, you need to have visions of morphing faces and twisting landscapes and generally be pretty freaked out. Drugs can help, but if you're a true demoscene natural you've been born this way.
Seventh, you have to be able to accomplish in two lines of code what most programmers take 200 lines of code to do, provided that of course no one else but you can understand those two lines of code.
Eighth, you have to have friends with names like RandomOooze and TwistedNemesis. None of your friends have street addresses, and you've only seen them in person in dark chambers with hundreds of monitors in some non-descript European city.
Nineth, you have to have at least several IRC buddies in Finland, Norway, and Germany. Preferably at least one of them is currently wanted by Interpol.
Tenth, you have to constantly brag about impressive adventures with your girlfriend. She must be imaginary or reside somewhere far away, such as Canada.
If you can do these top ten things, you will truely be part of the demoscene!
The best project planning books I've seen are Peopleware and Mythical Man Month. These should be required reading for anyone planning or participating in software teams.
My favorite truth from these books comes from a chapter in Peopleware where team productivity was studied under several scenarios: where a manager plans the schedule, where the programmer plans the schedule, where a third party plans the schedule, or where there is no planned schedule. Not surprisingly, the manager created the poorest schedule with the lowest productivity. The programmer, however, wasn't far ahead. The third party did slightly better. But by far the best performance was from teams where absolutely no schedule was done.
In software, you're best off without schedules at all! I follow this in my own software planning; if at all possible, which means if people above don't push it, I have no schedule or plan. I do the design and the work, and when it's done it's done.
That won't last long either. There are a lot of non US companies building huge patent pools. Their staff are cheaper, their lawyers don't charge outrageous fees and they have lots of young and bright staff encouraged to think rather than to conform for fear of liability and lawsuits for being original.
Something to think about as you watch the US drop your tax money out of bombers over the desert
You fail to realize the value of military force in IP lawsuits. Lawyers with RPGs are invincible.
4) The OS could download a new protocol stack that could render it inoperable with other protocols. An entire new Internet based on the MSOY/BO (Microsoft Ownz You/Bend Over) protocol could spring up almost over night. MS-only network services, online shopping, etc.
Yes, they could do that. They could also hire their own mercenary army to take over the Justice Department (to back up the lobbyists;-). But will they?
They've been walking the fine line between the legal and the illegal for many years now, sometimes crossing over it. Creating a MS-only web protocol and forcing everyone to use it would almost certainly be a very flagrant and obvious restraint on free trade and thus illegal under both federal and state statutes. Not illegal as in "we're doing to make you put Java in your OS" illegal, but illegal as in "even the politicians you gave big money to are starting to denounce you." Public opinion can be finiky, but once you get on the bad side in a democracy, and enough people hate you, you're doomed. This is the lesson of the Robber Barons of olden times and the response of the Progressive Movement.
Look at Hailstorm. They had to back down because of such issues. They've also had trouble with Passport adoption because, surprise surprise, not everyone wants to share their customer information with Microsoft.
It's become almost a proverb not to underestimate Microsoft. But it's also foolish to overestimate them; as big as they are, they're still only a small drop in a very big corporate ocean, and an even smaller drop in the realm of global goverments.
I always hear this talk about "vital shortage of technical workers predicted". It seems to run along the same line of "we need to encourage science in the schools" and "most students can't find Greenland on a map".
This is all just talk. Talk is cheap. As the saying goes, put your money where your mouth is.
In a perfect competitive free market, the wage of a worker is the equilibrium market price at which a worker gets paid and an employer pays them. It is the point at which the supply curve of the class of workers meets the demand curve of the employers for that worker class.
If demand for workers goes up, in the short term the number of workers won't change much, so the salaries will rise. In the long term supply will increase as more people transition to the field and salaries will moderate somewhat. Oversupply can happen as well and salaries will go down. The price of the worker, their salary, deterimines their economic worth (although their are altruistic worths as well, economic worth is all that counts in the market).
For an exercise, go to the US Labor Department and look at their Wage Statistics. Look through everything and look at what pays the best. It's not science, no matter how smart you are. The top three professions in terms of average wage are this: Executives, Doctors, and Lawyers.
In economics, price transmits information. The information transmitted by the market is that being an executive (CEO), doctor, or lawyer is economically the most valuable job you can have. Technical workers are well paid but much less than these top three.
It should be no surprise that students would strive for the top paying jobs. They're acting rationally based on the economic information transmitted by the price of labor.
If at some point the wage of technical workers and scientists is at the top of the wage pyramid, then you can expect everyone trying to do that. This almost happened in the late 90s with the Dot-Com boom, but it was too short of a cycle to affect long-term supply much.
About third-world outsourcing brain work: don't do it.
Every company I've heard of doing this, and every programmer I've talked to that's had to work with these third-world outsourcing companies, has had absolutely nothing good to say about it. There may be exceptions, but in every case I know if it's nothing short of a disaster.
First, there's the distance problem. Having disparate groups from across the world work together in free software or academia is possible, but it doesn't work in corporations. The cultural and political barriers cause more headaches than is already prevalent in the corporate world.
Second, there's the time problem. It really is hard to work with people on the other side of the earth because your schedule rarely overlaps. To have any meetings, someone has to come in early, or someone has to stay in late. Turnaround time for any question takes days instead of hours (for same time zone) or minutes (for the next cubicle). When facing corporate deadlines this can really bite you.
Third is quality. I don't want to sound pompous and say that third world programmers are no good, but usually they are no good. The good ones have left and have come to the first world, or are in universities studying to come to the first world. They're not going to be sweating away doing the same job in the third world getting paid 1/4 of what they can get in the first world. You can get away with that for lower class labor, who can't afford a plane ticket or immigration costs, but for university-educated third world, they have a reasonable capability of coming to the first world.
Fourth is culture. It's really, really hard to work with people who don't agree on culture; by this I mean work culture, not necessarily the same thing as culture in general. It's the reason sales and development in the same office are so often at eachother's throats. Even though developers in the first world come from all different backgrounds, countries, and cultures, there is a common work ethic among good first-world workers. The third world is often much more laid back, and people don't react to schedule pressure in the same way you might expect. There are more misunderstandings which hinders the group from working together.
In summary, there are several key problems with outsourcing brain power to the third world that prevent it from being a success. The real core of the problem is that, contrary to the views of many executives and MBAs, intellectual workers are not assembly line workers and cannot be managed in the same way. Programming, or brain work in general, is not a repeatable, repetitive, explicitly definable operation which can be performed by unskilled laborours in any part of the world. This makes it especially unsuited to third-world outsourcing.
If you or your company is considering this, save yourself a lot of headache: "Just Say No".
...to help you decide how to spend that Christmas bonus check!
You obviously don't work in the IT industry, I can see. Perhaps you're a superhero from another dimension who's crimefighting organization still gives bonuses?
What I mean by "modern" is "modern design, e.g. designed with modern features (such as journaling)", not necessarily "modern implementation". It seems that HFS+ was just an extension of HFS, not a complete rewrite for OSX, and so you're just hacking on top of a hack. It seems that integrity, reliability, and speed of the filesystem would be better if they started from scratch and designed a completely new, OSX-centered filesystem rather than extending HFS+ which is really MacOS9-legacy.
You get away with it because you aren't banging hard at the filesystem while yanking away at your cables. Try fulling loading your system with data copies back and forth to your iPod and an external hard drive, open your Mac box, and then on full disk load pull all cables (including internal hard drive connection). Try this a few times and you may have more luck.;-)
Journaling your filesystem allows you to maintain integrity through a system crash or power outage. This doesn't mean you'll have all the data in your files uncorrupted (a point often missed by many), but rather that your filesystem won't become corrupted (you won't lose your filesystem because of a crash). Modern filesystems like the more recent Linux etxfs and XFS and Windows NTFS support journaling. It's an essential part of keeping your computer crash-resistant.
There is a cost, however. Journaling filesystems are slower than non-journaling because all file metadata update operations have to be written to a transaction log. This makes journaling a poor choice for some high-volume filesystems in scientific computing or other arenas where performance is uttermost (games). In most cases, however, the performance penalty is worth the added integrity.
Note that journaling your filesystem only keeps the metadata intact, not the file data itself. You can still loose data, such as the contents of a document you were editing but had not saved. For full transactional integrity you need the cost and overhead of a transactional database (SQLServer, Postgres, DB2, Oracle, etc.).
Is this an entirely new journaling system or one based on an existing (BeOS) journaling system? Won't there be performance and stability impacts from basing it on HFS+ instead of a more modern framework? Is is possible to compile one of the existing *BSD journaling systems on OSX/Darwin (I haven't heard of anyone with success in this matter)?
The real problem with this approach is the transgenic transmission of the genes to non-mining plants. As has been shown in several recent studies, GMO (Genetically Modified Organism) plants have spread many of their modified genes to non-GMO plants. This is especially true in North America, where in the US over 70% of all food products contain GMOs. Although Mexico has strict laws in place disallowing GMOs in many farming regions, GMOs have nonetheless been found there. Over several generations, it is nearly impossible to contain GMOs because they spread throughout the gene pool just like other plants.
The real danger with mining GMO plants is that the genes responsible for metal accumulation will be transferred to other plants. This is especially hazardous in food crops where many of these metals are toxic. We could easily be poisoning ourselves if these genes get transfered (accidentally or though crop-bioterrorism) to our food plants. These metal-mining GMOs should be treated like smallpox: stored away, mostly destroyed, and guarded against.
Basic physics, assuming constant acceleration (approximately correct for a rocket): v(t) = v(0) + aT
We know v(0) = 0 m/s, v(t) = Mach 5 = 1700 m/s, and T = 15 seconds. So let's find the acceleration. A little Algebra shows us:
a = ( v(t) - v(0) ) / T
a = ( 1700 m/s ) / 15 s = 113 m/s^2
Which is about 12Gs, twelve times the force of gravity on earth. Much more than the several G's of the Space Shuttle. More than a human can stand for more than a few seconds before passing out.
The key is not so much whether you can sythesize N60, since this will probably be possible in the future. The key is the economics of such an operation.
Economics, not pure technology, is what's driving the next generation of space travel.
A primary goal of NASA's next generation launch vehicle to replace the shuttle is to bring down costs for moving payload to low-earth orbit. In particular, NASA wants to reduce the current cost of $10,000/kg by an order of magnitude to $1000/kg.
Making this possible will require technological innovations within economic constraints, such as using kerosene fuel or nuclear engines. If you've been following Mars human exploration plans recently, you'll know that methane engines are one of the most promising plans for synthesizing fuel on Mars. In fact, any long-term Mars mission is likely to require some sort of production of fuel from the Martian surface, and methane can be produced quite readily given an external power source such as a nuclear reactor.
Sure, N60 may provide a higher thrust/weight ratio, but then again, so does antimatter. Antimatter/matter combustion, in fact, has the highest thrust/weight ratio theoretically possible given current physics. We can even sythesize and store it, unlike N60, so we're ahead of the game there. And yet, you don't see antimatter engines because the costs are even more astronomical than the thrust/weight ratio. To get enough antimatter to launch just one LEO mission could very well bankrupt the world.
In conclusion, although N60 has promising potential, the future of rocket propulsion is likely to lie with more conventional and cheaper fuels. Hydrocarbons such as methane and kerosene are still the king of fuels.
You must learn about functional languages
on
Going from Perl to XSL?
·
· Score: 3, Informative
I wrote this big long post about language paradigms but my browser erased it. Thank you, IE.
Anyhow, what you've got to get through your mind is that XSLT is a functional language; it's not procedural. We're not in Kansas anymore, Toto. Functional languages are a different beast than what you're used to, i.e. procedural languages.
If you've taken a CS course on programming languages and they covered functional languages well than you don't have to learn anything, just realize that XSLT is functional and program accordingly.
If you haven't taken a CS programming languages course or didn't cover functional languages then you need to learn the functional paradigm. Think transformation, not variable assignment. Think functional composition, not a row of statements. Think recursion, not looping.
To learn it yourself, you're going to need a good book on functional programming, such as Haskell or Erlang. Both have open-source implementations available. This is not something you're going to learn in a day, it will take you a month of diligent study before you understand what you're doing. If you know rigorous logic well and are adept in discrete math and set theory you'll advance more readily.
In addition to learning functional programming, you'll have to learn the quirks of XSLT. For one, you need to have mastery of the specs for XML, XPath, and of course XSLT. Al these specs are quite readable: read them through, try out examples. You also need to be aware of the limitation of XSLT, especially in these early days of the 1.0 version (2.0 should be more useful). Often you'll need to either do processing before/after XSLT with Perl or something else, or directly incorporate JavaScript into your XSLT document. Be sure to understand inclusions and use XSLT library documents with useful functions.
Once you understand functional languages in general and XSLT in particular you'll be on your way to mastery of XSLT. You'll also learn alot along the way that will be useful even if you never touch XSLT again. In addition, you'll have experience in the maxim uttered by other posters that you must use the right tool for the right job. XSLT is superb for most common XML transformations (such as XML to HTML) and is far better than any other languages for doing this. But sometimes you need something else like Perl or Java for direct manipulation. Use the right tool for the right job.
This JRE
does just-in-time
leaves the app server
respondin' just fine
Hits on the web
make new beans load
database thrashin'
instatiatin' again
Codin' for fame
high on cocaine
Bill Joy you better
watch out for billg .NET ahead
VB behind
you know that C#
just crossed my mind
.NET ahead
with Balmer in bed
some folks are sayin'
Java soon will be dead
JCP slackin'
Apache don't know what to do
look straight ahead
C#'s comin' for you
Codin' for fame
high on cocaine
Bill Joy you better
watch out for billg .NET ahead
VB behind
you know that C#
just crossed my mind
Apache's Tomcat
ain't J2EE
You've got to be crazy
to attack what is free
Didn't you know
where developers go?
Apple and Lotus
what have they tought us?
Codin' for fame
high on cocaine
Bill Joy you better
watch out for billg .NET ahead
VB behind
you know that C#
just crossed my mind
Hope you all enjoyed the show. Apologies to Jerry. Boy, I needed one really long line to post this because slashcode thinks it's really smart not allowing poetry. Stupid code. They don't like songs? Men of prose? Men of prose bore the world. We need men of poetry. Just how long does one line have to be to drive up the threshold? What is the threshold? I just keep typing and previewing, driving up the average until it works. Up to 16.4 now. I wonder how much longer this will take. Boy, this is the kind of silliness I go through every day at work;-) Still only 17.9. Maybe twenty will be the magic number? I don't know. They're probably trying to prevent sill firstpostism. Their attempt can be easily defeated since they rely on averages. Finally made it! Must be around 20 or so.
"The problem with tax preparation is that the rules are constantly changing and they are different for every town, state/province, and country."
You mentioned that you would provide free code for the real-time stock quotes, but that the information would have to be paid for by a third party and verified via authentication. The same approach could be used for region-specific financial practices, including GAAP for the industry, taxation laws, reporting requirements, etc.
There would be some service, online or otherwise, which provides updates to these financial practices; should we say, a web service? This web service could be used by more than just GNUcash, perhaps there is even an existing service that provides that type of information. If there isn't, and you have capital, it would be a good business to start.
...the task of proving optimality seems impossible. No, I take that back, it is impossible
Actually, you're wrong. It is possible to prove in some cases that a given algorithm is optimal, and that a given implementation is optimal. You can discover this from a mathematically-based analysis of optimality, so that you can't use better hardware or loop unrolling, etc., to get a better solution.
Optimality is multi-faceted, since optimal solutions may exist for time constraints, space constraints, or both. Optimality is tied to computational complexity theory, since for some problem domains you can show that any solution must have a given complexity bounds, especially a theta-bound since that is the tightest bounds of a problem. Then you can show for a given machine set (abstracted assembly), with certain types of operations, that an implementation of the algorithm is in some sense optimal.
As a final note, however, optimal solutions exist in algorithmics for well-defined computational problems. It is an entirely different thing to solve most real-world problems, where many non-theoretical issues enter the fray, such as how quickly can the code be written, is the design easily understood, how well can your code be maintained, does it do what the user or customer wants, does it have a good human interface, etc. These issues, rather than theoretics, dominate most of the actually programming that goes on in the world (despite what your professors may have taught you!;-). In that sense, the language/optimality/editor/UI/paradigm flame wars will still go on for as long as people are using computers.
But it is still fun, on the rare occasion, to point out to your boss that your implementation of merging accounting transactions is theoretically optimal. Not that they really care, they just want it done by Friday.;-)
I think it would be better if they just included all BSD-type licensed products as acceptible. FreeBSD is neither more or less restrictive than the other *BSDs, Darwin, xMach, and non-OS products with BSD-like licenses (e.g. X Windows, ipv6 implementation, Apache). If Microsoft's problem is the GPL, as it appears to be, then they should state it, and absolve the *BSD camp from their attacks.
The fact of the matter is, they benefit tremendously from *BSD licenses, and they know it. They should adopt an acceptance of open source, *BSD style, and limit their attacks to the GPL. This way they can "embrace" open source, get good marketing, and help at least part of the open source community, while at the same time protecting their core business, just like Apple.
These computer monitor examinations of people walking on the streets is most certainly a violation of the 4th amendment against unlawful search and seisure. I'll repeat it here for your pleasure:
Amendment IV
The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated, and no warrants shall issue, but upon probable cause, supported by oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized.
Face-scanning cameras violate this pretty directly. You're searching someone, doing a check on them, in an automated fasion without their consent. This is similar to a case recently where the right of officers to scan a house with infrared (from the street) was struck down as an unreasonable search. Without a warrant, you're quite limited in what you can do.
Traffic cameras, such as auto-ticketing running of red lights, have been variously struck down as unconstitutional (at least here in Texas; it differs by states currently), although the matter has not been fully resolved at the high court level. Traffic laws are special anyways, since driving is a "privilege" by law; walking down the street has many more protections. This isn't Frace, after all, where you can be stopped walking on the street and required to show your ID to a cop.
I had a discussion about this exact issue last Friday with a local officer who works part-time at our company doing security (they let you do that in Texas). I was telling him about new face-recognition technology and its applications for law enforcement. He was rather skeptical for two reasons. The first is the constitutionality issue; in spite of what you kids learned from 2600, most officers of the peace are actually educated in the constitutionality of what they do and are exepected to abide by it (there are exceptions of course, as with anything). The second is a practicality issue; the most dangerous part of a cop's job is traffic stops, and they don't know what's going to happen or who they'll run into, and face-recognition is bound to be useless unless everyone has to get out of the car and be scanned on every traffic stop. In addition, many of the criminals you really want to catch, the dangerous ones, change their appearence through simple things like facial hair and up to plastic surgery. The faceprint won't work on that.
So the conclusion is that, while the fourth amendment varies in interpretation, generally this kind of auto-video recognition technology for the police won't stand up to a constitutionality challenge. Even if it did, it's not practical against hardened criminals.
As a final note: Remember that movie Point Blank? The surfers discuised as Presidents robbing banks? They wore masks. Duh.
Key questions you need to answer:
1) Did you sign a written consent form allowing the company to use your photograph?
2) Do you have the original photograph to use as evidence that you are in fact the one in the picture?
3) Do you have current contact information for the other employees in the photograph that have been similarly misused?
4) Do you know when the ads first appeared, how long they have been running, and in what medium (newspaper, TV, magazines, web, etc.)?
5) Do you have samples of the advertisment in question that could be used as evidence?
6) What jurisdiction applies? If the ad was shown in California you may have more protections for use of your photograph; Georgia only appears to have such restrictions for serious crimes like child pornography.
Your action does not concern "fraud", per se. Fraud, legally, is decieving others for gain. What you need to focus on is the state statues that require an employee to provide written consent before that employee's photograph can be used for marketing purposes.
For more details, see a general discussion on the issue from FindLaw:
For instance, see California Civil Code Section 3344-3346. I'll quote a small portion of this section which directly applies to your situation:
The company is likely to argue that, because your head is not visible, you cannot be readily identified under 3344(b)(2):
The company may also insist that your likeness is not "essential" to the advertisement, per 3344(c):
No need to "Free Kevin" anymore... he's got the master key!
"No, Officer, I didn't steal the key to the prison, I didn't take any hostages, all I had to do to get out was use this file here that Randall sent me in a Perl 6.0 Birthday Cake..."
What you're really saying is that you want a CS graduate degree.
Sorry, but you've been beaten by a few years and several hundred miles. Linux has already been in orbit aboard the space shuttle several times.
Second, you must be M3G4 31337 and learn to substitute numbers and punctuation symbols when typing words. Massive use of abbreviation helps.
Third, you must have large quantities of pizza and cola nearby at all times. Purchased, of course, with a credit card "borrowed" from an IRC buddy.
Fourth, you must have no life outside of the demoscene, lest you become unable to dedicate every waking late-night moment to the demo group.
Fifth, you have to wear imitation Matrix-style sunglasses and a long black overcoat. Intersperse conversation with constant quotes or references to the movie.
Sixth, you need to have visions of morphing faces and twisting landscapes and generally be pretty freaked out. Drugs can help, but if you're a true demoscene natural you've been born this way.
Seventh, you have to be able to accomplish in two lines of code what most programmers take 200 lines of code to do, provided that of course no one else but you can understand those two lines of code.
Eighth, you have to have friends with names like RandomOooze and TwistedNemesis. None of your friends have street addresses, and you've only seen them in person in dark chambers with hundreds of monitors in some non-descript European city.
Nineth, you have to have at least several IRC buddies in Finland, Norway, and Germany. Preferably at least one of them is currently wanted by Interpol.
Tenth, you have to constantly brag about impressive adventures with your girlfriend. She must be imaginary or reside somewhere far away, such as Canada.
If you can do these top ten things, you will truely be part of the demoscene!
My favorite truth from these books comes from a chapter in Peopleware where team productivity was studied under several scenarios: where a manager plans the schedule, where the programmer plans the schedule, where a third party plans the schedule, or where there is no planned schedule. Not surprisingly, the manager created the poorest schedule with the lowest productivity. The programmer, however, wasn't far ahead. The third party did slightly better. But by far the best performance was from teams where absolutely no schedule was done.
In software, you're best off without schedules at all! I follow this in my own software planning; if at all possible, which means if people above don't push it, I have no schedule or plan. I do the design and the work, and when it's done it's done.
Something to think about as you watch the US drop your tax money out of bombers over the desert
You fail to realize the value of military force in IP lawsuits. Lawyers with RPGs are invincible.
Yes, they could do that. They could also hire their own mercenary army to take over the Justice Department (to back up the lobbyists ;-). But will they?
They've been walking the fine line between the legal and the illegal for many years now, sometimes crossing over it. Creating a MS-only web protocol and forcing everyone to use it would almost certainly be a very flagrant and obvious restraint on free trade and thus illegal under both federal and state statutes. Not illegal as in "we're doing to make you put Java in your OS" illegal, but illegal as in "even the politicians you gave big money to are starting to denounce you." Public opinion can be finiky, but once you get on the bad side in a democracy, and enough people hate you, you're doomed. This is the lesson of the Robber Barons of olden times and the response of the Progressive Movement.
Look at Hailstorm. They had to back down because of such issues. They've also had trouble with Passport adoption because, surprise surprise, not everyone wants to share their customer information with Microsoft.
It's become almost a proverb not to underestimate Microsoft. But it's also foolish to overestimate them; as big as they are, they're still only a small drop in a very big corporate ocean, and an even smaller drop in the realm of global goverments.
This is all just talk. Talk is cheap. As the saying goes, put your money where your mouth is.
In a perfect competitive free market, the wage of a worker is the equilibrium market price at which a worker gets paid and an employer pays them. It is the point at which the supply curve of the class of workers meets the demand curve of the employers for that worker class.
If demand for workers goes up, in the short term the number of workers won't change much, so the salaries will rise. In the long term supply will increase as more people transition to the field and salaries will moderate somewhat. Oversupply can happen as well and salaries will go down. The price of the worker, their salary, deterimines their economic worth (although their are altruistic worths as well, economic worth is all that counts in the market).
For an exercise, go to the US Labor Department and look at their Wage Statistics. Look through everything and look at what pays the best. It's not science, no matter how smart you are. The top three professions in terms of average wage are this: Executives, Doctors, and Lawyers.
In economics, price transmits information. The information transmitted by the market is that being an executive (CEO), doctor, or lawyer is economically the most valuable job you can have. Technical workers are well paid but much less than these top three.
It should be no surprise that students would strive for the top paying jobs. They're acting rationally based on the economic information transmitted by the price of labor.
If at some point the wage of technical workers and scientists is at the top of the wage pyramid, then you can expect everyone trying to do that. This almost happened in the late 90s with the Dot-Com boom, but it was too short of a cycle to affect long-term supply much.
Economics is key.
Every company I've heard of doing this, and every programmer I've talked to that's had to work with these third-world outsourcing companies, has had absolutely nothing good to say about it. There may be exceptions, but in every case I know if it's nothing short of a disaster.
First, there's the distance problem. Having disparate groups from across the world work together in free software or academia is possible, but it doesn't work in corporations. The cultural and political barriers cause more headaches than is already prevalent in the corporate world.
Second, there's the time problem. It really is hard to work with people on the other side of the earth because your schedule rarely overlaps. To have any meetings, someone has to come in early, or someone has to stay in late. Turnaround time for any question takes days instead of hours (for same time zone) or minutes (for the next cubicle). When facing corporate deadlines this can really bite you.
Third is quality. I don't want to sound pompous and say that third world programmers are no good, but usually they are no good. The good ones have left and have come to the first world, or are in universities studying to come to the first world. They're not going to be sweating away doing the same job in the third world getting paid 1/4 of what they can get in the first world. You can get away with that for lower class labor, who can't afford a plane ticket or immigration costs, but for university-educated third world, they have a reasonable capability of coming to the first world.
Fourth is culture. It's really, really hard to work with people who don't agree on culture; by this I mean work culture, not necessarily the same thing as culture in general. It's the reason sales and development in the same office are so often at eachother's throats. Even though developers in the first world come from all different backgrounds, countries, and cultures, there is a common work ethic among good first-world workers. The third world is often much more laid back, and people don't react to schedule pressure in the same way you might expect. There are more misunderstandings which hinders the group from working together.
In summary, there are several key problems with outsourcing brain power to the third world that prevent it from being a success. The real core of the problem is that, contrary to the views of many executives and MBAs, intellectual workers are not assembly line workers and cannot be managed in the same way. Programming, or brain work in general, is not a repeatable, repetitive, explicitly definable operation which can be performed by unskilled laborours in any part of the world. This makes it especially unsuited to third-world outsourcing.
If you or your company is considering this, save yourself a lot of headache: "Just Say No".
You obviously don't work in the IT industry, I can see. Perhaps you're a superhero from another dimension who's crimefighting organization still gives bonuses?
What I mean by "modern" is "modern design, e.g. designed with modern features (such as journaling)", not necessarily "modern implementation". It seems that HFS+ was just an extension of HFS, not a complete rewrite for OSX, and so you're just hacking on top of a hack. It seems that integrity, reliability, and speed of the filesystem would be better if they started from scratch and designed a completely new, OSX-centered filesystem rather than extending HFS+ which is really MacOS9-legacy.
You get away with it because you aren't banging hard at the filesystem while yanking away at your cables. Try fulling loading your system with data copies back and forth to your iPod and an external hard drive, open your Mac box, and then on full disk load pull all cables (including internal hard drive connection). Try this a few times and you may have more luck. ;-)
Journaling your filesystem allows you to maintain integrity through a system crash or power outage. This doesn't mean you'll have all the data in your files uncorrupted (a point often missed by many), but rather that your filesystem won't become corrupted (you won't lose your filesystem because of a crash). Modern filesystems like the more recent Linux etxfs and XFS and Windows NTFS support journaling. It's an essential part of keeping your computer crash-resistant.
There is a cost, however. Journaling filesystems are slower than non-journaling because all file metadata update operations have to be written to a transaction log. This makes journaling a poor choice for some high-volume filesystems in scientific computing or other arenas where performance is uttermost (games). In most cases, however, the performance penalty is worth the added integrity.
Note that journaling your filesystem only keeps the metadata intact, not the file data itself. You can still loose data, such as the contents of a document you were editing but had not saved. For full transactional integrity you need the cost and overhead of a transactional database (SQLServer, Postgres, DB2, Oracle, etc.).
Is this an entirely new journaling system or one based on an existing (BeOS) journaling system? Won't there be performance and stability impacts from basing it on HFS+ instead of a more modern framework? Is is possible to compile one of the existing *BSD journaling systems on OSX/Darwin (I haven't heard of anyone with success in this matter)?
The real danger with mining GMO plants is that the genes responsible for metal accumulation will be transferred to other plants. This is especially hazardous in food crops where many of these metals are toxic. We could easily be poisoning ourselves if these genes get transfered (accidentally or though crop-bioterrorism) to our food plants. These metal-mining GMOs should be treated like smallpox: stored away, mostly destroyed, and guarded against.
Basic physics, assuming constant acceleration (approximately correct for a rocket): v(t) = v(0) + aT
We know v(0) = 0 m/s, v(t) = Mach 5 = 1700 m/s, and T = 15 seconds. So let's find the acceleration. A little Algebra shows us:
a = ( v(t) - v(0) ) / T
a = ( 1700 m/s ) / 15 s = 113 m/s^2
Which is about 12Gs, twelve times the force of gravity on earth. Much more than the several G's of the Space Shuttle. More than a human can stand for more than a few seconds before passing out.
Resources:
Economics, not pure technology, is what's driving the next generation of space travel. A primary goal of NASA's next generation launch vehicle to replace the shuttle is to bring down costs for moving payload to low-earth orbit. In particular, NASA wants to reduce the current cost of $10,000/kg by an order of magnitude to $1000/kg.
Making this possible will require technological innovations within economic constraints, such as using kerosene fuel or nuclear engines. If you've been following Mars human exploration plans recently, you'll know that methane engines are one of the most promising plans for synthesizing fuel on Mars. In fact, any long-term Mars mission is likely to require some sort of production of fuel from the Martian surface, and methane can be produced quite readily given an external power source such as a nuclear reactor.
Sure, N60 may provide a higher thrust/weight ratio, but then again, so does antimatter. Antimatter/matter combustion, in fact, has the highest thrust/weight ratio theoretically possible given current physics. We can even sythesize and store it, unlike N60, so we're ahead of the game there. And yet, you don't see antimatter engines because the costs are even more astronomical than the thrust/weight ratio. To get enough antimatter to launch just one LEO mission could very well bankrupt the world.
In conclusion, although N60 has promising potential, the future of rocket propulsion is likely to lie with more conventional and cheaper fuels. Hydrocarbons such as methane and kerosene are still the king of fuels.
Anyhow, what you've got to get through your mind is that XSLT is a functional language; it's not procedural. We're not in Kansas anymore, Toto. Functional languages are a different beast than what you're used to, i.e. procedural languages.
If you've taken a CS course on programming languages and they covered functional languages well than you don't have to learn anything, just realize that XSLT is functional and program accordingly.
If you haven't taken a CS programming languages course or didn't cover functional languages then you need to learn the functional paradigm. Think transformation, not variable assignment. Think functional composition, not a row of statements. Think recursion, not looping.
To learn it yourself, you're going to need a good book on functional programming, such as Haskell or Erlang. Both have open-source implementations available. This is not something you're going to learn in a day, it will take you a month of diligent study before you understand what you're doing. If you know rigorous logic well and are adept in discrete math and set theory you'll advance more readily.
In addition to learning functional programming, you'll have to learn the quirks of XSLT. For one, you need to have mastery of the specs for XML, XPath, and of course XSLT. Al these specs are quite readable: read them through, try out examples. You also need to be aware of the limitation of XSLT, especially in these early days of the 1.0 version (2.0 should be more useful). Often you'll need to either do processing before/after XSLT with Perl or something else, or directly incorporate JavaScript into your XSLT document. Be sure to understand inclusions and use XSLT library documents with useful functions.
Once you understand functional languages in general and XSLT in particular you'll be on your way to mastery of XSLT. You'll also learn alot along the way that will be useful even if you never touch XSLT again. In addition, you'll have experience in the maxim uttered by other posters that you must use the right tool for the right job. XSLT is superb for most common XML transformations (such as XML to HTML) and is far better than any other languages for doing this. But sometimes you need something else like Perl or Java for direct manipulation. Use the right tool for the right job.
This JRE
does just-in-time
leaves the app server
respondin' just fine
Hits on the web
make new beans load
database thrashin'
instatiatin' again
Codin' for fame
.NET ahead
high on cocaine
Bill Joy you better
watch out for billg
VB behind
you know that C#
just crossed my mind
with Balmer in bed
some folks are sayin'
Java soon will be dead
JCP slackin'
Apache don't know what to do
look straight ahead
C#'s comin' for you
Codin' for fame
.NET ahead
high on cocaine
Bill Joy you better
watch out for billg
VB behind
you know that C#
just crossed my mind
Apache's Tomcat
ain't J2EE
You've got to be crazy
to attack what is free
Didn't you know
where developers go?
Apple and Lotus
what have they tought us?
Codin' for fame
.NET ahead
high on cocaine
Bill Joy you better
watch out for billg
VB behind
you know that C#
just crossed my mind
Hope you all enjoyed the show. Apologies to Jerry. Boy, I needed one really long line to post this because slashcode thinks it's really smart not allowing poetry. Stupid code. They don't like songs? Men of prose? Men of prose bore the world. We need men of poetry. Just how long does one line have to be to drive up the threshold? What is the threshold? I just keep typing and previewing, driving up the average until it works. Up to 16.4 now. I wonder how much longer this will take. Boy, this is the kind of silliness I go through every day at work ;-) Still only 17.9. Maybe twenty will be the magic number? I don't know. They're probably trying to prevent sill firstpostism. Their attempt can be easily defeated since they rely on averages. Finally made it! Must be around 20 or so.
You mentioned that you would provide free code for the real-time stock quotes, but that the information would have to be paid for by a third party and verified via authentication. The same approach could be used for region-specific financial practices, including GAAP for the industry, taxation laws, reporting requirements, etc.
There would be some service, online or otherwise, which provides updates to these financial practices; should we say, a web service? This web service could be used by more than just GNUcash, perhaps there is even an existing service that provides that type of information. If there isn't, and you have capital, it would be a good business to start.
Actually, you're wrong. It is possible to prove in some cases that a given algorithm is optimal, and that a given implementation is optimal. You can discover this from a mathematically-based analysis of optimality, so that you can't use better hardware or loop unrolling, etc., to get a better solution.
Optimality is multi-faceted, since optimal solutions may exist for time constraints, space constraints, or both. Optimality is tied to computational complexity theory, since for some problem domains you can show that any solution must have a given complexity bounds, especially a theta-bound since that is the tightest bounds of a problem. Then you can show for a given machine set (abstracted assembly), with certain types of operations, that an implementation of the algorithm is in some sense optimal.
For some examples of proven optimal solutions to computational problems, see the following: static dictionary membership queries; generating minimal perfect hash functions; monte carlo estimation; scanning spanning trees of undirected graphs; hyperplane depth; simultaneous buffer and wire sizing (with implementation); maximum independent set of a circular-arc graph. The list could go on, but this gives you some idea of the breadth of solutions available. Sometimes, as with the halting problem, you can show that no solution exists, optimal or not.
As a final note, however, optimal solutions exist in algorithmics for well-defined computational problems. It is an entirely different thing to solve most real-world problems, where many non-theoretical issues enter the fray, such as how quickly can the code be written, is the design easily understood, how well can your code be maintained, does it do what the user or customer wants, does it have a good human interface, etc. These issues, rather than theoretics, dominate most of the actually programming that goes on in the world (despite what your professors may have taught you! ;-). In that sense, the language/optimality/editor/UI/paradigm flame wars will still go on for as long as people are using computers.
But it is still fun, on the rare occasion, to point out to your boss that your implementation of merging accounting transactions is theoretically optimal. Not that they really care, they just want it done by Friday. ;-)
The fact of the matter is, they benefit tremendously from *BSD licenses, and they know it. They should adopt an acceptance of open source, *BSD style, and limit their attacks to the GPL. This way they can "embrace" open source, get good marketing, and help at least part of the open source community, while at the same time protecting their core business, just like Apple.
These computer monitor examinations of people walking on the streets is most certainly a violation of the 4th amendment against unlawful search and seisure. I'll repeat it here for your pleasure:
Face-scanning cameras violate this pretty directly. You're searching someone, doing a check on them, in an automated fasion without their consent. This is similar to a case recently where the right of officers to scan a house with infrared (from the street) was struck down as an unreasonable search. Without a warrant, you're quite limited in what you can do.
Traffic cameras, such as auto-ticketing running of red lights, have been variously struck down as unconstitutional (at least here in Texas; it differs by states currently), although the matter has not been fully resolved at the high court level. Traffic laws are special anyways, since driving is a "privilege" by law; walking down the street has many more protections. This isn't Frace, after all, where you can be stopped walking on the street and required to show your ID to a cop.
I had a discussion about this exact issue last Friday with a local officer who works part-time at our company doing security (they let you do that in Texas). I was telling him about new face-recognition technology and its applications for law enforcement. He was rather skeptical for two reasons. The first is the constitutionality issue; in spite of what you kids learned from 2600, most officers of the peace are actually educated in the constitutionality of what they do and are exepected to abide by it (there are exceptions of course, as with anything). The second is a practicality issue; the most dangerous part of a cop's job is traffic stops, and they don't know what's going to happen or who they'll run into, and face-recognition is bound to be useless unless everyone has to get out of the car and be scanned on every traffic stop. In addition, many of the criminals you really want to catch, the dangerous ones, change their appearence through simple things like facial hair and up to plastic surgery. The faceprint won't work on that.
So the conclusion is that, while the fourth amendment varies in interpretation, generally this kind of auto-video recognition technology for the police won't stand up to a constitutionality challenge. Even if it did, it's not practical against hardened criminals.
As a final note: Remember that movie Point Blank? The surfers discuised as Presidents robbing banks? They wore masks. Duh.