...now browsing by category


Moving On Again

Sunday, April 14th, 2013

I have changed employers, as if you couldn’t tell by the scarcity of posts over the last nine months! I am no longer working with Oracle Content Server. Other than the difficult to use Site Studio, I believe Content Server is a really great platform to drive data management. But all good things do come to an end eventually.

I am currently working with very large datasets on Oracle. I also write more shell script code, mostly Korn shell and also perl for more complex tasks. I was never a fan of perl, as many are not fans of Java. I have a new found respect for this all purpose Swiss Army Sledge Hammer!

I will more than likely be changing the title of this Blog as WebCenter Content is no longer the focus of my work. More likely to be Java/SOA and Quick Hacks to get the job done, or something along those lines.

For those that were curious, I actually took the photo that is displayed at the top of this Blog. This is one of my favorite catch and release fishing spots located just a few miles north of Lake City, Colorado. Hope to be back there soon!

Groovy, well, is just groovy.

Friday, June 15th, 2012

At some point in your programming career, you will probably need to use an MD5 hash. Most likely just to get the hash for a password.

One of the simplest ways is to use groovy. Here is the code. Don’t even need to put it in the download section. Just copy the code to a file and run it.

import java.security.MessageDigest

srcWord = "password"

if (args.length > 0) {
	srcWord = args[0]

println "src: " + srcWord
MessageDigest md5Digest;
byte[] digest;

println "\n****************************************\n"

/* MD5 Code */
md5Digest = MessageDigest.getInstance("MD5");
digest = md5Digest.digest();

// println "new BigInteger(1,digest).toString(): " + new BigInteger(1,digest).toString()
println "MD5: " + new BigInteger(1,digest).toString(16)
println "MD5/B64: " + digest.encodeBase64().toString()

println "\n****************************************\n"

/* Now do the same thing for SHA-1 */
md5Digest = MessageDigest.getInstance("SHA-1");
digest = md5Digest.digest();
// println "src: " + srcWord
// println "new BigInteger(1,digest).toString(): " + new BigInteger(1,digest).toString()
println "SHA-1: " + new BigInteger(1,digest).toString(16)
println "SHA-1/B64: " + digest.encodeBase64().toString()

println "\n****************************************\n"

/* Now do the same thing for SHA-256 */
md5Digest = MessageDigest.getInstance("SHA-256");
digest = md5Digest.digest();
// println "src: " + srcWord
// println "new BigInteger(1,digest).toString(): " + new BigInteger(1,digest).toString()
println "SHA-256: " + new BigInteger(1,digest).toString(16)
println "SHA-256/B64: " + digest.encodeBase64().toString()

println "\n****************************************\n"

/* Now do the same thing for SHA-512 */
md5Digest = MessageDigest.getInstance("SHA-512");
digest = md5Digest.digest();
// println "src: " + srcWord
// println "new BigInteger(1,digest).toString(): " + new BigInteger(1,digest).toString()
println "SHA-512: " + new BigInteger(1,digest).toString(16)
println "SHA-412/B64: " + digest.encodeBase64().toString()

println "\n****************************************\n"

Database Hick-up

Tuesday, May 22nd, 2012

I lost posts going back to November 2011. I have the titles, so I will try to recreate some of this content in the next few days. 🙁

Website launch delayed. It wasn’t me, really!

Thursday, August 18th, 2011

UCM website launch was delayed until September 6th. Now that there are containers and departments are responsible for their own data, the launch progress came to a crawl. People are finally realizing that there is work involved in owning your own data. What a surprise… NOT!

Still working full speed+ on the website, and it is looking good. Now if we could only speed up the searches!

So far, the best piece I coded was the lunch menu display. I used two jQuery plugins: A calendar component, and prettyPhoto. I display the food being served each day in schools in the jQuery calendar plugin. The data was created in an APEX application to populate the backend tables. A little materialized view magic later, and the data is available as a JSON feed from a service call to UCM using the IsJson=1 parameter on the service. I use pretty photo to display a list of food properties (similar to the side panel of a cereal box), and a graphic – also fed by a UCM service call. I’ll post the code for the calendar and popup display with a mockup JSON file for data in a few days. I spent way to much time getting this just right. Better to do a job right the first time, then to spend additional days, sometimes weeks coding again…

Site Studio

Thursday, July 7th, 2011

I’ve been really busy with Oracle Development work. To be more specific – UCM.

Just over two weeks to go before my employer launches a new UCM Website that is built with Site Studio. I think the most difficult part of this project was to not develop a site with any pre-conceived notion of how to do it, but to let go, and do things the Site Studio way. Still working on that part.

I believe we will have a successful launch, but I am not completely satisfied with the site. I really like UCM, but Site Studio puts way too many limitations on the contributors who must enter in the content. I’m sure many Oracle folks may balk at that, and yes, there are many easier ways to edit data, but they are fairly pricey and we just couldn’t afford it.

Maybe the next iteration will simply be a Drupal based Web site that uses UCM data via Service calls to get JSON data. I think this would be much more easy, and would have saved a lot of heartache and money.

Then again, this is the last “just over two weeks left” push. Working late seems normal at this point.

I’m sure looking forward to about three weeks from now!

RMOUG – First University Session

Tuesday, February 15th, 2011

Went to my first University session today. Brad Brown presented on creating applications for Android devices. The topic was very timely as more organizations are working on a way to display content on mobile devices.

Where the presentation excelled, was in explaining the trials and errors that Brad had gone through in developing mobile applications that would make money. This was very interesting to hear, and Brad really drove the point home that this is a prime market to be in. Can’t wait to start developing! Can’t wait to get my first Droid phone in April!

JDeveloper 11g and Windows 7 64 bit – and a few rants

Thursday, October 7th, 2010

Now I have three development environments: an Intel Mac mini, Fedora Linux on my Dell 630 laptop, and I just installed Windows 7 Professional 64bit on my desktop. I thought it would be fun to re-install all of my applications. Actually I have an old Foxpro application that I need to spend some time on, and decided to setup an actual windows machine. I’ve been using a VM for years. There are other reasons, but suffice it to say, I now have development environments setup using three different operating systems.

The biggest surprise I had was JDeveloper. It doesn’t work with a 64 bit JVM in Windows. Crazy, Insane, I say – but it is true! There is a post about it here. I hear complaints about Linux, but I’ve been running JDeveloper under a 64 bit JVM since I first installed 11g without a problem and love the speed.

I am still in shock, something really simple that Linux just does, and Windows can’t.

So… why not too many posts lately? I have been spending a lot of time converting an Oracle Portal website to use Oracle UCM with Site Studio. The original plan was to use WCI, but the price tag was too high. It has been quite an experience, to say the least. I wish I could say that I like developing with IDOCScript, but really can’t. I remember developing with Vignette, which at the time used tcl with a lot of controversy. Vignette seemed to throw in the towel and offered both a JSP and ASP option, but I’m not sure if that really helped. (back to UCM) I’m torn with IDOCScript. It is another language to work with. Why not use something more mainstream? Behind the scenes, all the code becomes Java, so why all the cloak and dagger?

In the end, I am getting paid to write lines of code. And with that said, I will write in any language when I am getting paid. Another day, another language.

Keeping track of tasks

Sunday, July 18th, 2010

At work, I have been using the tool manymoon for tracking todo lists that is well integrated with Google Calendar. It doesn’t matter if you are using gmail or google apps as I am, as the product uses openid to your google account to login. I don’t own stock and actually think the creators could have come up with a better name. I am simply a very satisfied customer!

Why I use Linux as a desktop

Thursday, April 22nd, 2010

Penguins are cool!

I have two Macs, a high-end PC running Linux, my work laptop running Linux, three PCs running Windows XP, and one more laptop also running XP in my house. I have several PCs that are mostly used for parts. An upper end PC running Linux that is my main server that is my file server on the host level, and runs a web server, mail server, database server, test server all as virtual machines. Lastly, I have a left over PC that I am using as a special project database server for APEX applications that is also running Linux.

I have told the kids that as each of their PCs die, they will be replaced by a Mac Mini. The one that I currently have is about five years old, and the only thing I do is turn it off before leaving the house on vacations. I don’t think it has ever crashed. Ever!

So why not use a Mac as my primary platform. Cost for one. I can get much more horsepower for a lot less money with Linux. This year for my Christmas present to myself I built my own dream machine. I already had an LCD monitor, keyboard and mouse and was limited to about $500 dollars. It is amazing what you can purchase at Newegg! I was able to get a 3.2 GHz Quad core processor, 8 GB of high speed ram, and a fast SATA HD. I also replaced the stock fan, just in-case I ever decide to overclock the CPU to 4 GHz or higher. Sometimes just knowing you can is just as good as actually doing.

I still haven’t answered the question. I spend most of my time using ant to build java projects, JDeveloper as an IDE, and SQL Developer working with PL/SQL. Linux is simply so much faster, especially starting up SQL Developer or JDeveloper. Even on my work laptop (which is painfully slow to begin with), I can launch SQL Developer and have the IDE ready to go in 15 seconds, where my colleagues can wait more than a minute, sometimes two – just to see the IDE. I don’t even want to talk about my PPC Mac. Apple doesn’t have a version of Java that will run any of the current version of JDeveloper or SQL Server. Too bad, so sad!

If speed was the only issue, I probably would be running just about everything from the command line as well, but I do have my limits. I love the interface on the Mac. Plain and simple, it is just beautiful. A work of art! I just wish the delete key worked like the backspace key. Delete just doesn’t work right and is really my only complaint. If the Mac was faster and cheaper, I would replace all of my PC’s with them.

Windows. Well, besides re-imaging each PC yearly due to a variety of reasons, blue screens of death when playing games in my free time (ha ha), dealing with viruses that caused another round of re-imaging, etc… I like it. My dream includes buying Windows as a Windows manager that runs in X-Windows like Gnome or KDE. Yea, I would buy start buying Windows again if that happens.

I really don’t have any love for the Window managers in Linux. Just like I really don’t have any particular preference for a specific distribution. Typically, I run Fedora on my Desktops, and Ubuntu LTS for all of my servers and virtual machine servers. I have run Gentoo, and think that is a really great distribution. It just is a lot of work to setup, or at least I think it is. Don’t get upset, one of my favorite coffee mugs is my Gentoo Linux mug, and I don’t have any other Linux mugs.

And what’s wrong with Linux. I can’t run notepad++ or textpad natively. I really dislike vi and emacs even more so. Windows has the best text editors of all the platforms. That will hopefully be fixed one day! Until then, I’ll happily type away using gedit. And yes, I still use Windows running in VMWare for Visio and Microsoft Project. As long as these products run under XP, I will keep waiting for Windows as a Window Manager.

WPTouch Plugin installed

Monday, February 22nd, 2010

For those that use an iPhone or iTouch, I have installed the WPTouch Plugin. This should make viewing much more better!