Ummm...last I checked just about all the Lisp family--and all the popular members thereof--are strongly typed.
As you point out, you only find out once that code gets executed.
What a lot of folks like are statically typed languages: a variable can only point to a value of a particular type. This does prevent a certain class of runtime errors, but it also leads to longer development times and less elegant code. It's a tradeoff.
Lisp is "elegant"? It has all the elegence of porridge with toenail clippings. The large Lisp projects I've looked at is a sea of brackets with cryptic, unintuitive names. "Longer development times"? I've heard this claim from LISP fanatics for years, but their proof boils down to "It takes me longer to do it in C". Just because you're not productive in another language isn't out fault. And I've yet to see anyone provide an objective comparison of productivity in LISP vs. other languages.
I didn't have time to read the whole Pike manual, but from what I can tell, it's C++'s run-time type system implemented in a scripting language setting. But the thing I notice was that you can (and usually do) declare types, even if it's just the most general type that is accepted.
I remember in Comparative Programming Languages playing with an ML variant called Miranda. All the joys of LISP's data structure manipulation but the power of types. In fact, I remember Miranda could do some seriously cool stuff with the type signatures for functions to implement polymorphism more akin to Prolog than a functional language.
Declaring types is good. Making promises between modules and objects is good. LISP and SmallTalk don't believe in this. They say "the programmer can do all that discipline themselves". Yeah, and they can also do their own memory management too.
I sometimes think the advancement of the LISP concepts has been held back by the zealot LISP purists. "You must use brackets, Infidel!! ALALALALALALALA!!!"
SmallTalk and Lisp have always had this ability already, I think it's time te rest of the programmers get with it, and start using Language Oriented Programming.
I used to think like you do, but now I'm better. Work in a palimpset environment on a project that had 20 different coders on it, and you'll sing a different tune. The only examples of successful Smalltalk/Lisp projects I could find were 1-2 people working on the entire project for its entire lifetime. Um, that's not where the rest of us live.
Only to bad for the programmers who can not get their heads around this higher level of abstraction: they loose out and need to find another job.
Let's see... For those of us working in commercial development, how many of us are using Smalltalk and Lisp for new projects? Don't see many hands there..Net, Java, PHP and Perl? Oooh, a lot of hands. I call "bollocks" on your claim.
Hahahaha... Someone marked that as "Insightful" when they meant funny. (Take a large shot of whisky) I've worked with large Smalltalk and Lisp applications. *shudder*
The more languages I've used & the more complex systems I've worked on, the more I've come to love strong typing, modularity and interface guarantees.
The *concepts* in Smalltalk and Lisp are neat, but without typing, it just all becomes chaos especially when you start working with other people and in palimpset environments.
I think for Lisp, the idea of easy manipulated list structures are good, but blessing them with type information (like the ML family of languages does) makes them even more powerful.
Smalltalk's "everything's an object or method" has some powerful features. But when you read comments in the class browser like "takes a thing", but then find out during testing that it only takes certain kinds of things, it drives me maaad.
So the next person to say Lisp or Smalltalk are great for large, complex projects with multiple programmers will shot by me.
I like the one point the author brought up: most used buttons should be bigger and easier to find. Good point! "It should be the back button" BAD point!
I think everyone is different in how they use their applications. E.g., I prefer alt-right to go back or use the drop down list (it's position matters not to me) if I use the button at all. So what might be most common for one user isn't for the other. And having your most used button ("Stop" in my case) smaller than the buttons you don't use is really, really annoying!
SOLUTION:
Most used buttons become automagically bigger. So as an application learns how a user works, it will optimize the user interface for them. Most use buttons get shifted to the left (or right) and made larger. Toolbox panels that percolate up most used features to the top so the top half is the most used features in a larger hit box, and the bottom half is the "usual" layout.
1. Try the obvious. Since this is SLASHDOT and most of its users are USENET geeks, try the famous ROT13. Works. But that's boring.
2. Guess the message. Hmm, it was modded funny, and it's a first post. This is Slashdot, so maybe it's first post? Right number of letters. Since 'st' are common last letter, check the last 2 letters of the words: bingo!
3. Start with the obvious. A cesar cypher seems likely considering all the clues point to it. You'll quickly notice the a=n pattern which brings us back to ROT13.
I'm just an untalented dillitante. I was hoping the more experienced cyperpunks would have posted something educational by now.;-)
I knew there was a reason I got out of the game industry and into one that paid OT.
The industry exploits the youth, enthusiasm and naivity of their young suckers^H^H^H^H^H^H^H workers. Of course, the brain dead market for games also helps encourage this.
Who wants an interesting and innovative game that doesn't require insane hours to produce? Several tens of thousands.
Who wants the latest FPS so you can live out your socipathic tendencies!? SEVERAL MILLION!!
That kind of money is just too hard to say no too ("They drove a big dump truck of money up to my door!" -- Krusty D. Klown). And of course the market clamors for the game >>NOW!!<< which makes the Crunch worse.
Of course, there's the "productivity" factor. When you factor it all in, it's cheaper to make your workforce give insane hours than to do things right. Sure they make more mistakes, but the time to fix it is cheap for the company. Sure they get ill, but because their sick days is part of their vacation time, it doesn't cost you anything. Long term health costs? Luckily, they'll quit before it becomes an issue for the company. It will be someone else's problem by then.
Actually, having worked in the film distribution industry I'd have to debate these figures.
How long ago? Because it changed around the time Godzilla (Emerich & Devlin's version) was released. Sony managed to extort an 80% first week (then a record). Although I'm not following every release, I've heard the big releases are charging in that range too. And I also heard the rumor of 100% first week take for Fox & Lucas, but I can't find confirmation anywhere. Thus my comment.
The days of making a honest buck just from ticket sales is dwindling.
It's not the same amount of money. In the 1st week of business, 80%-100% of your ticket price goes to LucasFilm and Fox. The next week, it drops to 50%-80%, and then a sliding scale after that. In fact, that 1st week is so important that many studios judge the movie's success ONLY by the 1st week (because DVD & rental income is 1-2 years away thanks to Lucas and the "debt" is accumulating interest). So if the majority of fans stay away the 1st week would:
a) Deprive George & Fox of box-office money b) Send shock waves through the industry c) Put pressure on George to change the way he makes the films in the future (you heard the rumors of the final triolgy)
The Great Salt Lake is too saline for sharks. However, as a resident of Salt Lake City, I can assure you that those brine shrimp are plotting to take over the world. This is just the first test in their program to disable civilian and military aircraft with lasers, thereby establishing an empire centered on the GSL.
On the other hand, it gives financial incentive to do the inventing in the first place. (I know other incentives exist, but unless there's financial, most people can't afford to invent full time.)
Only if you can guarantee of enforcement. The cost of enforcing your patent is still mind bogglingly expensive. It always was (E.g., James Watt & his improvement of the steam engine). Also, getting an enforceable patent these days is also expensive usually requiring the services of a patent lawyer. Even if the small inventor has a patent, it doesn't really guarantee that the company won't take their invention to a known patent violating country (like China) and make money off it anyway. The only law that seems to really protect the inventor these days is contract law with non-disclosure clauses and payment.
In short, inventors get better incentive & protection with contract law rather than patents. And heaven help him if he accidentally violated a company's patent with his own. Then the violated company can usually negotiate to get free use of the inventor's patent anyway.
Additionally, the design of anything that's patented must be fully disclosed and on the public record, meaning that there is no secrecy involved on the part of the inventor, allowing others to improve the design, even while the patent is still valid, and license the improvement to the original inventor, license the rights to sell the original invention with the improvement,
Listen, why don't you go and try to set up a company to improve on the P4 design and sell your own P4 clone and see how Intel reacts. When you get your ass served to you on a plate, feel free to come back here to get it re-attached for you.:-)
or to wait for the expiration of the first patent and then sell their improvement.
Ahem. Please check the expiration period of U.S. patents and tell me that's a reasonable thing, especially for computer technology:-)
Antiwar.com is by far and away the best one I've ever read. Written & run by a bunch of Libertarians, these guys have an excellent front page link to major stories of the day related to the Iraq war and other issues. They also provide links to commentary from both Liberals and Conservatives opposing the war (Pat Buchanan is opposed to Dubya & crew!?)
Brits need to wake up, it's 2004 now. We have this new technology called 'mpeg' that allows EVERYBODY to view it. Not just those who want to fork out cash or are willing to be spied upon.
Ooh, where to begin? First off, in 2004, Real is still the most popular streaming standard on the planet. Get over it. The only other alternative that companies trust is Windows Media Player which is even scarier. Secondly, this is a _radio_ show and they also don't want people pirating this. Making an MP3 available for streaming w/o being able to download it is practically impossible. There are other open-source codecs for streaming, though.
Now having said that, you might have noticed that the BBC is in the middle of working on a new codec that doesn't have a bunch of encumbrances on it. It's not ready yet, and the BBC did become an early adopter of Real.
Yes, Real* is a bad company and a bad program, but it's not the horned demon you make it out to be.
I would build a "device driver" that did
nothing more than manage the clipping lists and hand out graphic
device ports. This might actually be best done at user level, rather
than a device driver, using shared memory and semaphores.
I wouldn't use signals for anything. Everything would go through
a unified message queue (along with mouse and keyboard events).
*sniff* That brings back memories. Sadly, my Amiga RKMs now support my monitor, but oh... this is so familiar.:-)
For the rest: the Amiga had a graphics library layer that talked directly to the hardware. On top of that was built the "Layers" library which does what Gosling is talking about. It just handled clipping lists and "stacking" without any other details. On top of this layer was built the GUI.
Also, the Amiga used a single message port to communicate with the application. You could have more msg ports, but rarely needed it. You waited politely for a message, fetched it, then acted upon it as you will. All your GUI events queued up nicely in the message port.
And I don't mean Linux or *BSD. There are high-reliability OSs out there, and for life critical systems, why can't these vendors use a grown up OS like QNX or WindRiver's VxWorks.
I don't understand this obsession with using Windows in embedded situations! Especially critical systems. Why?? There are other OS's designed for safety, reliability and embedding. Why are these medical equipment companies ignoring these better alternatives?
If I could own the phone and switch providers, I'd be more inclined to buy a fancy phone at a higher price. But since a phone usually only works for the company that issued it, why would I care about who made the phone?
The Personal Tax Freedom Day calculator, like Tax Freedom Day, includes all taxes from all levels of government that Canadians pay. This includes: income & sales taxes; liquor, tobacco, amusement & other excise taxes; automobile, fuel, & motor vehicle licence taxes;
CPP/QPP and EI contributions, medical & hospital taxes; property taxes; import duties; profit taxes; and natural resource levies.
In short, they're throwing in things that none of us consider to be taxes on income. They're saying "we" pay for corporate taxes and mining and petro royalties.
If we did this to the U.S., it would work out the same because the U.S. also has price controls on tabacco, sugar, corn and a host of other foods. Not to mention the county and state taxes on the phone bill, etc. Don't buy the propoganda.
The Fraser Institute is a right-wing think tank, basically a charity paid by Big Corporations to discredit our social programs and anything the government does. Their yearly "School Performance" reviews compares elite private schools on the same scales as the public schools in the poorest neighbourhoods then says "Proof that the private sector does it better". If the Fraser Institute says its raining heavily, I'll check for myself, and find it's at best a light drizzle.
BTW, the 35% = Provincial + Federal + EI + CPP + etc.
After tax income = 65% Provincial = 6.5% GST = 7% Total = 13.5%
After some calculation, my total income goes like this:
Taxes + Deductions = 35% of my total income PST+GST = 8% of my total income Actual Purchasing Power = 57% of my total income
And that's OVERSTATING it because I'm assuming I pay on PST on everything, which I don't. It's closer to 5% for PST+GST and and I'm back up to 60% APP.
But then again, in the US you also have State & County taxes, so what's the diff again?
Nope, nope. We're all full up here in Canada. Yes, please go away.
You won't like it here. It's cold, yeah.... It's 25 C here in Vancouver. Brrrr.
Yes, that's right. Our healthcare system sucks. That's right. Please go away. *cough*, *cough*. Just ignore the international reports saying we has slightly better life expectancies.
My wife has family all over Canada, and I can tell you that from their experiences, the healthcare system isn't all that great. While everyone has coverage, it can be pretty tough to get in to see a doctor. Things take longer because their system is swamped. And I remember something about how the banking industry isn't that good up there, so you don't get decent interest rates. Or something like that, I can't remember. I just meant to say that it is no "wonderland", they do have their own issues.
That's funny. My friend works in the States and bitches to me every other week about how he misses Canada's healthcare system. No, I'm not joking. He says taxes + health insurance takes a far bigger chunk out of his paycheck than in Canada. And then he gets slightly worse than Canadian access. Takes a couple day to see a doctor, beg to see a specialist or get a necessary test and then get on a waiting list for that. And he pays for the privelege. Our system has problems, but don't think yours is all that much better. In fact, you should be fighting to get your money's worth because at least you can say you want to get what your paying for.;-)
Banking system. (Watches an old TV Nation episode) Looks like it's the same friggin' problem. But then again, considering we have credit unions and savings & loans as alternatives (and they are federally insured and generally well run), it's not a big issue either. Also, foreign banks are opening up. E.g., we have Citibank testing the waters and ING (which offers really good interest rates).
Oh, and I can use my bank card anywhere in Canada and never pay more than $3 CDN in service fees. And usually, I can do a LOT better than that if I just walk a block or two.:-)
As you point out, you only find out once that code gets executed.
Lisp is "elegant"? It has all the elegence of porridge with toenail clippings. The large Lisp projects I've looked at is a sea of brackets with cryptic, unintuitive names. "Longer development times"? I've heard this claim from LISP fanatics for years, but their proof boils down to "It takes me longer to do it in C". Just because you're not productive in another language isn't out fault. And I've yet to see anyone provide an objective comparison of productivity in LISP vs. other languages.
I didn't have time to read the whole Pike manual, but from what I can tell, it's C++'s run-time type system implemented in a scripting language setting. But the thing I notice was that you can (and usually do) declare types, even if it's just the most general type that is accepted.
I remember in Comparative Programming Languages playing with an ML variant called Miranda. All the joys of LISP's data structure manipulation but the power of types. In fact, I remember Miranda could do some seriously cool stuff with the type signatures for functions to implement polymorphism more akin to Prolog than a functional language.
Declaring types is good. Making promises between modules and objects is good. LISP and SmallTalk don't believe in this. They say "the programmer can do all that discipline themselves". Yeah, and they can also do their own memory management too.
I sometimes think the advancement of the LISP concepts has been held back by the zealot LISP purists. "You must use brackets, Infidel!! ALALALALALALALA!!!"
I used to think like you do, but now I'm better. Work in a palimpset environment on a project that had 20 different coders on it, and you'll sing a different tune. The only examples of successful Smalltalk/Lisp projects I could find were 1-2 people working on the entire project for its entire lifetime. Um, that's not where the rest of us live.
Let's see... For those of us working in commercial development, how many of us are using Smalltalk and Lisp for new projects? Don't see many hands there. .Net, Java, PHP and Perl? Oooh, a lot of hands. I call "bollocks" on your claim.
Hahahaha... Someone marked that as "Insightful" when they meant funny. (Take a large shot of whisky) I've worked with large Smalltalk and Lisp applications. *shudder*
The more languages I've used & the more complex systems I've worked on, the more I've come to love strong typing, modularity and interface guarantees.
The *concepts* in Smalltalk and Lisp are neat, but without typing, it just all becomes chaos especially when you start working with other people and in palimpset environments.
I think for Lisp, the idea of easy manipulated list structures are good, but blessing them with type information (like the ML family of languages does) makes them even more powerful.
Smalltalk's "everything's an object or method" has some powerful features. But when you read comments in the class browser like "takes a thing", but then find out during testing that it only takes certain kinds of things, it drives me maaad.
So the next person to say Lisp or Smalltalk are great for large, complex projects with multiple programmers will shot by me.
I like the one point the author brought up: most used buttons should be bigger and easier to find. Good point! "It should be the back button" BAD point!
I think everyone is different in how they use their applications. E.g., I prefer alt-right to go back or use the drop down list (it's position matters not to me) if I use the button at all. So what might be most common for one user isn't for the other. And having your most used button ("Stop" in my case) smaller than the buttons you don't use is really, really annoying!
SOLUTION:
Most used buttons become automagically bigger. So as an application learns how a user works, it will optimize the user interface for them. Most use buttons get shifted to the left (or right) and made larger. Toolbox panels that percolate up most used features to the top so the top half is the most used features in a larger hit box, and the bottom half is the "usual" layout.
Cracking this:
;-)
1. Try the obvious. Since this is SLASHDOT and most of its users are USENET geeks, try the famous ROT13. Works. But that's boring.
2. Guess the message. Hmm, it was modded funny, and it's a first post. This is Slashdot, so maybe it's first post? Right number of letters. Since 'st' are common last letter, check the last 2 letters of the words: bingo!
3. Start with the obvious. A cesar cypher seems likely considering all the clues point to it. You'll quickly notice the a=n pattern which brings us back to ROT13.
I'm just an untalented dillitante. I was hoping the more experienced cyperpunks would have posted something educational by now.
I knew there was a reason I got out of the game industry and into one that paid OT.
The industry exploits the youth, enthusiasm and naivity of their young suckers^H^H^H^H^H^H^H workers. Of course, the brain dead market for games also helps encourage this.
Who wants an interesting and innovative game that doesn't require insane hours to produce?
Several tens of thousands.
Who wants the latest FPS so you can live out your socipathic tendencies!?
SEVERAL MILLION!!
That kind of money is just too hard to say no too ("They drove a big dump truck of money up to my door!" -- Krusty D. Klown). And of course the market clamors for the game >>NOW!!<< which makes the Crunch worse.
Of course, there's the "productivity" factor. When you factor it all in, it's cheaper to make your workforce give insane hours than to do things right. Sure they make more mistakes, but the time to fix it is cheap for the company. Sure they get ill, but because their sick days is part of their vacation time, it doesn't cost you anything. Long term health costs? Luckily, they'll quit before it becomes an issue for the company. It will be someone else's problem by then.
How long ago? Because it changed around the time Godzilla (Emerich & Devlin's version) was released. Sony managed to extort an 80% first week (then a record). Although I'm not following every release, I've heard the big releases are charging in that range too. And I also heard the rumor of 100% first week take for Fox & Lucas, but I can't find confirmation anywhere. Thus my comment.
The days of making a honest buck just from ticket sales is dwindling.
It's not the same amount of money. In the 1st week of business, 80%-100% of your ticket price goes to LucasFilm and Fox. The next week, it drops to 50%-80%, and then a sliding scale after that. In fact, that 1st week is so important that many studios judge the movie's success ONLY by the 1st week (because DVD & rental income is 1-2 years away thanks to Lucas and the "debt" is accumulating interest). So if the majority of fans stay away the 1st week would:
a) Deprive George & Fox of box-office money
b) Send shock waves through the industry
c) Put pressure on George to change the way he makes the films in the future (you heard the rumors of the final triolgy)
I'd say stay away for 2 weeks.
It seems more like Character-centered cameras ala Tomb Raider. But looking at the patent, it looks like they patented linear transformations.
Novell... was... evil... but now... good..? But Novell's... always been...
GAAAAH! BRAIN HURTS!
>> KABOOM! <<
You mean they're Mormons?
Only if you can guarantee of enforcement. The cost of enforcing your patent is still mind bogglingly expensive. It always was (E.g., James Watt & his improvement of the steam engine). Also, getting an enforceable patent these days is also expensive usually requiring the services of a patent lawyer. Even if the small inventor has a patent, it doesn't really guarantee that the company won't take their invention to a known patent violating country (like China) and make money off it anyway. The only law that seems to really protect the inventor these days is contract law with non-disclosure clauses and payment.
In short, inventors get better incentive & protection with contract law rather than patents. And heaven help him if he accidentally violated a company's patent with his own. Then the violated company can usually negotiate to get free use of the inventor's patent anyway.
Listen, why don't you go and try to set up a company to improve on the P4 design and sell your own P4 clone and see how Intel reacts. When you get your ass served to you on a plate, feel free to come back here to get it re-attached for you. :-)
Ahem. Please check the expiration period of U.S. patents and tell me that's a reasonable thing, especially for computer technology :-)
Antiwar.com is by far and away the best one I've ever read. Written & run by a bunch of Libertarians, these guys have an excellent front page link to major stories of the day related to the Iraq war and other issues. They also provide links to commentary from both Liberals and Conservatives opposing the war (Pat Buchanan is opposed to Dubya & crew!?)
They're not as bad as they used to be.
Ooh, where to begin? First off, in 2004, Real is still the most popular streaming standard on the planet. Get over it. The only other alternative that companies trust is Windows Media Player which is even scarier. Secondly, this is a _radio_ show and they also don't want people pirating this. Making an MP3 available for streaming w/o being able to download it is practically impossible. There are other open-source codecs for streaming, though.
Now having said that, you might have noticed that the BBC is in the middle of working on a new codec that doesn't have a bunch of encumbrances on it. It's not ready yet, and the BBC did become an early adopter of Real.
Yes, Real* is a bad company and a bad program, but it's not the horned demon you make it out to be.
For my fellow Amigaites out there:
*sniff* That brings back memories. Sadly, my Amiga RKMs now support my monitor, but oh... this is so familiar. :-)
For the rest: the Amiga had a graphics library layer that talked directly to the hardware. On top of that was built the "Layers" library which does what Gosling is talking about. It just handled clipping lists and "stacking" without any other details. On top of this layer was built the GUI.
Also, the Amiga used a single message port to communicate with the application. You could have more msg ports, but rarely needed it. You waited politely for a message, fetched it, then acted upon it as you will. All your GUI events queued up nicely in the message port.
And I don't mean Linux or *BSD. There are high-reliability OSs out there, and for life critical systems, why can't these vendors use a grown up OS like QNX or WindRiver's VxWorks.
I don't understand this obsession with using Windows in embedded situations! Especially critical systems. Why?? There are other OS's designed for safety, reliability and embedding. Why are these medical equipment companies ignoring these better alternatives?
If I could own the phone and switch providers, I'd be more inclined to buy a fancy phone at a higher price. But since a phone usually only works for the company that issued it, why would I care about who made the phone?
From the site's FAQ:
In short, they're throwing in things that none of us consider to be taxes on income. They're saying "we" pay for corporate taxes and mining and petro royalties.
If we did this to the U.S., it would work out the same because the U.S. also has price controls on tabacco, sugar, corn and a host of other foods. Not to mention the county and state taxes on the phone bill, etc. Don't buy the propoganda.
The Fraser Institute is a right-wing think tank, basically a charity paid by Big Corporations to discredit our social programs and anything the government does. Their yearly "School Performance" reviews compares elite private schools on the same scales as the public schools in the poorest neighbourhoods then says "Proof that the private sector does it better". If the Fraser Institute says its raining heavily, I'll check for myself, and find it's at best a light drizzle.
*sigh* Basic math's not your strong suit, is it?
BTW, the 35% = Provincial + Federal + EI + CPP + etc.
After tax income = 65%
Provincial = 6.5%
GST = 7%
Total = 13.5%
After some calculation, my total income goes like this:
Taxes + Deductions = 35% of my total income
PST+GST = 8% of my total income
Actual Purchasing Power = 57% of my total income
And that's OVERSTATING it because I'm assuming I pay on PST on everything, which I don't. It's closer to 5% for PST+GST and and I'm back up to 60% APP.
But then again, in the US you also have State & County taxes, so what's the diff again?
Where does this 50% figure come from? The most I pay in combined Provincial & Federal taxes is about 35%.
Nope, nope. We're all full up here in Canada. Yes, please go away.
You won't like it here. It's cold, yeah.... It's 25 C here in Vancouver. Brrrr.
Yes, that's right. Our healthcare system sucks. That's right. Please go away. *cough*, *cough*. Just ignore the international reports saying we has slightly better life expectancies.
Try Mexico or, maybe, India...?
That's funny. My friend works in the States and bitches to me every other week about how he misses Canada's healthcare system. No, I'm not joking. He says taxes + health insurance takes a far bigger chunk out of his paycheck than in Canada. And then he gets slightly worse than Canadian access. Takes a couple day to see a doctor, beg to see a specialist or get a necessary test and then get on a waiting list for that. And he pays for the privelege. Our system has problems, but don't think yours is all that much better. In fact, you should be fighting to get your money's worth because at least you can say you want to get what your paying for. ;-)
Banking system. (Watches an old TV Nation episode) Looks like it's the same friggin' problem. But then again, considering we have credit unions and savings & loans as alternatives (and they are federally insured and generally well run), it's not a big issue either. Also, foreign banks are opening up. E.g., we have Citibank testing the waters and ING (which offers really good interest rates).
Oh, and I can use my bank card anywhere in Canada and never pay more than $3 CDN in service fees. And usually, I can do a LOT better than that if I just walk a block or two. :-)
Im my opinion, boredom is not sufficient reason for throwing out something that works, and more importantly, lets people get their work done!