While some banks are calling for contingency plans in the case of the breakup of the Eurozone, a large majority of investment banks, hedge fund managers, and responsible commentators are saying "hold on a minute."
"Where am I supposed to put the money?" said Lloyd Blankfein, CEO of Goldman Sachs. "As CEO, I'm committed to maximizing corporate profits, and while Goldman Sachs will obviously make bank on this one that will make the real estate bubble look like a pinprick, I personally haven't even figured out what to do with my bonus from that yet."
Most economists agree that a breakup of the Eurozone would mean an immense realignment of riches, and complain that the term "percent" is becoming particularly unwieldy in describing the distribution of wealth. "My friends and I can't even explain how rich we are anymore. Saying 'We're the 0.00001%' is too hard to understand," lamented hedge-fund manager Peter Thiel. U.S. lawmakers are studying proposals for mandating use of a new term "permega", in which percentages would be replaced by fractions based on a million, as part of the recently introduced Division Is So Hard (DISH) Act.
Tax experts welcome the possibility of change, saying that they are running out of zeros when expressing tax liability to their clients. "You need to pay 0.0000001% of your income in tax this year" is just too hard for many of my esteemed colleagues to follow, said H&R Block CEO William Cobb. "Keep in mind, most investment bankers have graduated in the past 5-10 years from top educational institutions in the United States, and although they all got straight As and graduated at the tops of their classes, so did everyone else."
Although momentum has been significant on the DISH act, with ten co-sponsors in the Senate, opposition is growing. Senator Chuck Schumer (D-NY) is leading the charge against such a change, arguing that math isn't the problem and the tax code itself is at fault. "We can't keep applying the same logic, putting another zero in front of the tax burden of our nation's most productive workers. My smartest staffers tell me that by simply putting a minus sign in front of the tax rate we could reverse the trend and start getting those numbers under control, especially for workers in the affected brackets. We wouldn't have to invent a new symbol, either."
Notwithstanding these efforts by legislators to soften the blow, plans are proceeding apace to launch new currencies in place of the Euro. "We're still trying to work out how we can absorb all of the wealth of the Euro, as well as all of the wealth in the new currencies that will be introduced," said Mr. Blankfein. "We applaud the efforts of our friends in European governments to include us in discussions on how to build a variety of efficient banking systems that will benefit world economic growth."
However, Mr. Blankfein sounded a note of caution on current U.S. legislative efforts to ease the transition. "Of course we appreciate all of the help we can get, but right now that's up to the European Union. The U.S. government should stay focused on efforts to finance the next round of bailouts."
Mad Analogy
Mixed metaphors are my stock-in-trade
2011-11-26
2011-11-08
AGPL revisited: how MongoDB licensing differs from MySQL
Now that the Affero General Public License (AGPL3) is actually being used by successful projects, I'm looking at it again. Specifically, MongoDB is AGPL3 licensed, and it is being used for commercial applications. But how?!? I though the AGPL was complete communism, and that's what excited me so much about it - one touch of the the brush, and the whole batch of milk is stained vermillion, and your entire enterprise now belongs to Richard Stallman so he can use it to fund GNU HURD.
The AGPL actually has some pretty fixed boundaries:* , and consider what would have happened if it had been released under AGPL instead. Since Amazon used MySQL code to build RDS, under the AGPL Amazon would be forced to release the code they use to provide the RDS service. They would not be forced to release the code for Amazon.com** however: that would clearly be outside the boundaries set out in AGPL.
Also consider that Facebook uses MySQL internally, with something like 4000 MySQL databases to power much of their site, and they've made many changes to MySQL in order to make that possible, some of which they've made public. If MySQL had been AGPL-licensed, they would have been required to make those changes publicly available under the same license.
Google is also reportedly one of the largest users of MySQL, and in a similar spirit they have released some of their tools. However, they released these tools under the more permissive Apache 2.0 license: if MySQL had been released under AGPL3, Google would most likely have been forced to release these tools under AGPL3 as well.*** And now that Google is also offering Google Cloud SQL made with GPL-based MySQL, they don't have to share their work as they would if MySQL were AGPL3-based.
All of this to say: if you want to use MongoDB to power a web app, have fun: the boundaries within the AGPL3 are there to help you, and probably won't require you to hand over your code to every visitor. However, if you see MongoDB and think "hey, that's cool, I'm going to offer a web service with the MongoDB API and become a cloud provider of NoSQL data storage, just like Amazon SimpleDB" then you will have made a derivative work, and you'll have to share those changes with the world under AGPL3.
Finally, IANAL, not in any jurisdiction, and if you base your legal strategy on lay analyses found on personal blogs, then sadly you're not alone and you're in very risky company. Best of luck, however, in finding a copyright attorney who will dig through these issues for you and give you an opinion for less than $500k.
* The Linux kernel is more widely used than MySQL, but it's so mixed up with other licences that it can't just be GPL anymore, not honestly - and the copyrights are owned by so many different people that nobody can claim ownership. MySQL, on the other hand, was always extremely diligent about maintaining ownership of every line of code they include in their distribution (which made acquisition by Sun and Oracle all the more attractive).
** ... that is, provided Amazon.com was built using MySQL, which it isn't AFAIK.
*** They could still licence their code any other way they want, as they own it, but they'd be required to license it under AGPL3.
The AGPL actually has some pretty fixed boundaries:
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.Upon reflection, the AGPL isn't as restrictive as I once thought. Let's take what I consider to be the most successful GPL (v2) product: MySQL
Also consider that Facebook uses MySQL internally, with something like 4000 MySQL databases to power much of their site, and they've made many changes to MySQL in order to make that possible, some of which they've made public. If MySQL had been AGPL-licensed, they would have been required to make those changes publicly available under the same license.
Google is also reportedly one of the largest users of MySQL, and in a similar spirit they have released some of their tools. However, they released these tools under the more permissive Apache 2.0 license: if MySQL had been released under AGPL3, Google would most likely have been forced to release these tools under AGPL3 as well.
All of this to say: if you want to use MongoDB to power a web app, have fun: the boundaries within the AGPL3 are there to help you, and probably won't require you to hand over your code to every visitor. However, if you see MongoDB and think "hey, that's cool, I'm going to offer a web service with the MongoDB API and become a cloud provider of NoSQL data storage, just like Amazon SimpleDB" then you will have made a derivative work, and you'll have to share those changes with the world under AGPL3.
Finally, IANAL, not in any jurisdiction, and if you base your legal strategy on lay analyses found on personal blogs, then sadly you're not alone and you're in very risky company. Best of luck, however, in finding a copyright attorney who will dig through these issues for you and give you an opinion for less than $500k.
at
01:50
0
comments
Links to this post
Labels:
business,
copyright,
development,
google,
linux,
opensource,
software
2011-08-24
Webcam doesn't work in Skype, but works in Cheese
If your video camera doesn't work in Skype on Ubuntu, but it works in other applications (like Cheese), just run the following script:
If you're running 64-bit Ubuntu, the path is somewhat different:
sudo echo '#!/bin/bash' > /usr/local/bin/skype
sudo echo "LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype" >> /usr/local/bin/skype
sudo chmod ogu+x /usr/local/bin/skype
If you're running 64-bit Ubuntu, the path is somewhat different:
sudo echo '#!/bin/bash' > /usr/local/bin/skype
sudo echo "LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so /usr/bin/skype" >> /usr/local/bin/skype
sudo chmod ogu+x /usr/local/bin/skype
2011-07-01
Britney's concert performance would have been impressive if she were paraplegic
She may well have been, as far as I could see from her concert performance tonight in Vancouver. There were so many different props and mobility devices onstage it looked like James Bond getting an equipment demonstration by Q in the basement of Walter Reed Medical Center. A moving sidewalk. Various suspensory harnesses, chairs, swings, rising balconies, elevators, carried chairs, motorized vehicles, and strapping porters to carry her from place to place. If she took 200 steps during the entire performance I'd be surprised. She did climb two staircases and walk rapidly across stage a couple of times, so if she is paraplegic, she uses those nerve induction thingies you see on the discovery channel.
Needless to say, singing was not on the menu. I was surprised when she showed up without a corset, as she looked pretty good. Then later she stopped sucking in her gut and, well, it didn't look so impressive. On the whole it was a disappointment, and the sad thing is I didn't expect much.
Needless to say, singing was not on the menu. I was surprised when she showed up without a corset, as she looked pretty good. Then later she stopped sucking in her gut and, well, it didn't look so impressive. On the whole it was a disappointment, and the sad thing is I didn't expect much.
2011-06-11
Post from prison
Mom, Dad, relax — no, not really. I just awoke from a particularly vivid dream after a great dinner with friends, a walk through a drunken throng of hockey fans, and having read a few chapters of Robopocalypse just before sleeping.
My husband and I found ourselves in a prison. A panopticon, but with chutes, ladders, padded tunnels, statuesque Stoßtruppen of both genders, and a complex system of rewards, punishments, and complex behavioural modification programs. The system caused you to gravitate towards pods of twelve inmates with whom you would serve out your term.
We arrived, and immediately Adolfo intervened in a conflict and saved a woman's life. For this, he was rewarded with a bag of clay, which, not understanding the significance of the gift, we left behind. Shortly we were introduced to our area where we were faced with a bewildering set of strange customs, conflicts, and rewards - a cushion which grants you the right to use a chair, a locker opened by blowing on a tube, a news room where you earned your dinner by voting on videos, and strange acquisitive and consumerist rules seemingly designed to break down social cohesion (which were enforced by the Voice of God).
After a time, we landed in a good pod, with amazing people who committed to look out for one other — carrying each other through particularly difficult terrain drills, holding each other through vomiting spells, and sharing our resources in contravention of the VOG. In the ensuing jailbreak, we took care of each other, throwing away our location- and activity-monitoring devices and helping each other identify the friendly prison guards who could help us to the tunnels leading to escape.
It all went beautifully until we encountered a slight routing bug in the padded transport tunnels, which caused us to merge into a stream of inmates who were headed for reprocessing. Reprocessing meant we were atomized and reconstituted as breakfast cereal. In the afterlife, we stood around drinking fruity breakfast cereal cocktails and agreed that it was a good life, and we looked forward to the next.
My husband and I found ourselves in a prison. A panopticon, but with chutes, ladders, padded tunnels, statuesque Stoßtruppen of both genders, and a complex system of rewards, punishments, and complex behavioural modification programs. The system caused you to gravitate towards pods of twelve inmates with whom you would serve out your term.
We arrived, and immediately Adolfo intervened in a conflict and saved a woman's life. For this, he was rewarded with a bag of clay, which, not understanding the significance of the gift, we left behind. Shortly we were introduced to our area where we were faced with a bewildering set of strange customs, conflicts, and rewards - a cushion which grants you the right to use a chair, a locker opened by blowing on a tube, a news room where you earned your dinner by voting on videos, and strange acquisitive and consumerist rules seemingly designed to break down social cohesion (which were enforced by the Voice of God).
After a time, we landed in a good pod, with amazing people who committed to look out for one other — carrying each other through particularly difficult terrain drills, holding each other through vomiting spells, and sharing our resources in contravention of the VOG. In the ensuing jailbreak, we took care of each other, throwing away our location- and activity-monitoring devices and helping each other identify the friendly prison guards who could help us to the tunnels leading to escape.
It all went beautifully until we encountered a slight routing bug in the padded transport tunnels, which caused us to merge into a stream of inmates who were headed for reprocessing. Reprocessing meant we were atomized and reconstituted as breakfast cereal. In the afterlife, we stood around drinking fruity breakfast cereal cocktails and agreed that it was a good life, and we looked forward to the next.
2010-12-21
Thanks to everyone who worked to end DADT
I'd like to thank my friends and family for their efforts in ending the "Don't Ask, Don't Tell" law. It means a lot for me, as I had honestly given up hope of it happening any time soon.
It's too easy to be cynical, but as I watched the past two years go by, and watched the hugest congressional majority in recent memory evaporate, I thought for sure there would be no progress on queer issues. And although I told myself I was content with Obama just naming Supreme Court justices, I was enraged by the contradiction of his "fierce advocate" image shown by his administration's aggressive defense of DOMA, his utter inaction on ENDA and DOMA, and the snail's pace of DADT repeal (coupled with continued vigorous legal defense of the law). I had come to the conclusion that the Democrats had decided that gay votes, gay money, and gay wedge issues were simply too valuable to them to give up, and that they would hold us hostage for another six years or until the courts finally grew a pair. I just couldn't take the disappointment anymore, so I really stopped investing any hope.
Sure, I went through the motions with emails to elected officials (pointless, since I vote in Georgia), but I really couldn't bring myself to care a great deal. I was resigned to it. But this is where my family and friends really stepped in and pushed this through. I'm very thankful and grateful for friends and family who care enough about me to take on issues that affect me - without my having to ask. It really means a lot.
It was a little over two years ago when a former friend's opposition to same-sex marriage made me snap and made me raise my expectations of what friends and family will do to help with the issues of queer people. I'm thrilled to say that not only did they take action, they did it without my asking.
Granted, these issues affect us all — when some of us aren't free, all of us aren't free — but when the folks on the comfortable side of the privilege line do more than I do on issues that affect me, it really is touching. Thank you.
It's too easy to be cynical, but as I watched the past two years go by, and watched the hugest congressional majority in recent memory evaporate, I thought for sure there would be no progress on queer issues. And although I told myself I was content with Obama just naming Supreme Court justices, I was enraged by the contradiction of his "fierce advocate" image shown by his administration's aggressive defense of DOMA, his utter inaction on ENDA and DOMA, and the snail's pace of DADT repeal (coupled with continued vigorous legal defense of the law). I had come to the conclusion that the Democrats had decided that gay votes, gay money, and gay wedge issues were simply too valuable to them to give up, and that they would hold us hostage for another six years or until the courts finally grew a pair. I just couldn't take the disappointment anymore, so I really stopped investing any hope.
Sure, I went through the motions with emails to elected officials (pointless, since I vote in Georgia), but I really couldn't bring myself to care a great deal. I was resigned to it. But this is where my family and friends really stepped in and pushed this through. I'm very thankful and grateful for friends and family who care enough about me to take on issues that affect me - without my having to ask. It really means a lot.
It was a little over two years ago when a former friend's opposition to same-sex marriage made me snap and made me raise my expectations of what friends and family will do to help with the issues of queer people. I'm thrilled to say that not only did they take action, they did it without my asking.
Granted, these issues affect us all — when some of us aren't free, all of us aren't free — but when the folks on the comfortable side of the privilege line do more than I do on issues that affect me, it really is touching. Thank you.
at
04:19
1 comments
Links to this post
Labels:
freedom,
gender,
homophobia,
obama,
politics,
praise,
society,
usa
2010-11-28
That the Windows 7 phone could be worse is little consolation
I played with a Windows 7 phone at the Bell store (the LG Optimus Quantum). Although I wasn't repelled, I was puzzled. Things that should be fast were deliberately slow; navigation included pointless transitions that looked pretty the first time, but that I would soon get sick and tired of waiting to complete.
The device was so warm and heavy you could use it to give a hot stone massage. It is unsurprising that sales have been lukewarm. I was really hoping to see better from Microsoft, if only so that my mutual fund that depends on its performance would perk up a bit.
The device was so warm and heavy you could use it to give a hot stone massage. It is unsurprising that sales have been lukewarm. I was really hoping to see better from Microsoft, if only so that my mutual fund that depends on its performance would perk up a bit.
2010-11-25
OSX as a Ruby on Rails dev environment: Package Managers
A lot of Rails developers like to use OSX as their development platform. Although everybody hosts Rails apps on Linux (or Solaris under duress) lots of people love OSX for its productivity, clean interface, and most importantly, its typography.
However, as some have noted, setting up Rails on a mac is hardly a frictionless process. Unlike Linux distros, OSX has no built-in package manager; you get your version of OSX and you get your patches and you'd better like what you get, because every app is going to be updated when Apple or the vendor feel like updating it. This is the same as the Windows world, and it's ugly.
So a couple of efforts have stepped in to fill this void: MacPorts and Homebrew. Neither of these is going to feel like a complete solution if you're used to a package manager like APT or YUM, but they do at least automate the installation process for various open source packages. After all, when you want wget there's no reason you should have to find the website.
I'll start with MacPorts since that came first. MacPorts was inspired by BSD Ports; it is built in Tcl and C and contains a very complete set of available packages. It is quite popular and is the venerable incumbent. And personally, I hate it. I've had my OSX install ruined twice while using MacPorts, just by installing system updates; although I obviously did something wrong, it just isn't a robust solution. If MacPorts is the solution, I don't want to hear the question.
Another alternative is Homebrew, new Ruby-based system developed on Github. It has been around for less than two years, and it's a very active project with a lot of contributors. It stresses extensibility, and lots of recipes have been written to support various packages - predictably, those most popular with Rails developers. Although I don't think it solves the brittleness problem MacPorts suffers (it doesn't address operating system component and library version dependency issues) it is very actively developed, focused on the Rails world, and easily customizable to meet individual needs.
So, although you're probably not going to get set up with a Rails development environment with OSX as quickly as you would on Ubuntu (despite Ruby being included in Xcode), there are good solutions to keep you from pulling your hair all the way out. Which will bring you to the point where you can enjoy and appreciate the kerning on the fonts in TextMate as you write your Rails code.
However, as some have noted, setting up Rails on a mac is hardly a frictionless process. Unlike Linux distros, OSX has no built-in package manager; you get your version of OSX and you get your patches and you'd better like what you get, because every app is going to be updated when Apple or the vendor feel like updating it. This is the same as the Windows world, and it's ugly.
So a couple of efforts have stepped in to fill this void: MacPorts and Homebrew. Neither of these is going to feel like a complete solution if you're used to a package manager like APT or YUM, but they do at least automate the installation process for various open source packages. After all, when you want wget there's no reason you should have to find the website.
I'll start with MacPorts since that came first. MacPorts was inspired by BSD Ports; it is built in Tcl and C and contains a very complete set of available packages. It is quite popular and is the venerable incumbent. And personally, I hate it. I've had my OSX install ruined twice while using MacPorts, just by installing system updates; although I obviously did something wrong, it just isn't a robust solution. If MacPorts is the solution, I don't want to hear the question.
Another alternative is Homebrew, new Ruby-based system developed on Github. It has been around for less than two years, and it's a very active project with a lot of contributors. It stresses extensibility, and lots of recipes have been written to support various packages - predictably, those most popular with Rails developers. Although I don't think it solves the brittleness problem MacPorts suffers (it doesn't address operating system component and library version dependency issues) it is very actively developed, focused on the Rails world, and easily customizable to meet individual needs.
So, although you're probably not going to get set up with a Rails development environment with OSX as quickly as you would on Ubuntu (despite Ruby being included in Xcode), there are good solutions to keep you from pulling your hair all the way out. Which will bring you to the point where you can enjoy and appreciate the kerning on the fonts in TextMate as you write your Rails code.
2010-09-06
Whether the test or the code is more important depends solely on who has to write the tests
In the world of open source development, automated tests are like gold. They're the glue that makes it easy to maintain projects with hundreds of collaborators. When they don't exist, code dies, and nobody knows about it - that would be a bad thing, so preventing it is job one. Unless of course, it means you actually have to write tests for your code, in which case it's delegated just as far down the food chain as possible. And nothing's further down the food chain than a paying customer who's already paid you.
Let's say you paid the author/owner of an open source project to add support for something you need. Let's just say that it's something you need, but that would be useful to him/her as well as others. And let's just say that s/he puts that code in his/her distribution. And you pay him/her for his/her time and effort. All is good.
Then, about six months later, you discover a bug in his/her library, in the very code that you paid him/her to write. You fix the code, and that's a good thing, because you really need it to work. It really should have worked in the first place, but oh well. Shit happens, right?
So then let's say that the code is all hosted on Github [because this hypothetical case happened in 2009/2010 and anything worthwhile is being hosted on Github], that you branched the main project, made your change, and committed it. Then you send a pull request to the project maintainer explaining the situation. Beautiful, this is exactly how open source is supposed to work. Git is wonderful, Github is fantastic, and everything just works because of it.
And you get the answer back from a minion of the author that you paid: "well, no, we can't accept this change, because you see, there is no test that was broken in the first place, and no new test has been written to prove that this change is a good one. So go write a test and then we'll think about it."
Which strikes you as a bit odd, because hypothetically, if s/he wrote the code in the first place, and s/he/they is/are such [a] holy motherfucking test-first code ninja[s], s/he would never write a line of code without tests for it. Except the evidence is in the code that never worked in the first place (despite your having, er, paid for it).
So now you have to maintain your own branch of this stuff in perpetuity, because they have rules, you see, and standards, and these rules and standards say that they won't accept changes that don't fix tests. Oh, and by not accepting your fix they're actually hurting your reputation, because the fact that the stuff they wrote for you doesn't work with their library might look like it's your fault, not theirs. But you paid them, and it's all over now. Unless you want to try to write a test for them, which they'll consider accepting.
What you might expect from the maintainer would be an apology, a gracious acceptance of the fix, and for him/her to write the test s/he should have written in the first place (if that's what makes him/her so goddamn happy).
Purely hypothetically speaking. I mean, it would be totally inappropriate to name names if this actually happened.
Let's say you paid the author/owner of an open source project to add support for something you need. Let's just say that it's something you need, but that would be useful to him/her as well as others. And let's just say that s/he puts that code in his/her distribution. And you pay him/her for his/her time and effort. All is good.
Then, about six months later, you discover a bug in his/her library, in the very code that you paid him/her to write. You fix the code, and that's a good thing, because you really need it to work. It really should have worked in the first place, but oh well. Shit happens, right?
So then let's say that the code is all hosted on Github [because this hypothetical case happened in 2009/2010 and anything worthwhile is being hosted on Github], that you branched the main project, made your change, and committed it. Then you send a pull request to the project maintainer explaining the situation. Beautiful, this is exactly how open source is supposed to work. Git is wonderful, Github is fantastic, and everything just works because of it.
And you get the answer back from a minion of the author that you paid: "well, no, we can't accept this change, because you see, there is no test that was broken in the first place, and no new test has been written to prove that this change is a good one. So go write a test and then we'll think about it."
Which strikes you as a bit odd, because hypothetically, if s/he wrote the code in the first place, and s/he/they is/are such [a] holy motherfucking test-first code ninja[s], s/he would never write a line of code without tests for it. Except the evidence is in the code that never worked in the first place (despite your having, er, paid for it).
So now you have to maintain your own branch of this stuff in perpetuity, because they have rules, you see, and standards, and these rules and standards say that they won't accept changes that don't fix tests. Oh, and by not accepting your fix they're actually hurting your reputation, because the fact that the stuff they wrote for you doesn't work with their library might look like it's your fault, not theirs. But you paid them, and it's all over now. Unless you want to try to write a test for them, which they'll consider accepting.
What you might expect from the maintainer would be an apology, a gracious acceptance of the fix, and for him/her to write the test s/he should have written in the first place (if that's what makes him/her so goddamn happy).
Purely hypothetically speaking. I mean, it would be totally inappropriate to name names if this actually happened.
2010-07-11
Adobe Flash: Just because Steve Jobs says it's bad doesn't mean it's good
Steve Jobs' self-serving Thoughts on Flash were controversial to say the least. Yes, he was hypocritical and self-serving (as usual), but he certainly wasn't wrong.
Adobe wants everyone to treat Flash as if it is an open standard, but they haven't made it open source. They made some parts of it open source, but not the parts that matter - and as a result, developers are constantly left wondering which platforms are going to work.


As a friend said, "Apple seems just as evil as Microsoft, just not as
successful. And Jobs seems even more evil than Bill Gates. Certainly
a bigger bastard." I totally question Steve Jobs' motives in wanting to crush Flash, but I don't think Adobe deserves a great deal of sympathy.
Adobe wants everyone to treat Flash as if it is an open standard, but they haven't made it open source. They made some parts of it open source, but not the parts that matter - and as a result, developers are constantly left wondering which platforms are going to work.


As a friend said, "Apple seems just as evil as Microsoft, just not as
successful. And Jobs seems even more evil than Bill Gates. Certainly
a bigger bastard." I totally question Steve Jobs' motives in wanting to crush Flash, but I don't think Adobe deserves a great deal of sympathy.
Subscribe to:
Posts (Atom)