What is the the cheapest health insurance for an individual? The only thing it has to cover is the Obamacare tax.
Not only does this code have stupid constants, it has stupid code:
SELECT NVL(MAX(XXX_BATCH_JOB_R),0) INTO nBatchNo FROM XXX_BATCH_JOB_CONTROL WHERE XXX_BATCH_JOB_N = sBatchName;
IF nBatchNo = 0 THEN
WHEN NO_DATA_FOUND THEN
:= nBatchNo + 1;
8 similar references to these variables:
LPAD (NVL (preBatchNo,0),6,0) ||
LPAD (NVL (nBatchNo,0),6,0)
Some_Func(sBatchName, nBatchNo, v_updtPgm, nretcode);
There are no other references to these variables.
What is wrong with this code? Let me count the ways:
- The IF statement checks the 0 condition, even though 0 will work just fine.
- If it equals 0, it sets it to 0. Why?
- An EXCEPTION clause is used.
- The EXCEPTION is impossible, as MAX() is an aggregate function, and aggregate functions always return data
- The return is stored in one variable then immediately moved to another variable.
- The new new variable has a non-sensical name.
- The new variable breaks the Hungarian notation used elsewhere.
- The new variable is used eight times with formatting, and no where else. But the formatting is not done in the variable tiself.
- The new variable is always used with the old variable, for formatted output, yet they are kept separate.
- Both variables are NVL()ed over and over again, even though that was handled at the beginning.
There are other issues, such as the lack of a SEQUENCE to truly have unique numbers. But, those are trivial compared to the absolute stupidity of the block itself.
So how should that code have been written?
SELECT NVL(MAX(XXX_BATCH_JOB_R), 0) INTO nBatchNo FROM XXX_BATCH_JOB_CONTROL WHERE XXX_BATCH_JOB_N = sBatchName;
:= LPAD(preBatchNo, 6, 0) || LPAD(nBatchNo + 1, 6, 0)
Between the block and the NVL()s, i feel that the original coder was a blockhead that added no value at all.
I am looking at a stored PROCEDURE as it takes too long to run. Besides the CURSORs, DECODE()s where NVL() should be used, and a UNION, there exists this stupidity up front:
csSpace CONSTANT CHAR(1)
cnZero CONSTANT NUMBER(1)
How many things can you spot that is just plain wrong with that?
- It uses the misunderstanding of Hungarian notation.
- It uses Hungarian notation for a constant
- The constant is not an uppercase
- The contant says what its value is, as opposed to it itself is
- It uses CHAR(1) (In Oracle VARCHAR2 there is no benefit to CHAR over VARHAR2)
Why is it that good programmers exist only in forums and newgroups, but not in the real world?
I was looking for a job and an interview required references. I decided to put down an erstwhile supervisor and coworker, but only after aksing their permission. They both agreed, and i never heard back from that (first) place. (Not because of bad reviews, the head hunter explained they were excellent.)
A bit later, the supervisor called back with yet another supervisor, ready to hire me. He strongly recommended me to her, and she was willing to go with that. Asked if i wanted to be hired or contracted, i wanted to wait to answer, but they realized that as i only have a BA and not a BS, it would be better to contract and perhaps ask to be hired later. Fair enough.
I went for the interview which was toned down due to the recommendation, and the three supervisors (large project) seemed okay with me. Then the technical guy came in and asked me if i knew the things that the supervisor knew i did not know, and i answered accordingly. The idea was, since it's database related, i can learn it (quickly). I have a good track record learning the tools, and actually understanding what is going on.
Well, he nixed me. The supervisor was still going to hire me for an as-of-yet unknown position, after she got back from her two-week vacation. Indeed she did, and i started yesterday.
As she had no position for me, the other supervisor (the one i have worked for in the past) decided to pull me onto his project. The application was slow to begin with, expansion to Mexico made it even slower, and now with Europe on the map, it'll probably be redesigned, mostly because the database was not designed for it. Being that is my expertise, he wants me to do the redesign. Pretty kewl.
So, he (old supervisor) asked her (new supervisor) to move me to his project. Alas, she has finally found something for me to do. So, it's 50/50; working on two projects. The sense seems to be that she will hire anew, and i will switch to working for him 100%.
I was supposed to meet the two supervisors at 9am on Monday. I rented a car for the week, drove down the familiar road, and forgot one turn (different building). I called him after 9 asking for help, and he asked who was supposed to meet me. Well, that's kind of good. Noone "realizes" i am late on the first day. When i entered the building, he was waiting for me, he showed me to the other supervisor, drove me to get my badge, and showed me to my seat.
Getting the badge was simply enough Sit down and have her take a picture of me. She asked if i wanted to see it. As i didn't care, she went on to print the card.
I don't remember what it was, but my supervisor made some comment and i smirked. As soon as the lady saw that, she said something like, "ok, sit back down, we're taking your picture again, just keep smiling." She showed me the first picture too. I was less concerned about my facial expression, but my shirt and coat seemed a bit out of order. It's better on the second card, but i'm uneasy about that ridiculous smile.
Yesterday, i was asked to help someone with the website taking over a minute to load a particular page. When i asked to see the query, he said it was handled by toplink and he could turn on logging. While we saw which actions took time but the queries were still hidden. We were not getting anywhere.
When it was time for lunch, i explained our two options. One was to guess what the queries would be, see if they are slow and tune them, create an SP or VIEW, and have toplink call that instead. Or, find out where the appropriate loggin option is. I gave him my email address (work) and cell phone (personal, as i didn't have a work yet) to contact me when he wanted to continue, and i haven't heard from him since.
I got my phone, but am waiting for the computer to be replaced with the one i am supposed to be using. In the meanwhile, i cleaned the desk, drawers, keyboard, mice, and anything else with 409, and tidied up the wires with rubberbands. Other than that, there isn't much to do. When i get my computer, i'll have to customize it heavily, especially to get Windows 7 to be more like XP, which, for me, has increased functionality in the start menu and explorer. I'll probably install Libre Office so as to avoid the Office 2010 ribbons, which moved things sround so i can't find anything anymore. I'm so happy i switched to the mac at home.
I brought my Kindle to read during this expected downtime. I am a bit scared that i will lose it. Amazon will not track or deactivate ir (so i have read) and there really isn't a good way of identifying the device. With a cell phone you can at least call someone in the phone book asking them whose phone it is, but the Kindle has a first name. Even with a full name, it wouldn't say how to contact the owner. Perhaps i ought to put a sticky note on it. For now, i bascially leave it in my coat pocket.
Updating the Kindle here, though, is harder. Tryng to connect to the wifi results in an error, "Enterprise or peer-to-peer Wi-Fi networks are not supported." I guess i would just bring a USB cable here, But it really isn't that important.
So, i sent an email from their website:
Metal Slinky http://www.walmart.com/ip/Metal-Slinky/882938#Q%26A+Exchange
says the price is $3.00. The description says "Clearance! Was $1.86" Isn't that backwards? Because it went to clearance the price went up?
The response i received was
Can you please send us the link where you found the promotion.
To answer the question, i sent back
The site is Walmart.com: http://www.walmart.com/ip/Metal-Slinky/882938#Q%26A+Exchange
In red letters where it says Clearance! Was $1.86"
to which i received:
We sincerely apologize for the inconvenience but we are unable to do price match at this moment, please email us at firstname.lastname@example.org.
Did i miss something?
I use apologies, sorriness, and remorsefulness as three different things.
Apology is an explanation, as in Plato's The Apology. The sign in the image above that explains what happened is an apology. The usefulness of an apology is that the apologizer felt a need to give one, that is, he values the person he is apologizing to, and respects them enough to explain himself.
Sorriness is saying you feel bad that the other person was affected adversely, not that you would have done otherwise. The " This is much better" message is an example of it. The usefulness is to let the person know that you care.
Remorsefulness is (explaining that you are) feeling bad about what you did. The usefulness is to let the person know that you are humbling yourself by admitting guilt.
These three things are very important as not all situations call for all three. Indeed, sometimes using the wrong one can made a matter worse.
Apologizing is excellent when coming late (the first time), not doing things as expected, or any time the person on the receiving end feels belittled. When it is obvious that the apologizer does not care, does it quite often, or thinks apologies make everything better as if whatever-it-was never happened, the apology tends to infuriate the person.
Sorriness is to let people know you care. For example, when hearing something bad happened to someone else that you had nothing to do with "i'm sorry" means you care and means a lot to the receiver. Doing something you think is correct but adversely affects the other person, for example, a doctor taking blood or giving a shot that hurts might say "i'm sorry but this will hurt". In other words, i do not regret the action, but i feel bad that it will hurt you.
Remorsefulness is expected when people have their values slighted. A convict may be given a more lenient sentence if he shows remorse, a child may be forgiven if he really does feel bad that he broke the friend's toy, a relationship can be salvaged this way as well. Remorsefulness is the hardest of the bunch because the person must humble himself, a quality not often found in society.
The method of remorse is really based on the relationship the two parties have. The idea is not the words but the conveyance of actual humility. As this is based on many factors including the people involved, the amount of time taken between the offensive action and the expression of remorse, and the gravity of the offense, no real guidelines can be explained. Some can be via email, some cannot, though perhaps it can be a first step.
Moving slowly along in trying to read Galen's De temperamentis in English, i came across Distributed Proofreaders which aims to proofread texts for Project Gutenberg. They have groups of people, some willing to type in projects before the proofread, though those projects are slow and not always accepted.
I was pointed to a page on proofing old texts which addresses some of the issues i thought were typographical errors. There are still those, but knowing the conventions of the time helps quite a bit.
The Kickstarter ideas seems to be a no go, though it seems is doable on Amazon's Mechanical Turk (sandboxed job). There is difficulty in the conventions used, and that many are not too acquainted with Latin. Typing it in as is seems okay, except the accented letters which are not on everyone keyboard. The Mac makes it easier with Characters (cmd-ctrl-space) which allows to save favorites and is easy to work with, but still it would encumber a fast typist. Learning the rules seems complicated and hard to check if done correctly, but perhaps using the base letter (English alphabet) plus a semicolon would work, much like the "q;" as a "que mark".
I was about ready to go there when i was pointed to the Distributed Proofreads possibility, which is where i am stalled. If that doesn't work out it is possible i may yet turn back to Amazon Turk.
I love Amazon because of the product reviews. Even when Slashdot was promoting the Amazon boycott over the 1-click patent, i mentioned (can't find my comment,
Here's a couple that caught my attention recently. While looking for a bath overflow cover, this comment has a better idea. This product does indeed grow mold, look at the customer images on the left side of the main picture.
I was looking at comments on using a Kindle in the tub, where it was mentioned (seems to be a common idea) to put it in a ziplock bag to protect it from the moisture (which gets into the debate whether the buttons or swipe is better to turn pages).
I learn a lot from Amazon comments, the 1-stars often tell you what people are complaining about, and the 5-stars many times counter the complaints and have useful comparisons. The 2s, 3s, and 4s, similarly are helpful. I think Amazon's comments are what make Amazon such a great retailer. Well, not the only thing, but, even if i purchase something elsewhere i will go to trusty Amazon to find out the real deal.
How Hollywood Can Capitalize On Piracy. Nicely written article, with a bit of history and research.
Playing the Game of 10. Make 10 from the numbers. Rules are pretty easy, and includes undo and replay. It starts in the tutorial as extremely easy, then gets harder and harder.
This excerpt from Civilization in Transition (The Collected Works of C. G. Jung, Volume 10), page 20, paragraphs 27 and 28 is both right and wrong (italics, his):
One is reminded of the story of a young rabbi who was a pupil of Kant's. One day an old rabbi came to guide him back to the faith of his fathers, but all arguments were in vain. At last the old rabbi drew forth the ominous shofar, the horn that is blown at the cursing of heretics (as happened to Spinoza), and asked if the young man knew what it was. "Of course I know," answered the young man coolly, "it is the horn of a ram." At that the old rabbi reeled back and fell to the ground in horror.
What is the shofar? It is also the horn of a ram. Sometimes a symbol can be no more than that, but only when it is dead. The symbol is killed when we succeed in reducing the shofar to a ram's horn. But again, through symbolization, a ram's horn can become the shofar.
Well, this time i did it! A site claims to have the script which seems ok. The ending is:
"I, the undersigned, shall forfeit all rights, privileges, and licenses herein and herein contained, et cetera, et cetera . . . fax mentis incendium gloria culpum, et cetera, et cetera . . . memo bis punitor delicatum!" It's all there, black and white, clear as crystal! You stole Fizzy Lifting Drinks. You bumped into the ceiling which now has to be washed and sterilized, so you get nothing! You lose! Good day, sir!
The Latin, translated via Google Translate, reads:
and so on, and so forth. . . the glory of the burning fire was the fault of the torch of the mind, and so on, and so on. . . memory twice punishing nice!
Not sure what it means....but, mission accomplished. And, searching for the Latin phrase on google, does indeed bring it up easily.
One thing i enjoy when reading psychological books, is the authors' tendency to wax poetic. It may be an uncommon occurrence, but they are oh so much appreciated.
Here's one i recently came accross in From India to the Planet Mars, Page 293 (Appendix Two, P. 72)
I avow that I really regret a little the day when I would have to see in the mediumship of Mlle. Smith the authentic revelation of real experiences, rather than the beautiful subliminal poem that I have admired up to now.