DISQUS

DISQUS Hello!  The comments on this profile are unclaimed and thus are unverified.

Do they belong to you? Claim these comments.

John Flack's picture

Unregistered

Feeds

aliases

  • John Flack
  • John Flack
  • John Flack

John Flack

3 months ago

in Requiem for the Computer Lab on Oracle AppsLab
I was at UVA in the early 70's. The computer lab (only one for the College of Arts and Sciences, probably one or two more in the School of Engineering) was filled with keypunch machines, and you would hand a pack of punch cards through a window to be run. Results in one or two hours - guaranteed, except at the end of the semester. Only people taking a programming class ever went there. Papers were written on a portable typewriter.
1 reply
Jake It's funny how fast technology moves. My freshman year, a couple people had those clunky word processors. By senior year, they had traded them in for desktops. A couple years after that, most freshmen were arriving with computers.

Punch cards sound fun. I think someone should recreate that experience at a geek museum. I'd pay for that.

7 months ago

in http://theappslab.com/2008/12/04/what-makes-ui-good/ on Oracle AppsLab
I'm not a Mac owner or a regular user of Macs, but my son and one of the project managers I work for have Macs that I have to troubleshoot occasionally. Like the default configuration of Ubuntu, Macs want you to do most of your system administration through your non-privileged user id. Well, not totally non-privileged, but the main user of the machine should have the privilege you need. To execute commands as root, you just preface the command with "sudo". You will be prompted to confirm with your password. You can continue to issue "sudo" commands for a period of time without giving the password again. If you MUST actually login as root, you can use "sudo passwd root" to change root's password.
1 reply
Jake Yeah, I'm aware of all that, including su, which I do occasionally on both machines when necessary. Windows started following the same scheme years ago too, i.e. requiring administrator privileges to install.

You probably know what a pain it is to login to XP as "Administrator", at least on the Home Edition, hidden by default and all with a blank password if I remember correctly.

So, the logic is common: abstract the power stuff as much as possible so if need be, troubleshooters can use the uber account. Crappy thing is once default passwords get in the wild and you don't change the uber account's password, you're basically hoping for the best, not preparing for the worst.

11 months ago

in XML Goodness in SQL - Part 1 on Eddie Awad’s Blog
I don't know how I missed HTTPURIType.getxml in the Oracle docs. It makes dealing with REST web services like the Google Maps API geocoder much easier. I'd been using UTL_HTTP, getting the data in pieces as a CLOB, then casting it as an XMLTYPE. This skips all that stuff. Thanks for pointing it out.

1 year ago

in AppsLab FAQ: How Do I Start a Community? on Oracle AppsLab
I'm glad that you said to join an existing community if there is one. I have a problem with both Oracle Mix and Oracle Wiki - each has forums. That would be good, if not for the fact that OTN already had excellent and active forums.

Say I want to ask a question, and get the advice of the best experts I know. Where should I ask it? On Mix? On the Wiki? On OTN? On all three? Asking the same question in more than one place is considered rude, almost spam-like. Say I am willing to answer questions. Which forums should I monitor? Answering questions is not my primary job - I do it because I want to help, and because I consider it a fair trade for all the questions that I've had answered. I cannot afford the time to read ALL the forums.

I wish that you and Justin and whoever monitors the Wiki for Oracle would get together and create ONE set of forums, and share them.
2 replies
Jake This is a valid point, and Mix was never meant to compete with OTN forums. Questions are Mix were never meant to be forums, i.e. they're not threaded, not organized by topic, not monitored by any official source.

The initial audience for Mix was Apps users, who don't really have forums. However, we saw high uptake from technical users and hence the overlap.

I would use OTN forums for asking/answering questions. Mix fills that gap for people who don't use forums.

As I mention in the post, OpenSocial will help alleviate this a bit because we'll be able to bridge the communities, including Eddie's, to some extent. Stay tuned for that.
davidhaimes John

I try to monitor comments on my blog, mix, a bunch of internal forums and OTN forums and twitter. OTN forums are more active, so I agree that's first choice.

It would be nice if they could be merged iwth mix, at least if I could post on an OTN forum as a mix user. Would be good to connect on mix with people I interact with on the forums, but I have no idea who user21993205 really is.

1 year ago

in Cool Undocumented OVERLAPS Predicate on Eddie Awad’s Blog
For many years I have had an OVERLAP_CNT(start_date1 date, end_date1 date, start_date2 date, end_date2 date) function in my CMP package, which is available on my website. This returns a 1 if the date range represented by the first two dates overlaps the date range represented by the second two dates, and a 0 if it does not. This allows you to use it in a sum() to count how many rows have an overlapping date range, or a where clause.

1 year ago

in The Lazy Developer’s Way to Populate a Surrogate Key on Eddie Awad’s Blog
Of course, Brian's innovation re-opens you to the problem you were trying to solve by writing the trigger. We have triggers like Brian's, but we have a procedure to re-set the sequence to one higher than the maximum PK. We run it any time we insert rows with developer specified PKs - this is mostly when we do an import from data that already has PKs that we want preserved because we are also going to insert rows into a table with an FK that references the PK.

As for triggers - I have a different opinion from Eddie - I LIKE to hide logic in triggers. That way developers can screw up their applications, but they CAN'T screw up the database. And it isn't really hidden - SQL Developer or TOAD shows you what triggers are there. I comment the heck out of them so you know WHY they are there.

1 year ago

in Oracle SQL and PL/SQL Bad Practices Document on Eddie Awad’s Blog
I've done both PL/SQL APIs to do DML and views with instead of triggers. The PL/SQL APIs are mostly generated by Oracle Designer and used for Designer Web PL/SQL application generation. We wrote our own APIs for a few applications and had a major problem with the ones we wrote because they use a parameter for every column in the associated table. This quickly becomes a maintenance nightmare - adding a new column means that you have to change EVERY module that calls the API. If you are going to write an API, Designer's format is better - two parameters that are PL/SQL records, the first a data record, the second a record with a boolean for each column telling whether to use this value in the DML.

But what I really prefer is views with Instead of triggers. You get all of the benefit of using an API, but you can use any tool that expects to be updating a table.

1 year ago

in Now We Know What TOAD Means on Eddie Awad’s Blog
Fortunately, you can turn off any tabs you don't want to see, or you can change to a tree-style display.

1 year ago

in Twitter Updates for 2007-12-27 on Eddie Awad’s Blog
You just went at the wrong time of year. My two sons and I went before ODTUG Kaleidoscope last June, and it was busy, but by carefully using the timed entry tickets, we rarely waited more than 15 minutes for anything. And we never waited for a restroom. I went one October and got on any ride I wanted with NO waiting.

1 year ago

in Quick Posts from Twitter - 2007-12-18 on Eddie Awad’s Blog
Congratulations, new citizen!

1 year ago

in Guess How Many Database Editions Oracle Has on Eddie Awad’s Blog
Oracle Lite isn't included because it doesn't have the same base code as the other Oracle editions that you mentioned. It is really another database product altogether, but with some capabilities that let you use it with a mainstream Oracle edition, like the ability to link to Oracle to get a snapshot and merge changes with the source table in Oracle. Think of it like Oracle RDB or Oracle TimesTen.

1 year ago

in Oracle People Wiki, Mark Your Spot on Eddie Awad’s Blog
I tried to add myself to the map, but within minutes, Dan Norris came along and moved me to Illinois. I have nothing against Illinois, but I've only been there once. I live and work in Northern Virginia. So I moved my marker back where it belongs, but it now had Dan's information on it. I'm going to leave it alone and see if Dan makes the marker his own. Then I may try to add a marker for me.

That is a major problem with the current state of the art in Wikis - they let users wipe out each other's changes. No transaction locking.

1 year ago

in More on Workspace Design on Oracle AppsLab
Joel Spolsky has an article on his observations about the way to get the best out of software developers. Read it at http://www.joelonsoftware.com/articles/FieldGui.... In his opinion, going from a cube farm to an open design is a step in the wrong direction. I'm inclined to agree. I have a semi-private office that I share with someone whose schedule overlaps mine by only four hours a day. Yet I'd gladly trade my semi-private with a window for a truly private office, even windowless. I want to be able to close my door and shut out the rest of the world when I'm concentrating hard on a tricky piece of code. I used to be in a cube, and it was worse - very hard to get anything done.

1 year ago

in Everything New is a Swimming Pool on Oracle AppsLab
In some ways, it is a good thing that ideas get blocked at every turn. It weeds out all but the most passionate inventors and thinkers, people who won't take no for an answer. It forces them to think it out more thoroughly, and to come up with answers for every objection. Some good ideas die before getting a good hearing, but it is also a good way to kill bad ideas. But when the obstacles get too big or too artificial, sometimes you have to take your good idea someplace else.

2 years ago

in 3 Useful SQL*Plus Tips on Eddie Awad’s Blog

I'd never seen the Q quoting mechanism, thanks for pointing it out. I've written some generators and gotten SO confused quoting quotes. I wrote some helper functions - one, oddly enough, is called Q, and simply puts single quotes around any string. So instead of: 'title:=''My Title'';' I write 'title:='||q('My Title')||';' This looks more complicated in the example, but when you have lots of this stuff, it winds up more readable. I also use REPLACE a lot.

2 years ago

in The Case of Better Readable Code on Eddie Awad’s Blog

That's a good argument for automated code formatting, Dave. I can reformat your code to look the way that I find most readable. Eddie - I use the code formatter that comes with TOAD - looks like it is the same one you use with SQL Navigator - interesting, but not surprising - both tools are from Quest.

2 years ago

in links for 2007-02-09 on Eddie Awad’s Blog

Good old maildemo! I've been recommending that one to people for several years. I've looked at UTL_MAIL for Oracle 10g, and it can do the basics, but it can't beat maildemo if your needs are at all complex.

2 years ago

in links for 2006-12-08 on Eddie Awad’s Blog

Nulls may be a problem to relational purists, but they are a practical neccessity for designing real systems for real people. The fact is that some values are in fact unknown. Will you prevent entry of the values that are known, just because some of the values are not known? And yes, nulls have their quirks (I wish that null=null), but the smart developer understands how nulls work and takes them into account.

2 years ago

in Bart’s Punishment For Asking Dumb Questions on Eddie Awad’s Blog

I rarely tell people to read the fine manual, and when I do, I tell them which manual to read and will often point them at the chapter. The main reason I will do it, is that sometimes the question reveals a basic lack of understanding that is hard to give in less text than is in the manual. A forum or mailing list is a great way to get information that can be delivered in a few paragraphs. But when you need more than that, only the manual, or a good book will do.

2 years ago

in Where Are You Women Bloggers? on Eddie Awad’s Blog

I have spoken at school career days several times, and I always tell stories of Lady Ada Lovelace and Admiral Grace Hopper. I want the girls (and the boys too) to know that women have been involved in IT from the beginning. But it is too bad that it is a man telling them this.

3 years ago

in links for 2006-06-30 on Eddie Awad’s Blog

I'm sorry, but I think Don Burleson's list of worst practices is far from the truth.


Normalization is not just for saving space and preventing duplicate data. It is a basic step that you MUST take to fully understand your data and your system requirements. It is essential for a flexible and easy to modify database. For instance, I have a database with physician names and addresses. I put the name and one address in a table. Now I am tasked to allow the entry of more than one address for a physician. Yes, I could add a second set of address fields, but what if we need to add a third address? What I should have done is normalize, and put the addresses in a separate table.


Can normalization be overdone? Possibly, but at least take your data to 3rd normal form, and if you decide to denormalise from there, know WHY you are doing it, what you expect to gain, AND what you will lose. That said, I am highly in favor of giving developers denormalised VIEWs of your normalised TABLES, with INSTEAD OF triggers to do the proper updates behind the scenes. This makes sure that the joins are written well, and that updates are unlikely to deadlock.


Which leads me to: Writing good SQL in your applications, plus updating statistics and having the right indexes is far more effective for database performance than tuning database initialization parameters. My experience tells me that, yes, improving an init.ora parameter can improve performance, but not orders of magnitude better performance. Tuning the SQL, and the database structures that support the SQL can give orders of magnitude better performance.

3 years ago

in 15 Reasons Why Books Have Problems on Eddie Awad’s Blog

Almost any work of fiction that I want to read is available in a small portable paperback format. Technical books are the problem: too big, fat and heavy. I would love to have them small and portable. I know that many are available in electronic form, but there isn't a single good electronic book reader device on the market. Cheap Laptops are too big and small light laptops are too expensive. Besides, a laptop is overkill if all I want to do is read a book. PDA screens are too small. When someone finally comes out with a light inexpensive e-book reader, with a screen as large and readable as a good quality paperback - I'll buy. If it can do double duty as a PDA - all the better.

Returning? Login