Clear designs result in good implementations. Object-oriented syntax is the vocabulary in which design is expressed. Clarity of expression is key to making solid systems that are self-documenting, robust, and interchangeable. Modular software design maximizes the value of its all its constituent parts.
C++ and Apple's Objective-C 2 each provide access to a strong set of data models - like arrays and dictionaries - in the form of STL and CoreFoundation. The best runtime libraries let you start working without needing to reinvent data storage. Garbage collection reduces typing.
The best APIs and libraries use consistent and clear semantics in their naming conventions, which allow the casual reader of the code to get a good idea of the system, algorithm, or process expressed.
Languages with flexible semantics can help you express systems at higher levels, and the growing set of code design tools is making it easier to visualize inheritance and container relationships before generating any of the interface code.
The best code doesn't have to be the fastest, it only has to be fast enough. Sometimes that does mean, as optimized as possible. In code-world, less code equals more speed. The more instructions you run through, the more complex the branching, and the more scattered the memory access, the longer the processor will take to crunch through your tasks. The best code minimizes these hits through intelligent data organization, indexing, feeding the compiler what it likes to optimize, and using threads smartly to take advantage of multiple cores.
If optimizations lead to obfuscations, kind programmers unroll it in a comment. A good idea for their own future reference.
Code at even the highest levels may not in any way express what you end up with in the output. The code to generate the Mandelbrot fractal has no turtles or curlicues in it. When you look at the algorithm carefully, though, you see that it expresses ideas not only about fractals and the endless complexity that even a simple iterative process can produce, but the language itself embodies connected ideas about the limited nature of the FPU and the square cartesian grid... which itself speaks to the way humans take in data.
Good code therefore recognizes both the low level, concrete resources it maps onto, and respects the clarity of all that it models, all the way from the naming conventions it applies for an auto variable, up to the balletic organization of the master controller's minions.
The end result of really good code is that someone can sit down at a BASH terminal and express in 6 lines of generic shell-speak a powerful transformation of input to output, which provides insight through and into the system it embodies.
Graphical interfaces and such should embody ideas differently than the internal models. Database designers often make bad interface designers because they expect end users to think in their own inverted fashion about child-parent relationships. Freudian as that sounds, it means end-users should relate to the data at the overview level, so that casual scanning and targeting can be applied to interact and modify what is there.
The best code expresses the interface (e.g., in the "View" corral of an MVC program) in its own internally-consistent manner, relating interactivity to controller messages. Controllers act as mediators between Views and Models.
Things I shouldn't say... Good code uses Doxygen or something like it to document at the model and interface level. Good code avoids putting inlines in headers, and good compilers will inline when optimizing for speed. Good code keeps interface and implementation separated. Good code is code you can return to in a year and still comprehend quickly.
The best code teaches you something you didn't know about the world, reveals subtle patterns in systems, unfolds its own unique sphere of creation, immerses and engages human minds, and has a loose, organic quality that is sensed rather than known.
Did I forget to mention encapsulation? Good code encapsulates what it should, how it should. It streamlines clear thinking.
It's such a sexist label, and I never use it in reference to women because - if you ask me - it's the kind of thing insecure men say when a woman asserts herself in a way that would be perfectly excusable for a man.
Instead, I prefer to say "what a fucking asshole" or "what a fucking jerk" which are more equal-opportunity and apply equally well to men and women. I know it's weird to say, "Mary is such an asshole," but give it a try and you may find you enjoy the refreshing change.
However, when I run into a particularly impenetrable bug in my code, I am wont to say "this bug is a cunt," but I don't think it's especially demeaning, as it is both funny and British-sounding.
We always will be as long as Apple doesn't provide a built-in way to stop dropping dot-file turds all over shared resources. ...or until Microsoft figures out a way to hide dot-files in Windows Explorer.
...maybe these congressmen are lying through their teeth, and when the FBI comes forward they won't exactly back up the accounts. Wouldn't surprise me at all.
From TFA:
"If members are going to access websites in China, you are engaging in risky behavior," said Rep. Zoe Lofgren (D-San Jose). "You are going to get malware, and you are going to lose your data." Malware is software designed to infiltrate or damage a computer system without the owner's consent. Oh come on now! Why aren't they running an operating system that's invulnerable to most malware, like BSD, Mac OS X, or Linux? If they really need to use Windows applications they can run them in a sandboxed VM or under WINE on any of those platforms.
I think it's time they got some security standards for all government computers so hackers, wherever they may be, will have to work a lot harder. Not to mention, there should be a firewall with a white-list, where every person doing government business must register for access... a VPN setup can work well for this kind of thing.
Don't forget, though, that we have the power of life and death over them too. We know we can't annihilate one another, and I don't think either side really wants to. There is a fine sense of respectful autonomy - or detente - going on there. Unless you think, perhaps China is planning to nuclear bomb every country in the world and deploy their entire population worldwide as a police force to assume dominance... I don't think any other aggressive option would be tenable for them.
I mean, China may not like "us" - and frankly, I think that's a fat fiction - but that's just too bad. They seem to be fine with playing by the rules, and the rules are loose when it comes to espionage. Hackers in China are like hackers anywhere, and our job is to improve our security. That's where our best efforts are spent.
Of course, the government and media like to spread the story, to let everyone know it's time to be scared of the yellow menace once again. Oooh, look, I'm shaking! China sends troops to beat up monks and rape nuns in Tibet, it locks up students and scientists! Look how mean and tough they are, attacking such enemies so bravely!
But enough of my ridiculing big bad China....
If we continue to act as if China en masse threatens us, we miss the more fine-grained picture of the world that exists among and between common people everywhere.
In the common person's view, I personally don't see any country as being our enemy - at least certainly not an enemy of mine. In every country in the world I can find people with whom I share an affinity, whether it's things we like to do during our time off or a mutual wish for universal peace. Large interests bang into each other and get all adversarial, and sometimes ideologies catch hold and inspire alienation from the rest of the world. These are all just diseases that plague us in modes of fear and dominance.
If more people acted on their best impulses and the facts of the common interests of common people throughout the world were to become widely recognized, pitting groups against each other would be much harder to do, and it might do something to prevent the excesses of the elite.
I say, in the meantime, let us continue to spread the meme: Common people of the world, unite!
On a lot of the latest Macs - laptops in particular - the video ram is part the main memory pool, so video-intensive games have to take that into account. On Macs with better video cards, I'll wager it plays reasonably on a 768MB system.
Everybody takes Darwin ok, and we look at that "US controversy" as something funny and hard to understand. And we in America find it annoying and frankly, tragic. Our corporate media love to keep the "debate" alive and give ID the appearance of a respectable position, so they can use it as meat to throw out to our tabloid culture and get us riled up. Perhaps because they know that when we're annoyed we'll eat up whatever pleasant flatteries they throw us between program segments.
Thing is, we have a lot - and I mean millions - of really stupid, gullible, deceived people who couldn't think their way out of a wet paper bag. We don't teach people to be pragmatic, skeptical, and creative in our schools, because the forces that be prefer us to be stupid. Educational reform is unheard of here, and when it is proposed it's usually in the form of "standards" and not examining the problems of holistically educating young human minds. The way we are indoctrinated in this country is insidious, and with every passing generation it gets worse.
So, while you're finding this "controversy" funny and hard to understand, we're seeing it as another smoldering hole in the American soul.
I'm certain I speak for all non-biblical-literalist-creationist Americans with what I state here.
He's certainly not guiding every single atom at every time. He created perfectly good laws of nature to do that for Him. There are some (I would argue, Jesus Christ included) who would say that "god" is immanent in all phenomena (while simultaneously transcendent). I would argue that within the metaphorical language used by Jesus to speak to the sensibilities of monotheistic Israel all subtly point to this immanence.
Our "particular" scientific way of measuring the universe perceives grainy particles in its measurements, but all phenomena - including our immediate experience of consciousness - are holistic and spatially and temporally distributed. That is, we typically need both distance and time to perceive deeper meaning. Likewise, our kind of experience relies on a composite, evolved physical form.
"The Varieties of Religious Experience" by William James presents a beautiful psychological view of the qualities of religious experience, and in the end reveals it to be a quality of self-transcendence often brought on by existential crisis. And it points to self-surrender to a "higher power" - a non-self - as an operative mode of self-transcendence. This phenomenon corresponds to the kensho (awakening) of Zen Buddhism and the "being born again" of Christianity.
Examining the universe as it is - and especially observing our own minds - leads to amazing insights about the nature of the self and its connection to the universe, which in our awakened state is experienced as ultimately beautiful and divine. The mantra prescribed by Jesus - the "lord's prayer" as it is called - is one mechanism for apprehending the divine, and of surrendering one's limited self (ego) to the higher being (the self that precedes ego). As Jesus says, "I and the father are one."
It surprises me to no end that more people don't really see the total unity underlying all the religions that mandate prayer and meditation, or see how the psychological effects are so striking that oblique metaphor is the only avenue available to point them out. If more Christians studies comparative religion they would discover a whole world of advanced methods that Jesus could only hint at, in order to discover for themselves that indeed, the kingdom of heaven is at hand. Even among devout Christians, there is a lot of frustration with the Sunday mass, which fails to enlighten them to the wealth of spiritual knowledge that lies beyond the relatively impoverished teachings of Jesus and the too-subtle old testament.
None of this stuff requires us to be kooky mystics. Learning to apprehend the divine in every present moment has serious pragmatic consequences, not least of which is the development of empathy and compassion. But perhaps even among Christians, there is so much attachment to the intellectual way of believing - in ideas - that genuine fear arises if you suggest we are all taking part in a single, eternal phenomenon, and that all you have to do is put aside all you think for a little while. I would guess we're too attached to being separate and special - which of course we are - and don't really want to see both sides of the coin if it means losing a little of that.
We humans have evolved as very much fear-driven social animals, so it takes courage to look beyond the conventional beliefs of our social and religious groups and strike out completely on our own. Most people - including myself - run to the familiar material comforts when we feel empty, rather than truly allowing ourselves to become "emptied so that we may be filled again."
Hey, it is a pretty scary thing to be non-self, as anyone who's ever tried Salvia divinorum can attest to. But in coming back to yourself it is striking just how conventional it all seems.
Oh man, pardon me for ranting on, but this is one of those subjects I'm very passionate about. Honestly, every serious Christian should run, not walk, to the nearest yoga or meditation center and start getting hip to what Jesus was talking about, just what this universe is made of, and just who we each are. Then we can stop imagining that there is some kind of infinite distance between God and the Creation. The eternal and divine is right here, right now, and it always will be.
...because the answer is so simple.
Then how did the idea of God come to exist in the first place? I call it the Ultimate Noun Effect. Pick anything you like, a person, place, or thing. Let's say we pick a human being, for example. We know there are slow ones and fast ones, little ones and big ones, dumb ones and smart ones, pretty ones and ugly ones. And we can imagine a spectrum of all these qualities. And if we use our imagination we can posit an Ultimate being, who has the best of all possible qualities. From there it's not hard to imagine the ultimate, ultimate being who created all us crude, lower beings.
Ultimate place: Heaven.
Ultimate thing: I dunno, Thor's hammer maybe? The space missiles of the Upanishads?
I have nothing for the former, but as to the latter, it's pretty well established that Jesus was a real, historical figure. Except, the Wikipedia article you cite admits there is still some debate about that. Not that it really matters a whole lot, because it's the teachings that have value for their actual effects, and whether or not you believe in the actual historicity of Jesus has really no bearing on that.
Bush has his flaws, but no one has shown me any actual, verifiable, concrete evidence that he's lied to us.
Let's see... He's knowingly lied about mobile chemical labs (via Colin Powell), aluminum tubes, Nigerian yellow-cake, an Iraqi nuclear missile could reach us in under 45 minutes, secret diversion of $150M in public funds allocated to Afghanistan to the then-as-yet-unapproved invasion of Iraq, the equal disbursement of faith-based-initiative funds (all of which went to Christians), funding No Child's Behind Left... that's just a few off the top of my head.
For goodness sake, Bush has said whatever lies his handlers have told him to say, with goofy relish. The best you can say about him is he's no mastermind, but he sure likes playing the game.
Dennis is cool, and so is his lovely and outspoken British wife. (In fact, I think I'll have to get myself one of those as soon as possible!) What's more, we're going to have him on Vegan Radio really soon, so tune in sheeple!
Personally, I am concerned about the survival of as many life forms as possible, all of whom are being affected by Homo sapiens stomping blindly, willy-nilly all over the place, many spouting selfish bullshit like yours, eating up the world and being smug and self-satisfied with their designer beer. Whatever "favors" we may be doing by releasing carbon into the atmosphere are more than mediated by the fact that we are as a collective quite an ugly phenomenon vis a vis the rest of the biosphere.
Think of everything that life has learned up to now. It's all in the DNA. The DNA is everything life has learned about surviving and prospering and experiencing itself and the universe around. Evolved over billions of years, invaluable, irreplaceable information that interacts to sustain life. We are erasing that information, burning it up. We're not making a backup, and it sounds like you're saying it doesn't matter, it'll all work out in the end so it doesn't matter what we do. That's utter crap, because it does matter. It matters because what we do defines us, and as I look around, it seems that what we humans consider valuable runs quite counter to that which upholds the biosphere that sustains all life.
To me it seems like nothing less than a deep imperative to be concerned about all life and to treat all species as our beloved friends. At any rate, we should not dismiss every other species with banal cartoon characterizations like "fuzzy animals." Sure, you'll find plenty of people who'll pat you on your clever head for that one, but the biosphere is giving you the finger, pal. Life happens to be full, profound, and challenging for all living beings, whether you consider them cute, fuzzy, and ridiculous or not. To dismiss the deep experience of every other species, while exalting our own relatively banal imitation of life is hilarious to behold.
You should endeavor to give the deepest possible respect to all living beings. It may lead you to a deeper appreciation of life, where your concerns aren't bound purely by stylistic considerations: how large, how many fingers and toes, whether the being is fuzzy or "cute" or ugly, whether it can do calculus or get voted off American Idol.
Until you as a person give up your thoughtless species-oriented prejudices, you limit your access to the living world, make everything about "us" and "them," focus on differences, make life a war and a struggle, and closed off in a homo-sapien bubble.
You don't have to make it such an adversarial thing between you and those like me who are trying to love more broadly, but I can understand that some people prefer it that way, because they feel reasonably comfortable that they have the upper hand.
Well, congratulations on your hard-won success!
It just sounds like all you care about is you and yours, and you've got a very limited idea of who fits in that little group. Why would you not try to be an advocate for as many beings as possible? Most higher animals are quite helpless and oblivious in the face of all our madness, and without the intervention of concerned humans, they have no hope. Aren't the helpless, the voiceless, and the downtrodden exactly those who need us to wake up and work harder for them?
I mean, if you feel contempt or indifference towards the helpless.... well it has a fascist kind of spirit, doesn't it?
a "database manager" linking to a database would probably be considered a derivative work. Actually, this is not very likely. A database manager is not derivative of the database server because it isn't a database server, nor is it anything like one.
A better example would be if you took the database system's source code and added a set of C++ interfaces to give it additional features, such as encryption or embedded scripting - things you might only be able to do by extending the source code. You'd be obligated to release your added source code.
Another example would be if you modified GIMP to make it respond to network messages. You'd be obligated to release the source code for those extensions. But if you then write a piece of software that sends messages to GIMP over the network to control it, you are fully within your rights to keep that software closed even though it interacts with GIMP - even relies on it. In that case it's not a "derivative work" but a "helper"... a "companion" product, not an "enhancement" of the original product.
A good - though possibly not perfect - test of whether a work is a derivation is: Is your work of the same nature as the original product.
I like the "atoms, molecules, cells, organisms" analogy. A molecule is not a derivation of an atom, because it doesn't do what individual atoms do. A cell is not a molecule, and an organism is not a cell. All these inventions have their own emergent rules. No level is a derived work of the level below.
Take two molecules, however. If you and I independently invent a molecule that breaks down sugars, neither one is a derivative work of the other. Only when I modify your molecule do I create a derivative work. What if I invent a molecule that - when paired with yours - improves its efficiency? Is that a derivation? No. It interacts with your molecule's input and output, but it doesn't derive from it.
Follow this analogy as far as you want, keep the concepts simple and restrict your definitions to those that rely on the marriage of form and function, think in terms of heredity.... this should help clarify things.
...as another poster mentioned, there is the ExtJS's use of the GPL: Since the Javascript gets into the final product (the page), you can argue that by using ExtJS your web site page, as rendered, is now GLPv3... I don't think that could be argued, nor do I think Ext would want to. As evidence I first cite the fact that ExtJS has both open source and commercial licenses. I presume the OSS license is to allow modification of ExtJS itself, which some might find useful or necessary. In those cases, modifications to ExtJS must be similarly licensed. But in no instance would this imply that software built on top of ExtJS's interfaces has in-built OSS virulence.
It is clear from their license FAQ that they intend ExtJS to be used to make applications without the applications themselves being bound to any kind of license. The previously-controversial "Assets clause" is intended to protect the brand identity of ExtJS, and as such only says the assets can't be used separately. (It doesn't say that applications having the "ExtJS look" are all GPLv3!)
It's good that the courts are being called in, because it's easy to get muddled about the concept of a "derivative work" if you don't understand both the technical and legal aspects of the software. The courts will continue to help clarify what distinguishes "use" from "derivation," and in the long run this should be beneficial to everyone.
I see nothing about the GPL that "ensures" the undermining of normal software business models. Historically the "normal" business models involved writing everything from scratch on top of a set of platform APIs. GPL offers another option, which software businesses can use or not. Those that do gain some advantages.
You seem to imply that the only "normal" software business models are those that rely on software being sold in binary form and all source code being closed to slow competition. Certainly that is one possible business model, but not the best or most natural. Consider too that if you do release your source code - along with a friendly license - your competitors have to be really careful how they use it or risk getting pwned. I would think more vendors would appreciate this facet of open source.
I'd also make the argument that "normal" software businesses aren't successful because they invent some great algorithm, but because they provide a well-engineered usable interface and comprehensible access to data through smart visualization techniques. In other words, they make something really useful, and people are already free to imitate their style up to the point where patents become a firewall.
Here's a cool business model lots of people on the Mac use: Make a usable front-end GUI hosting one or more GPL tools. You can even make your window act as the OpenGL rendering context of some GPL game or tool. When you do this, you can then sell the software you made for any price you wish. Under some conditions - such as when your software acts as a shell-like host - you may not have to release your source code at all.
I know of at least a few software programmers who have used this sort of technique to produce fairly profitable pieces of shareware.
Within your traditional business models, GPL actually can provide a leg up. You can make all kinds of tools for use by your private company based on GPL software, and you can use those tools to improve your businesses' efficiency. When built properly your software code doesn't have to be released. Thus, your software can make use of a regular expression library and an xml parser - licensed LGPL - without needing to do anything special.
Pay proprietary license fee. Paying a license fee rarely ever means carte blanche to do whatever you want. Just as with GPL, if you don't abide by the license it's legal fees you'll be paying.
The more important option left out by the parent was "come to another agreement with the copyright holder," who has the right to license his software under any license he or she wants to. (This is of course easiest when there's only a single author).
Sometimes to protect the freedom of something, you must restrict the freedom of something else. At least that's the argument I've heard. I think this is just a semantic formulation, and I don't think it gives a very honest picture of the dynamics it alludes to.
It's easy to get bogged down in semantics because we talk about "freedoms" and "rights" as if they were metaphysical attitudes, but in fact they are both man-made derivations of the Golden Rule (the intuitively valid principle upon which all good-faith relationships are based). Metaphysically, anyone has the "freedom" to do anything at all within all given limitations, but that is not "freedom" in the sense we're discussing, so much as it forms the background of the idea.
The GPL is a set of agreed-upon conditions that may be waived at the copyright-holder's discretion. There is no preset "freedom" that is being restricted - rather, what "freedom" means at all is defined in the terms of the contract.
Our ideas and feelings about what is right and wrong to do - or to impose laws about - create the conditions within which cooperation and progress can thrive. As we tend agree on these ideas, cultures take form. The GPL is a set of ground rules that gives rise to a culture of developers, all operating on an agreed set of principles.
So when a commercial vendor decides to use GPL software they are not just picking fruit from the tree; they are agreeing to abide by the rules of the society they are entering. If a commercial vendor fails to abide by the rules, it should first expect to be alienated from the GPL society. In using GPL software a vendor agrees to an explicit contract which has been upheld in good faith by the original developer. "I give this tool to you, with the provision that you honor the principles of the culture that produced it."
(If only we could impose rules like that on weapons sold.)
"With JavaScript surviving as a Web-page mainstay despite many early gripes..." This notion has long been outmoded... well, at least for the past few years.
Javascript is doing more than just surviving. Early implementations of Javascript were quite buggy and standards were pretty lax. Things have improved significantly since "Javascript" became ECMAScript. The name may still have "script" in it, but it's a huge misnomer. Javascript is a full-fledged language - a very powerful one with many unique properties, and very useful if you know how to apply design patterns.
I encourage anyone involved in building websites, widgets, or enterprise applications to check out the Javascript lecture series by Douglas Crockford of Yahoo! located at http://video.yahoo.com/video/play?vid=111585 to get a real feel for the power of modern Javascript.
And have a look at the modern AJAX frameworks like YUI and JQuery, which are being used to develop some pretty complex applications.
On Mac OS X this isn't really a problem - at least not since Leopard. When things download in Safari it's obvious to the user, and only certain file types are considered safe to open right away, so there's no automatic execution of application bundles or.command files. In Leopard, the first time you try to open or execute a download you get a dialog warning you that the file is an internet download. You can choose to open it anyway, or you can choose to view the file's source web page. If the file resides on a disk image, you continue to get the warning every time you open the file until you check the box indicating that the disk image is safe.
Woohoo! Eliminate mirror images - both horizontal and vertical - and you're down to only 2.25 billion billion years!
It's wasn't just a recall... It was a Total Recall!
Clear designs result in good implementations. Object-oriented syntax is the vocabulary in which design is expressed. Clarity of expression is key to making solid systems that are self-documenting, robust, and interchangeable. Modular software design maximizes the value of its all its constituent parts.
C++ and Apple's Objective-C 2 each provide access to a strong set of data models - like arrays and dictionaries - in the form of STL and CoreFoundation. The best runtime libraries let you start working without needing to reinvent data storage. Garbage collection reduces typing.
The best APIs and libraries use consistent and clear semantics in their naming conventions, which allow the casual reader of the code to get a good idea of the system, algorithm, or process expressed.
Languages with flexible semantics can help you express systems at higher levels, and the growing set of code design tools is making it easier to visualize inheritance and container relationships before generating any of the interface code.
The best code doesn't have to be the fastest, it only has to be fast enough. Sometimes that does mean, as optimized as possible. In code-world, less code equals more speed. The more instructions you run through, the more complex the branching, and the more scattered the memory access, the longer the processor will take to crunch through your tasks. The best code minimizes these hits through intelligent data organization, indexing, feeding the compiler what it likes to optimize, and using threads smartly to take advantage of multiple cores.
If optimizations lead to obfuscations, kind programmers unroll it in a comment. A good idea for their own future reference.
Code at even the highest levels may not in any way express what you end up with in the output. The code to generate the Mandelbrot fractal has no turtles or curlicues in it. When you look at the algorithm carefully, though, you see that it expresses ideas not only about fractals and the endless complexity that even a simple iterative process can produce, but the language itself embodies connected ideas about the limited nature of the FPU and the square cartesian grid... which itself speaks to the way humans take in data.
Good code therefore recognizes both the low level, concrete resources it maps onto, and respects the clarity of all that it models, all the way from the naming conventions it applies for an auto variable, up to the balletic organization of the master controller's minions.
The end result of really good code is that someone can sit down at a BASH terminal and express in 6 lines of generic shell-speak a powerful transformation of input to output, which provides insight through and into the system it embodies.
Graphical interfaces and such should embody ideas differently than the internal models. Database designers often make bad interface designers because they expect end users to think in their own inverted fashion about child-parent relationships. Freudian as that sounds, it means end-users should relate to the data at the overview level, so that casual scanning and targeting can be applied to interact and modify what is there.
The best code expresses the interface (e.g., in the "View" corral of an MVC program) in its own internally-consistent manner, relating interactivity to controller messages. Controllers act as mediators between Views and Models.
Things I shouldn't say... Good code uses Doxygen or something like it to document at the model and interface level. Good code avoids putting inlines in headers, and good compilers will inline when optimizing for speed. Good code keeps interface and implementation separated. Good code is code you can return to in a year and still comprehend quickly.
The best code teaches you something you didn't know about the world, reveals subtle patterns in systems, unfolds its own unique sphere of creation, immerses and engages human minds, and has a loose, organic quality that is sensed rather than known.
Did I forget to mention encapsulation? Good code encapsulates what it should, how it should. It streamlines clear thinking.
It's such a sexist label, and I never use it in reference to women because - if you ask me - it's the kind of thing insecure men say when a woman asserts herself in a way that would be perfectly excusable for a man.
Instead, I prefer to say "what a fucking asshole" or "what a fucking jerk" which are more equal-opportunity and apply equally well to men and women. I know it's weird to say, "Mary is such an asshole," but give it a try and you may find you enjoy the refreshing change.
However, when I run into a particularly impenetrable bug in my code, I am wont to say "this bug is a cunt," but I don't think it's especially demeaning, as it is both funny and British-sounding.
...maybe these congressmen are lying through their teeth, and when the FBI comes forward they won't exactly back up the accounts. Wouldn't surprise me at all.
I think it's time they got some security standards for all government computers so hackers, wherever they may be, will have to work a lot harder. Not to mention, there should be a firewall with a white-list, where every person doing government business must register for access... a VPN setup can work well for this kind of thing.
Mush! Mush!
Don't forget, though, that we have the power of life and death over them too. We know we can't annihilate one another, and I don't think either side really wants to. There is a fine sense of respectful autonomy - or detente - going on there. Unless you think, perhaps China is planning to nuclear bomb every country in the world and deploy their entire population worldwide as a police force to assume dominance... I don't think any other aggressive option would be tenable for them.
I mean, China may not like "us" - and frankly, I think that's a fat fiction - but that's just too bad. They seem to be fine with playing by the rules, and the rules are loose when it comes to espionage. Hackers in China are like hackers anywhere, and our job is to improve our security. That's where our best efforts are spent.
Of course, the government and media like to spread the story, to let everyone know it's time to be scared of the yellow menace once again. Oooh, look, I'm shaking! China sends troops to beat up monks and rape nuns in Tibet, it locks up students and scientists! Look how mean and tough they are, attacking such enemies so bravely!
But enough of my ridiculing big bad China....
If we continue to act as if China en masse threatens us, we miss the more fine-grained picture of the world that exists among and between common people everywhere.
In the common person's view, I personally don't see any country as being our enemy - at least certainly not an enemy of mine. In every country in the world I can find people with whom I share an affinity, whether it's things we like to do during our time off or a mutual wish for universal peace. Large interests bang into each other and get all adversarial, and sometimes ideologies catch hold and inspire alienation from the rest of the world. These are all just diseases that plague us in modes of fear and dominance.
If more people acted on their best impulses and the facts of the common interests of common people throughout the world were to become widely recognized, pitting groups against each other would be much harder to do, and it might do something to prevent the excesses of the elite.
I say, in the meantime, let us continue to spread the meme: Common people of the world, unite!
On a lot of the latest Macs - laptops in particular - the video ram is part the main memory pool, so video-intensive games have to take that into account. On Macs with better video cards, I'll wager it plays reasonably on a 768MB system.
Thing is, we have a lot - and I mean millions - of really stupid, gullible, deceived people who couldn't think their way out of a wet paper bag. We don't teach people to be pragmatic, skeptical, and creative in our schools, because the forces that be prefer us to be stupid. Educational reform is unheard of here, and when it is proposed it's usually in the form of "standards" and not examining the problems of holistically educating young human minds. The way we are indoctrinated in this country is insidious, and with every passing generation it gets worse.
So, while you're finding this "controversy" funny and hard to understand, we're seeing it as another smoldering hole in the American soul.
I'm certain I speak for all non-biblical-literalist-creationist Americans with what I state here.
Our "particular" scientific way of measuring the universe perceives grainy particles in its measurements, but all phenomena - including our immediate experience of consciousness - are holistic and spatially and temporally distributed. That is, we typically need both distance and time to perceive deeper meaning. Likewise, our kind of experience relies on a composite, evolved physical form.
"The Varieties of Religious Experience" by William James presents a beautiful psychological view of the qualities of religious experience, and in the end reveals it to be a quality of self-transcendence often brought on by existential crisis. And it points to self-surrender to a "higher power" - a non-self - as an operative mode of self-transcendence. This phenomenon corresponds to the kensho (awakening) of Zen Buddhism and the "being born again" of Christianity.
Examining the universe as it is - and especially observing our own minds - leads to amazing insights about the nature of the self and its connection to the universe, which in our awakened state is experienced as ultimately beautiful and divine. The mantra prescribed by Jesus - the "lord's prayer" as it is called - is one mechanism for apprehending the divine, and of surrendering one's limited self (ego) to the higher being (the self that precedes ego). As Jesus says, "I and the father are one."
It surprises me to no end that more people don't really see the total unity underlying all the religions that mandate prayer and meditation, or see how the psychological effects are so striking that oblique metaphor is the only avenue available to point them out. If more Christians studies comparative religion they would discover a whole world of advanced methods that Jesus could only hint at, in order to discover for themselves that indeed, the kingdom of heaven is at hand. Even among devout Christians, there is a lot of frustration with the Sunday mass, which fails to enlighten them to the wealth of spiritual knowledge that lies beyond the relatively impoverished teachings of Jesus and the too-subtle old testament.
None of this stuff requires us to be kooky mystics. Learning to apprehend the divine in every present moment has serious pragmatic consequences, not least of which is the development of empathy and compassion. But perhaps even among Christians, there is so much attachment to the intellectual way of believing - in ideas - that genuine fear arises if you suggest we are all taking part in a single, eternal phenomenon, and that all you have to do is put aside all you think for a little while. I would guess we're too attached to being separate and special - which of course we are - and don't really want to see both sides of the coin if it means losing a little of that.
We humans have evolved as very much fear-driven social animals, so it takes courage to look beyond the conventional beliefs of our social and religious groups and strike out completely on our own. Most people - including myself - run to the familiar material comforts when we feel empty, rather than truly allowing ourselves to become "emptied so that we may be filled again."
Hey, it is a pretty scary thing to be non-self, as anyone who's ever tried Salvia divinorum can attest to. But in coming back to yourself it is striking just how conventional it all seems.
Oh man, pardon me for ranting on, but this is one of those subjects I'm very passionate about. Honestly, every serious Christian should run, not walk, to the nearest yoga or meditation center and start getting hip to what Jesus was talking about, just what this universe is made of, and just who we each are. Then we can stop imagining that there is some kind of infinite distance between God and the Creation. The eternal and divine is right here, right now, and it always will be.
Ultimate place: Heaven.
Ultimate thing: I dunno, Thor's hammer maybe? The space missiles of the Upanishads?
Bush has his flaws, but no one has shown me any actual, verifiable, concrete evidence that he's lied to us.
Let's see... He's knowingly lied about mobile chemical labs (via Colin Powell), aluminum tubes, Nigerian yellow-cake, an Iraqi nuclear missile could reach us in under 45 minutes, secret diversion of $150M in public funds allocated to Afghanistan to the then-as-yet-unapproved invasion of Iraq, the equal disbursement of faith-based-initiative funds (all of which went to Christians), funding No Child's Behind Left... that's just a few off the top of my head.
For goodness sake, Bush has said whatever lies his handlers have told him to say, with goofy relish. The best you can say about him is he's no mastermind, but he sure likes playing the game.
Dennis is cool, and so is his lovely and outspoken British wife. (In fact, I think I'll have to get myself one of those as soon as possible!) What's more, we're going to have him on Vegan Radio really soon, so tune in sheeple!
Personally, I am concerned about the survival of as many life forms as possible, all of whom are being affected by Homo sapiens stomping blindly, willy-nilly all over the place, many spouting selfish bullshit like yours, eating up the world and being smug and self-satisfied with their designer beer. Whatever "favors" we may be doing by releasing carbon into the atmosphere are more than mediated by the fact that we are as a collective quite an ugly phenomenon vis a vis the rest of the biosphere.
Think of everything that life has learned up to now. It's all in the DNA. The DNA is everything life has learned about surviving and prospering and experiencing itself and the universe around. Evolved over billions of years, invaluable, irreplaceable information that interacts to sustain life. We are erasing that information, burning it up. We're not making a backup, and it sounds like you're saying it doesn't matter, it'll all work out in the end so it doesn't matter what we do. That's utter crap, because it does matter. It matters because what we do defines us, and as I look around, it seems that what we humans consider valuable runs quite counter to that which upholds the biosphere that sustains all life.
To me it seems like nothing less than a deep imperative to be concerned about all life and to treat all species as our beloved friends. At any rate, we should not dismiss every other species with banal cartoon characterizations like "fuzzy animals." Sure, you'll find plenty of people who'll pat you on your clever head for that one, but the biosphere is giving you the finger, pal. Life happens to be full, profound, and challenging for all living beings, whether you consider them cute, fuzzy, and ridiculous or not. To dismiss the deep experience of every other species, while exalting our own relatively banal imitation of life is hilarious to behold.
You should endeavor to give the deepest possible respect to all living beings. It may lead you to a deeper appreciation of life, where your concerns aren't bound purely by stylistic considerations: how large, how many fingers and toes, whether the being is fuzzy or "cute" or ugly, whether it can do calculus or get voted off American Idol.
Until you as a person give up your thoughtless species-oriented prejudices, you limit your access to the living world, make everything about "us" and "them," focus on differences, make life a war and a struggle, and closed off in a homo-sapien bubble.
You don't have to make it such an adversarial thing between you and those like me who are trying to love more broadly, but I can understand that some people prefer it that way, because they feel reasonably comfortable that they have the upper hand.
Well, congratulations on your hard-won success!
It just sounds like all you care about is you and yours, and you've got a very limited idea of who fits in that little group. Why would you not try to be an advocate for as many beings as possible? Most higher animals are quite helpless and oblivious in the face of all our madness, and without the intervention of concerned humans, they have no hope. Aren't the helpless, the voiceless, and the downtrodden exactly those who need us to wake up and work harder for them?
I mean, if you feel contempt or indifference towards the helpless.... well it has a fascist kind of spirit, doesn't it?
A better example would be if you took the database system's source code and added a set of C++ interfaces to give it additional features, such as encryption or embedded scripting - things you might only be able to do by extending the source code. You'd be obligated to release your added source code.
Another example would be if you modified GIMP to make it respond to network messages. You'd be obligated to release the source code for those extensions. But if you then write a piece of software that sends messages to GIMP over the network to control it, you are fully within your rights to keep that software closed even though it interacts with GIMP - even relies on it. In that case it's not a "derivative work" but a "helper"
A good - though possibly not perfect - test of whether a work is a derivation is: Is your work of the same nature as the original product.
I like the "atoms, molecules, cells, organisms" analogy. A molecule is not a derivation of an atom, because it doesn't do what individual atoms do. A cell is not a molecule, and an organism is not a cell. All these inventions have their own emergent rules. No level is a derived work of the level below.
Take two molecules, however. If you and I independently invent a molecule that breaks down sugars, neither one is a derivative work of the other. Only when I modify your molecule do I create a derivative work. What if I invent a molecule that - when paired with yours - improves its efficiency? Is that a derivation? No. It interacts with your molecule's input and output, but it doesn't derive from it.
Follow this analogy as far as you want, keep the concepts simple and restrict your definitions to those that rely on the marriage of form and function, think in terms of heredity.... this should help clarify things.
...as another poster mentioned, there is the ExtJS's use of the GPL: Since the Javascript gets into the final product (the page), you can argue that by using ExtJS your web site page, as rendered, is now GLPv3... I don't think that could be argued, nor do I think Ext would want to. As evidence I first cite the fact that ExtJS has both open source and commercial licenses. I presume the OSS license is to allow modification of ExtJS itself, which some might find useful or necessary. In those cases, modifications to ExtJS must be similarly licensed. But in no instance would this imply that software built on top of ExtJS's interfaces has in-built OSS virulence.It is clear from their license FAQ that they intend ExtJS to be used to make applications without the applications themselves being bound to any kind of license. The previously-controversial "Assets clause" is intended to protect the brand identity of ExtJS, and as such only says the assets can't be used separately. (It doesn't say that applications having the "ExtJS look" are all GPLv3!)
It's good that the courts are being called in, because it's easy to get muddled about the concept of a "derivative work" if you don't understand both the technical and legal aspects of the software. The courts will continue to help clarify what distinguishes "use" from "derivation," and in the long run this should be beneficial to everyone.
I see nothing about the GPL that "ensures" the undermining of normal software business models. Historically the "normal" business models involved writing everything from scratch on top of a set of platform APIs. GPL offers another option, which software businesses can use or not. Those that do gain some advantages.
You seem to imply that the only "normal" software business models are those that rely on software being sold in binary form and all source code being closed to slow competition. Certainly that is one possible business model, but not the best or most natural. Consider too that if you do release your source code - along with a friendly license - your competitors have to be really careful how they use it or risk getting pwned. I would think more vendors would appreciate this facet of open source.
I'd also make the argument that "normal" software businesses aren't successful because they invent some great algorithm, but because they provide a well-engineered usable interface and comprehensible access to data through smart visualization techniques. In other words, they make something really useful, and people are already free to imitate their style up to the point where patents become a firewall.
Here's a cool business model lots of people on the Mac use: Make a usable front-end GUI hosting one or more GPL tools. You can even make your window act as the OpenGL rendering context of some GPL game or tool. When you do this, you can then sell the software you made for any price you wish. Under some conditions - such as when your software acts as a shell-like host - you may not have to release your source code at all.
I know of at least a few software programmers who have used this sort of technique to produce fairly profitable pieces of shareware.
Within your traditional business models, GPL actually can provide a leg up. You can make all kinds of tools for use by your private company based on GPL software, and you can use those tools to improve your businesses' efficiency. When built properly your software code doesn't have to be released. Thus, your software can make use of a regular expression library and an xml parser - licensed LGPL - without needing to do anything special.
The more important option left out by the parent was "come to another agreement with the copyright holder," who has the right to license his software under any license he or she wants to. (This is of course easiest when there's only a single author).
It's easy to get bogged down in semantics because we talk about "freedoms" and "rights" as if they were metaphysical attitudes, but in fact they are both man-made derivations of the Golden Rule (the intuitively valid principle upon which all good-faith relationships are based). Metaphysically, anyone has the "freedom" to do anything at all within all given limitations, but that is not "freedom" in the sense we're discussing, so much as it forms the background of the idea.
The GPL is a set of agreed-upon conditions that may be waived at the copyright-holder's discretion. There is no preset "freedom" that is being restricted - rather, what "freedom" means at all is defined in the terms of the contract.
Our ideas and feelings about what is right and wrong to do - or to impose laws about - create the conditions within which cooperation and progress can thrive. As we tend agree on these ideas, cultures take form. The GPL is a set of ground rules that gives rise to a culture of developers, all operating on an agreed set of principles.
So when a commercial vendor decides to use GPL software they are not just picking fruit from the tree; they are agreeing to abide by the rules of the society they are entering. If a commercial vendor fails to abide by the rules, it should first expect to be alienated from the GPL society. In using GPL software a vendor agrees to an explicit contract which has been upheld in good faith by the original developer. "I give this tool to you, with the provision that you honor the principles of the culture that produced it."
(If only we could impose rules like that on weapons sold.)
Javascript is doing more than just surviving. Early implementations of Javascript were quite buggy and standards were pretty lax. Things have improved significantly since "Javascript" became ECMAScript. The name may still have "script" in it, but it's a huge misnomer. Javascript is a full-fledged language - a very powerful one with many unique properties, and very useful if you know how to apply design patterns.
I encourage anyone involved in building websites, widgets, or enterprise applications to check out the Javascript lecture series by Douglas Crockford of Yahoo! located at http://video.yahoo.com/video/play?vid=111585 to get a real feel for the power of modern Javascript.
And have a look at the modern AJAX frameworks like YUI and JQuery, which are being used to develop some pretty complex applications.
...with the exciting servo motor sounds to give a real feel for the technology:
http://www.ted.com/index.php/talks/view/id/82
The last two minutes have the arm demo video. The rest is classic Kamen.
On Mac OS X this isn't really a problem - at least not since Leopard. When things download in Safari it's obvious to the user, and only certain file types are considered safe to open right away, so there's no automatic execution of application bundles or .command files. In Leopard, the first time you try to open or execute a download you get a dialog warning you that the file is an internet download. You can choose to open it anyway, or you can choose to view the file's source web page. If the file resides on a disk image, you continue to get the warning every time you open the file until you check the box indicating that the disk image is safe.
The transparent menu bar is hideous with most background colours.
Fortunately you can disable this from the Desktop & Screensaver preferences in 10.5.2 and later.