Wednesday, June 03, 2009
Force me to take a break, will you?
Why are these problems? Because the net result is that we tend to work too hard and too long without breaks, with a resulting reduction in code quality. This dynamic is particularly obvious when it comes to fixing a bug.
I don't know about you, but when something is demonstrably wrong with my code, I feel nothing short of a compulsion to find the cause of the bug and fix it. Now. Immediately.
But, of course, most bugs are not fixed immediately. Instead, I analyze my code, I run traces, I try this, I try that. My back starts to ache. My eyes get all squinty. I thirst, I hunger, but I cannot, will not stop until I get my code running....
BAD IDEA! If you can't fix your bug quickly, say within 15 minutes, there's a really good chance you won't find it for hours - if you don't take a break. The problem is that we can get too deep inside the code and replace perspective with urgency.
A much better idea is to take a break, get up, drink a big glass of water, move around, stretch, run around the block, take a nap - do anything to stop thinking directly about your problem. Instead let your brain take a break and think "for itself." There's a really good chance that the solution will just "pop" into your head by the time you sit yourself back down in front of your screen.
Of course, when you are desperately engaged with your code, it can be hard to muster the discipline to step away. In those situations, it's nice to have someone or something remind you that it's time for a break.
A few days ago, I got a note from Danilo, who said:
"I always read your personal blog, and i find it really interesting and full of useful tips. So today i would like to share an application that really helps my way to code and relax. I do take lots of breaks during coding, and I have found atool that is a perfect reminder to fight my instinct to code continuously for hours without interruptions. It is called WorkPause and you can download it at http://www.praven3.com/workpause."
I downloaded and installed the 30 day free trial and I find that I like it. It's very customizable. So now after 30 minutes of work, my screen locks and a 15 second countdown starts. I can't do anything with my laptop. My immediate reaction is anger.
"Hey! Why can't I type? What's going on?"
Then I remember why this has happened and I sit back, take a deep breath, and wait it out. After the 15 seconds, I can unlock it if I want. Or I can take a real break.
Either way, I am forced to pause. Thanks, Danilo. I am going to buy WorkPause. And I urge all the other developers reading this entry to give it a try. It will save you lots of time and make you feel better, too.
Thursday, May 28, 2009
Naming Conventions and Coding Standards, the Feuerstein Way
That's because I have a confession: I don't have a single naming conventions and coding standards document that I use. Why not? Because I am a software developer! That is, I feel (well, I am) very busy, overwhelmed by deadlines. I don't feel like I have the time to stop and write down the few rules that I might actually follow more of less consistently. And it seems that a part of me is somewhat resistant to being accountable to a standard. Sound familiar?
Sigh...unfortunately (no, make that very fortunately), lots of other PL/SQL developers look to me for advice about how to "do things right." Ah, the pressure, the pressure!
Ah, the hypocrisy. That's what it really comes down to: I am a big hypocrite. I routinely violate just about every best practice I push on others. I sound high and mighty, but when I write code, I feel the same pull to do the quick and dirty.
So I've decided to take a few moments out of my various plane rides (I am now - when I started this document, anyway - flying from Manchester, UK, to Sweden to do a presentation to the Stockholm OUG, then a couple of days of customer visits in Stockholm and Milan, then two days of training for Oracle in Helsinki) to jot down what have become my de facto coding standards.
You see, I do have standards, and I even follow them, more or less. I just didn't want to take the time to write them down.
So that's what (finally) you'll find here. It's a combination of the naming conventions I follow, certain naming conventions with which I disagree, and a variety of other suggestions. I hope you find it useful. I'm not going to make much of an effort to justify my approach or explain away the inconsistencies. I'll just show you what I do and you can decide for yourself if you'd like to use my path as a model for your own journey.
I also hereby declare this to be a work in progress. So...
1. If you have disagreements with my approach, let me know. Perhaps I will agree with you, and change my document (you will get the credit).
2. If you have a suggestion for something to add to the document, send it to me. If I like it, I will put it into the document (and give you credit).
3. If you would like to offer your own set of naming conventions and coding standards to the world of PL/SQL developers, I will add it to the webpage (after you send it to me).
The URL for my standards document is:
www.ToadWorld.com/SF/standards
Thursday, May 21, 2009
Why can't Dick Cheney just sink back into his "undisclosed location"?
Then his party loses the election, in large part precisely because his policies had wrecked more than one country in the last eight years, including ours.
You'd think he'd show a little humility in the face of this rejection, but no.
Instead, he seems to have taken it upon himself to hit the airwaves and share his grim, foreboding, scolding, destructive perspectives on the Obama Administration with the world.
Please, Dick, stop being a dick. Just shut up and go back to reaping the many financial rewards of steering billions in government contracts to companies in which you have a stake or some really good friends. Surely that should be enough for the closest thing to a Darth Vadur we have in this country today.
New blog on Quest Code Tester
The point of this entry, however, is to make sure you are aware of a new blog at ToadWorld.com focusing specifically on the topic of automated testing of Oracle code named "Real Automated Code Testing for Oracle." Here's the URL:
http://toadworld.com/Community/Blogs/tabid/67/BlogID/32/Default.aspx
I co-author this blog with Finn Ellebaek Nielsen, a Danish consultant who has been working with Oracle technology for a long time and is one of the most knowledgeable and advanced users of Code Tester I have run across to date.
You will find at this blog my introductory entry announcing the blog, plus Finn's first contribution. I hope you like it. Please leave a comment!
Regards, Steven
Saturday, May 02, 2009
Advice for dealing with ridiculous interview questions
My answer was: "Heck if I know. Check the Oracle documentation."
To which he replied: "Actually Oracle documentation does not mention anything about this. But this a favorite question asked during interviews for PL/SQL jobs in India."
A favorite interview question? How absurd! When I interview a person for a job as a PL/SQL developer (which I admit I have not done all that often). I am much more interested in:
Problem solving skills (MOST IMPORTANT): Can you think logically? If you are not well versed in symbolic logic (whether or not you know it as such), then it will be very difficult to solve your programming puzzles, debug your code, and understand other people's code.
Language familiarity (SECOND MOST IMPORTANT): Do you know about and have experience with critical, non-beginner features of the PL/SQL language, such as collections, FORALL, BULK COLLECT, AUTHID, autonomous transactions, etc.?
Awareness of limitations like the maximum number of triggers doesn't play any role in writing high quality code. In fact, one might argue that a brain filled with such arbitrary and irrelevant data is less likely to have a solid grasp of fundamentals and principles.
But if you really want to know the answer, the best way to check/prove the limit on the number of triggers you can define on a table is to test it with code (documentation can always be wrong, but the code is...the code...the "reality" within this particular chunk of cyberspace). Here's a script you can use to do just that:
SET SERVEROUTPUT ON
CREATE TABLE limits_table (n NUMBER)
/
DECLARE
n PLS_INTEGER := 1;
BEGIN
LOOP
EXECUTE IMMEDIATE 'create or replace trigger limits_table'
|| n ||
' before insert on limits_table for each row begin null; end;';
DBMS_OUTPUT.put_line ('Created ' || n || ' triggers!');
n := n + 1;
END LOOP;
END;
/
SELECT COUNT ( * )
FROM user_triggers
WHERE trigger_name LIKE 'LIMITS_TABLE%'
/
BEGIN
FOR rec IN (SELECT *
FROM user_triggers
WHERE trigger_name LIKE 'LIMITS_TABLE%')
LOOP
EXECUTE IMMEDIATE 'drop trigger ' || rec.trigger_name;
END LOOP;
END;
/
The result on Oracle Database 11g Release 1 was interesting: I ran this script while flying from Chicago down to Florida for Collaborate09. I started this script and many minutes later, I had to turn off the laptop since we were landing. By that time, over 5000 triggers had been created on the same table. Maybe I will run this later and let it run overnight, but really what's the point? No one is ever going to create that many triggers on a single table. Perhaps there is a lower, hard limit like 12 on Oracle Database 10g or earlier versions. Why don't you run this script on your database and let me know what you get?
To conclude, I suggest that if your interviewer asks you silly questions like this one, you should answer as follows:
"Why do you think it matters if I know this information? How will it help me be more successful on your team? And how do you know you've even got the right answer? Let's build a script to prove that the answer is right!"
Then whip out your laptop, throw together a script and show what a good problem solver you are. I guarantee you will have a much better shot at your job with this kind of answer.
Thursday, April 30, 2009
iPorn - are 100000000 "apps" really what we need now?
"I just spent 2 hours on the phone with Apple to get Outlook to sync calendars with my iPhone (still not done but I hope successful); now that will get you confused and wondering about your sanity for wanting that sexy phone..."
I wrote this response to her (then sensibly chose not to send it - no need to be rude!):
Ooooooh, an IPorn....:-) Sorry, silly "typo" - it does seem to me, though, that Apple products are essentially techporn. So sexy and cool - feeding our narcissism and absorption with superficial applications of technology. And the sleek, minimalist, modernist lines? I am sick of them. Give me some "good, old-fashioned" ornamentation.
I am not really a Luddite, but I have become decidely (or, at least, relatively) low-tech in my view on life. I have a cell phone, but it is just a phone - no camera, no MP3 player. I don't want a PDA, I don't want to stick things into my ears, I don't want to wall myself off from the world around me, escaping into a private space of infinite playlists, twits, and life-as-iPhone-app.
"Wow, I can blow into an iPhone and make it sound like a flute."
That is incredible, don't get me wrong. But really who cares? Or to put it a better way: is this really what we should be caring about these days?
Capitalism is Dead, Long Live the iPhone!
Wednesday, April 22, 2009
An interview with yours truly
Monday, April 20, 2009
Need to parse a delimited string? Use this package!
I recently enhanced the package to allow me to easily parse lists of lists, and even named lists of lists. Rather than just "bury it" inside the demo.zip, I thought I would tell you about it on my blog and give you a direct link to the code.
My objective is to reduce the possibility that any other PL/SQL developers will ever need or want to take the time to build their own parsing utility. Oracle PL/SQL should, of course, provide such a program for us. Sadly, it does not. Or, rather, it offers DBMS_UTILITY.COMMA_TO_TABLE, which is so eccentric and limited in its functionality that I find it embarrassing.
So....the parse package offers three different overloadings of the string_to_list function:
PACKAGE parse
IS
SUBTYPE maxvarchar2_t IS VARCHAR2 (32767);
TYPE items_tt IS TABLE OF maxvarchar2_t INDEX BY PLS_INTEGER;
TYPE nested_items_tt IS TABLE OF items_tt INDEX BY PLS_INTEGER;
TYPE named_nested_items_tt IS TABLE OF items_tt INDEX BY maxvarchar2_t;
FUNCTION string_to_list (string_in IN VARCHAR2, delim_in IN VARCHAR2)
RETURN items_tt;
FUNCTION string_to_list (string_in IN VARCHAR2
, outer_delim_in IN VARCHAR2
, inner_delim_in IN VARCHAR2
)
RETURN nested_items_tt;
FUNCTION string_to_list (string_in IN VARCHAR2
, outer_delim_in IN VARCHAR2
, name_delim_in IN VARCHAR2
, inner_delim_in IN VARCHAR2
)
RETURN named_nested_items_tt;
END parse;
Here are examples of using each one:
DECLARE
l_list parse.items_tt;
BEGIN
l_list := parse.string_to_list ('a,b,c,d', ',');
END;
DECLARE
l_list parse.nested_items_tt;
BEGIN
l_list := parse.string_to_list ('a,b,c,d|1,2,3,4', '|', ',');
END;
DECLARE
l_list parse.named_nested_items_tt;
BEGIN
l_list := parse.string_to_list ('letters:a,b,c,d|numbers:1,2,3,4', '|', ':', ',');
END;
The package also contains helper programs to display the contents of lists and compare collection records for equality. This latter function is utilized by Quest Code Tester to automatically test the package. The zip file contains a Code Tester export file (.qut) that you can import into Code Tester 1.8.3 or higher and verify the behavior of these programs. Currently, 1.8.3 is in beta and you can download it here.
I hope you find them useful! If, of course, you find a bug, please let me know so I can fix it. Even better, add the test case that reproduces the bug to the Code Tester test definition, then fix it yourself and send me all of the modified files.
That would be a really friendly thing to do. :-)
Sunday, April 19, 2009
What a strange life I lead
So I am in seat 31B of an American Airlines 777. That means it is an exit row coach seat with a big open space in front of me. Even better, 31A is empty, so I have "spread out", my laptop is plugged into the power outlet, and I am very pleased with myself.
What? Pleased? Having to sit in an enormous metal cylinder hurtling through the air at 542 miles per hour?
Yes. I just realized that I am actually enjoying myself, because I am getting a lot of work done. Specifically, I am editing chapters for the fifth edition of Oracle PL/SQL Programming (available in September 2009, covering all features of Oracle PL/SQL through Oracle Database 11g Release 2). Earlier, I fixed several bugs in Quest Code Tester, revamped my Best of PL/SQL course materials in advance of my two day training on this topic in Salt Lake City next week.
On an eight hour flight back to Chicago, I probably manage to get about 5-6 hours of work accomplished. I am actually more productive on the plane than I am in my own home office. Why? Fewer distractions - most notably, I cannot check my email. So I can't respond to my emails. I can't go online and play my games of chess (at GameKnot.com, a really wonderful site if you happen to enjoy chess).
Given how much I travel on American Airlines (over 230,000 miles in the last two years), I can get upgrades pretty much whenever I want. But I also realized recently that as long as I can get one of these row 31 aisle seats (31B or 31H), I'd rather not upgrade. If I do, I am fed more often, it takes longer to eat, and I am more tempted to drink alcohol. I get less done and in no more comfortable an environment.
This is what my life has come to.
Well, I suppose it could be worse. :-)
Friday, March 27, 2009
A chat with some of my favorite people: the makers of PL/SQL
I talk about what I am doing with PL/SQL and what I see out there in the big world of PL/SQL developers. They talk about what they are doing with the language, and where they see it going. They usually even pretend to give consideration to my viewpoints! Aw, just joking. They are most respectful.
Now that Oracle Database 11g Release 2 is well into its Beta Program, most of the developers at Oracle HQ are hard at work on the end-game activities -- while some are already starting to plan the content of the next major release. It was great to have the chance to talk, strictly off the record, with Charles and Bryn about their ideas for the next big steps in PL/SQL, and to put forward some of mine.
And while I cannot go into any details, I can tell you that it is very clear that Oracle remains committed to supporting and enhancing the PL/SQL language in very substantial and, in at least one case, for me, quite surprising, ways.
I can also report that the team generally pays attention to input from their users (PL/SQL developers). Not only that, but the ideas proposed and voted on at ILovePLSQLAnd.net are treated with the utmost consideration. So please, please, please....if you have not yet visited this website, please do immediately and vote on the PL/SQL enhancements you feel would benefit you the most. When Oracle Database 11g Release 2 becomes generally available, I will update the list on ILovePLSQLAnd.net to show what has been implemented.
And, as always after a meeting with my friends on the PL/SQL team, I am reminded of two things:
1. How glad I am that we have people of their caliber (real computer scientists) planning out and implementing changes to PL/SQL - and not people of my caliber (that is, largely self-trained and quite amateurish by comparison).
2. That for many years to come, PL/SQL will continue to be a truly fine language in which to write software and implement business requirements.
So, happy coding, my fellow PL/SQL developers! Rest assured; our future selves will be more productive and ever more pleased with the language with which we spend so much of our time.
Thursday, March 05, 2009
Random reactions to Consumer Reports' Auto Issue
No, real men get all excited when they hear that Consumer Reports is about to publish its latest Auto Issue.
Consumers Union (publisher of Consumer Reports, consumerreports.org and many other invaluable resources) is an amazing organization. They exist for one reason only: to provide unbiased information to consumers to help them buy the highest quality, safest, most reliable product that best fits our needs. CU accepts no money from corporations, and certainly nothing from the companies that create the products CU evaluates. CU has no axe to grind, no reason to do anything but totally objectively test and analyze stuff, to help consumers get the best deal (not necessarily the lowest price).
Companies are even barred from using CU results in their own advertisements (usages like "Look, CU says our car is the best!" are quickly challenged in court - and won).
The Auto Issue offers detailed evaluations of hundreds of cars, both new and used. It is a must-read for anyone planning to buy a vehicle (not that there's much of that going on these days). I definitely do not plan to buy a new car. I hope to never again have to buy another car again, in my lifetime. At least not one that uses gasoline. But it is still fun to read.
Here are some things that caught my eye:
- First the cover: at first glance, it looks like many other magazine covers. Lots of bright colors, very nicely laid out, etc. But there is something really different about it: right on the cover, next to the titles of articles and sections in the magazine, are the page numbers on which those articles appear! Page numbers? Radical! Usually, magazines hide page numbers so you have to leaf through the magazine to find the article of interest, coming across ads in the process. Since Consumer Reports has no ads, there is no reason to do that.
- On page 15, CR offers "Automaker report cards", overall scores of brands (Honda, GM, Hyundai, etc.), rather than particular models. Honda is #1 with a score of 78. 95% of the vehicles tested are recommended by CR. Incredible. Second is Subaru, with a slightly lower score but 100% recommendations (disclosure: we are a Subaru family; my wife loves the all-wheel drive). Toyota is third. Out of the 45 brands shown on the page, four of the last (lowest scores) five brands are Ford, GM and Chrysler, in that order. And, horribly, CR could not recommend even a single Chrysler model. That is just downright embarrassing.
- Oddly, the cover shows a Honda Fit as the "top value" for 2009, but in its "Top Picks" section, the Fit does not appear. CR must have some very interesting algorithms for making its choices.
Best thing to do is subscribe online: just $26 a year gives you full online, searchable access to all of CR's information. You will recoup that small investment many times over, both in terms of money and value for you and your family.
One final comment: I believe that CU has the potential to radically transform the distribution of power in our capitalist society. Today, corporations push products at us, convincing us to buy their stuff mostly through manipulation (ads), coercion (high pressure sales) and ignorance (most Americans are poorly educated, non-critical thinkers). With CU, you can ignore the ads and focus solely on the data; at a minimum, you can use CU to avoid purchasing unsafe, nasty, poorly-designed products.
I strongly urge you to join CU today, and help make it more effective, able to test more products and take more action to protect consumers. It will be the best investment you make in 2009. I guarantee it.
Thursday, February 26, 2009
Hard to blog through sadness....
I wish, though, that that's all it was.
Instead, I have had a hard time returning to my blog because on February 2, a 23-year old friend of my son, who we have known since he was six, committed suicide by jumping from the top of his apartment building.
His suicide hit me hard, not only because I knew Jeff when he was little (we hadn't actually seen him for more than a few passing words and minutes for the last several years) and because his father was a good friend of ours. But also because it has been hard for my mind to not stray into thinking what it would have been like if Eli (same age, many similar general life circumstances)....
And then my mind shuts down in pain and horror, and I move away from those thoughts, leaving just emptiness, sadness, and little motivation to gush about the bright corners of the world.
Friday, January 23, 2009
Scrabble Oddities
Thursday, January 22, 2009
Ah the blatant cynicism of Israeli leadership
http://news.yahoo.com/s/nm/20090122/ts_nm/us_palestinians_israel_swap_1
I find it somewhat astonishing....here's what struck me:
** One of the main justifications that Hamas used to resume its rocket attacks is that Israel violated the truce the whole way through by not relaxing the blockade and allowing Gazans economic freedom and growth so they could live normal lives.
** One of the main aims of the latest awful attack on Gaza was to decimate Hamas leadership.
** Then Israel unilaterally calls an end to its hostilities, clearly driven by the desire to not have an active war going on as Obama is inaugurated. Plus its attacks on civilians, civilian infrastructure and THE UNITED NATIONS became so blatant and revolting that even Israel could not withstand the international condemnation.
** Now they refuse to relax the blockade for anything but minimal flow of humanitarian aid (all agencies complain that they cannot get what is needed into the strip) until Shalit is released!
** And it looks like they are agreeing to release 450 "senior militants" of Hamas, previously they had balked at this.
So...they find yet other ways to continue to collectively punish all Palestinians in Gaza, which strengthens Hamas and weakens Abbas. And they will now send back into Gaza a previous generation of leadership of Hamas, that will now step forth and become the NEW generation of leaders.
Isn't this just insane? Is there any reason to really honestly believe that the Israeli government and military is interested in anything but keeping this conflict going?
After spending years (from 2001 to 2007) working obsessively on this issue (Not In My Name, Junity, Refuser Solidarity Network), I have come to the following conclusion:
If you want to try to predict what will happen next in the Israeli-Palestinian crisis, then just imagine the worst possible scenario. That is almost certainly what will unfold. So here is my prediction:
Israel wants to make life so horrible for Palestinians in the Gaza Strip (effective imprisonment through military blockade and deprivation of 1.5 million people) and West Bank (effective imprisonment through the "Security Wall" and endless stealing of their land through "settlement" expansion) that some small, but growing number of Israeli Palestinian citizens will choose (feel driven to) violence (suicide bombings) to protest.
Then Israeli Jews can claim that they tried everything, but even their own fellow citizens who are Arabs will not let them live in peace. And then the ethnic cleansing of Palestinians from within the current boundaries of Israel may commence - thereby ensuring the "Jewish democratic majority" (ah, the oxymoronsn!) of Israel.
Well, I sure am ranting today, so I will finish it off with this:
I believe that the greatest existential threat to the State of Israel comes from the Ameerican Jewish community, whose leaders and organized constituents treat Israel as a kind of Golden Calf, idolizing it and serving as apologists for it, no matter how awful its actions.
And this blind support for Israel will allow it to dig itself into a deeper and deeper hole, until it becomes a true pariah state. Hey, but at least it will be "Jewish."
TEXT OF YAHOO ARTICLE
After Gaza war, Israel sees Hamas prisoner swap
By Dan Williams
JERUSALEM (Reuters) After battering Hamas in the Gaza Strip, Israel now hopes to push through a prisoner swap to retrieve a soldier held by the Palestinians since 2006, Israeli officials said Thursday.
They said Israel was conditioning any lifting of its Gaza blockade on immediate progress in Egyptian efforts to free Gilad Shalit, and would be willing to relax its objections to a list of Palestinian prisoners which Hamas wants released in exchange.
The Islamists demand amnesty for 1,400 inmates, including 450 senior militants. Israel long balked over the latter group, saying their release would sap Palestinian President Mahmoud Abbas's peace strategies by bolstering rival hardliners.
But after its 22-day offensive against the Hamas administration in Gaza, Israel appears to be more flexible.
"There is a sense that we can afford to relax our criteria on the prisoner release, as any benefit to Hamas would be more than offset by the damage it sustained in Gaza," said one Israeli security official.
The official said Prime Minister Ehud Olmert wanted to clinch a deal before he is replaced in a February 10 election, though it was not clear whether the Israeli security cabinet could approve all of the names on the Hamas release roster.
Addressing reporters Thursday, Olmert said: "I believe that the military operation in Gaza created levers that can help in speeding the return of Gilad Shalit ... I will not elaborate."
Security cabinet minister Binyamin Ben-Eliezer told Israel's Army Radio that new discussions on a possible prisoner swap had not yet taken place. He added: "I am among those who would be willing to pay the highest price for Gilad's return."
EGYPTIAN MEDIATION
A top Israeli defense official, Amos Gilad, travelled to Cairo Thursday to discuss ways of consolidating a January 18 truce which ended the Gaza offensive. Security sources said Gilad would raise Shalit in his talks with the Egyptians.
The Gaza offensive killed 1,300 Palestinians, many of them civilians, and wrecked the impoverished strip's infrastructure.
Western powers have since called for Gaza's borders with Israel and Egypt to be more open, while supporting Israel's demand that Palestinian cross-border rocket salvoes cease and that Hamas arms-smuggling from the Egyptian Sinai be choked off.
Israel stepped up the crippling Gaza embargo after Hamas, which won a 2006 Palestinian election, seized control of the territory in a brief war with Abbas's forces the following year.
The Israelis rule out restoring normal operations at Gaza's border crossings unless there is a deal on Shalit, an army conscript seized by Hamas-led gunmen in a June 2006 border raid.
"I'll tell you this here, in plain Hebrew: apart from (the passage of) humanitarian goods, there will be no crossings (opened) without Gilad Shalit," Ben-Eliezer said.
(Additional reporting by Nidal al-Mughrabi; editing by Andrew Roche)
Wednesday, January 07, 2009
Entering the new year with a bang
As you no doubt are aware, Israel has once again attacked with missiles, bombs, artillery, tanks and ground troops one of the most densely populated areas in the world: the Gaza Strip.
Ostensibly, this was done to stop the rocket attacks from Gaza. Only the most apologistic of Israel's supporters really believe this. These attacks have been going on sporadically for years, with very few casualties (though every single death is awful and anyone authorizing the firing of those rockets against civilian targets should be considered a war criminal and brought to the Hague for a trial).
Now with Israel's latest application of the fifth most powerful military force in the world, not only have over 100 Palestinian women and children been killed, but more Israels have been killed in the last ten days than in the several years previous.
And does anyone really think this will stop the rocket attacks? I don't think there is a chance of that happening as long as Israel continues to treat Gaza as the world's largest open air prison, controlling (and greatly restricting) access to food, medical supplies, energy, etc.
Anyway, most seasoned observers think this invasion has more to do with upcoming Israeli elections, and the need for Labor (whose head is now the Minister of Defense - Ehud Barak, who is in my mind another war criminal who should be sent to the Hague) to show that it can be as tough on the Palestinians as the most right-wing Likudnik.
I am sure that is at least partly true. I believe, however, that the invasion and destruction of Gaza is first and foremost intended as a message for incoming President Obama. Israel (its civilian and military leaders, in any case) is showing that it controls events when it comes its own sphere of dominance. It is saying to Obama "We decide what happens around here, not you."
It is, really, quite a big and obnoxious "f#%k you" from Israel to Obama.
Think about it. With this invasion, Israel has forced a change in the agenda for the incoming President. Obama must (and intended to) focus on the economy and spend political capital immediately to get a recovery plan in place (one that helps more than financiers).
Yet now he must address the violence in Gaza, and what will he do? Is he going to do or say anything that is critical of Israel, thereby risking a firestorm of criticism in his first days in office? The Israel apologists will go ballistic: "See, we told you! He is no friend of Israel." No way. He is going to eat it, all of it. He is going to acquiesce to Israel's terrible and terrifying destruction and killing of innocents. He will join the chorus blaming Hamas entirely. And in doing so, he will send a clear message to the Arab world: expect nothing different from me when it comes to Israel.
Leaving Israel (its screwed-up, "kill now and kill later" leadership, in any case) to go further down the path to stoking flames of hatred, ensuring war, and diminishing its chances of survival as a Jewish state.
Poor Israel. Just when it most needs a real friend, it will force that potential friend to become merely another servant to the cause of Jewish extremists.
Friday, December 12, 2008
Time to celebrate!
It marked the last day of 2008 that I will enter or leave O'Hare Airport.
According to American Airlines, I traveled 128,053 miles on their jet planes this year.
Terrible way to spend a life. Well, of course, it could be much worse. I have little about which I could complain in my life. Except for being away from family, friends and home.
Now, however, I am home. It is freezing cold outside my home, but warm inside. I am happy and content.
I will not, should not have to return to O'Hare until January 12 -- and that will be for a trip to Puerto Rico.
Not so awful, I suppose....
A whole class of truly stupid television commercials
By showing them just how wonderful HDTV will be.
And how do the TV manufacturers do that? You (Sony, Panasonic, LG, etc.) buy time to run ads promoting your incredible products.
So here I am, sitting on my couch, watching ads in order to get back to the Daily Show or the Colbert Report (the only regularly scheduled TV I watch). And on comes an ad for HDTV.
The ad features lots of bright colors and vigorous motion and loud sounds.
"Wow!" I guess I am supposed to exclaim to my wife. "Isn't that HD great? I sure wish I had a TV that could show me those bright colors and let me hear all those incredible sounds...."
And then since my wife is not a guy and therefore not easily captivated by gadgets, she might say back to me:
"Dummy! You like those colors and sounds? Well, you're watching all that on your own television, right now."
Hmmm. I am suspicious. Is she playing a trick on me? My Primitive Man Brain wants a new shiny skinny high-def TV. But my Rational Man Brain has a hard time arguing with her logic.
And don't you, too? Isn't it a bit ridiculous for companies to promote the radically new and better resolution of an HDTV on a non-HD TV by showing how much better it will be?
Monday, December 08, 2008
A very odd job
The maker of the World of Warcraft does not allow you to do this, so of course a "black market" arose to fill the need. Here's the quote from Wired magazine about this:
"Internet Gaming Entertainment, or IGE, made hundreds of millions of dollars as middleman for Western gamers eager to outsource the boring aspects of play to low-wage third worlders. The people who founded the company realized that scarcity of time and scarcity of virtual resources created a whole new market."
and....
"Despite the game companies' widespread prohibition of such transactions, their number has grown to support an estimated $2 billion annual trade, a half dozen multimillion-dollar online retail businesses, and an enormous Chinese workforce earning 30 cents an hour playing MMOs and harvesting treasure to supply the major retailers."
Now that is a very odd job: sitting around and playing videogames specifically to accumulate "treasure" that can then be sold to people who are able to attach a greater value to their lives than the "enormous Chinese workforce."
We live in a very strange world. For the full article:
http://www.wired.com/gaming/virtualworlds/magazine/16-12/ff_ige
Saturday, November 29, 2008
Sister and Moshe: a phase of our lives ends
Back in August, we put Moshe to sleep. He had diabetes and we have long sworn that we would not become caretakers (and, frankly, financiers) for deathly ill kitties. [Note: I wrote this originally in March 2008. Moshe then managed to live till the end of July, far longer than expected. We finally had to euthanize him, because he had lost half his body weight and we had to leave for an extended holiday. The vet clearly felt that we had already waited too long and he had likely been suffering. We felt bad.]
Sister died last year, just kind of stopped eating and then stopped breathing, once her thyroid medicine had no discernible impact.
They were both about fourteen years old at time of death.
Even though Mica is left, she is a rather late arrival to our home, having rescued her some five years ago from the home of our older son, Chris. A rescue was necessary because Mica was born with only three functioning legs and lots of internal organ abnormalities. Extensive surgery kept her alive, but the other two, big, black, aggressive cats in Chris' home made her life a bit uncomfortable.
Here's a picture of Mica.
So we took in Mica, but Sister and Moshe had been with us since Eli was seven, just after we moved into our Rogers Park home, and they were a part of our lives for a long, long time - and almost all of Eli's growing up.
And so I thought I would pay homage to Sister and Moshe.
Sister showed up one day in our backyard, just wandered in, almost certainly looking for food. She was a beautiful gray cat and she was impossibly skinny. Must have run away from her home or gotten lost, and didn't really have the hunting skills necessary to live on mice and rats outdoors.
Eli was obsessed with dinosaurs in those days. He put together dinosaur skeletons from kits, read magazines about dinosaurs, and so on.
Sister was so skinny that when Eli saw her, he said: "Mom, that cat looks like a dinosaur!" because her bones were stuck out so sharply.
Veva had some leftover salmon in the refrigerator. They fed it to the starving cat and she decided that there was no reason to leave our backyard. We took her in and Chris named her "Sister Itsacat."
She was always something of a standoffish kitty. She couldn't handle being brushed at all- I don't know if she was the victim of some abuse or maybe her skin was just too sensitive. Her fur was certainly very fine and soft. But she liked to be petted and was very willing to be held. She would just melt over your arms or shoulders. Here's a nice picture of her. And another.
Moshe, well, he was a very different sort of cat.
Soon after moving to Rogers Park, we started spending time at the Nature Center, a small enclave of a park surrounded by residential neighborhoods, a senior citizens home (actually a large complex of building), a university, and a cemetery. We volunteered there, helping to maintain the trails, and visited for holiday celebrations. The Center itself boasted a small "zoo" of sorts, with a variety of animals found on the property (and usually in need of some medical assistance). It was a wonderful place to be able to take a young boy, growing up in an urban environment like Chicago.
One day when we visited, we found that there were several brand new kittens in the Center. Their mother was a feral cat at the park and rather than have a small gaggle of wild cats growing on the property, they decided to find homes for the kittens. Moshe was one of those kittens.
When we first took him home, he was so small, he could sleep curled up inside Veva's slipper. He was tiny. But it was clear from the very start that he had no intention of staying that way. Sister had a fine appetite, but she didn't act as if eating was the most important activity of her life.
Moshe, on the other hand, was so enthusiastic about eating that he would mush his face into the bowl of food, chomp chomp chomp, and come away with food shmushed all over his face. His enthusiasm quickly paid off. He got big and he got fat.
And he was definitely the Alpha Male of the house, to which this photo can attest.
Yet he always remained at heart a kitten. Even when he clearly tired and arthritic, when getting up and down stairs was clearly painful for him, if I took out a string and dangled it in front of him, he would push himself up and go after that string. I could even get him to chasing his tool (well, when he was young, he really did chase his own tail, but when he was older, he chased the string around and around in a circle).
Moshe would have loved to play with Sister, but she was never the least bit interested in playing with him. In fact, she was very upset when we brought him home. She was never excited about sharing her home, and her salmon, with other cats.
Mica was definitely interested in playing with Moshe, but by then he was a good bit older and it was never clear if he liked playing with her or simply tolerated her. She was (is) much more lively, even with only three legs to hop around on. Plus, we removed both Moshe's and Sister's front claws, but didn't have the heart to do the same thing to Mica. She really only has just one weird claw on one paw.
So Mica would dance around Moshe, taunting him, poking her claw out, and finally Moshe would respond, and they would engage in a short dance. The dance would usually end by Moshe falling over onto Mica. Not much she could do about that, being about 1/4 of his body weight.
So...why, you be wondering, did Veva call Moshe the "Baby Seal Cat"? Because he had this endearing habit of lying on the floor and pulling his front legs up so that looked like a seal.
Moshe really enjoyed life. He enjoyed eating. He enjoyed sleeping. He enjoyed bullying the other cats, especially when it came to food. He like being vacuumed and was very well behaved generally whenever we needed to do anything to him (give him medicine, wash him, etc.). He loved to go out to the backyard and hang out in the sun. And if he somehow made it out of the yard, he never ventured far. This home was all he knew and it fit him just fine.
Sister had a taste of the world beyond our yard and if she got out, she could certainly end up at least several houses away. She was good at chasing down rats and mice, even without front claws. We finally erected an eight foot privacy fence around our house so we could let the cats out into the backyard and they would likely stay in the yard, though Sister would occasionally still find her way out.
Mica was totally a house cat; we could barely even get her to step out the side door and experience the wind on her face. That made her a very smart cat, since she would have been pretty much helpless in the face of the most mild of predators.
Our cats enriched our lives, but also made Veva and Eli perpetually at least a little bit miserable, since they were both allergic to cat dander. Sigh...so now that Sister and Moshe have died, and Mica has moved on to a new home, our house is pet free and pet dander free (well, mostly), but also a bit empty feeling.
Maybe someday we will bring a hypoallergenic animal into our lives. But for now....we will be pet-less.
You can find all my photos of our pets here: http://flickr.com/photos/60694364@N00/sets/72157610386826763/
And this is a nice one of Moshe and Sister together: http://flickr.com/photos/60694364@N00/3067977619/in/set-72157610386826763/
Wednesday, November 26, 2008
A wonderful trip to Portugal
We had a really wonderful time. Carlos and Joao of Dutec were fantastic hosts, very generous with their time, taking us out to dinner each night, taking care of all the details of our stay, putting us up in a very nice hotel, the Villa Rica. One evening, we went to a restaurant with fado singers - that was a great experience!
And in Porto, Manuel of University of Porto put aside his many responsibilities to show us around this beautiful, very old city (continually inhabitated by humans since 1300 BC!). We even got to meet his wife and daughter (Margerita was one of the highlights of my trip!), as well as that of his developer (and first winner of the OPP Test a Thon), Filipe de Silva. Filipe's 14 month old son, Francisco, was a tremendous amount of fun.
You can see photos from our trip at:
http://flickr.com/photos/60694364@N00/collections/72157609008492753/
Of course, Veva and I also visited Pasteis de Belem, home of some of the finest pastries I have ever tasted in my life (and blogged on previously, including my poem dedicated to these pastries).
A very fine trip, due primarily to our wonderful hosts. Thanks again, Joao and Carlos!
Two thoughts about the economic meltdown
One thing about the government bailouts make me happy: for years, our so-called leaders have told us that there simply isn't enough money to pay for universal health care, decent education for our children, repairing our infrastructure...and many other services that would help millions of our own citizens.
Well, now we know that is all bullshit. Because when the banks and financial services companies started to fail, suddenly there is more than enough money to shower on these Titans of Capitalism. And the extraordinary numbers thrown around in this bailout make the cost of things like universal health care seem downright reasonable.
So I say: if we are going to put our children and grandchildren deeply into debt, let's do it in a way that benefits them and not just a handful of fat cats on Wall Street.
TWO
GM, Ford and Chrysler CEOs come to Washington begging for $25B in bailout funds and they are raked over the coals - justifiably. "Where's the plan? How do we know you won't come back for more?" Now, I have mixed feelings about this bailout; these companies are so badly managed. But their collapse will be catastrophic for our economy. At least, however, there was a reasonably public debate over the use of public funds.
But Congress said go away (and come back later with a plan). Oh, and the Bush Admin expressed opposition to giving the Big Three this money.
Days later, after no public debate, no Congressional hearings....Citigroup is handed another $20B of taxpayer dollars. What is their plan, I wonder? How can a company that does nothing but push bytes around in different computers (that's what financial services mostly comes down to, doesn't it?) get a free ride when GM does not?
It's almost as though the Bush Administration is more concerned about making sure rich people stay rich than middle class and poor Americans keep their homes. Huh.
Catching up with old trips
http://flickr.com/photos/60694364@N00/
I am sorry that I do not have comments about these photos (some don't even have real names). I hope you can simply enjoy the images....
Friday, November 14, 2008
Time for another vote!
THAT MAKES ME SO VERY HAPPY.
I don't expect that he will be able to reverse the decline of the American Empire, but he sure is a sight for sore eyes and ears and brains and conscience. And to think that Americans could see their way to electing a non-white old male to be their President. I am more hopeful than I have been in a long, long time.
Anyway, that election is done with and now I am writing to ask your help for another election: vote for my son, Chris, in a remix competition! Chris sent out this email today, and I pass it on to all of you.
From Chris Silva, http://chrissilva.com
Hello friends, fam and recipients of my spam!
I know many of you may not have heard from me in quite a while since I've been in serious hermit mode and taken a considerable break from the business of visual art and the relentless hustle that is needed to sustain that career. But I'm back and asking for your support in my venture to make music a more solid part of my existence. I have realized that creating music is too important an aspect of who I am and it would be fantastic if it could start bringing in some income at some point too.
So here's where you come in!.
Below is the link to my entry to this Roots "Criminal" remix contest:
http://www.indabamusic.com/submissions/show/3621
So please hook me up with a vote! Just click the link above and press "vote for me" on the page you are redirected to. Then, if I make it to the top 25 then I can actually compete in a real remix competition.
The determination of winners for this first round is really lame (didn't realize this until after the fact)…basically a self-promo battle for votes. I guess the judges didn't want to have to listen to 310 remixes to determine what was actually good. But I worked hard on my track and feel its good enough to be in the top 25, so I'm giving it a shot.
The top 25 finalists will advance to Round 2. For Round 2, The Roots will make another track from Rising Down available to be remixed by the 25 finalists, and thankfully there be 3 judges making the final decision.
Oh, and "L.C. Rivers"...that's me. Lavish Catastrophe Rivers is an anagram of Christopher Tavares Silva and is what I'm using as my music production identity.
Much love to all!
Chris...
http://chrissilva.wordpress.com/
Sunday, November 09, 2008
Play games to become a better developer
Software development is one heck of a serious job. It turns out, however, that there are several games you can play to improve the quality of code you write. This is the second of two blog entries that introduce you to two of my favorite brain development and training games: Set and Mastermind. Play either (preferably both) of these games, and you will write better software. [ Note that I do not include Solitaire in this list. Playing this game will definitely not help you become a better developer, but it will pass the time. ]
For the full explanations:
Part 1. The Game of Set
Part 2. The Game of Mastermind
Enjoy!
Sunday, October 26, 2008
McCain is oh so proud of cute, little Sarah
As in:
"I'm so proud of the way she ignites the crowds. The way she has conducted herself in my view is incredibly admirable," McCain said.
Let's suppose for a moment that McCain hadn't plucked Palin out of relative obscurity (at the urging of the ultra-right in this country, most notably Rush Limbaugh, who started pushing for her as the GOP VP candidate back in February 2008).
Suppose he had picked Mitt Romney or Rudy Giuliani.
Can you imagine John McCain saying over and over again:
"I'm so proud of Rudy, the way he responded to 9/11."
Doesn't that sound just a wee bit condescending? Like McCain is her dear, old Uncle, patting her on the head?
Wednesday, October 08, 2008
Doing SQL in PL/SQL: a key resource from Bryn Llewellyn
Bryn surely has the most thorough and clear understanding of the PL/SQL language of anyone I have met (definitely including me).
His talk was detailed and precise (and maybe just a little bit overwhelming. He needed twice the time allotted) on this most important topic.
The bad news about this talk is that most PL/SQL developers will never be able to hear Bryn present it.
The good news is that everything he talks about (and more) may be found in a newly published whitepaper of the same name.
Simply visit the Oracle Technology Network PL/SQL Homepage and click on the hyperlink for that paper.
Notice also that Bryn has published an in-depth whitepaper on SQL injection, a very serious and widespread security risk in many applications.
Sunday, October 05, 2008
Quick Tip: Oracle11g function result cache
Suppose you have a table that is queried frequently (let's say thousands of times a minute) but is only updated once or twice an hour. In between those changes, that table is static. Now, most PL/SQL developers have developed a very bad habit: whenever they need to retrieve data they write the necessary SELECT statement directly in their high-level application code. As a result, their application must absorb the overhead of going through the SQL layer in the SGA, over and over again, to get that unchanging data.
If, on the other hand, you put that SELECT statement inside its own function and then define that function as a result cache, magical things happen. Namely, whenever anyone in that database instance calls the function, Oracle first checks to see if anyone has already called the function with the same input values. If so, then the cached return value is returned without running the function body. If the inputs are not found, then the function is executed, the inputs and return data is stored in the cache, and then the data is sent back to the user. The data is never queried more than once from the SQL layer - as long as it hasn't changed. As soon as anyone connected to that instance commits changes to a table on which the cache is dependent, Oracle invalidates the cache, so that the data will have to be re-queried (but just once). You are, as would be expected inside an Oracle database, guaranteed to always see clean, correct data.
Why would you do this? Because the performance improvements are dramatic. In the 11g_emplu.pkg script (available in the demo.zip at PL/SQL Obsession), I compare the performance of a normal database query via a function to a function result cache built around the same query and I see these results:
Execute query each time Elapsed: 5.65 seconds.
Oracle 11g result cache Elapsed: .30 seconds.
Isn't that just amazing and incredible and wonderful? Here's the original version of the function (over 5 seconds):
PACKAGE BODY emplu
IS
FUNCTION onerow (employee_id_in IN employees.employee_id%TYPE)
RETURN employees%ROWTYPE
IS
onerow_rec employees%ROWTYPE;
BEGIN
SELECT *
INTO onerow_rec
FROM employees
WHERE employee_id = employee_id_in;
RETURN onerow_rec;
END onerow;
END emplu;
and here's the result cache version:
PACKAGE BODY emplu
IS
FUNCTION onerow (employee_id_in IN employees.employee_id%TYPE)
RETURN employees%ROWTYPE
RESULT_CACHE RELIES_ON ( employees )
IS
onerow_rec employees%ROWTYPE;
BEGIN
SELECT *
INTO onerow_rec
FROM employees
WHERE employee_id = employee_id_in;
RETURN onerow_rec;
END onerow;
END emplu;
Can you see the difference? Not much of a change, right? I just added that single RESULT_CACHE line. And notice that I would not have to change any of the code that was already calling this function.
Here's the bottom line regarding the function result cache: get ready now to take advantage of this feature. Stop writing SELECT statements directly into your application code. Instead, hide your queries in functions so that you can easily convert to result caches when you upgrade to Oracle11g.
Friday, October 03, 2008
Sarah Palin, the lipstick-coated, pitbull-mannered Stepford Wife
And she will do it in an aggressive, condescending manner that indeed makes one think of a pitbull with lipstick and very nice $400 eyeglasses.
Doggone it, but she reminded me so much of a Stepford Wife. She just didn't seem entirely human.
Well, that does it, then. I will vote for Obama.
Tuesday, September 30, 2008
Could they at least APOLOGIZE for f#@king up our country?
And for those same years, the media and our elected officials bowed down to the so-called leaders of our great nation: Alan Greenspan, Warren Buffet, T. Boone Pickens and the other exorbitantly-paid CEOs who steered the great ship of the greatest example of the wonders of capitalism. They could do no wrong, they could not earn enough money, and they bristled whenever anyone talked about maybe giving the middle class a tax cut. ("Class warfare!" went the cry)
And for those same years, we doubters of the wonders of the "free market" have been vilified and mocked. Naive! Communist! Ignorant!
Now, sadly, it must be said: We were right. We of the left, we of the Naive Class, we Americans who never believed that a CEO was worth 500 times the value of a software developer in his company, we bleeding hearts who could never accept that 40 million Americans must have no health care, that tens of millions must go unemployed, that children should go hungry in this country: we were right.
And our so-called leaders were wrong. And not just wrong. Complicit, greedy, corrupt and arrogant.
These days, it is the arrogance that gets me the most.
They are so used to running everything their way, that no one even feels the need, the sense of human decency, to apologize.
Alan Greenspan, who allowed the economy to drift into this horrible state, is no wise man. He is a smart man who knew how to get his bread well buttered. And he does not apologize for his part in this mess.
William Jefferson Clinton, who signed into law deregulation of the financial industry that made this collapse inevitable, is no friend of the people. He is a brilliant politician who always sided with Wall Street. And he does not apologize for his part in this mess.
All those CEOs (from both failed and failing companies), who filled their boards will yes-men and yes-women who agreed to the most obscene pay packages, are not wise men. They are greedy bastards who will not apologize for their parts in this mess.
Keep it up, Leaders of the Free World. Make no apologies, accept no blame and stuff your pockets with every dollar bill (or euro) in sight. Then build some really big walls.
Because if the collapse continues, and if the bailout mainly bails YOU out, then I predict that the American people will shed their sheeps' disguises. They will come boiling out of their homes, full of anger and desperation, and I wonder if any of the walls you build could be tall enough to stop them.
Sunday, September 14, 2008
Another aspect of the Bush Legacy
A world-wide race to arm rather than feed our citizens....
The Times, citing Defense Department sales data through the end of August, reported that countries newly reliant on the United States as a primary major weapons source included Argentina, Brazil, India, Iraq, Morocco and Pakistan and former Soviet republics Azerbaijan and Georgia.
Together the countries signed $870 million worth of arms deals with the Bush administration from 2001 to 2004, but in the past four fiscal years the total had increased to $13.8 billion.
From $870M to $13.8B! Fortunately they are going to the most stable and democratic of nations, so we don't have to worry that someday some of these weapons might be used to kill our own citizens.
Seems like George W (or, to put a finer point on it, Dick "Watch Your Head" Cheney) is making sure that all of his friends in the military-industrial complex will be taking dumps in solid gold bathroom fixtures for the rest of their unnatural lives.
Thursday, September 11, 2008
A week in life of Travelin' Steven
On Monday morning, I caught an 8:30 AM flite to Los Angeles (a four hour trip). After a two hour stopover, I boarded a 777 to Tokyo. That took 11 hours. After a two hour stopover, which I spent in the wonderful Japan Air Lines First Class Lounge (fantastic massage chairs and the most wonderful service), I got on a 747 bound for SIngapore. Seven hours later, we landed (just after midnight). At 1 Am, I was in my Carlton hotel room on the 7th floor, skyped over to Veva to say hello, yes I made it alive and sane, and then it was time for bed. Woke up at 7 AM (before the darned alarm went off).
By 8:30 I had walked the few blocks in humid, warm (but not yet hot) weather over to the Suntec convention center and up to room 208. There I spent the next 8.5 hours presenting on PL/'SQL technology to 102 Oracle technologists, some 15 of which had even flown in from Thailand. That all went very well, even though Clara of Quest (that rare very competent person who also maintains a vigorous sense of humor) introduced me using a photo of yours truly from the waist up, at age 18 months or so, completely naked. Very cute, eh? Very unusual. I can't really imagine what all the attendees thought of that!
Back to the hotel for a quick workout at the fitness center, then off to dinner with a handful of other Quest Software fellows at Jumbo Seafood in the East Coast Park, where we feasted on the signature Singapore dish: chili crab (and lots of other delights). Then Jason drove me to the Changi airport for a 10:40 PM flight back to Tokyo. Oh, joy.
I really wanted to sleep overnight, but I couldn't drift off. I couldn't get an upgrade for the Singapore-Tokyo flights on Japan Air Lines, and my legs don't like hanging down and stretching out from a regular coach seat. That was too bad. So seven hours later, we disembarked at 6:15 Am at the Narita airport in Tokyo, and I was very tired, in a daze. Back to the First Class Lounge, where I spent the next nine hours waiting for the 4 PM flight to Los Angelos. I spent over an hour total in the massage chair, and had a real (but short - 10 minute) massage by a masseuse, that was very nice.
Then I flew 11 hours back to LA, picked up a rental car, drove to Aliso Viejo where my employer is headquartered, and am now sitting through 1.5 days of meetings, then I fly back home to Chicago on Friday evening.
So let's total this up....between Monday and Friday I will have spent spent:
* Less than 23 hours in Singapore.
* Just two nights in a bed.
* About 45 hours up in the air.
* At least 60 hours in transit (in the plane, waiting for flights, going to and from airports).
That's just crazy. And that's my life, though usually it isn't quite this ridiculous. And I really am going to stop doing all this traveling pretty darn soon. Just not in 2008.
I hope you are all enjoying sleeping in your own beds!
Saturday, August 09, 2008
Butterfly and Leaf - a poem
Butterfly and Leaf
Moca Finca, August 9, 2008
Copyright 2008, Steven Feuerstein
Flickering shadow
of a butterfly
catching the sun
seeking out color:
Alive, for a time.
Fluttering shadow
of a leaf
losing the sun
losing the branch:
Dying, in separation.
My eyes
can't tell the difference.
Living or dying,
the shadow is the same.
It communicates,
it hides.
My eyes
move on,
seeking a shadow
I can trust.
Sunday, August 03, 2008
Getting weary, so weary: Big Oil's biggest quarter ever: $51.5B in all
By JOHN PORRETTO, AP Business Writer Fri Aug 1, 5:11 PM ET
HOUSTON - Oil giants Chevron Corp. and Total SA wrapped up a string of gargantuan, record-breaking earnings reports Friday, a stretch in which six of the major international oil companies topped $50 billion in combined profit for the first time.
While the profits of unparalleled size have brought withering criticism from Washington and disgust from consumers across the country, very few were surprised. Crude prices during the second quarter were nearly double what they were a year ago.
====================================================
It is getting so so hard to even pretend that we live in a democracy. In what sort of democracy do its citizens allow corporations to suck us dry as they repeat the mantra of "supply and demand"? In what sort of democracy does its citizens allow a runaway, renegade, ultra-right government (which admits to hating government and wanting to privatize all) take all our tax dollars and hand them over to banks, financial "services" companies, military-industrial wacko companies like Blackwater - either when they actually blow it so badly they fail or pay off our legislators to hand them big fat no-bid contracts?
The US is not a democracy. It is a plutocracy, with manic edges of theocracy. And it is wearing me down.
I say: start doing some worse case planning.
What are you going to do with they start charging for air?
What are you going to do when the infrastructure of the country collapses (bridges, roads, etc.) and while they continue to pour our tax dollars down black holes of the War Against Extremism, they raise our taxes to theoretically repair that infrastructure (but then another suicide bombing requires another war - sorry, no infrastructure)?
What are you going to do when gas hits $10 a gallon?
If you don't plan for it now, you will be screwed, totally screwed, very soon.
And that is my mid-summer rant. See ya....
Monday, July 21, 2008
My Oracle Open World Schedule
Session ID: S300184
Hope to see you there!
Wednesday, July 09, 2008
How we fill the shopping malls
But when I do go shopping, I am startled by how full the parking lots are and how busy the shops are.
After all, consumer confidence is almost as low as the approval ratings for President Bush. Everyone but the rich are suffering badly and broadly, losing their homes, declaring bankruptcy because a child or parent falls ill, and so on. So how can we Americans keep on buying stuff?
An article in the Tribune confirmed my suspicion (full text at end of this entry): many Americans have simply given up on the idea of ever digging themselves out of their debt hole. So what the hell? Use the credit card! Load it up! Get another one and load up that one! Buy a big LCD TV. Buy a new cell phone. Hey, buy an iPhone! Pay my bill? Maybe. I sure hope so. But since my outstanding balance is already $12000, what difference does it make if I bump it up to $14000 or $20000? Oh and when I have to take my child to the emergency room because I couldn't afford preventive doctor visits, I will put that on my credit card, too. If they will let me.
What a doomed nation....
Borrowing with credit cards surges
Consumers boosted their borrowing in May, mostly reflecting heavy credit card use to finance their purchases.
The Federal Reserve reported Tuesday that consumer credit increased at an annual rate of 3.6 percent in May, roughly the same pace as logged in the prior month.
The pickup pushed total consumer debt up by $7.78 billion, to $2.57 trillion.
The increase was led by much stronger demand for revolving credit, which is primarily credit cards. Use of revolving credit rose at a 7.1 percent pace in May, a month in which a flow of tax rebates helped to energize consumer spending. In April consumers cut back on such credit at a 0.5 percent pace.
Still, the longer-term trend shows that consumers have been charging more of their purchases on credit cards as banks have tightened lending standards on other types of loans.
"Consumer spending was so large in May that consumers used their income tax rebate checks and brought out the plastic as well," said Chris Rupkey, chief financial economist at Bank of Tokyo-Mitsubishi in New York. "This double-dipping approach cannot keep the consumer afloat forever."
Demand for non-revolving credit used to finance cars, education and other things, meanwhile, slowed to a 1.6 percent increase in May. That was down from a growth rate of 6.1 percent in April and was the slowest since December.
Overall, revolving debt jumped $5.69 billion during May and non-revolving debt increased $2.09 billion.
The Fed's measure of consumer borrowing does not include any debt secured by real estate, such as mortgage or home equity loans.
Consumer spending accounts for more than two-thirds of economic activity.
Friday, June 27, 2008
A confession regarding the Second Amendment
I still am, but not because I disagreed with them. My dismay is that this decision (really, more the decision to decide on this issue) demonstrates how far along the radical right agenda for this country has proceeded. From the packing of the Supreme Court with the likes Thomas of Scalia, to the extreme politicization of the Justice Department, to the privatization of our military, the Bush Administration is hurrying the American people along to a very dark and troubling place.
Having said that, I have come to accept that I agree with the decision of the Supreme Court regarding the Second Amendment. I do think it is reasonable to conclude that the Second Amendment does support the idea of individuals bearing arms, owning a gun.
I think it is reasonable because the Second Amendment is weirdly ambiguous and terribly ungrammatical ("A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed."). As a result, there will never be a clear path to banning arms for individual use entirely.
I also believe it is reasonable given its context. The founders of our nation fought a revolution against tyranny and you can't do that with water pistols. If individuals are not allowed to own weapons, then how can we defend ourselves against a government that takes away our freedoms (like the Bush Administration is doing) and is ready to use state violence against us to accomplish their goals (what the Bush Administration is not yet doing on a widespread basis)?
No, I think we should all accept the reality that given our constitution and bill of rights, we must allow individuals to own weapons -- but not all individuals and not any weapon (this is pretty much what Scalia said in his statement as well).
The problem in our country is not the Second Amendment and not the idea that an individual can open a weapon. The problem in the US is that we allow extremist, fundamentalist zealots to set policy.
We should concentrate all efforts on removing NRA influence on our legislators (and more generally end corporate and lobbyist bribing of our politicians) so that we can have sane, reasonable laws passed to enact tight controls on gun ownership in this country.
Saturday, June 07, 2008
Without logic we are truly lost...
Logic is also tightly linked to critical thinking: it is hard to tell when somebody is pulling the wool over your eyes, when you cannot logically identify flaws in their arguments. When, however, your brain is well-trained to move from assumptions to conclusions via clearly defined rules of logic, it is much easier to (a) solve problems, (b) challenge bogus arguments, and (c) avoid voting against your own self-interest.
I ran across a great example of such manipulation through explicit violation of logical thinking in the latest issue of Discover magazine. The title of the article is "Medicine's Magic Bullets?" and it is another in a seemingly endless stream of seriously bad news regarding the way that pharmaceutical companies lie and manipulate "research" data to get FDA approval for their drugs. Before I get to the part about logic, here's one quote to give you a feel for what I am talking about:
"One reason many doctors overlook risks and believe statins to be safe is that most controlled studies of stains wind up excluding people who originally began to participate in a study but stop taking the drug because they experience problems with it; these test participants are then dropped from the study as 'non-compliant.'"
Please do stop for a moment and think about that.
OK, now on to my main point regarding logic: this article talks about how pharmaceutical companies can camouflage unfavorable results through "combination end points."
Hmmm. "Combination end point" - what might that be? Well, a drug can be tested for multiple outcomes, such as heart failure and blood pressure. That surely sounds reasonable.
But then we learn that:
"By combining two or more of these outcomes to create a single category, you can say it helped 'A and B' even if it only helped A and not B. For example, although there was no statistically significant effect from tPA in the NINDS trial on the number of patients who died, there was a small decrease in disability for those who survived. With those two factors combined, there was technically a decrease in the combination end point of 'death and disability.'"
I would like to think that at this point, the mouth of any and every software developer reading the above paragraph will be hanging open in disbelief.
For those who might still have their mouth closed, allow me to explain:
When you say "A AND B", that is only true if both A is true and B is true. If either are false, then "A and B" is also false. If, on the other hand, you assert "A OR B", then only one of the two need to be true to render the whole statement true.
So when the author writes "you can say it helped" and "technically a decrease", I have to ask myself: precisely who can say that the statement "A AND B" is true even if B is false? And what technology is being referred to there? The technology of anti-logic?
I am shocked first of all that Discover's author would not explicitly point out the fundamental logical flaw of this "combination end point" bullshit.
And I am afraid, very afraid, for a nation in which...
* a critical regulatory agency like the FDA can accept such blatantly false thinking as a path to approving drugs which can and do kill people on a regular basis.
* citizens can read such things and not realize that they are being treated with disdain, are beging manipulated and, ultimately, put at risk of illness and death in order to improve the profit margins of corporations like Genentech (the maker of tPA, which is the main subject of the Discover article).
Friday, June 06, 2008
My presentations at Oracle Open World 2008
Session ID: S300183
Session Title: Break Your Addiction to SQL!
Session ID: S300184
Session Title: Weird PL/SQL
Session ID: S300185
Session Title: Why You Should Care about Oracle11g PL/SQL Now!
Hope to see some of you there!
SF
Wednesday, May 14, 2008
"Clinton exposes Obama's vulnerability: white voters" DUH!
The Forum: Clinton exposes Obama's vulnerability: white voters
And my reaction? Well, duh....
I have to admit that I am surprised and inspired by how far Obama has gotten in the presidential race (and it does look like he has actually garnered the Democratic nomination. Simply amazing). I think it is a reflection of at least these two factors:
** A major change in the attitudes and basic life perspectives of young people (and by that, I - almost 50 years old - mean anyone under 35 or so). From talking to my kids, their friends, and others, I really do get a sense that they see things differently. That race and gender and just plain difference is not such a big deal to them. And that the way things have been done in the past have only led to rather awful situations that do not give them confidence in existing leadership.
** The depth of revulsion and disgust that so many Americans have for the Bush Administration. Bush, Cheney and others have lied through their teeth, manipulated us, I am certain broken many, many laws, caused the deaths of more Americans than were killed in the 9/11 attack, and are directly responsible for the deaths of tens of thousands of Iraqis. Clinton voted for the war and has not even found the basic decency to apologize. The Pentagon is sucking up so much of our money that our country is falling apart.
So why not, many people seem to be saying, why not try something - and someone - new? [And while Clinton being a woman is new, Clinton the politician is nothing new.]
Having said all that, the US is still a very racist country. OF COURSE there are hundreds of thousands, maybe millions, of Americans who cannot tolerate the thought of anyone but a European-American male being the President. Even if that anyone is so obviously smarter, more eloquent, more thoughtful, more compassionate, more honest than our current President.
So, OF COURSE, the fact that Obama is NOT WHITE is a key "vulnerability" for the man.
But what is less obvious and much more alarming is the fact that Clinton has decided that she should capitalize on this vulnerability and play the race card as she (and her husband) has. We have come to expect Willie Horton attacks from the Republicans. But Clinton has run a campaign that has me (and, it seems, many others) questioning her ethics and judgement.
I suppose that if through some miracle or disaster Clinton did get nomination, I would still vote for her - though it is getting harder and harder to acknowledge that.
What I do find odd is that so many Clinton supporters vociferously claim that if (when) Obama gets the nomination they will not vote for him.
Why wouldn't they vote for him? As far as I can tell his most frequent response to Clinton's attacks is to criticize them as "political silliness." Obama has generally taken the "high road" and maintained a sense of personal dignity. Why would a Clinton supporter punish him for their own candidate's lousy performance?
Ah well....hopefully soon this will be past. Obama will be the Democractic nominee. Clinton will vow her support. He will then pick a white male with a solid national security background. And then he will engage in electoral battle with a man who, while a very pleasant and likeable guy (he actually enjoys visiting Jon Stewart on the Daily Show - can you imagine Bush doing that?) also promotes truly awful policies, worse than Bush in some ways.
Wednesday, April 09, 2008
Lost (or perhaps gained) in translation
Chenyang Commodity World Using
WELCOME SHOPPING CHENYANG SE-
RIES HARDWARE TOOL ASSEMBLED.
THIS SERIES PRODUCT ADOPT ADVA-
NCED JOINT PACKING, CLARITY AND
AND HANDSOME,DAMPROOF,CONV-
ENIENCE TRANSPORT.
THIS SERIES TOOL HAVE COMPLETE
VARIETY,CREDIBLE QUALITY,BROAD
PURPOSE.
I especially like "DAMPPROOF" and "CREDIBLE QUALITY."
Monday, April 07, 2008
Favorite photos....
http://www.flickr.com/photos/60694364@N00/sets/72157603882863063/
Friday, April 04, 2008
Battery Water
Electricity: all by itself it is totally amazing and must rank as one of the great modernizing inventions of humankind, but getting it from the sun? Even more incredible, wonderful, sensible, liberating. And yet....we are still living in a world of conflict and poverty that in many owes itself to our oil/carbon-driven economies. There is so much talk about dependency on oil, so many tax dollars spent to subsidize ethanol - which takes more energy to create then it produces! and is disrupting corn-based food economies....and yet a.
All the technology exists so that at least in sunny environments, governments could lead a major conversion to solar power.
It's all very frustrating. But that's not what I meant to write about in this blog. I want to talk about "battery water" - a very ridiculous scam.
Batteries like the ones we use in our solar power system, and also those used on motorcycles, etc., need to be "topped up" on a regular basis with water. Water that goes in a battery, hence, battery water. Our batteries were getting dry, so we went to a Pep Boys auto store and found a gallon of battery water for $3.99. I looked at the label. It said that the water does not contain any minerals and also that it is "not for human consumption." Wow. Water that people can't or should not drink. And it doesn't contain minerals.
Well, I kind of knew about some other water that doesn't contain any minerals - distilled water. So I went online and looked up information about water that is supposed to go into a battery. And it turns out that this special "battery water" is, indeed, distilled water!
So we went to Walgreen's, where they sold us distilled water for the price of $.99 per gallon. One quarter the price of battery water.
And that is the point of this blog: if you need to put water in your batteries, DO NOT BUY "BATTERY WATER." It is a rip-off and nothing more than a repackaging of distilled water.