Friday, September 28, 2012
We spruced things up a little bit, created a new UI, and also created some new features & sections - some on the front end, others on the back end. What many people will notice is that the APEX URL syntax is missing. We decided to use mod_rewrite rules to give each page a more search engine friendly URL. How we did all of this - and how it requires zero maintenance - is a great subject for future post.
Have a look and let me know what you think! I'll be the one in the corner feverishly working on my OOW presentations.
Monday, September 24, 2012
During my research, I came across what is perhaps the best step-by-step document for configuring Oracle Wallet that I have seen. Jeff Hunter's blog walks through the process in great detail, accounting for even the most minor of details. You can see his Oracle Wallet post here: http://www.idevelopment.info/data/Oracle/DBA_tips/PL_SQL/PLSQL_19.shtml
While this is definitely not something that I'll need daily, it's definitely getting bookmarked for the next time I'm faced with configuring Oracle Wallet.
Wednesday, September 19, 2012
Sunday, September 16, 2012
With the introduction of the iPhone 5, one new feature has more people abuzz than any other: the new adapter. Instead of the traditional 30-pin dock connector that has become ubiquitous in everything from consumer electronics to luxury cars, Apple has opted to introduce a new, proprietary 8-bin connector dubbed "Lightning". I think that I speak for most of us Apple product owners when I say that as soon as this was announced, you did a mental tally of all of the devices and cables that would eventually have to be replaced, and I wasn't too happy with the resulting number.
Yes, it will be a pain to replace all of my cables and devices that use the older connector, but we'll all complain about, get angry, and eventually over time, forget about it. Like the CD drive. Or floppy drive. Or the replaceable battery.
My point here is not to get into a "who innovates more" argument, but rather highlight a type of innovation that is very much organic to Apple and its overall strategy: platform innovation. Apple is more than willing to take the bold step of admitting (or what some may consider dictating) when a feature or product has seen better days, and simply eliminate that feature entirely.
Let's start with the floppy disk. With the original Mac, Apple bucked the industry and chose a newer, smaller format for it's floppy disk. In this case, different was good, as it had a higher capacity and was much more durable that it's 5 1/4" counterpart. It took a few years, but eventually, Macs and PCs alike both standardized on the 3 1/2" floppy as their standard drive.
Despite Apple's introduction of the 3 1/2" drive, it was also the format's assassin, as as they eliminated any floppy drive on the original iMac. At the time, this seemed like a dangerous move, as a lot of software was still distributed via floppy disks, and almost all documents were saved on them if they needed to be moved to another workstation. But over time, all other manufacturers followed suit, and now you'd be hard-pressed to find any PC or Mac with a floppy drive.
Next, consider OS X. Initially, any older Mac application writen for System 8 or 9 would run in an emulator dubbed Rosetta. This was great and even necessary, as initially there were few native applications built for OS X, and Apple needed to ensure compatibility. But at some point - and I can't remember the specific release - Apple said no more emulation. Many of us grumbled that we'd have to re-purchase the same software for the newer OS, but we all did, and I think that OS X is better for having eliminated this type of legacy support.
Apple also killed the removable battery - first in the iPhone, and later in the MacBook line. This decision allowed for larger, more expensive batteries that would in theory give you more usage time. I do believe that the verdict is still out on this one, as Apple's competitors use this as a weakness to this day, as few others have adopted this strategy.
This brings us to the new dock connector. Of course, its too early to tell what will happen as a result of this. My prediction - given past history - is nothing. Once the 3rd party market starts cranking out $5 adaptors, this perceived pain will vanish, and we'll forget about any impact that this decision has made. Apple will, once again, benefit from being able to determine if and when something is no longer useful, and force that decision upon its customers, for better, worse, or nothing at all.
This strategy can be applied to how we develop applications, too. There will come a time when an old technology or feature or even method simply does not apply anymore. The pain of removing the outdated component is always perceived to be high, but the relief of a better alternate approach over time will benefit everyone.
Implementing a platform innovation is never easy, and often they are done in the wrong places. But when they are done properly and in the right places, we all benefit in the long run.
Friday, July 27, 2012
If you missed out on this year's KScope conference, you missed out on a tremendous amount of APEX content. You missed the APEX 4.2 preview and discussions from Oracle. You missed great sessions on the APEX Listener, jQuery, Dynamic Actions, etc. You missed the opportunity to actually meet some of the best APEX experts on the planet.
Fear not! APEXposed has you covered!
APEXposed is a 2-day conference focused exclusively on APEX technical sessions. A subset of the presenters from KScope will be presenting their sessions again in Montreal, Quebec this September 11th & 12th at the Centre Mont Royal. And the best part? You can attend this 2-day conference for as little as $350! That's less than $30 per session!
If you register by August 15th and use the discount code ENKITEC, you'll get the $350 price. If you wait too long, the standard conference rate of $450 will apply, but the discount code will still be good.
Hope to see you in Montreal!
Saturday, July 07, 2012
CREATE TABLE widgets (widget_type VARCHAR2(10)) / DECLARE z NUMBER := 1; BEGIN FOR y IN 1..10 LOOP FOR x IN 1..10 LOOP INSERT INTO widgets VALUES ('Type ' || z); z := z + 1; END LOOP; z := 1; END LOOP; END; /If you wanted to sum them based on type and just see the first five types, you can use a simple SQL statement like this:
SELECT NULL link, widget_type label, COUNT(*) value FROM widgets GROUP BY widget_type ORDER BY 2Which will in turn, produce a chart that looks like this: Clearly, not what you may expected, as you only wanted to see the top 5 widgets, not the top 5 plus all additional records grouped into an "other" slice. Visually, this may be misleading to the user. To get just the top 5 records, we have to use an inline SQL statement that will select from our original SQL statement and limit the results to just 5 records:
SELECT link, label, value FROM ( SELECT NULL link, widget_type label, COUNT(*) value FROM widgets GROUP BY widget_type ORDER BY 2 ) WHERE rownum < 6With this approach, we let APEX create the chart and append the Other slice to the results. We then siphon off just the first five records, which in this case, will not include the Other slice. The result is something closer to what many users would expect: Using this approach, the value of the Maximum Rows can be set anything greater than or equal to the value compared to ROWNUM in the last line of the second SQL statement, as we will be using the WHERE clause to limit how many records are displayed.
Thursday, June 21, 2012
Well, it's official. I am no longer a small business owner.
Starting today, I will be working for Enkitec, heading up their APEX products division. Here, Doug Gault and I will be responsible not only for our existing APEX products - the freshly renamed eFramework and eSERT - but charted with bringing several more to market in the next few months.
I'm as excited as they are about this acquisition, as the match makes a lot of sense. A great deal of their business is based on services, so our APEX knowledge will come in to play daily there. We'll also be able to get some additional resources for our products & training verticals, so expect to see more announcements on that front - some as soon as next week!