tag:blogger.com,1999:blog-46705145735344523702024-02-06T19:09:06.630-08:00Monty LatiolaisMonty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.comBlogger74125tag:blogger.com,1999:blog-4670514573534452370.post-19048657384572851412023-10-11T17:25:00.003-07:002023-10-11T18:16:09.008-07:00Valdosta State Endorses Low Code SolutionsValdosta State continues to use Oracle APEX for stand-alone applications as well as enterprise-level applications with thousands of daily users. <div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjD7Ir-HUKeh54iWVMOndQmbFZYjsdaBbXRSiG_4Op7C9ieDXCG9va0bkNQOCnfkz7TLGb19t-Bxkiu3C6kNTr8n_XmKmbVI3F98Ni6RvR9d1swONUEzJyP9Nnq0b7IsyHBH9Gl-U-bCelcjEPPfjVKl06rPIxaP2CDCyaqWukSyP2i3R3-EO3LCUQtAxw" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="" data-original-height="300" data-original-width="450" height="133" src="https://blogger.googleusercontent.com/img/a/AVvXsEjD7Ir-HUKeh54iWVMOndQmbFZYjsdaBbXRSiG_4Op7C9ieDXCG9va0bkNQOCnfkz7TLGb19t-Bxkiu3C6kNTr8n_XmKmbVI3F98Ni6RvR9d1swONUEzJyP9Nnq0b7IsyHBH9Gl-U-bCelcjEPPfjVKl06rPIxaP2CDCyaqWukSyP2i3R3-EO3LCUQtAxw=w200-h133" width="200" /></a></div><br /></div><div>Arthur Rinberger took time out of his day to explain why APEX is such a big part of Valdosta State's future plans. </div><div><br /><br /></div><div><b><span style="font-size: medium;">Briefly describe how you are using Oracle APEX</span></b></div><div><br /></div><div>We have developed countless stand-alone applications, some very small and easy that only a handful of people use, but also others that are large enterprise-level applications with literal thousands of daily users depending on the functionality that APEX provides. It has become the preferred development tool on this campus and we have received numerous awards and international recognition for some of the applications we developed with it. </div><div><br /></div><div><span style="font-size: medium;"><b>How did Oracle APEX come to be used at Valdosta State University?</b> </span></div><div><br /></div><div>One of our developers heard about HTML-DB (now renamed APEX) and suggested we give it a try. We stood up a couple of old servers and used it to develop an application we had been asked for. The developers that worked on the project raved about how easy the tool was to work with; the users were very happy with their application and how quickly they were able to get it; and, best of all, nothing had to be installed on the client machines! After that, all the developers wanted to try APEX and thus a revolution was born. </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjzrBf96RXuRzj2sP99iznmd5_gjjZApXr2ouA0mUcEikdmeWpOd8uRC6BV1WlEUMf_EMCUC6mOs1lS3vLK74P8034qot8jqkHXbErbew9ipo30zvJJfEtYqH6P3S13fag0pDy1kt_cCfT-f3xMTiHRsrSxpXqGpA4Piw2Tx4pCtBK1MhK9GqFzHohH8l4" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="716" data-original-width="768" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEjzrBf96RXuRzj2sP99iznmd5_gjjZApXr2ouA0mUcEikdmeWpOd8uRC6BV1WlEUMf_EMCUC6mOs1lS3vLK74P8034qot8jqkHXbErbew9ipo30zvJJfEtYqH6P3S13fag0pDy1kt_cCfT-f3xMTiHRsrSxpXqGpA4Piw2Tx4pCtBK1MhK9GqFzHohH8l4" width="257" /></a></div><br /><br /></div><div><b><span style="font-size: medium;">What problems did it solve for Valdosta State University?</span></b></div><div><br /></div><div>APEX brought modern-looking application development to our campus with extremely easy deployment to the users. It shortened development time, improved the functionality of our applications, and allowed us to take on projects that would have otherwise been either prohibitively complicated or “too small to bother with”. </div><div><br /></div><div><b><span style="font-size: medium;">What technology did it replace?</span> </b></div><div><br /></div><div>It was a mixed bag of PL/SQL (without APEX), .NET, and C. </div><div><br /></div><div><b><span style="font-size: medium;">Was there an “Aha!” moment at some point with the staff and user base? </span></b></div><div><br /></div><div>Basically, the first time they saw and used it. Before that first APEX application, most of our in-house developed applications looked very basic because we were “too busy” to learn some of the skills we would need to polish them up. You can, of course, enhance your APEX applications with CSS and Javascript, but APEX took away the necessity of doing so to enable the development of attractive applications that would be easy to use. It became an instant hit when we started sending out applications that looked like commercial products. </div><div><br /></div><div><span style="font-size: medium;"><b>If you could add a feature to the next Oracle APEX release, what would that be?</b> </span></div><div><br /></div><div>We can already use Oracle Text in APEX, but perhaps some wizard-driven support of it could help more developers take advantage of this powerful tool, possibly as an enhancement to the Interactive Grid region. </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgS-TRPUUr9d5TrPE_srjn93cpbt2WK0PhmavaCrKInz2cq6gJN2CwSjQjoe5xaYQMj20CSJzjlcYMmqJ-ToDsAyARQshdJTSvMG3RZFJgLs4JMM6Mp_g5LvdeTjXovDuZxan_0hoLDhG0VCqjwXR4K2pfDd74GyzOa6ZcRgZhzNmdL7NzzY1k7X72_qGo" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="550" data-original-width="600" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgS-TRPUUr9d5TrPE_srjn93cpbt2WK0PhmavaCrKInz2cq6gJN2CwSjQjoe5xaYQMj20CSJzjlcYMmqJ-ToDsAyARQshdJTSvMG3RZFJgLs4JMM6Mp_g5LvdeTjXovDuZxan_0hoLDhG0VCqjwXR4K2pfDd74GyzOa6ZcRgZhzNmdL7NzzY1k7X72_qGo" width="262" /></a></div><br /><br /></div><div><b><span style="font-size: medium;">What role do you see Oracle APEX playing in the future at Valdosta State University?</span></b> </div><div><br /></div><div>The role of APEX will be, as it has been, to enable data collection; to enhance users’ ability to interact with all of the data available to us where it applies to them, whether collected via an APEX application or not; and to better enable the faculty, staff, and administration to educate and support the students’ journey to success.
For a college or university considering Oracle APEX, what single piece of advice would you give?
There are many technology stacks available to you, any one of which will work for your projects. The key, however, is to pick one of them and stick to it. This is because supporting one stack is much easier than supporting four. If most of your team is experienced with a tool that meets their needs, they’ll want to keep it. On the other hand, especially if there isn’t one specific tool you are already using for everything or your current team is relatively inexperienced with that current tool or it cannot easily meet the needs of some of your projects, you should give serious consideration to APEX. </div><div><br /></div><div>It’s easy for Oracle DBAs/Developers to learn because the basic language of it is PL/SQL; the default styling and actions give APEX applications a very modern look and feel. This includes responsive design patterns to help you develop for screens of varying size. Aside from that, it’s also easy for knowledgeable web developers to override/enhance those defaults because it provides many points where additional CSS or Javascript can be included. It’s easy to deploy a finished application to users because all they need is a current browser and the address to their application; the pages generated in an APEX application automatically include tags needed for support of the Web Content Accessibility Guidelines. APEX has great support. You have the APEX community, its development team, and Oracle as a whole, supporting it. </div><div><br /></div><div><span style="font-size: medium;"><b>Where do you go when you have APEX questions?</b> </span></div><div><br /></div><div>I generally start with Google and wherever it’s results may lead me. If I can’t find an answer that way, I’ll try searching the Oracle Application Express Oracle Technology Network (APEX OTN) forum, in particular, to narrow down and improve my results. Then, if all of that fails to give me the answer I need, I’ll post my question on the forum. This way, community experts can guide me. This covers 99.9% of all questions I have ever had concerning APEX. On very rare occasion, I have tried to generate additional responses to my question by posting it on apex.world Twitter, but I always post the question and look for responses to it at the forum. </div><div><br /></div><div><br /></div><div><br /></div><div>Thanks, Art. Keep that APEX flag flying! </div><div><br /></div><div><br /></div><div>...our journey continues</div>Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-42919690068379831402023-10-11T00:20:00.001-07:002023-10-11T09:31:24.452-07:00UC Berkeley's Journey to APEX<span style="font-family: arial;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNzpHg_XUEsq2IkG-3b2T69weZdclntC-zbpC0DOX-V5_3IdvW2oLZ70WYeHmENaPxcGxQjZ-eGL9iwAPDO2_aNimCRuYak7hXR2GW6tohWiP_EgiibVsVFw6-lV659IXpvGQufMzFctkuGZKdAYdh1-JIeqW5ZZXcQC0UNZgbJxbwMK4qf6LiPNjUmHo/s675/teal-saxton-uc-berkeley-450x675.jpg" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="675" data-original-width="450" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNzpHg_XUEsq2IkG-3b2T69weZdclntC-zbpC0DOX-V5_3IdvW2oLZ70WYeHmENaPxcGxQjZ-eGL9iwAPDO2_aNimCRuYak7hXR2GW6tohWiP_EgiibVsVFw6-lV659IXpvGQufMzFctkuGZKdAYdh1-JIeqW5ZZXcQC0UNZgbJxbwMK4qf6LiPNjUmHo/w133-h200/teal-saxton-uc-berkeley-450x675.jpg" width="133" /></a></div>A bit ago, I was able to do a Q&A with Teal Sexton, Regional Director UC Berkley. She went into detail about how UC Berkeley integrated APEX into an Oracle Business Intelligence Enterprise Edition (OBIEE) dashboard.<br />
<b><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>Briefly describe how you are using Oracle APEX<br /></b><br />
</span><div><span style="font-family: arial;">We have integrated an Oracle APEX application into an OBIEE dashboard, to allow users to enter financial projections and then instantly view the impact on projected fund balances. We use this to project future costs for research contracts & grants so that faculty can make well-informed purchasing and hiring decisions to support their research.</span><div class="separator" style="clear: both; text-align: center;"><br /></div><div><span style="font-family: arial;"><b>What made you choose Oracle APEX at UC Berkeley?<br /></b><br />
</span></div><div><span style="font-family: arial;">We built an OBIEE dashboard for faculty to view their budgets, spending and current balances </span><span style="font-family: arial;">on research funds. After the release, they said it would not be useful without integrated projections. These also need to be entered by 150+ different research administration staff across campus, on an ongoing basis. After seeing APEX in use at another campus, I knew it was capable of providing data to assist with projections, and then could write updates directly to the database. that’s why I suggested we look into using it to meet the requirements for the Projections Project and after showing mockups of my design for the projections input form, we found consultants who could build it for us.</span></div><div><span style="font-family: arial;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXUoRV4_-xzm1NyNNWO0nDAosc5LpxtuxsyFnYHS2FfLP9GNX8quDGYI1I_AR63h0KR_Av8GfLedXNphZdBJyQhnYTTGbgu4acBwbxDXvkZatwhnrpGmj9EiYhLclBRoNSfoW-n2EGII6WthDKCEfEGuWU_rgfZLcHuXuWJvZA56ZlKwG_HjxLnUKxyL4/s600/obiee-application-600x303.jpg" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="303" data-original-width="600" height="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXUoRV4_-xzm1NyNNWO0nDAosc5LpxtuxsyFnYHS2FfLP9GNX8quDGYI1I_AR63h0KR_Av8GfLedXNphZdBJyQhnYTTGbgu4acBwbxDXvkZatwhnrpGmj9EiYhLclBRoNSfoW-n2EGII6WthDKCEfEGuWU_rgfZLcHuXuWJvZA56ZlKwG_HjxLnUKxyL4/w400-h203/obiee-application-600x303.jpg" width="400" /></a></div><br /><b>What problems did it solve for UC Berkeley?</b><br /><br />
</span></div><div><span style="font-family: arial;">Projections are now entered in the same standard format across UC Berkeley. And, they are available from anywhere in the world through the web-based OBIEE reporting platform. Previously, projections were done manually in Excel, using very different methods, and service was highly inconsistent. The research administration organization is now more sustainable and trainable as a result of the APEX projections input form.</span><br /><div class="separator" style="clear: both; text-align: center;"><br /></div></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLzbArG59h1VUl2x_5-kCbRe7bCv-ZmTdUiNbmw08RdlV37Jm4ikiUHSAJiJcUONZ07SwaH-ZqALwBlcQ5e7GaX1CsSEu-0HMl1-Bi3BvKq4g4IpK_dbeLX_LR7BQlt6QjqNMJQlx09KAXZ8-_2NyOfDT-SnrjLQ-VbZz6axWfqV7dDSFNMDNmldNbS5M/s600/oracle-apex-dashboard-600x251.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="251" data-original-width="600" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLzbArG59h1VUl2x_5-kCbRe7bCv-ZmTdUiNbmw08RdlV37Jm4ikiUHSAJiJcUONZ07SwaH-ZqALwBlcQ5e7GaX1CsSEu-0HMl1-Bi3BvKq4g4IpK_dbeLX_LR7BQlt6QjqNMJQlx09KAXZ8-_2NyOfDT-SnrjLQ-VbZz6axWfqV7dDSFNMDNmldNbS5M/w400-h168/oracle-apex-dashboard-600x251.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLuriqyWexxDEtla8DKAExXDSb82JuqfAMfOuff153-FnMMxef9pzJ2h3UjvVfgyqqNa65qUPIu2c8p4rvuCoeH2qTmGqrEGA1GIe70KL13_DLJEp9gAXjU-KHmxTxRiGsNFgoGcH0QNa5QpqBjoiFvdpfCO-xJ9XUa96wDrp24T43Ma_SxxQSlEhWejc/s600/oracle-apex-application-600x269.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="269" data-original-width="600" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLuriqyWexxDEtla8DKAExXDSb82JuqfAMfOuff153-FnMMxef9pzJ2h3UjvVfgyqqNa65qUPIu2c8p4rvuCoeH2qTmGqrEGA1GIe70KL13_DLJEp9gAXjU-KHmxTxRiGsNFgoGcH0QNa5QpqBjoiFvdpfCO-xJ9XUa96wDrp24T43Ma_SxxQSlEhWejc/w400-h179/oracle-apex-application-600x269.jpg" width="400" /></a></div></div><br /><div><span style="font-family: arial;"><br /><b>What technology did it replace?</b><br /><br />
</span></div><div><span style="font-family: arial;">Manual Excel spreadsheets cobbled together with limited access to source system data</span></div><div><span style="font-family: arial;"><br /><b>Was there an “Aha!” moment at some point with the staff and user base?</b><br /><br />
</span></div><div><span style="font-family: arial;">Absolutely! The first demos I came up with just blew away anyone who hadn’t seen the input form design. It provides human resources appointment data for personnel. Furthermore, this key information can be copied directly into the projections. This, in turn, automatically triggers associated projections for benefits and indirect costs. What used to take days now takes minutes!</span></div><div><span style="font-family: arial;">
<b><br />If you could add a feature to the next Oracle APEX release, what would that be?<br /></b><br />
</span></div><div><span style="font-family: arial;">I think it is important to ensure that new releases do not cause existing APEX applications to become obsolete. Despite APEX’s amazing capabilities, our campus is still worried about continuing to use it. This is because they’ve been burned by Oracle’s new releases in the past. We often rely heavily on systems for a long time because higher education is slow to change. If a popular platform suddenly becomes “unsupported”, then we are left trying to figure out how to keep the lights on. This Projections application is so vital to our business process we hope it will survive a decade of use before new releases turn it into a dinosaur.</span></div><div><span style="font-family: arial;">
<b><br />What role do you see Oracle APEX playing in the future at UC Berkeley?<br /></b><br />
</span></div><div><span style="font-family: arial;">I plan to use APEX to deliver additional functionality in our OBIEE dashboards across other areas of Finance. Of course, this would go beyond just research funding. The campus wants to be able to input comments about funds, and make projections across all sources, to assist with multi-year budgeting. I am also considering using APEX for request forms for purchasing and reimbursement, so users can choose their funding source from a drop-down list based on enterprise finance data, and the request will automatically process in PeopleSoft. I continue to think of ways APEX might be helpful because it is a great way to extend the functionality of our Enterprise Data Warehouse.</span></div><div><span style="font-family: arial;"> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb5BBRiSRJQ5kPEEcJYsBZ4t0IX9bVWNY2R9G_h3cnKmcSO1QE95pltBO0vBy-ER4NcNUSdJAwitxyEHsSl4md16vXmWjVe-Pd2xFv1NfD6c1CB8r9PIfZaBR7-ha6zakIST0zb_APSVkd8jR97PNXFDzpdBCcMAF3eDq9GAMu90yrPR7otRCfZS45AVs/s600/obiee-dashboard-tab-2-600x266.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="266" data-original-width="600" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb5BBRiSRJQ5kPEEcJYsBZ4t0IX9bVWNY2R9G_h3cnKmcSO1QE95pltBO0vBy-ER4NcNUSdJAwitxyEHsSl4md16vXmWjVe-Pd2xFv1NfD6c1CB8r9PIfZaBR7-ha6zakIST0zb_APSVkd8jR97PNXFDzpdBCcMAF3eDq9GAMu90yrPR7otRCfZS45AVs/w400-h178/obiee-dashboard-tab-2-600x266.jpg" width="400" /></a></div><br />
<b><br />For a college or university considering Oracle APEX, what single piece of advice would you give?<br /></b><br />
</span></div><div><span style="font-family: arial;">Do not be afraid to give it a try! But also make sure you talk with experienced consultants who know how to get the most out of APEX. As a matter of fact, we have lots of “extras” built in using JavaScript. In a case like ours, it would be helpful to have a developer with that skill set.</span></div><div><span style="font-family: arial;">
<b><br />Where do you go when you have APEX questions?<br /></b><br />
</span></div><div><span style="font-family: arial;">I reach out to my friends at Insum!
<br /><br /><br /><br />
Thanks, Teal. Call anytime.</span></div><div><br /></div><div><br /><span style="font-family: arial;">
...our journey continues</span></div></div>Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-40690376735909307342023-01-12T00:43:00.002-08:002023-01-12T01:00:18.505-08:00The Dichotomy of Oracle Forms and APEX<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS_b-oU5QrB3ZWjJctjbS96KXXlzJ2-04EDhWgkexuDKx9yT4R6dmxpN67KgSTT1WRk5facqoGojYtHe1OyGiSZdDrkoYDW_M-G5pQlSYUb-qZ4Cz6RF9ie3t95MeKltn2OdTwYIe580f1zdVgrQOfuH5GrCz86NtEboj8W7Ie0DJlaUMeoAfWkgsr/s1280/roads-320371_1280.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="960" data-original-width="1280" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS_b-oU5QrB3ZWjJctjbS96KXXlzJ2-04EDhWgkexuDKx9yT4R6dmxpN67KgSTT1WRk5facqoGojYtHe1OyGiSZdDrkoYDW_M-G5pQlSYUb-qZ4Cz6RF9ie3t95MeKltn2OdTwYIe580f1zdVgrQOfuH5GrCz86NtEboj8W7Ie0DJlaUMeoAfWkgsr/s320/roads-320371_1280.jpg" width="320" /></a></div><br />We live in a dichotomic world. It's always Heads or Tails? Left or Right? In or Out? So, isn't it refreshing to know that when it comes to Oracle Forms and Oracle APEX, the proper choice may just be....both. <br /><br />I'm reminded of a presentation Insum's own, Francis Mignault, delivered a few years back at KScope. The session was titled "Oracle Forms and Oracle APEX - The Odd Couple". In it he did a great job laying out the entire gambit of options a Forms customer has. Everything from simply maintaining the status quo and continuing to support your on-premise Forms, to moving things to the Oracle Cloud, to extending Oracle Forms with APEX and finally rewriting everything in APEX thereby eliminating Forms completely. Today, I'm focused on the co-existence of Oracle Forms and APEX and why this odd couple, may not be so odd after all.<br /><br />Here are three scenarios in which extending Forms with APEX makes great sense.<br /><b><div class="separator" style="clear: both; text-align: center;"><br /></div><br />Upgrading the Presentation Layer</b><br />A common pain point of Forms is the look and feel. You could even say Forms has a face for radio. Now that's fine for internal back office applications but for customer facing apps, expectations have never been higher. Users are demanding the same bells and whistles they enjoy on other websites. <p></p><p><b>Providing Mobility</b> <br />A few years ago, the talk was "Mobile First" meaning applications should be developed with mobile functionality "top of mind". Although that talk has cooled a bit, if a mobile experience is needed say for field operations, Forms layouts will be too rigid and inflexible. A responsive layout using APEX is the answer.</p><p><b>Scratch, Dinero, Moolah</b><br />I'm always going to encourage customers to stay current and to stay within vendor support. The reality is sometimes companies decide against it for economic reasons. For example, upgrading to Forms 12c requires WebLogic Server. The increase in cost is significant. These companies are using APEX to deliver new functionality.<br /><br /><br />So there's no reason for Felix to kick Oscar out. Clearly they're better together. The same could be said for a different odd couple - Oracle Forms and Oracle APEX. They, too, are better together.<br /><br />I'd encourage checking out Francis' original presentation <a href="https://dryfta-assets.s3-accelerate.amazonaws.com/assets/gloc/registerfiles/1525740059FrancisMignault_FormsandAPEXOddCoupleGLOC.pdf" target="_blank">here</a>.<br /><br /><br />...our journey continues <br /><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p>Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-4983017677078135932022-11-21T14:30:00.001-08:002022-11-21T14:30:30.629-08:00OCW Redux<div class="separator" style="clear: both; text-align: left;"><span style="background-color: white; font-size: 12pt;"><span style="font-size: 12pt; text-align: left;"><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVt6cNCm7nkrO3FXScVtCQnPrUYRWAT2SrcC3DqIPIWt_1QWf1SRaA8izSey5hOEYYDl3nX1eZU8BtUpUvymWxXBNwonw0ROIfZe9IoZZxs1oRuPdqM5jpCT3YPMEkK5F1mR1BNQT4M_8gz11U__94XkSa_uI_izg0Inkr3sr27EzqZqLyTLOeRXGr/s280/ocw.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="180" data-original-width="280" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVt6cNCm7nkrO3FXScVtCQnPrUYRWAT2SrcC3DqIPIWt_1QWf1SRaA8izSey5hOEYYDl3nX1eZU8BtUpUvymWxXBNwonw0ROIfZe9IoZZxs1oRuPdqM5jpCT3YPMEkK5F1mR1BNQT4M_8gz11U__94XkSa_uI_izg0Inkr3sr27EzqZqLyTLOeRXGr/s1600/ocw.png" width="280" /></a></div>I think this was number
twelve for me. Hard to believe, really. But in a lot of ways, it's one of the
most memorable because of the change in venue. <br /></span></span><span style="background-color: white; font-size: 12pt;">The other eleven San Francisco
ones seem to run together in my mind. Prior to the move to Vegas, we had OOW on
auto-pilot. For 2022, all bets were off.</span></div><div class="separator" style="clear: both; text-align: left;"><span style="background-color: white; font-size: 12pt; text-align: left;"><p></p><p class="MsoNormal" style="background: white; margin-bottom: 12pt;">
Well, for those unable to attend you missed a lot. Was it perfect? I wouldn't
say that. But GAWD, it was great to get back to normal.</p> <div class="separator" style="clear: both; text-align: left;"><span style="background-color: white; font-size: 12pt; text-align: left;"><br /></span></div>Here are my takes on Oracle Cloud World 2022.
</span></div><div class="separator" style="clear: both; text-align: left;"><span style="background-color: white; font-size: 12pt; text-align: left;"><br /></span></div>
<p class="MsoNormal" style="background: white;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtLUO4IV92vvtDdCn11VwD_aR23lg6uG6yBvUnnzo-xuZyskSOWn1ZMbYICluYt7hr5qQuI3eUCJ-GzwMuSRpaaBNk9EUThGV1f6JII7TbQX5aNfvB_8_DsaEVGLteVmU5vmcXfkWuACHQzo38fcEQ5aO3nE2vUkmOrX2epj7VatrVM9_jYdma4tMR/s589/ace.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><br /></a></div><b><span style="font-size: 12pt;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgJA7cEp4qGTzD3mPN6xn8t8N8DG2IwWZTrj7ewkIcCGgCjNkvwsA_Uy9Uvn27wybQRc73ycoLo83qhuPK12iGLynfScxK8Zkv1VL5nwvd9lb8SWfCk9RkMFx-cOAmklprE9b-wRq8eXHK6nBTPCenVqgMtU7TjygX4LsgrAH1tJ2NXQpyWUjRhCld/s589/ace.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="589" data-original-width="574" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgJA7cEp4qGTzD3mPN6xn8t8N8DG2IwWZTrj7ewkIcCGgCjNkvwsA_Uy9Uvn27wybQRc73ycoLo83qhuPK12iGLynfScxK8Zkv1VL5nwvd9lb8SWfCk9RkMFx-cOAmklprE9b-wRq8eXHK6nBTPCenVqgMtU7TjygX4LsgrAH1tJ2NXQpyWUjRhCld/s320/ace.png" width="312" /></a></div>MEETING OLD FRIENDS</span></b><span style="font-size: 12pt;"> Most
of the people I re-connected with at OCW I never saw that much in-person
anyway, but this time around that handshake or that hug sure hit the spot. To
me the conference was filled with an overwhelming sense of relief and of
gratitude. We were able to put the past in the past.<br /><o:p></o:p></span><p></p>
<p class="MsoNormal" style="background: white;"><span style="font-size: 12pt;"><br />
<b><br /></b></span></p><p class="MsoNormal" style="background: white;"><span style="font-size: 12pt;"><b><br /></b></span></p><p class="MsoNormal" style="background: white;"><span style="font-size: 12pt;"><b><br /></b></span></p><p class="MsoNormal" style="background: white;"><span style="font-size: 12pt;"><b></b></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-size: 12pt;"><b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi95Bu02vU4lRvDtiou9DYcXnQyvEddnpWDwv1WQytFiw4lSu-CxF2_KmMRp8miTK4vfgFoU8k1gBjOqVqpV6UEa72Fb09oSHNTxAL5HowaYPTihtEyW_4d1yeLid2DYOrkdfoIQGk-9GmdQV517-m-78vRugecp6a6RyMk7vuSG9TuhNLtRRyW14mV/s961/ellison.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="382" data-original-width="961" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi95Bu02vU4lRvDtiou9DYcXnQyvEddnpWDwv1WQytFiw4lSu-CxF2_KmMRp8miTK4vfgFoU8k1gBjOqVqpV6UEa72Fb09oSHNTxAL5HowaYPTihtEyW_4d1yeLid2DYOrkdfoIQGk-9GmdQV517-m-78vRugecp6a6RyMk7vuSG9TuhNLtRRyW14mV/s320/ellison.png" width="320" /></a></b></span></div><span style="font-size: 12pt;"><b>APEX is in</b>. For Insum, the sun rises and sets with APEX. So, you can
imagine how we felt to have Uncle Larry include APEX in his keynote, </span><span style="font-size: 16px;">"Solving the Most Complex Problems Across Industries"</span><span style="font-size: 12pt;">. </span><div><span style="font-size: 12pt;"><br /></span></div><div><span style="font-size: 12pt;">And by golly, it wasn't just a passing mention. He discussed in detail how a low code tool like APEX provided the perfect blend of features and speed to build applications critical to combat COVID-19.</span><span style="font-size: 12pt;"> APEX is here to stay.</span><p></p>
<p class="MsoNormal" style="background: white;"><b><span style="font-size: 12pt;"><br /></span></b></p><p class="MsoNormal" style="background: white;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK3fmIP0KemciTZGE55mlQHhELQN5EF4r9iEayczkpWk5oeCBaPQ_h2eSXDs0foF2259qAQuIFssg-xag-IAuptR8KCkPP7MdeC7wnQ-vITaUYHfR8N8lqVhzo9sdPzJ52uuXvyfadIS6Dk9eynLcdr82giVHpW65aW7bXzBj8kFZ3AtSCPok9qOmG/s679/ace_group.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="301" data-original-width="679" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK3fmIP0KemciTZGE55mlQHhELQN5EF4r9iEayczkpWk5oeCBaPQ_h2eSXDs0foF2259qAQuIFssg-xag-IAuptR8KCkPP7MdeC7wnQ-vITaUYHfR8N8lqVhzo9sdPzJ52uuXvyfadIS6Dk9eynLcdr82giVHpW65aW7bXzBj8kFZ3AtSCPok9qOmG/s320/ace_group.png" width="320" /></a></div><b><span style="font-size: 12pt;">ACE PROGRAM</span></b><span style="font-size: 12pt;"> I hung out at the ACE Lounge. Felt I really needed to do that as Jen and Co. were kind enough to provide me a comp pass. Rubbed elbows with Oracle royalty at the ACE Dinner. It was a treat to have Oracle EVP, Juan Loaiza, present. He even spent time at each table getting to know us and us getting to know him. Cool dude.<br /><br /><br /></span><p></p><p class="MsoNormal" style="background: white;"><span style="font-size: 12pt;"><b></b></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-size: 12pt;"><b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5YXHBNyho3tOFbpydMnhdkPW8vajnUALqavwuaKJgigpKebHZGJrGBDWi45vuJJ6ygq4Qmq2imwSsXSaYwnBhG8B6joLomkN3XLW1LsfuOSkLUY3zCLTTVkW9TIQRseXhA_60VjYtp7OoS__okmmRA6_pYjQE8-UMgpY_G4fvu3sFj67U_hlMlmKm/s814/meetup.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="463" data-original-width="814" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5YXHBNyho3tOFbpydMnhdkPW8vajnUALqavwuaKJgigpKebHZGJrGBDWi45vuJJ6ygq4Qmq2imwSsXSaYwnBhG8B6joLomkN3XLW1LsfuOSkLUY3zCLTTVkW9TIQRseXhA_60VjYtp7OoS__okmmRA6_pYjQE8-UMgpY_G4fvu3sFj67U_hlMlmKm/s320/meetup.png" width="320" /></a></b></span></div><span style="font-size: 12pt;"><b>APEX MEET-UP</b> One of the the things most missed regarding OpenWorld was the pilgrimage to Johnny Foley's Irish House. The APEX Dev Team and all the fan boys and fan girls would descend there on the Tuesday night for dueling pianos. Great times. Unforgettable times.<br /><br />We wanted to continue that tradition so Tuesday night we stormed the nearby Yardhouse for fun and fellowship. The APEX Dev Team was well represented as well as others of us dependent on APEX to keep the lights burning. I got to say, Joel Kallman was severely missed but we soldier on and look to complete the work and the evangelism he started.<br /><br /></span><p></p>
<p class="MsoNormal" style="background: white;"><b style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit;"><span style="font-size: 12pt;"></span></b></p><div class="separator" style="clear: both; text-align: center;"><b style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit;"><span style="font-size: 12pt;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguPWxmDWINL614COh3F7Bygk-BqNsfPTfOm9XzjI2A_tfwbXmn6hsovrjDqXHo1f_O3HUkCLpru0_75_LnEza-mxAUQQdXdd73GrfGYb6dCzuHTPjSpr5Bfhr-wS0_QJAMwcNAopst-lU0msmodoO6rOxLypIsg0cXiwQxuGZPYHda7XnWmdvgK-Re/s322/signs.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="222" data-original-width="322" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguPWxmDWINL614COh3F7Bygk-BqNsfPTfOm9XzjI2A_tfwbXmn6hsovrjDqXHo1f_O3HUkCLpru0_75_LnEza-mxAUQQdXdd73GrfGYb6dCzuHTPjSpr5Bfhr-wS0_QJAMwcNAopst-lU0msmodoO6rOxLypIsg0cXiwQxuGZPYHda7XnWmdvgK-Re/w200-h138/signs.png" width="200" /></a></span></b></div><b style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit;"><span style="font-size: 12pt;">NAVIGATION</span></b><span style="font-size: 12pt;">
The biggest negative issue I had was simply getting my bearings. The highways
and byways of the Venetian meander a bit. While by the end of the week I pretty
much had it down, the first day or two I travelled via the struggle
bus. A word of advice. Pay the difference and stay as close as you
can to the Conference Center. I ponied up and stayed at the Palazzo, but the
rest of my team stayed at the Linq. Nothing at all wrong with the
accommodations at the Linq, but trust me your feet will thank you.<br /><br /><o:p></o:p></span><p></p>
<p class="MsoNormal" style="background: white;"><b><span style="font-size: 12pt;"></span></b></p><div class="separator" style="clear: both; text-align: center;"><b><span style="font-size: 12pt;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxdhVZbrH71XIZ1KNZIk8DEkmtE5h5ZIIvzR6CE3Zk4ctW_QyfAa34g9C3mp5onFl6W7vq3ngkmyD_8Mt4P8cbKB9Jp254PCaNFvGb-beFVEa_mpiqdeOasdbBsAsINOxwa1HfVSEhL2GC7rCrjcvNmzWfM4NXxZFIQjIAqwkSsvDzvdI_vqJexjRw/s580/ocw_crowd.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="376" data-original-width="580" height="207" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxdhVZbrH71XIZ1KNZIk8DEkmtE5h5ZIIvzR6CE3Zk4ctW_QyfAa34g9C3mp5onFl6W7vq3ngkmyD_8Mt4P8cbKB9Jp254PCaNFvGb-beFVEa_mpiqdeOasdbBsAsINOxwa1HfVSEhL2GC7rCrjcvNmzWfM4NXxZFIQjIAqwkSsvDzvdI_vqJexjRw/s320/ocw_crowd.png" width="320" /></a></span></b></div><b><span style="font-size: 12pt;">ATTENDANCE</span></b><span style="font-size: 12pt;"> We'll
never know the actual attendance. Even if a figure was provided, it would be
met with extreme skepticism. I know how that game is played. One glaring thing
I noticed was the exhibit hall aisles were as wide as the 405 but not near as
busy. Food was surprisingly good. Much, much better than the Moscone sammich of
past years.</span><p></p>
<p class="MsoNormal" style="background: white;"><span face="Calibri, sans-serif" style="background-color: transparent; font-size: 12pt;">You may have noticed I didn't review many sessions in the post. That's because in my current role I attend OCW to explore business opportunities and have as many B2B, B2C and B2O (Business to Oracle) conversations as I can.<br /><br />So, should you plan on attending next year?
Hells, yeah. Vegas has inked a long term agreement with Oracle to keep the
conference right where it is. </span><span class="xxxxxxcontentpasted2" face="Calibri, sans-serif" style="background-color: transparent; font-size: 12pt;"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial;">I expect
attendance to slowly climb back to pre-pandemic levels. <br /><br /><br />...our journey continues</span></span></p><br /></div>Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-63910542950878894432018-08-19T19:49:00.001-07:002018-08-20T12:17:17.846-07:00Thoughts on the Oracle ACE ProgramFour years ago during ODTUG KScope14, I was designated as an Oracle ACE in the area of Database Development. Vikki Lira, who ran the ACE program at the time, surprised me on stage during the General Session. I could not have been more shocked. I think my actual response was "You gotta be _hitting me!". While I wish at the time I'd been a touch more eloquent, I'm still not over the shock and remain indebted to Tim Gorman (and anyone else who had a part in it).<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSA3-t-1D5r1G7QUvisEfKolXCDcE5t4uA5Bjmx9YsJt0UTx7rTB7W93z56We8WGJX0674CsUHoZM6-NKxl5sP_NGYS5iJgXDfGblpJ3w7EZ_ntus4uLAgPObuOryphFpeLtDUW2mznnc/s1600/o_acelogo_clr.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="142" data-original-width="379" height="74" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSA3-t-1D5r1G7QUvisEfKolXCDcE5t4uA5Bjmx9YsJt0UTx7rTB7W93z56We8WGJX0674CsUHoZM6-NKxl5sP_NGYS5iJgXDfGblpJ3w7EZ_ntus4uLAgPObuOryphFpeLtDUW2mznnc/s200/o_acelogo_clr.jpg" width="200" /></a>Truth is, while I really appreciated the recognition, I had a serious case of survivors guilt. Why me when there are thousands of qualified Oracle professionals more deserving?? I mentioned it to Deborah Lilly and she said something that has stuck with me ever since. She said "It's not what you know, it's what you share"<br />
In ten words or less she made me feel deserving. She made me feel like I belonged.<br />
<br />
<h2>
<b>Did Groucho Get it Right??</b></h2>
We've all heard the famous quote from Groucho Marx.<br />
<br />
<blockquote class="tr_bq">
<i><span style="font-family: inherit;">"I refuse to join any club that would have me as a member"</span></i></blockquote>
<blockquote>
<span style="font-family: inherit;"> Groucho Marx</span></blockquote>
<br />
Funny enough, I found a notable Oracle personality who had this to say about the ACE program.<br />
<br />
<blockquote class="tr_bq">
<i><span style="font-family: inherit;">"By and large, they tend to be people with low self-esteem who can be easily flattered into promoting Oracle for free. These ACE Directors are sometimes "legends in own minds" and they are the perfect fodder for this unpaid army of Oracle evangelists."</span></i></blockquote>
<br />
Really?? I know everyone is entitled to their own opinion. Since I'm entitled to one too, let me say I couldn't disagree more with that assessment of Oracle ACEs. That doesn't describe me, I assure you. Trust the amount of Oracle gear, free meals, etc. is nowhere near worth us prostituting ourselves as was contended. We do it because we've bought into the sense of community. We view it as a way to "pay it forward".<br />
<br />
Yea, we all have different personalities. We all have different Oracle skillsets. Some of us are more introverted...more extroverted. But the resulting nerd gumbo is really something to behold. I've found the ACE community to be welcoming and I look forward to the social times Jennifer and Lori carve out for us at the various conferences.<br />
<br />
<h2>
<b>What's It All Mean Really?</b></h2>
I guess it means different things to different people. Anyone who tells you they don't care about recognition isn't, in my opinion, being entirely honest. Recognition taps into basic human emotions. Some crave it more than others, but we all need it at some level.<br />
<br />
<h2>
<b>Receiving Your Oracle ACE Should Be The Beginning</b></h2>
It's always been my understanding that the "Oracle ACE is recognition for past deeds and accomplishments, while Oracle ACE Director is recognition for what you will do in the future." I want to challenge that. Receiving your Oracle ACE should in no way be viewed as reaching any mountaintop. Even if you don't strive for Oracle ACE Director, you should continue to do those things that brought you the ACE in the first place.<br />
<br />
I will close by encouraging those who aspire to be part of the ACE program to not be dissuaded. Always remember... it's not what you know, it's what you share.<br />
<div>
<br /></div>
<div>
<br /></div>
<br />
...our journey continues<br />
<br />Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com1tag:blogger.com,1999:blog-4670514573534452370.post-27974867945336763392017-11-03T19:01:00.000-07:002017-11-03T19:01:00.384-07:00What Color is YOUR Tractor?Martin Widlake, a giant in the Oracle Community, tweeted something to the effect that he had purchased a lawn tractor. In fact, here's the actual tweet...<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhUFBkpnNnCUpzVladatsyLoOFmzupUyV-p4Zu8-96MqZeJnNo_sidj9vAM13lHzIPUoHd-Ti18fOxpCQgm0wk1D5TXFL3MdEYRwrQPDaSU2xMJv971gCWuZkxVm9vv5ZwbfP4LKczuJw/s1600/honda_tractor.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="629" data-original-width="491" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhUFBkpnNnCUpzVladatsyLoOFmzupUyV-p4Zu8-96MqZeJnNo_sidj9vAM13lHzIPUoHd-Ti18fOxpCQgm0wk1D5TXFL3MdEYRwrQPDaSU2xMJv971gCWuZkxVm9vv5ZwbfP4LKczuJw/s320/honda_tractor.PNG" width="249" /></a></div>
<br />
<br />
To which I responded..."it's how well you mow fast"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWbVS6KqXoiFooD5x6IFS8tLp0RMsc8akysHuCXwsHpHLwShJ_0mvKvNR7anqHkkQKhLq6n6JNBmuG1fkPZnVRSn90stSQPdn4s0tFIxU5TA3-JnGLFaLGt0Rxo-EAUdxn7rG_r5fLN5g/s1600/honda_tractor2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="291" data-original-width="810" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWbVS6KqXoiFooD5x6IFS8tLp0RMsc8akysHuCXwsHpHLwShJ_0mvKvNR7anqHkkQKhLq6n6JNBmuG1fkPZnVRSn90stSQPdn4s0tFIxU5TA3-JnGLFaLGt0Rxo-EAUdxn7rG_r5fLN5g/s400/honda_tractor2.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
...which referenced the John Deere series of commercials at the time which professed "It's not how fast you mow...it's how well you mow fast". I thought the commercials were hilarious. Decide for yourself.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/9aWdn63bNh4/0.jpg" src="https://www.youtube.com/embed/9aWdn63bNh4?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Notice, my reply never mentioned John Deere...not a single hash tag..not even the entire quote from the commercial. So you can imagine my surprise when I almost immediately received a request to DM @JohnDeere. What? Are they going to make me take down the tweet? You've gotta be kidding. C'mon, really?? </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Nope, they just wanted to show their appreciation. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFstqkfFpOA9PajdA4l7rz-X7XbpTIu4ux07c9oUuzPPqpuiHx-sQ65Z9x5a3M1LYlJiwd-AxhhWm73re04eDQsUVsdnpNrgVWC9xwUDmfE6M1whMEstMOgP77PW27QC1Sm3U1MbPlD8Q/s1600/deere.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="112" data-original-width="879" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFstqkfFpOA9PajdA4l7rz-X7XbpTIu4ux07c9oUuzPPqpuiHx-sQ65Z9x5a3M1LYlJiwd-AxhhWm73re04eDQsUVsdnpNrgVWC9xwUDmfE6M1whMEstMOgP77PW27QC1Sm3U1MbPlD8Q/s640/deere.PNG" width="640" /></a></div>
<div class="" style="clear: both; text-align: left;">
<br /></div>
<div class="" style="clear: both; text-align: left;">
And in the mail came this...</div>
<div class="" style="clear: both; text-align: left;">
<br /></div>
<div class="" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYWdAtQTt90q2CkfVFkQ19SgpSdg7gcG4FSDFZ3D4WjWNcdej2VFB13jMqx1mFL2_sk36kar3OpQ9_mpmnxuGEFMtVfxGeyDHvEsUWXi182iUWu_6kwNDCelOF0fXspwg1JbxTAK6BSnU/s1600/20171103_204736.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYWdAtQTt90q2CkfVFkQ19SgpSdg7gcG4FSDFZ3D4WjWNcdej2VFB13jMqx1mFL2_sk36kar3OpQ9_mpmnxuGEFMtVfxGeyDHvEsUWXi182iUWu_6kwNDCelOF0fXspwg1JbxTAK6BSnU/s200/20171103_204736.jpg" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="" style="clear: both; text-align: left;">
WOW! I know it was just a T-shirt, but I was blown away because it was so unexpected and unsolicited. I wasn't trying to get on their radar or curry favor. I was just trying to be a wise guy on Twitter. </div>
<div class="" style="clear: both; text-align: left;">
<br /></div>
<div class="" style="clear: both; text-align: left;">
One thing is certain, you can guess the color of my next tractor....all for the price of a t-shirt.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
...our journey continues.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com2tag:blogger.com,1999:blog-4670514573534452370.post-71618993337013086792017-10-14T17:22:00.001-07:002017-10-14T17:31:44.832-07:00Thoughts around the ODTUG Board ElectionODTUG Board Elections are in full swing. Nine qualified persons running for five open seats. Among the nine are three incumbents. There's a very real incumbent advantage. I should know. I was the beneficiary on multiple occasions. But nine doesn't go into five. Something's gotta give.<br />
<br />
During my own time on the ODTUG Board I resisted endorsing others. In private I would voice my opinion, but publicly, not so much. Now that I'm no longer on the Board, I'd like to speak on behalf of two individuals in particular. Peter Koutroubis and Eric Helmer. Why am I singling out these two when I'm friends with everyone in the field? Simple. They came and asked me. I could've declined, but I do think they each have what it takes to serve with distinction. It was an easy decision for me to endorse.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhww2vi85ceH9Oieggoz95YLE-trXSNBccOJMZNnsgO5cGsJsH1XuIMS2D37BhgsGz4-cULd-h5qXOBT9TM0FPVTVivwJNq7NiDRqvY9dboC-wX-KbWMwCpIRQR9ezCx_P05T4koKoL2NE/s1600/pk.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="200" data-original-width="200" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhww2vi85ceH9Oieggoz95YLE-trXSNBccOJMZNnsgO5cGsJsH1XuIMS2D37BhgsGz4-cULd-h5qXOBT9TM0FPVTVivwJNq7NiDRqvY9dboC-wX-KbWMwCpIRQR9ezCx_P05T4koKoL2NE/s200/pk.jpg" width="200" /></a>I've known Peter for a few years now. We share a close friendship. He's been very giving of his time to help me professionally and for that I'm grateful. Looking at his background I expect certain things if he were elected. You see, Peter served in the U.S. military. If elected, I expect the ODTUG trains to run on time. I expect order and organization. I expect he'd be one on the Board that you could assign a task to, then forget about it...knowing that he'll take care of it. A lot of time spent on the Board is in the area of planning and I feel that's a place he'll excel. I get a sense, too, that KScope is the highlight of his year where you actually come in contact with the membership. Like me, Peter's positively a people person. (say that three times fast)<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZZ1O4JVBiAJxhrsvbbLvYrKeTuBPVEbklg92TMhm9qPO17glTRqhTOjBnzozyVg0dqmO2aTFXVu3eCC-oNbQOMMoJ04XXh-HC-NJLp6-d9CoWOr6jq9G7cA-UPv-7atXUjDTIQUNBC1k/s1600/eh.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="200" data-original-width="200" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZZ1O4JVBiAJxhrsvbbLvYrKeTuBPVEbklg92TMhm9qPO17glTRqhTOjBnzozyVg0dqmO2aTFXVu3eCC-oNbQOMMoJ04XXh-HC-NJLp6-d9CoWOr6jq9G7cA-UPv-7atXUjDTIQUNBC1k/s200/eh.jpg" width="200" /></a>Eric has run for the Board on a few occasions now, but I think this year may be his time. A big reason is that ODTUG's EPM membership numbers continue to grow. Since one must be a paid member to vote, he's been behind the eight ball in past elections. This year his chances are better than ever. Please take a minute to visit <a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://www.Eric4ODTUG.com&source=gmail&ust=1508112184557000&usg=AFQjCNFPtprc84Jdeg_tsMu_KTrCCE17oA" href="http://www.eric4odtug.com/" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 12.8px;" target="_blank">http://www.Eric4ODTUG.com</a> You can see he's put a ton of effort into the site. If he brings this much effort and focus to the Board, he'll make a helluva Director. In talking with Eric, he made it clear to me that he intends to represent the entire membership not just the EPM/BI communities. That's music to my ears.<br />
<br />
<br />
In closing, I'd like to thank all those in the running for continuing to support our fantastic organization. To Peter and Eric, best of luck to you both. I'm happy to call you my friends and extremely proud to pledge my support.<br />
<br />
<br />
...our journey continues<br />
<br />
<br />Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-65094182113406007342017-10-13T19:17:00.000-07:002017-10-13T19:17:34.497-07:00It's What You Do When You Do What We DoIt's late evening on August 30th, 2017. After dropping some four feet of rain on the Houston area, Hurricane Harvey takes aim at the upper Texas Gulf Coast - namely the town of Port Arthur. I grew up in nearby Orange and later lived and worked in Port Arthur. Growing up we'd never been struck by any significant hurricanes. Rita, and later Ike, dramatically changed that experience. Hurricanes now had the area's full attention.<br />
<br />
Based on the previous four days, it was clear that the real threat from Harvey was going to be the rising water due to torrential rains and less the damaging winds and storm surge. In fact in less than twenty-four hours, Interstate 10 became unrecognizable.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcKVxO27cMORVL7A-nZW2xIWdnW4Jr3Ji-t9I8jRlffLc1CmnAtBwuJFGbdJXkHyystZ0VDJtgf_G1Nxy1JCyrSPotG4lJ-Qk25vQSubS4FeowOfNa0Aza8rWBrqnKZMVMP_zjArEqvO0/s1600/harvey_tweet0.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="433" data-original-width="685" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcKVxO27cMORVL7A-nZW2xIWdnW4Jr3Ji-t9I8jRlffLc1CmnAtBwuJFGbdJXkHyystZ0VDJtgf_G1Nxy1JCyrSPotG4lJ-Qk25vQSubS4FeowOfNa0Aza8rWBrqnKZMVMP_zjArEqvO0/s320/harvey_tweet0.PNG" width="320" /></a></div>
<br />
Monitoring Twitter, I began to see tweets from Port Arthur residents begging for rescue.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnBE-YqCm7GzKaz9u9hJSVLeIUaMSL5hRrszXnGn64baGyKGjvRqmQZCEeMmlFykR6yF0vXK4YvTn-sjA5mNkdVGobkgwTYVhshKTQD-de_TtYRI3eac1B8QuLe2YJye5VobSAK3Hv210/s1600/harvey_tweet1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="279" data-original-width="797" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnBE-YqCm7GzKaz9u9hJSVLeIUaMSL5hRrszXnGn64baGyKGjvRqmQZCEeMmlFykR6yF0vXK4YvTn-sjA5mNkdVGobkgwTYVhshKTQD-de_TtYRI3eac1B8QuLe2YJye5VobSAK3Hv210/s400/harvey_tweet1.PNG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-NyJVFT7VNAwcXqguuID1KcgvknaV98ecbcw90R839jmpdId0rAIxzwn-vy_UObWWVsEB_RmBVebF81lKnMvaCrq0wSgiSJgTVVZscQFJ_dkBf8oTZH0HFWNTDIJl8xSQjnxqkiDcUcM/s1600/harvey_tweet2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="178" data-original-width="801" height="88" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-NyJVFT7VNAwcXqguuID1KcgvknaV98ecbcw90R839jmpdId0rAIxzwn-vy_UObWWVsEB_RmBVebF81lKnMvaCrq0wSgiSJgTVVZscQFJ_dkBf8oTZH0HFWNTDIJl8xSQjnxqkiDcUcM/s400/harvey_tweet2.PNG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO10wQmrRiAd28batBZcWmtIY4sh-yLt1WnQhBy2SWEpV9kwpP2Uf1d8sqow2vf7QBkF8yk0DrCpyEBE92Pe_QBrCJFrAFu9Zdu2oc5V8KnOAeqhXTE0AW8piIyu57-_S4NFqNNPM6PmM/s1600/harvey_tweet3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="178" data-original-width="800" height="88" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO10wQmrRiAd28batBZcWmtIY4sh-yLt1WnQhBy2SWEpV9kwpP2Uf1d8sqow2vf7QBkF8yk0DrCpyEBE92Pe_QBrCJFrAFu9Zdu2oc5V8KnOAeqhXTE0AW8piIyu57-_S4NFqNNPM6PmM/s400/harvey_tweet3.PNG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRuTvL7AVsVXnlBVQ15GJTiVH0L-GIQcRMh0mptm8ZWwg-IhcbGjerzuBKB_utDCwdT03fwsOYr6JeNy4gL29m9NmBZfqKXywnf76EWkp9Rr3O38JNsN4AhLaQ5MKNhvIJZy_K7-8ky-g/s1600/harvey_tweet4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="295" data-original-width="800" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRuTvL7AVsVXnlBVQ15GJTiVH0L-GIQcRMh0mptm8ZWwg-IhcbGjerzuBKB_utDCwdT03fwsOYr6JeNy4gL29m9NmBZfqKXywnf76EWkp9Rr3O38JNsN4AhLaQ5MKNhvIJZy_K7-8ky-g/s400/harvey_tweet4.PNG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEkkUSNsYV_9xsszMWqMKfjpE9aazB-rW27VS7aCBpKeywSi2VHdagspdgAc_FF-x8G7fH4AyLzbfuYluf40dGo_YA1QV62aEMX6QS3PrEDy2BEFJSZTzRxcl19szis852QiVFTgHAxBw/s1600/harvey_tweet5.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="324" data-original-width="796" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEkkUSNsYV_9xsszMWqMKfjpE9aazB-rW27VS7aCBpKeywSi2VHdagspdgAc_FF-x8G7fH4AyLzbfuYluf40dGo_YA1QV62aEMX6QS3PrEDy2BEFJSZTzRxcl19szis852QiVFTgHAxBw/s400/harvey_tweet5.PNG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh16UL92hG1Eai3Y4PGxry9kSEtTxR6-CMMjU9VwFeLsFAROl7dueFIt7p97cGDWGumG7a6B24gaFaqPoaMyresx1gAWC40nEqpYeIcphimfG9LRmGsnOQJzNoqlRbdrsYEm8MFFlZ7RhM/s1600/harvey_tweet6.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="389" data-original-width="799" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh16UL92hG1Eai3Y4PGxry9kSEtTxR6-CMMjU9VwFeLsFAROl7dueFIt7p97cGDWGumG7a6B24gaFaqPoaMyresx1gAWC40nEqpYeIcphimfG9LRmGsnOQJzNoqlRbdrsYEm8MFFlZ7RhM/s400/harvey_tweet6.PNG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia7Io1lTFCqlRDs95jpGZNrAbvPxKQAOX808YNjZ50IHujaAblfSFb38-unWQtuUZXy7q2BrHp46MCHDL7oB4NhROQLGx4ZLvxUNTlO9qAuhtgmeAZ3ww4YZK6oXbMolLGLjhRkdcpRb0/s1600/harvey_tweet7.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="273" data-original-width="803" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia7Io1lTFCqlRDs95jpGZNrAbvPxKQAOX808YNjZ50IHujaAblfSFb38-unWQtuUZXy7q2BrHp46MCHDL7oB4NhROQLGx4ZLvxUNTlO9qAuhtgmeAZ3ww4YZK6oXbMolLGLjhRkdcpRb0/s400/harvey_tweet7.PNG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoxDehTW-e5IGl5fSGskFpmU8-p6WCpz5KiP67D7JcEXf3JhAkb0RqQZaNdlHFvOtj5EDZXrGfyI6WcefmqeuMS1ziDu3FMOONNCg0O-s6bGVcwGFVdYwnBVH1lWiyPA0DCjfZkLfNJH0/s1600/harvey_tweet8.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="397" data-original-width="797" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoxDehTW-e5IGl5fSGskFpmU8-p6WCpz5KiP67D7JcEXf3JhAkb0RqQZaNdlHFvOtj5EDZXrGfyI6WcefmqeuMS1ziDu3FMOONNCg0O-s6bGVcwGFVdYwnBVH1lWiyPA0DCjfZkLfNJH0/s400/harvey_tweet8.PNG" width="400" /></a></div>
<br />
<br />
One after the other...I couldn't believe it. It was heartbreaking...in darkness...the elderly unable to escape without assistance....Haley Davis, the expectant mother standing in waist deep water...and snakes...SNAKES!<br />
<br />
I had to do something, but in every way powerless to take any real action. My neighborhood was cut-off. All roads to FM 1093 (including FM 1093 itself) were impassable. So I couldn't even leave my neighborhood, much less navigate the hundred plus miles to Port Arthur.<br />
<br />
I definitely felt a call to action. True, I could simply re-tweet these as they come across, but a comprehensive view is what was lacking. I needed a way to display these tweets on a map allowing rescuers to hit entire streets or neighborhoods. Yes, a map is what was needed.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9vXdIDMjMeNq2fDWcOOcsIPFiIY-Nfywzwz9xWivlP4hBHCb-pA_T2O3WWVs0ZPUfVfGDRyl42W7Yo0i_WEyAdMUmSnucl86c72mIAQo2BW1Y8fCCyz782K7w1ZyF7do2sv7NurhAVJk/s1600/ifttt.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="325" data-original-width="312" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9vXdIDMjMeNq2fDWcOOcsIPFiIY-Nfywzwz9xWivlP4hBHCb-pA_T2O3WWVs0ZPUfVfGDRyl42W7Yo0i_WEyAdMUmSnucl86c72mIAQo2BW1Y8fCCyz782K7w1ZyF7do2sv7NurhAVJk/s200/ifttt.PNG" width="191" /></a>So, I did what any Oracle Nerd would do... I went to <a href="https://en.wikipedia.org/wiki/IFTTT" target="_blank">IFTTT</a> and found an applet to push Tweets to a Google Sheet that matched the search term "Port Arthur". (For those unfamiliar with IFTTT - IfThisThenThat), it allows you to chain actions together that perhaps otherwise you'd be forced to perform manually.)<br />
<br />
Another benefit for me in using IFTTT was that I didn't need to apply for or utilize a Twitter API key. I didn't have time to waste!<br />
<br />
Next I ran those results against a regular expression that identified street addresses.<br />
<br />
<div style="text-align: center;">
<span style="background-color: #cfe2f3;">WHERE REGEXP_LIKE (v_string, '\d+ (\w+) (st|dr|blvd|pl|ave|road|rd|court|ct|cir)','i')</span></div>
<br />
Not perfect, but I needed something out in a hurry. Lives were in the balance.<br />
<br />
From there, I created a Custom Google Map. No need to geocode the addresses. Google Maps does that automatically.<br />
<br />
The results painted a pretty clear picture of what parts of Port Arthur were most in need. I pushed it out to the local authorities and the <a href="https://en.wikipedia.org/wiki/Cajun_Navy" target="_blank">Cajun Navy</a><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipOTq3YfIK-BuV7f6AzsbZGBkouYRLQgTxgVxMBajCBFbJHbIC6zahqe6UTT-XHQf44phxeSEV2NoY7yvJrh8irFP74TlyYb37BScNq9B9YGHdH6rEO2OABUlRupvTRx-9HXClKgQafBA/s1600/results.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="440" data-original-width="532" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipOTq3YfIK-BuV7f6AzsbZGBkouYRLQgTxgVxMBajCBFbJHbIC6zahqe6UTT-XHQf44phxeSEV2NoY7yvJrh8irFP74TlyYb37BScNq9B9YGHdH6rEO2OABUlRupvTRx-9HXClKgQafBA/s400/results.PNG" width="400" /></a></div>
<br />
<br />
Best of all the Google Map embedded in the tweet is fully functioning. Zoom in. Zoom out. Call-outs are all available as evidenced <a href="https://drive.google.com/open?id=1LAjwk_cIZzMRyxH9ePNiHr6wJmM&usp=sharing" target="_blank">here</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv1ybYiu5O-mo7mo_vq5WwrzR9EjrnrhgL0D7M3_bDq7OLmpVIJAe3lwo-RpMUzju9Pn5lJ4u65ud-NlZfn_INyF-L-K4kYJOxtxsFMXNKOXDUgJ-0Z97Q2DfLJ3D6aYqujuJCbtefRtM/s1600/harvey_map.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="453" data-original-width="635" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv1ybYiu5O-mo7mo_vq5WwrzR9EjrnrhgL0D7M3_bDq7OLmpVIJAe3lwo-RpMUzju9Pn5lJ4u65ud-NlZfn_INyF-L-K4kYJOxtxsFMXNKOXDUgJ-0Z97Q2DfLJ3D6aYqujuJCbtefRtM/s320/harvey_map.PNG" width="320" /></a></div>
<br />
<br />
The entire effort took less than an hour.<br />
Pretty geeky? Yeah, but it's what you do when you do what we do.<br />
<br />
I have no way of knowing whether my actions contributed to any rescues. I'll probably never know. I do know the rescuers, as a result, were provided better data in which to do their jobs. That's enough for me.<br />
<br />
<br />
...our journey continues<br />
<br />
<br />Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com2tag:blogger.com,1999:blog-4670514573534452370.post-79708357401423881212017-08-10T08:53:00.002-07:002018-08-22T12:30:47.251-07:00Thanks, LISTAGG. I owe ya one.<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3LLcmKDEc_N0-LDh2mqgLFLmHlThthw2BHQYUAnrYVo5dmIX3Cu5DUWXl-WzNS-CtFNUIOFFHUd4bxeaaahHfyuQkujuwQmKHo02rlGYUEWTQzEvAmeQKdgK3CxdTh8qy7otM_aIof34/s1600/flag_banner.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="80" data-original-width="120" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3LLcmKDEc_N0-LDh2mqgLFLmHlThthw2BHQYUAnrYVo5dmIX3Cu5DUWXl-WzNS-CtFNUIOFFHUd4bxeaaahHfyuQkujuwQmKHo02rlGYUEWTQzEvAmeQKdgK3CxdTh8qy7otM_aIof34/s200/flag_banner.jpg" width="200" /></a>My son is in Boy Scouts and their fundraising campaign involves the placement of U.S. Flags on certain holidays. In it's infancy it was all handled via spreadsheets. You can do that when you're only talking a limited number of flags.<br />
<br />
I, of course, wrote an APEX app for it.<br />
<br />
It's what you do when you do what we do.<br />
<br />
Since this wasn't a paid gig, I re-purposed the "Sample Database App". Everything was coming along. The desktop functionality was in place and looking grand. The mobile functionality one needed in the field was taking shape. I got to a mobile list view that needed to list the address and under it the details of the individual flags on that property....could be one...could be many. Not difficult but I wanted an elegant solution that wouldn't add rows to my list view.<br />
<br />
Let's look briefly at the source code...<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> select f.flag_id,</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> c.address,</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> f.flag_nbr,</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> f.flag_desc,</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> f.active</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> from customers c,</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> flags f</span><br />
<span style="font-size: xx-small;"><span style="font-family: "courier new" , "courier" , monospace;"> where </span><span style="font-family: "courier new" , "courier" , monospace;">c.customer_id = f.customer_id</span></span><br />
<br />
Nothing to get excited about here.<br />
<br />
Looking at the Advanced Formatting options for the List View...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-bjhJaIpERP9-5HGAV2g9aAxD8ceEYWqscZiDCdmxWO7wCAOSZxm7OCbMzL0Zq-PejWbXMLZ4QQ1uRV-uvp4hTe_hXxltIuLbP50zSDzAcMv5US7fTTVCKKTeQEhe_5jpxu8xEmAKB5Q/s1600/listagg3.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="189" data-original-width="386" height="97" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-bjhJaIpERP9-5HGAV2g9aAxD8ceEYWqscZiDCdmxWO7wCAOSZxm7OCbMzL0Zq-PejWbXMLZ4QQ1uRV-uvp4hTe_hXxltIuLbP50zSDzAcMv5US7fTTVCKKTeQEhe_5jpxu8xEmAKB5Q/s200/listagg3.PNG" width="200" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<br />
Hmm. This could potentially add blank lines. What I really needed to do is aggregate the list of flags for that property. What I really need is something like this...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmUvautjDjCjVweY12Sihipc3fu8bEQXJVlHotmxH0H_DWCq4lChcaTrNMToMs_I5SxosLd6xStNCiF6OzrDcGRGef4zuMxCiV8FlBnTJZ4q_L3xgHxi5NWfgXsvFSMr5mvTis_2-FU_Q/s1600/listagg4.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="93" data-original-width="372" height="50" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmUvautjDjCjVweY12Sihipc3fu8bEQXJVlHotmxH0H_DWCq4lChcaTrNMToMs_I5SxosLd6xStNCiF6OzrDcGRGef4zuMxCiV8FlBnTJZ4q_L3xgHxi5NWfgXsvFSMr5mvTis_2-FU_Q/s200/listagg4.PNG" width="200" /></a></div>
<br />
<br />
<br />
<br />
<br />
Enter LISTAGG. I assume we've all used listagg to do this very thing but I didn't want the result to simply be a concatenated string of "Flag1, Flag2, Flag3, FlagN"...or did I? A few well placed P's here and there and I got exactly what I wanted.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlKnYBeT5A_ZZ6EF7teqs8_-IJNE3ZeCWN71Po3HHoEm1Mrbn2B6wAoMe41KCAwwjzOk5-bDHwl5QQLQSD9gtAwMijtwjyGlCu-49nJCWBKqtiAEIDSYeaUDKpK_02UP52Tvx5r-_8-E4/s1600/listagg5.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="254" data-original-width="766" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlKnYBeT5A_ZZ6EF7teqs8_-IJNE3ZeCWN71Po3HHoEm1Mrbn2B6wAoMe41KCAwwjzOk5-bDHwl5QQLQSD9gtAwMijtwjyGlCu-49nJCWBKqtiAEIDSYeaUDKpK_02UP52Tvx5r-_8-E4/s320/listagg5.PNG" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div>
<br /></div>
and here's the big reveal..."Move that Bus!"<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOo6D-i5fs8Nuo3E101XOBoBm6fa8ugzAxXhgS0DLqfsGj_rPXADTERX5SydFvDtrUQAIfRzV2M3adki9PJtg21QNCU8YEX2u6M6a2xpev4P50hNgpOAqp_deI9q_Kw-fgWb1ZWKA7HeQ/s1600/listagg_081017.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="563" data-original-width="505" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOo6D-i5fs8Nuo3E101XOBoBm6fa8ugzAxXhgS0DLqfsGj_rPXADTERX5SydFvDtrUQAIfRzV2M3adki9PJtg21QNCU8YEX2u6M6a2xpev4P50hNgpOAqp_deI9q_Kw-fgWb1ZWKA7HeQ/s320/listagg_081017.PNG" width="287" /></a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Exactly what I needed. LISTAGG provided me a way, for display purposes, to effectively pivot the data. The takeaway here is don't rule out things like LISTAGG because at first glance they don't appear to deliver what you need. In this case the concatenated string I received just needed a little TLC.<br />
<br />
<br />
...our journey continues<br />
<br />
<br />
<br />
<br />Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-5448050164445717012017-06-24T03:33:00.000-07:002017-06-24T03:33:19.053-07:00Are You Doing Everything You Can To Help Others Succeed?<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC9Kk7eFzcudfDaDqjBbOSv8rFWzS25w_9gTSw2__nqsDYWUDYI3FMDHA91aWtQxME032UyyArJs9nwwSVAiBuU83mjSRKMikP6dUHtTdsAiciJYgt-ks1HDIj0OsrpQ7xyZqESwOyKSc/s1600/helpful.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="279" data-original-width="424" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC9Kk7eFzcudfDaDqjBbOSv8rFWzS25w_9gTSw2__nqsDYWUDYI3FMDHA91aWtQxME032UyyArJs9nwwSVAiBuU83mjSRKMikP6dUHtTdsAiciJYgt-ks1HDIj0OsrpQ7xyZqESwOyKSc/s320/helpful.PNG" width="320" /></a></div>
My old man once told me, "You can never get promoted until someone else can do your job". While he's correct, it does seem counter-intuitive. Let me get this straight. I'm actually supposed to help someone take my job from me? All the things I've learned..the late nights and weekends...the blood...the sweat...the tears...I'm supposed to just hand over willingly??<br />
<br />
YES! That's exactly what I'm saying. In fact, that was the first thing I told incoming ODTUG Board members each year..."get out there and find your replacement". For ODTUG the obvious intent was to keep the pipeline full, but within our own companies I believe it's even more applicable.<br />
<br />
This kind of knowledge transfer is going to make your life easier and more rewarding. Without having to fight those same fires day in and day out, you'll be freed up to take on other challenges within your company. More than likely you're becoming a bottleneck, or pinch point, throttling back the speed at which your company can deliver.<br />
<br />
So what are the steps to getting there??<br />
<ul>
<li><b>Find your bell cow</b> Here in Texas, we know that the bell cow is the one in the herd that the others tend to follow - a leader among the herd. You may be surprised at who this turns out to be. It's not always the most experienced. It's not always the one that does the talking. It's the one the rest of the team respects both personally and professionally.<br /></li>
<li><b>Share your toolbox</b> I maintain, as I believe we all do, a pretty substantial toolbox of bookmarks, videos, whitepapers, code snippets, SQL examples, regular expressions, etc...you name it. Share these with your team. Better yet, build a repository the entire team can benefit from.<br /></li>
<li><b>Make introductions</b> This one's extremely important. I recall almost 30 years ago, there was a push to legalize casino gambling in our locale. I talked my way onto the bus heading to the state capital with a contingent of local politicians. One of the old timers was Duffy Adair. I remember to this day, Duffy introducing me to these state politicians saying "You need to know this kid." Needless to say, they all got along just fine NOT knowing me, but the fact that Duffy made the introductions had me on a cloud.<br /></li>
<li><b>Take an interest in junior staffers</b>. This one is very important. Spend time getting to know them on a personal level. Remember we had to learn the tech while they grew up with the tech. Their idea of what is intuitive or non-intuitive could differ from yours. Learn from them.</li>
</ul>
To summarize, helping others succeed can be the quickest way to ensure your own success.<br />
<br />
...our journey continues
Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-18550553459071567952016-11-22T09:17:00.001-08:002016-11-22T10:50:50.227-08:00Where, Oh Where Has My Little Tweet Gone?Recently, as part of the <a href="http://www.oracle.com/technetwork/community/oracle-ace/index.html" target="_blank">Oracle ACE</a> renewal process, I was tasked with gathering statistics around my tweets. How many tweets were about Oracle? How many tweets about Cloud? How many tweets about Cloud? (not a typo) Now, I knew of the advanced search capabilities accessed here:<br />
<br />
<a href="https://twitter.com/search-advanced" target="_blank">https://twitter.com/search-advanced</a><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLXP00wdFw_Ngc_JLvjMYcQJWMeM9eDTuz4ycjLQcjnUMbtHFzTuqvmaAZU8rZV6u14G4yjX7w3iPWw7AWRzzd8AydylNeT8xvCb4-qrejW_XzKfIkeL4dlR28dsVvvBnkoIROnT0hB5g/s1600/twitter_advanced.PNG" imageanchor="1" style="display: inline !important; margin-left: 1em; margin-right: 1em;"><img border="0" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLXP00wdFw_Ngc_JLvjMYcQJWMeM9eDTuz4ycjLQcjnUMbtHFzTuqvmaAZU8rZV6u14G4yjX7w3iPWw7AWRzzd8AydylNeT8xvCb4-qrejW_XzKfIkeL4dlR28dsVvvBnkoIROnT0hB5g/s400/twitter_advanced.PNG" width="400" /></a></div>
<br />
<br />
What I was not aware of was just how powerful the simple Search field is on the Twitter header bar. Log into twitter.com and in the upper right area of the screen, you see something like this.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlbRml817pj7q2xTKXAUjToOYRkKkdA3uVKRlKHLNOupWRecp9F1NmslCSJ3r3i_f7777dhvSd_xnsIhdSkJadojFrLniof_AY2wOLfYadHc8qqtSJAp6dc05bs99xSErLa2LTNiWX__w/s1600/twitter_basic.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="35" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlbRml817pj7q2xTKXAUjToOYRkKkdA3uVKRlKHLNOupWRecp9F1NmslCSJ3r3i_f7777dhvSd_xnsIhdSkJadojFrLniof_AY2wOLfYadHc8qqtSJAp6dc05bs99xSErLa2LTNiWX__w/s320/twitter_basic.PNG" width="320" /></a><br />
<br />
<br />
<br />
You can get super creative identifying specific hashtags, users, accounts, and date ranges. Let's look at some examples...<br />
<br />
Say I want to see all my tweets since October 1, 2016. All you do is enter into the search field:<br />
<br />
<b>from:monty_latiolais since:2016-10-01</b><br />
<br />
Pretty cool, eh?<br />
<br />
Here are some additional searches you can easily perform right from the basic Search field.<br />
<br />
Display all my tweets between a certain date range<br />
<br />
<b>from:monty_latiolais since:2016-10-01 until:2016-10-15</b><br />
<br />
<br />
Display all my tweets to another account (example: odtug)<br />
<div>
<br /></div>
<b>from:monty_latiolais @odtug</b><br />
<br />
<br />
Display all my tweets to multiple accounts (example: odtug or insum_solutions)<br />
<div>
<br /></div>
<b>from:monty_latiolais @odtug OR @insum_solutions</b><br />
<br />
<br />
Display all my tweets that include hashtag #kscope16<br />
<div>
<br /></div>
<b>#kscope16 from:monty_latiolais</b><br />
<br />
<br />
Display all my tweets that include hashtag #kscope16 or hashtag #kscope17<br />
<br />
<b>#kscope16 OR #kscope17 from:monty_latiolais</b><br />
<br />
<br />
Display all my tweets that include the word 'chicago'<br />
<br />
<b>chicago from:monty_latiolais</b><br />
<br />
<br />
Finally, display all my tweets that include the word 'chicago', but not the word '5k', within a date range, that includes hashtag #oracle<br />
<br />
<b>chicago -5k #oracle from:monty_latiolais since:2014-07-01 until:2016-11-22</b><br />
<br />
<br />
<br />
<br />
...our journey continues<br />
<br />
<br />
<br />Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com2tag:blogger.com,1999:blog-4670514573534452370.post-25680111606571902082016-07-14T10:38:00.001-07:002016-07-14T14:05:11.820-07:00Reflections on KScope16<a href="https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAAl5AAAAJDBjMDkzZTlhLTdkNTUtNDY2MS05YmNiLTYxZjY4YzdlMGUwYg.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" class="left" data-loading-tracked="true" height="200" src="https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAAl5AAAAJDBjMDkzZTlhLTdkNTUtNDY2MS05YmNiLTYxZjY4YzdlMGUwYg.jpg" style="border: 0px; box-sizing: border-box; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin-top: 30px; max-width: 100%; outline: 0px; padding: 0px; vertical-align: baseline;" width="112" /></a>KScope16 is now in the rear view and what a week it was. This year was unique for me because for the first time in several years I was able to participate as an attendee (and this year a vendor).
<br />
<br />
It was a very different experience indeed, but I loved every minute of it. I was able to reconnect with folks I haven't seen in years, like Ralf Schroeder (pictured) and Ran Dumpit who I hadn't seen since KScope 2009 in Monterey, California. I wouldn't trade my time on the ODTUG Board, but it was sure great having time to sit and visit. It brought me right back to why I love this conference so much.
<br />
<br />
This year Insum went "all in" sending a whopping 13 folks. Never in the history of our company have we mustered that kind of presence. It certainly paid off. We were able to completely canvas each and every APEX session and a large portion of the database track, too. The Insum booth stayed humming the entire week. Our customer panel on Tuesday was standing room only.<br />
<br style="box-sizing: border-box;" />
We've put together a list of KScope highlights from each of us attending from Insum. You can find it <a href="http://www.insum.ca/insum-kscope16-highlights/" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: border-box; color: #8c68cb; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; outline: none; padding: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">here</a>. Give it a read and let me know if it matches your experience.
<br />
<br />
I'd be remiss in not mentioning a few of us even made a pilgrimage to the famous <a href="https://www.youtube.com/watch?v=Y1tFx5xKrSI" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: border-box; color: #8c68cb; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; outline: none; padding: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">Billy Goat Tavern</a> (and not one of us ordered fries or a Pepsi).
<img class="center" data-loading-tracked="true" height="480" src="https://media.licdn.com/mpr/mpr/shrinknp_800_800/AAEAAQAAAAAAAAlcAAAAJGUyNTU4MmY2LWVkYzktNGJmZC05YzFhLTNhNjIwZDA3MGYzOQ.jpg" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: border-box; display: block; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; height: auto; line-height: inherit; margin: 30px auto; max-width: 100%; outline: 0px; padding: 0px; text-align: center; vertical-align: baseline;" width="640" />
If you're an Oracle professional and have not attended a ODTUG event, plan on joining me in San Antonio, TX, June 25-29, 2017 for <a href="http://www.kscope17.com/" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: border-box; color: #8c68cb; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; outline: none; padding: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">KScope17</a>. Use registration code 'INSUM' and I'll save you an additional $100!
<br><br><br>
...our journey continues
Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-29422670073975025022016-07-06T17:49:00.001-07:002016-07-06T18:31:02.571-07:00Challenge EverythingI recently attended the Art of the Sale seminar in Vancouver, BC. I feel like I benefited more than anyone in the room, perhaps because I had the most to learn.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoCZ0Y4UQDZbZNsKQJ33B0Pdz5IX6fg0jk8802SLJVVJJao0WUt342fmU1K384kPqWH4ekR_WCCBHj2iHvsYf0vIjIECeObru9jy27WjtDzVMl2XVNPz1OXMTT0J3IvEHOykRD3otuMbA/s1600/gitomer.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoCZ0Y4UQDZbZNsKQJ33B0Pdz5IX6fg0jk8802SLJVVJJao0WUt342fmU1K384kPqWH4ekR_WCCBHj2iHvsYf0vIjIECeObru9jy27WjtDzVMl2XVNPz1OXMTT0J3IvEHOykRD3otuMbA/s1600/gitomer.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Gitomer</td></tr>
</tbody></table>
The speaker I enjoyed most was <a href="https://www.gitomer.com/">Jeffrey Gitomer</a>, author of the <a href="https://www.gitomer.com/Jeffrey-Gitomer-Little-Red-Book-of-Selling-pluLRB.html">Little Red Book of Selling</a>. Very entertaining. Very informative. His session ended way too soon for me.<br />
<br />
One of my takeaways from the day was not from Gitomer, but from <a href="https://www.linkedin.com/in/brentadamson">Brent Adamson</a>. He identified five Sales Rep profiles. To some of you, they will be familiar. They are:
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6_U_Hm6opdvkVzAjJxTHRb0SwDppumXJBnJtqKhdz7C2ZZzkjsVkMjkDkC_RaV-E9HKs_-CGOcxRaGaGSdlthhB68zJkzkPR6pOFjUF5w8mNFNvcoDT4RyArSVltiDRGliF-p0q7AZlE/s1600/adamson.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6_U_Hm6opdvkVzAjJxTHRb0SwDppumXJBnJtqKhdz7C2ZZzkjsVkMjkDkC_RaV-E9HKs_-CGOcxRaGaGSdlthhB68zJkzkPR6pOFjUF5w8mNFNvcoDT4RyArSVltiDRGliF-p0q7AZlE/s1600/adamson.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Adamson</td></tr>
</tbody></table>
<ul>
<li><b>Hard Worker</b> - Always goes the extra mile. Doesn't give up easily. Self motivated. Interested in feedback and development.</li>
<li><b>Challenger</b> - Always has a different view of the world. Understands the customers business. Loves to debate. Pushes the customer.</li>
<li><b>Relationship Builder</b> - Builds strong customer advocates. Generous in giving time to help others. Gets along with everyone.</li>
<li><b>Lone Wolf</b> - Follows own instincts. Self-assured. Independent.</li>
<li><b>Problem Solver</b> - Reliably responds. Ensures that all problems are solved. Detail oriented.</li>
</ul>
Of these, he continues, the Challenger profile consistently outperforms the others. Got me to thinking...shouldn't this apply to things other than sales?? If it's so effective, could a similar approach to development and management be something to consider??<br />
<br />
Let's put on our developer hat for a minute. It's customary that we receive specifications from the business analyst. Before writing the first line of code, what if the developer were to take a minute to review the specs looking particularly for embedded assumptions...is there a more efficient way to solve the problem?<br />
<br />
Now from point of view of a manager...you've got a very talented staff from top to bottom...push them to think outside of convention. I had a manager some twenty years ago. Nothing I'd bring him was ever good enough. If it took 10 seconds to run, he'd ask why I couldn't get it down to 5?? Frustrating? You bet. But it forced me to raise my game. It forced me to not deliver commodity code. It forced me to craft elegant, efficient solutions that I was proud to put my name on. As I admitted it was frustrating at times...especially for the first few years, but I always felt he was on my side and not once did I feel he was being malicious. I look back now and the product benefited greatly from him demanding I consider alternatives. I believe he is responsible for any success I achieved later in my career.<br />
<br />
This approach will not, can not, work without copious amounts of respect. Yes, Aretha, R-E-S-P-E-C-T. Someone without the respect of his or her peers will be looked on as difficult to work with, not a team player, or worse. Done correctly, others will clamor to have this person on their team, because of the elegant, innovative, out of the box solutions that come as a result.<br />
<br />
In the first example the developer must realize at the end of the day the decision resides with the manager and I suppose ultimately the customer.<br />
<br />
In the second example the manager must leave no doubt that he believes in his staff to make magic. Do that and they'll walk through fire for you.<br />
<br />
I implore you...challenge everything, but do so with the requisite amount of respect.<br />
<br />
<br />
...our journey continues
Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-83249101673968463412016-04-20T09:19:00.000-07:002016-04-25T05:35:22.264-07:00New to APEX? These KScope 16 sessions are for you!<div style="color: #222222; font-family: arial, sans-serif; font-size: small;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhynDPPYS-xn9p5FUEHnTsCpvhy1xwKabXJ4hG39WHUiK03t_Ubu-FjxC6WImdgwdwytZx_CARZllYXLwJGVo7TDLR1BQ0v6OPLmMLd4DeOBJsH4BuB9PhCdAU3qvG7mDOoE2tIjoSWqaI/s1600/kscope16.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhynDPPYS-xn9p5FUEHnTsCpvhy1xwKabXJ4hG39WHUiK03t_Ubu-FjxC6WImdgwdwytZx_CARZllYXLwJGVo7TDLR1BQ0v6OPLmMLd4DeOBJsH4BuB9PhCdAU3qvG7mDOoE2tIjoSWqaI/s1600/kscope16.jpg" /></a>The APEX Community is amazing.<br /><br />
It's a credit to <a href="https://twitter.com/joelkallman" target="_blank">Joel Kallman</a> and the APEX Dev Team. It's a credit to the Oracle ACE's and ACE Directors specializing in APEX. It's a credit to those companies like Insum who challenge the stereotypes and demonstrate exactly what APEX is capable of. It's a credit to every APEX developer everywhere.<br /><br />
As President of <a href="http://www.odtug.com/" target="_blank">ODTUG</a> I worked with all of the communities, but I can tell you there's nothing..nothing like the APEX Community.<br /><br />
While many of us have been using APEX for years, we must remember the current popularity of the tool means that new developers are arriving daily - which is the subject of today's post.<br /><br />
A quick look at the this year's <a href="http://kscope16.com/component/seminar/seminarslist?Itemid=57&topicsid=2" target="_blank">KScope16 APEX lineup</a> and it's clear to see there's something for everyone. I took a stab at building a session list I feel would have particular appeal to someone looking at APEX for the first time, or someone without much experience with the tool. In addition to the expected APEX intro sessions, you'll see a pretty wide range of topics - everything from hands-on labs, to panel discussions, to mobile development, to SQL and PL/SQL. That's because to be that solid APEX developer, you need a solid Oracle foundation to stand on. <br /><br />
The list below should keep you plenty busy. Make sure to drop by the <a href="http://www.insum.ca/" target="_blank">Insum</a> booth to let me know what you think.<br /><br />
Oh, and you MUST plan to attend the <a href="http://kscope16.com/content/sundaysymposiums#APEX" target="_blank">Sunday Symposium</a> and <a href="http://kscope16.com/thursday-deep-dive-sessions#Application Express" target="_blank">Thursday Deep Dive</a>.<br /><br />
Click <a href="http://www.insum.ca/new-to-apex-these-kscope-16-sessions-are-for-you/?platform=hootsuite">here</a> to see the session list!
<br />
<br />
<br />
<div style="color: #222222; font-family: arial, sans-serif; font-size: small;">
In a future post we'll assemble a session list for those more experienced APEX developers.
<br /><br /><br />
...our journey continues</div></div>Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-68983435674662908412016-03-10T14:24:00.001-08:002016-03-10T14:24:43.811-08:00KScope16 Hands On Labs Announced!<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiegVnZGfXWX8b7sMRxuIgVOfoIz4rsb376kXf6yL8TIdfKCWJmSTBKPb38-NGbCB8290brvy9ikuI1E1U7eLgeTZYe9KOWBmglHniEgXHdMSL9qcEJ9AvJFTX0xsIN7uvkabvfDKYFQ0o/s1600/ODTUGfullColor.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="67" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiegVnZGfXWX8b7sMRxuIgVOfoIz4rsb376kXf6yL8TIdfKCWJmSTBKPb38-NGbCB8290brvy9ikuI1E1U7eLgeTZYe9KOWBmglHniEgXHdMSL9qcEJ9AvJFTX0xsIN7uvkabvfDKYFQ0o/s320/ODTUGfullColor.jpg" width="320" /></a></div>
<br />
ODTUG has released the APEX Hands On Labs for KScope16. There seems to be something for everyone. For the advanced APEX user, I expect Anton's session on IoT would be of interest as would Dan McGhan's session on Oracle JET. If you are just looking at APEX, David and Marc's sessions will pay dividends. Finally, no one should pass up an opportunity to hear Alex's little buddy, Shakeeb talk about migrating to the Universal Theme.<br />
<br />
There you have it...the APEX Hands On Labs for KScope16. Save me a seat!<br />
<br />
<br />
<h3 style="background-color: white; color: #666666; font-family: Lato; font-size: 24.5px; font-weight: 400; line-height: 40px; margin: 10px 0px; text-rendering: optimizeLegibility;">
<strong><span style="color: darkslategrey;">Application Express</span></strong></h3>
<h3 style="background-color: white; color: #666666; font-family: Lato; font-size: 24.5px; font-weight: 400; line-height: 40px; margin: 10px 0px; text-rendering: optimizeLegibility;">
<em><strong>Build Something! IOT = Internet + Oracle + Things</strong></em></h3>
<div style="background-color: white; color: #666666; font-family: Lato; font-size: 16px; line-height: 24px; margin-bottom: 10px;">
<strong>Anton Nielsen, C2 Consulting</strong><br /><br />This Hands-On Lab will introduce you to the the Internet of Things by allowing you to build your own thing and connect it to an Oracle APEX application. You will select a circuit board, wires, capacitors, a WiFi device, LEDs, and a sensor. Then you get to wire them together into a real THING, connect to the Internet, and start communicating with an Oracle Database. Finally, you will build an APEX application to control your thing and report on its data. Please note there are two scheduled times to see this session.</div>
<h3 style="background-color: white; color: #666666; font-family: Lato; font-size: 24.5px; font-weight: 400; line-height: 40px; margin: 10px 0px; text-rendering: optimizeLegibility;">
<em><strong>Productive JavaScript Development: Oracle JavaScript Extension Toolkit</strong></em></h3>
<div style="background-color: white; color: #666666; font-family: Lato; font-size: 16px; line-height: 24px; margin-bottom: 10px;">
<strong>Dan McGhan, Oracle Corporation</strong><br />JavaScript-based, single-page applications (SPAs) are incredibly popular these days – and for good reason! This style of application provides developers with a great deal of flexibility and control, and end users enjoy the responsiveness and speed that comes with fewer full-page reloads. To empower developers working on SPAs, Oracle developed the JavaScript Extension Toolkit (JET), a collection of open-source JavaScript libraries along with a set of Oracle-contributed JavaScript libraries that make it as simple and efficient as possible to build applications that consume and interact with Oracle products and services, especially Oracle Cloud services.<br /><br />In this Hands-On Lab, attendees will learn how to get started building applications with Oracle JET. We’ll jumpstart a new application with the QuickStart template and then extend it out with a few of the components that Oracle JET provides, including a data visualization component.</div>
<h3 style="background-color: white; color: #666666; font-family: Lato; font-size: 24.5px; font-weight: 400; line-height: 40px; margin: 10px 0px; text-rendering: optimizeLegibility;">
<em><strong>Building a Basic Demo Application Using Oracle Application Express</strong></em></h3>
<div style="background-color: white; color: #666666; font-family: Lato; font-size: 16px; line-height: 24px; margin-bottom: 10px;">
<strong>David Peake, Jason Straub, and Patrick Wolf, Oracle Corporation</strong><br /><br />This one “double” session (two-plus hours) is designed to take you through building a comprehensive application using Application Express. It is designed for people with no prior knowledge or very little experience developing with Application Express. You will learn how to develop a large number of different application components and walk out with the confidence and understanding of how to start building your own applications using Oracle Application Express.</div>
<h3 style="background-color: white; color: #666666; font-family: Lato; font-size: 24.5px; font-weight: 400; line-height: 40px; margin: 10px 0px; text-rendering: optimizeLegibility;">
<em><strong>Transitioning to Oracle Application Express 5 Universal Theme</strong></em></h3>
<div style="background-color: white; color: #666666; font-family: Lato; font-size: 16px; line-height: 24px; margin-bottom: 10px;">
<strong>David Peake and Shakeeb Rahman, Oracle Corporation</strong><br /><br />Oracle Application Express 5 introduces many new features that enable you to quickly build modern and beautiful HTML5 applications. The new Universal Theme implements current design trends and utilizing the new declarative template options, and puts powerful CSS3 techniques at your fingertips. In this session, you will walk through transitioning your existing application to the new Universal Theme. Using some of the packaged apps included with Oracle Application Express 4.2 as examples, we’ll demonstrate step by step how to transition these apps to Oracle Application Express 5.</div>
<h3 style="background-color: white; color: #666666; font-family: Lato; font-size: 24.5px; font-weight: 400; line-height: 40px; margin: 10px 0px; text-rendering: optimizeLegibility;">
<em><strong>Creating Mobile Applications Using Application Express 5</strong></em></h3>
<div style="background-color: white; color: #666666; font-family: Lato; font-size: 16px; line-height: 24px; margin-bottom: 10px;">
<strong>David Peake and Marc Sewtz, Oracle Corporation</strong><br /><br />Learn how you can declaratively build a compelling mobile application that uses some of the latest HTML5 capabilities, with Application Express. No hand crafting or in-depth knowledge of JavaScript or AJAX is required. Instead, bring your SQL knowledge and discover how quickly you can build web-based mobile applications using the Oracle Application Express declarative framework.</div>
Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-76185759841049867962016-01-04T06:09:00.000-08:002016-01-04T09:19:38.229-08:00ODTUG APEX Gaming Competition - How'd They Do It? (Part 10)At Kscope 15 this year we launched the first ever ODTUG APEX game competition. The APEX community responded with 15 entries! Each and every one of them left me thinking "How'd they do that?" So, let's find out more about the games and those who wrote them.<br />
<br />
<span style="font-family: inherit;"><span style="background-color: white; color: #222222;">Our third place entry comes from Matt Mulvaney</span><span style="background-color: white; color: #222222;">.</span></span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: inherit;"><br /></span><b>First off, tell me a little about yourself.</b><br />
<blockquote>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="background-color: white;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtnN47JM4XFnPWMyKs00Qucf4UWSaJ3O6dIj9mbUkvqP1Nc9KxwUo-bJkyV6QtrSjz6LiVjtmykfgYnjisE9EwMHJjlT4Le6dzW7vvXIMi-NQS5G6R5Wk955mBjP3_rpg2H1Wj7qMr9dg/s1600/thumbnail_anderson.png" imageanchor="1" style="clear: right; color: #222222; float: right; margin-bottom: 1em; margin-left: 1em;"></a><span style="color: #222222;">I’m Matt Mulvaney, a Senior Consultant who works at Explorer UK.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiBtJT9SWSExzFBeMlXbVA12lePGew49uVHuA8WVsHgsjOeMsarzqJNDrRE8jVHXC-nS6EWjAUPx97PyrQBiEZGioLMV46FPxCVvseeSwGx3usjmxQwOziufdhJz5izD-OBN8Vrisd6EU/s1600/matt_mulvaney_rescue_42.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiBtJT9SWSExzFBeMlXbVA12lePGew49uVHuA8WVsHgsjOeMsarzqJNDrRE8jVHXC-nS6EWjAUPx97PyrQBiEZGioLMV46FPxCVvseeSwGx3usjmxQwOziufdhJz5izD-OBN8Vrisd6EU/s320/matt_mulvaney_rescue_42.jpg" width="320" /></a><span style="color: #222222;">You can follow me on Twitter <a href="https://twitter.com/matt_mulvaney" target="_blank">@matt_mulvaney</a></span></div>
</blockquote>
<b>How many years of APEX experience do you have?</b><br />
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">Since version 4.1</span></div>
</blockquote>
<div class="separator" style="clear: both; text-align: center;">
</div>
<b>What motivated you to participate in the APEX Gaming Competition?</b><br />
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">It's a funny story. I had this computer game when I was a kid, I thought it was called Rescue42 or Rescue, something </span><span style="color: #222222;">similar – I even forgot what it was called.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">Well I was reunited with it again earlier this year after about 267 google </span><span style="color: #222222;">searches over many years. I discovered it was available for the Spectrum (even though I’ve never owned a Spectrum – </span><span style="color: #222222;">yes I have no clue how I even managed to play it) and it emulated well.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">When I started to play it, I immediately </span><span style="color: #222222;">remembered how you had to read and hold a load of information in your head before you even started the game and how </span><span style="color: #222222;">some of the levels where really annoying and uncontrollable. I actually found some magazine scans of this game from </span><span style="color: #222222;">the 80’s and after reading through those it appears as though this game is mediocre at best and it was a largely </span><span style="color: #222222;">forgettable title.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">Does this even matter to me? Hell no! This was my childhood game and I loved it.</span><br />
<span style="color: #222222;"><br /></span>
<span style="color: #222222;">Fast forward a few months and I read about the ODTUG gaming competition and this game was just ripe for a make-over </span><span style="color: #222222;">APEX style.</span></div>
</blockquote>
<b>What is the name of your game?</b><br />
<div class="separator" style="clear: both; text-align: center;">
<b></b></div>
<br />
<blockquote>
<span style="color: #222222;">The game is called Rescue42 which is what I thought the original game was called.</span> </blockquote>
<blockquote>
<span style="color: #222222;">I thought it might have been </span><span style="color: #222222;">rescue42.exe or rescue42.bas (yup, Basic) but I wasn’t sure. The original game was actually just called Rescue (or </span><span style="color: #222222;">sometimes Resqué - due to a misprint).</span> </blockquote>
<blockquote>
<span style="color: #222222;">Since there are 41 locations with the Castle as the 42nd location the new name </span><span style="color: #222222;">kind of makes sense.</span></blockquote>
<b><br /></b><b>Briefly describe your game.</b><br />
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">The game's plot is a pretty old school video gaming one – you have to rescue the princess from the castle and then </span><span style="color: #222222;">return her to the safety of your base.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">The game is spread over two levels. The first level you have to dodge the guards </span><span style="color: #222222;">and find items which leads to the discovery of the castle. Once you find the castle, in level two, you have to play a series </span><span style="color: #222222;">of mini-games before you find the princess and then return her to your base. Simple.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">The original game had about 12 </span><span style="color: #222222;">pages of text to read – my version has a minimized Guided Tour.</span></div>
</blockquote>
<b>How long did it take you to develop your games?</b><br />
<blockquote>
<span style="color: #222222;">Because a couple of decades had passed since I last played it, I had to re-learn the entire game again through an </span><span style="color: #222222;">emulator (I'm so grateful for save states) so a few hours were spent scribbling down notes on the game.</span> </blockquote>
<blockquote>
<span style="color: #222222;">I started this </span><span style="color: #222222;">game on my lunch hour and when the deadline approached I also worked on it during the evening in front of TV shows </span><span style="color: #222222;">like The Apprentice and Better Call Saul.</span> </blockquote>
<blockquote>
<span style="color: #222222;">I didn’t track my time but I do remember a painful hour spent typing in </span><span style="color: #222222;">coordinate data.</span></blockquote>
<b>What was the most challenging element of your game design and how did you overcome it?</b><br />
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">I realized early on that the game had to work with dynamic actions rather than page submissions as it had to run quick </span><span style="color: #222222;">and feel like a game. However due to the large amount of dynamic actions required, a problem I found was that the </span><span style="color: #222222;">game's performance ran like light speed on my laptop but ran like potatoes on apex.oracle.com.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">This ran especially slow </span><span style="color: #222222;">on the Reversi mini-game. I included a single player Reversi mini-game because I really like the game but oh-my-days </span><span style="color: #222222;">was the mathematics & AI difficult to implement.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">The whole AI is written as a single SQL statement (isn’t that neat?) and </span><span style="color: #222222;">is based on my style of play. The AI kept beating me so it was really difficult to write the ‘hey you’ve won’ screen – </span><span style="color: #222222;">because, you know, that didn’t happen very often... how dare my creation beat me at my own game! </span><br />
<span style="color: #222222;"><br /></span>
<span style="color: #222222;">Back to the main game, the nail-biting stuff was when I got a large component to work, for example the Guard </span><span style="color: #222222;">Movements, I had to deconstruct it and remodel it so that it also worked when the player moved, looked, picked, etc. I </span><span style="color: #222222;">also kept to my rule that I didn’t want to include any server side tables, objects, etc. – I wanted this to be totally APEX </span><span style="color: #222222;">based. Without server-side code I therefore had a lot of dynamic actions which I needed to run over and over again - like </span><span style="color: #222222;">a module, which isn't available in APEX. I achieved this by representing these as hidden items which included a select </span><span style="color: #222222;">dynamic action and ran them on demand using apex.event.trigger.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">Monty, you wanted me to get technical; so you can read </span><span style="color: #222222;">more on this approach <a href="http://www.explorer-development.uk.com/trigger-dynamic-action-javascript/" target="_blank">here</a>.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">Another grueling issue I had was transferring the player score when you are returning the princess back to your base </span><span style="color: #222222;">when you beat the game – it would not work and it occurred just before the deadline too. I tried everything, the score </span><span style="color: #222222;">would not set in session. In the end I used some of the techniques in <a href="http://www.explorer-development.uk.com/avoiding-dynamic-action-plsql-length-limit/" target="_blank">this blog</a> to force the score to session.</span><br />
<span style="color: #222222;"><br /></span>
<span style="color: #222222;">The artwork is inspired from the <a href="http://www.worldofspectrum.org/pub/sinclair/games-inlays/r/Rescue%28CRL%29_2.jpg" target="_blank">original cassette inlay</a> and I used a silhouette theme throughout to keep it consistent.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">By the way, I </span><span style="color: #222222;">really like some of the images in Level 2... if you make it that far.</span></div>
</blockquote>
<b>Alright, how can I play?</b><br />
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">Adrian Png is hosting the game for me. You can play it at <a href="http://bit.ly/Rescue42" target="_blank">http://bit.ly/Rescue42</a> </span></div>
</blockquote>
<b>Anything else you'd like to add?</b><br />
<blockquote>
<div style="background-color: white;">
<span style="color: #222222;">Hope you enjoyed reading and you enjoy playing the game – to read more about this game click the link above and then </span><span style="color: #222222;">click 'About this Game'. I won 3rd place in this competition so thank you to ODTUG for my membership and the </span><span style="color: #222222;">Chromecast.</span><br />
<span style="color: #222222;"><br /></span>
<span style="color: #222222;">If anyone is reading this and hasn't used APEX yet, I encourage you to get started. Its a fantastic tool with a superb </span><span style="color: #222222;">community which organises great competitions such as this one.</span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<br /></div>
</blockquote>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
Thanks, Matt. There's no school like old school!! Great work!<br />
<br />
<br />
<br />
<br />
...our journey continues<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com2tag:blogger.com,1999:blog-4670514573534452370.post-36203713878861172442015-12-31T14:52:00.001-08:002016-01-06T06:12:19.503-08:00I Beg Your Pardon<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS42lkfWafi3xKWh41B41lGwGBmlLcYjcRdjHMhhXpmLN02NRNZ20SrbE_pWyWEhsuEH4jceU7m2i_ZU-4d3ZpBYB0jVBooWKNyGt51DtsUtzwK06hQFsNS2tPKF9TgHtCVVMRs-nGGpk/s1600/roske.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS42lkfWafi3xKWh41B41lGwGBmlLcYjcRdjHMhhXpmLN02NRNZ20SrbE_pWyWEhsuEH4jceU7m2i_ZU-4d3ZpBYB0jVBooWKNyGt51DtsUtzwK06hQFsNS2tPKF9TgHtCVVMRs-nGGpk/s200/roske.jpg" width="181" /></a>In June of 2012, my first action as President of ODTUG was to relieve Edward Roske of any and all duties related to Conference Chairman.<br />
<br />
<br />
It seems fitting that my last act as ODTUG President is to issue the full and complete Presidential pardon Edward has sought these many years.<br />
<br />
<br />
<br />
Therefore, ...<br />
<br />
<br />
<div style="font-family: Georgia, serif; font-size: 14px; line-height: 19.6px; padding: 0px 0px 15px;">
<strong><i>By the President of ODTUG a Proclamation</i></strong></div>
<div style="font-family: Georgia, serif; font-size: 14px; line-height: 19.6px; padding: 0px 0px 15px;">
Edward Roske became the KScope Conference Chairman on July 1, 2010 and was reelected in 2011 for a second term by the ODTUG Board of Directors. His term in office continued until his dismissal on June 25, 2012.<span id="more-468"></span></div>
<div style="font-family: Georgia, serif; font-size: 14px; line-height: 19.6px; padding: 0px 0px 15px;">
<span style="line-height: 19.6px;">Edward Roske was found to be guilty of </span>increasing the popularity, prestige, and profitability of the 2011 and 2012 KScope Conferences without prior consent of the ODTUG President and Board of Directors. <span style="line-height: 19.6px;"> </span></div>
<div style="font-family: Georgia, serif; font-size: 14px; line-height: 19.6px; padding: 0px 0px 15px;">
<span style="line-height: 19.6px;">Now, THEREFORE, I, MONTY L. LATIOLAIS, President of ODTUG, pursuant to the pardon power conferred upon me, have granted and by these presents do grant a full, free, and absolute pardon unto Edward Roske for all offenses against ODTUG and the KScope Conference which he, Edward Roske, has committed or may have committed or taken part in during the period from July 1, 2010 through June 25, 2012.</span></div>
<div style="font-family: Georgia, serif; font-size: 14px; line-height: 19.6px; padding: 0px 0px 15px;">
IN WITNESS WHEREOF, I have hereunto set my hand this thirty-first day of December, in the year of our Lord two thousand and fifteen.</div>
<div style="font-family: Georgia, serif; font-size: 14px; line-height: 19.6px; padding: 0px 0px 15px;">
MONTY L. LATIOLAIS</div>
<div style="font-family: Georgia, serif; font-size: 14px; line-height: 19.6px; padding: 0px 0px 15px;">
<br /></div>
<div style="font-family: Georgia, serif; font-size: 14px; line-height: 19.6px; padding: 0px 0px 15px;">
<br /></div>
<div style="font-family: Georgia, serif; font-size: 14px; line-height: 19.6px; padding: 0px 0px 15px;">
... our journey continues</div>
<div style="font-family: Georgia, serif; font-size: 14px; line-height: 19.6px; padding: 0px 0px 15px;">
<br /></div>
<div style="font-family: Georgia, serif; font-size: 14px; line-height: 19.6px; padding: 0px 0px 15px;">
<br /></div>
Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-40927476380828168452015-12-23T08:44:00.000-08:002015-12-23T08:44:03.698-08:00ODTUG APEX Gaming Competition - How'd They Do It? (Part 9)At Kscope 15 this year we launched the first ever ODTUG APEX game competition. The APEX community responded with 15 entries! Each and every one of them left me thinking "How'd they do that?" So, let's find out more about the games and those who wrote them.<br />
<br />
<span style="font-family: inherit;"><span style="background-color: white; color: #222222;">Our winning entry comes from Anderson </span><span style="background-color: white; color: #222222;">Rodrigues Ferreira</span><span style="background-color: white; color: #222222;">.</span></span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: inherit;"><br /></span>
<b>First off, tell me a little about yourself.</b><br />
<blockquote>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="background-color: white; color: #222222;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtnN47JM4XFnPWMyKs00Qucf4UWSaJ3O6dIj9mbUkvqP1Nc9KxwUo-bJkyV6QtrSjz6LiVjtmykfgYnjisE9EwMHJjlT4Le6dzW7vvXIMi-NQS5G6R5Wk955mBjP3_rpg2H1Wj7qMr9dg/s1600/thumbnail_anderson.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqCWkIpf14Kv1szcQPIL1VtWV7wjhQ_ucSRn3lK90JKRlipK2jArKDgsx1hCo1q0wQKlUEswY9jiiAnFU1vOuX5zqstr65yk5Wvkhe1YJNBOxuIWrPbW2Mvwh3vH9MQBLPRJRE3hxajKg/s1600/anderson.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqCWkIpf14Kv1szcQPIL1VtWV7wjhQ_ucSRn3lK90JKRlipK2jArKDgsx1hCo1q0wQKlUEswY9jiiAnFU1vOuX5zqstr65yk5Wvkhe1YJNBOxuIWrPbW2Mvwh3vH9MQBLPRJRE3hxajKg/s1600/anderson.jpg" /></a><span style="font-family: inherit;">My name is Anderson Rodrigues Ferreira.</span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">I am from Brasilia, the capitol of Brazil! I am a Computer Engineer at Brazilian Court of Audit (Tribunal de Contas da União - TCU).</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">I am Oracle Apex Developer Expert Certified; Oracle Database SQL Expert Certified and Professional Scrum Master Certified.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">I am Apex speaker in Latin American events. </span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">I am the coordinator of the Apex Tour Latinoamérica, the greatest Apex-only event of Latin America. </span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">Site: <a href="http://www.oracleapextour.com/pt" style="color: #1155cc;" target="_blank">http://www.oracleapextour.com/<wbr></wbr>pt</a></span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">If you want to reach me.</span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">My twitter: @andersonrf81 </span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">My linkedin: <a href="https://br.linkedin.com/in/anderson-rodrigues-ferreira-762a5b8" target="_blank">https://br.linkedin.com/in/anderson-rodrigues-ferreira-762a5b8</a></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">My e-mail: <a href="mailto:andersonrf@gmail.com" target="_blank">andersonrf@gmail.com</a></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">My blog: <a href="http://andersonapex.blogspot.com.br/" style="color: #1155cc;" target="_blank">andersonapex.blogspot.com.br</a> (Only in Portuguese! Sorry!)</span></div>
</blockquote>
<b>How many years of APEX experience do you have?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">6 years of Apex experience. </span><span style="font-family: inherit;">I started in Apex 3.2</span></div>
</blockquote>
<div class="separator" style="clear: both; text-align: center;">
</div>
<b>What motivated you to participate in the APEX Gaming Competition?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">I love Apex, so developing a game in Apex would be great!</span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">I like challenges and as we are upgrading Apex to version 5, I wanted experience in Apex 5.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">We decided enter the competition seven days before the submission limit, when we noticed that they changed the submission date.</span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">This game is my first Apex 5 application!</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<b>What is the name of your game?</b><br />
<div class="separator" style="clear: both; text-align: center;">
<b></b></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2gIFOoJZqhDCwKMVBTNdfbwwdLD3z5hHXa60chkOwg8QOZ1H5Jn4js-0iOT0tkKD9jpOqezyeyyRUggfawsjkudjFARgqHwIYisUk6qmfQkbs7eW3ilg1WUHctnU49NFJ83oKZPtNXEA/s1600/thumbnail_truco_apex.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="177" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2gIFOoJZqhDCwKMVBTNdfbwwdLD3z5hHXa60chkOwg8QOZ1H5Jn4js-0iOT0tkKD9jpOqezyeyyRUggfawsjkudjFARgqHwIYisUk6qmfQkbs7eW3ilg1WUHctnU49NFJ83oKZPtNXEA/s320/thumbnail_truco_apex.png" width="320" /></a><br />
<blockquote>
<span style="font-family: inherit;"><span style="background-color: white; color: #222222;">The name of the game is </span><span style="background-color: white; color: #222222;">APEX Hold'em Truco</span><span style="background-color: white; color: #222222;">.</span></span></blockquote>
<b><br /></b><b>Briefly describe your game.</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">It is a multiplayer game based on Truco, the most played card game in Brazil. If you want to play alone, robots will play against you.</span><span style="background-color: transparent;"> </span></div>
</div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">This game is for four players in fixed partnerships, partners sitting opposite.</span><span style="background-color: transparent;"> </span></div>
</div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">A game consists of a series of rounds, in each of which a partnership may win one or more points. The first partnership to collect 12 (or more) points over many rounds wins the game.</span></div>
</div>
</blockquote>
<b>How long did it take you to develop your games?</b><br />
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">It took me 7 days! This shows us how quickly we can develop in Apex 5!</span></span></blockquote>
<b>What was the most challenging element of your game design and how did you overcome it?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">The discard in a multiplayer game. To solve the problem, we used a Dynamic Action that submits the discharged card and saves the cards in a table and every player refreshes periodically the page to get the cards in the game.</span></div>
</blockquote>
<b>Alright, how can I play?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">The game can be reached in the following link:</span></div>
<div>
<span style="font-family: inherit;"><a href="https://apex.oracle.com/pls/apex/f?p=truco_apex" target="_blank">https://apex.oracle.com/pls/apex/f?p=truco_apex</a></span><span style="background-color: transparent;"> </span></div>
</div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">You only need to create a player (name and avatar) and select/create a game table!</span></div>
<div>
<br /></div>
</div>
</blockquote>
<b>Anything else you'd like to add?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">Our game is a 100% Apex application and it was developed in only 7 days. It works on desktop or mobile devices. </span></div>
</div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">I loved this competition and I am planning on participate next year again!</span></div>
<div>
<span style="font-family: inherit;">I'd like to add that I learned a lot of Apex painting a bathroom with Monty in Kscope!</span></div>
</div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<br /></div>
</div>
</blockquote>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu9vz_DaUfEmnmrN3LIKAtXQHBzkX4u1rC70JSGzCVKMNzqU3hGeOBufrt45q3ExfDB0Lq6PKhg9qObII6OGk5sS7NiCBrV3qtl-G8R4yJkUHOprSxqi8G73redHVeXDKZIiaGJx719uQ/s1600/anderson_comm_srvc_2012.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu9vz_DaUfEmnmrN3LIKAtXQHBzkX4u1rC70JSGzCVKMNzqU3hGeOBufrt45q3ExfDB0Lq6PKhg9qObII6OGk5sS7NiCBrV3qtl-G8R4yJkUHOprSxqi8G73redHVeXDKZIiaGJx719uQ/s320/anderson_comm_srvc_2012.jpg" width="211" /></a></div>
Thanks, Anderson. I remember that day well. ODTUG KScope12 Community Service Day in San Antonio.<br />
<br />
In fact, I was able to scare up a picture or two. <br />We were so young...so innocent.<br />
<br />
It was a pleasure working beside you that day and I'm happy to call you my friend.<br />
<br />
<br />
<br />
<br />
...our journey continues<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiIQOkeVI1W0m9uom27_a6SPHISfzWdQEbfVAUqQshrVLbSnbrtQa1_p5_u9s1VKrAgxJ7kd-dM-o6hQhO_7vticaHNlvl0k9hkjfN5HoFzmOFs-mrVHZQVx0p0o0-6Ya1urCyEv0bu0s/s1600/monty2_comm_srvc_2012.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiIQOkeVI1W0m9uom27_a6SPHISfzWdQEbfVAUqQshrVLbSnbrtQa1_p5_u9s1VKrAgxJ7kd-dM-o6hQhO_7vticaHNlvl0k9hkjfN5HoFzmOFs-mrVHZQVx0p0o0-6Ya1urCyEv0bu0s/s320/monty2_comm_srvc_2012.jpg" width="211" /></a></div>
<br />
<br />Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-77868575114935934762015-12-22T08:13:00.000-08:002015-12-22T08:13:09.585-08:00A Case for Reference ModelsI've used the <a href="https://docs.oracle.com/cd/B19306_01/server.102/b14223/sqlmodel.htm" target="_blank">SQL Model Clause</a> on occasion. I've spoken on the topic as recently as last Friday to our internal development staff. I tried to stress to them that it's something that belongs in the toolbox, but it's not a tool you will pick up frequently.<br />
<br />
One of the topics mentioned during the preso was REFERENCE MODELS. While I was aware of reference models, I never had the need to employ them. I have no real world experience utilizing them.<br />
<br />
Afterwards, <a href="https://twitter.com/martindsouza" target="_blank">Martin D'Souza</a> asked for an example using REFERENCE MODELS. I was more than a little suspicious. I figured he had a requirement somewhere that he thought could best be implemented using a model clause and REFERENCE MODELS. I was right to be suspicious.<br />
<br />
What he asked for was multiple Top-N queries within the same result set. Put another way, using the EMP table, in col A he wants the 5 highest salaries, while in col B he wants the 5 oldest dates of hire. THERE IS NO CORRELATION BETWEEN COLUMNS.<br />
<br />
Using the MODEL clause and two REFERENCE MODELS, we were able to give him precisely what he was looking for.<br />
<br />
<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">select top_salary,</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> recent_dates </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">from dual</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">model </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">reference t_salary on (</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> select rn,sal </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> from (select ROW_NUMBER() OVER (ORDER BY sal DESC) rn,</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> sal </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> from scott.emp) </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> where rownum <=5)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> dimension by (rn)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> measures (sal)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">reference t_dates on (</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> select rn,hiredate </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> from (select ROW_NUMBER() OVER (ORDER BY hiredate) rn,</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> hiredate </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> from scott.emp)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> where rownum <=5)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> dimension by(rn)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> measures (hiredate)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">main t_main</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> dimension by (rownum as x)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> measures (0 as top_salary, SYSDATE as recent_dates)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> rules iterate (5) (</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> top_salary[iteration_number+1] = t_salary.sal[iteration_number+1],</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> recent_dates[iteration_number+1] = t_dates.hiredate[iteration_number+1]</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> )</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">I'm sure there are other ways to satisfy Martin's requirement - there always are.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">The reason I wanted to share this is that my perception of REFERENCE MODELS has changed. Whereas before, </span>I figured REFERENCE MODELS would best be used to access supplemental or complementary information to the main model. I expect they could also improve readability. I now understand that REFERENCE MODELS can be used to pull together information that is completely non-correlated.....in our case associated only by row number.<br />
<br />
Thanks, Martin. You made me look at things differently.<br />
<br />
<br />
...our journey continues.Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-63521170254415771152015-12-21T05:43:00.000-08:002015-12-21T05:43:31.678-08:00ODTUG APEX Gaming Competition - How'd They Do It? (Part 8)At Kscope 15 this year we launched the first ever ODTUG APEX game competition. The APEX community responded with 15 entries! Each and every one of them left me thinking "How'd they do that?" So, let's find out more about the games and those who wrote them.<br />
<br />
<span style="font-family: inherit;"><span style="background-color: white; color: #222222;">Marcelo Burgos...would you please stand and address the class?</span>.</span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: inherit;"><br /></span>
<br />
<b>First off, tell me a little about yourself.</b><br />
<div class="separator" style="clear: both; text-align: center;">
<b></b></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<blockquote>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNShnFnwgtFLf02A-Je79HQ6YksGxQQhYqsJapaS3bpmEX6q8dMXjhWSa2OR1rGCjra87oDUpTybk47zBYsgGfVv4jipUCZDKmmOCwgwvBJbyCatHLZnMq_3WGrxOwD8G3qDy71uv0xs4/s1600/marcelo.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNShnFnwgtFLf02A-Je79HQ6YksGxQQhYqsJapaS3bpmEX6q8dMXjhWSa2OR1rGCjra87oDUpTybk47zBYsgGfVv4jipUCZDKmmOCwgwvBJbyCatHLZnMq_3WGrxOwD8G3qDy71uv0xs4/s200/marcelo.PNG" width="161" /></a></div>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">My name is Marcelo Burgos, co-founder of Argentina Oracle Users Group and the Apex Tour Conference. Also I work for the Universidad de Buenos Aires and I'm a self-employed Apex developer.</span></span></blockquote>
<b>How many years of APEX experience do you have?</b><br />
<blockquote>
<span style="background-color: white; color: #222222; font-family: inherit;">I've more than 8 years working with Apex.</span></blockquote>
<br />
<b>What motivated you to participate in the APEX Gaming Competition?</b><br />
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">My wife is a Math teacher and asked me for a solution for get their students put a little enthusiasm in the classroom. I thought I could kill two birds of one shot, developing a game for help the students to study geometry with fun, and if possible, for winning the Apex gaming competition.</span></span></blockquote>
<b>What is the name of your game?</b><br />
<div class="separator" style="clear: both; text-align: center;">
<b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGy3gjkDSgZXFp2ljoJ7vgvCVhQE9ty9TiQN-OgSL_nxbXIt8z82KGEMmzitHM3w6CDlB5zAj4mVdOVDMnHniDwPZI_ERNQtI-ffzwv7xieNt97HPOl9trV7Tk26IFCd3QS4MbRF1VjIE/s1600/3D+drum.tiff" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGy3gjkDSgZXFp2ljoJ7vgvCVhQE9ty9TiQN-OgSL_nxbXIt8z82KGEMmzitHM3w6CDlB5zAj4mVdOVDMnHniDwPZI_ERNQtI-ffzwv7xieNt97HPOl9trV7Tk26IFCd3QS4MbRF1VjIE/s200/3D+drum.tiff" width="200" /></a></b></div>
<br />
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">The name of the game is Leonhard, which is a tribute to Leonhard Euler, the Graphs theory father.</span></span></blockquote>
<b><br /></b><b>Briefly describe your game.</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">The game consists of multiple graphics, and you have to "draw" over all the lines of each figure without "lifting the pencil from the paper". You cannot pass the "pencil" twice for the same line.</span><span style="background-color: transparent;"> </span></div>
</div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;"></span></div>
<div>
<span style="font-family: inherit;">For draw a line you have to click at both ends.</span></div>
</div>
</blockquote>
<b>How long did it take you to develop your games?</b><br />
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">I developed the app in five stages. Each stage took us a week for thinking and a couple days for coding. The game have a lot of artwork that took other two days to transform from analog (paper) to digital (database).</span></span></blockquote>
<b>What was the most challenging element of your game design and how did you overcome it?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">Technically, the app works drawing lines and points over a html5 canvas element.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">An Ajax callback pl/sql process works dynamically building javascript code each time you clic a point. We had to resort to a lot of Oracle techniques such as functions and Apex collections, and we had to resort a special canvas library for facilitate the identification of the points you clic during the game.</span></div>
</div>
</blockquote>
<b>Alright, how can I play?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">You can play the game at the url <a href="https://apex.oracle.com/pls/apex/f?p=31416" target="_blank">https://apex.oracle.com/pls/apex/f?p=31416</a> and uses open authentication although is mandatory to enter your name.</span></div>
</blockquote>
<b>Anything else you'd like to add?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">After the competition we follow working in the program due is expected to be used for my wife's students. After removing a couple bugs, now we get to include 3D shapes in the game, and now also we translated the app to spanish. That sounds simple, but we had to work a lot to fix an unexpected problem: numeric format after language localization brokes all the code inside the javascript. </span><span style="background-color: transparent;"> </span></div>
</div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">You learn something new every day.</span></div>
<div>
<br /></div>
</div>
</blockquote>
<br />
Thanks, Marcelo. In the coming days we'll share more insight into a few of the remaining games that were part of the contest.<br />
<br />
...our journey continuesMonty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-6447016974693964042015-12-16T09:41:00.000-08:002015-12-16T09:41:18.377-08:00ODTUG APEX Gaming Competition - How'd They Do It? (Part 7)At Kscope 15 this year we launched the first ever ODTUG APEX game competition. The APEX community responded with 15 entries! Each and every one of them left me thinking "How'd they do that?" So, let's find out more about the games and those who wrote them.<br />
<br />
Next up is the one...the only...<span style="font-family: inherit;">.<span style="background-color: white; color: #222222;">Nick Buytaert</span></span>.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<b>First off, tell me a little about yourself.</b><br />
<div class="separator" style="clear: both; text-align: center;">
<b></b></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvTucF6L04DVGSwyEUGVTTb2zC76Vi33_M_or8exo5EMFZZJQpvaTV08GgTi1ScpBQNvATngzpkD8X8IJVan20rcwo0iqIU0vJUx-HBUqFV5XEqYjV26wW2bEP8S744XjBAww2dAI-P7Q/s1600/gravatar-medium.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvTucF6L04DVGSwyEUGVTTb2zC76Vi33_M_or8exo5EMFZZJQpvaTV08GgTi1ScpBQNvATngzpkD8X8IJVan20rcwo0iqIU0vJUx-HBUqFV5XEqYjV26wW2bEP8S744XjBAww2dAI-P7Q/s200/gravatar-medium.jpg" width="199" /></a><br />
<blockquote>
<span style="font-family: inherit;"><span style="background-color: white; color: #222222;">My name is Nick Buytaert and I work as an Oracle consultant for </span><a href="http://contribute.be/" style="background-color: white; color: #1155cc;" target="_blank">Contribute NV</a><span style="background-color: white; color: #222222;">. We are located in Belgium. You can always contact me on Twitter </span><a href="https://twitter.com/nbuytaert1" style="background-color: white; color: #1155cc;" target="_blank">@nbuytaert1</a><span style="background-color: white; color: #222222;"> or through my blog APEXPLAINED at </span><a href="https://apexplained.wordpress.com/" style="background-color: white; color: #1155cc;" target="_blank">https://apexplained.wordpress.<wbr></wbr>com/</a><span style="background-color: white; color: #222222;">.</span></span></blockquote>
<br />
<br />
<b>How many years of APEX experience do you have?</b><br />
<blockquote>
<br />
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">I have around five years of Oracle APEX experience.</span></span></blockquote>
<br />
<b>What motivated you to participate in the APEX Gaming Competition?</b><br />
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">The APEX Gaming Competition was a great opportunity to step outside APEX its comfort zone. Instead of working on a back-office business application, I had the chance to develop an actual game.</span></span><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;"> </span></blockquote>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWFwEb2x5D7wuOkxeu97h5TF91-86fcmRnDxAQlH9sTWGXR97AcTH5gvlYASVwAqsTHPcBAx5HE9_Tpt98Gfw8-j2DUx-0A0sPOR3fdpo486KlzvvUEAHvaxh7iU7wByAXCxbuivAZm4E/s1600/p37_moviepick.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWFwEb2x5D7wuOkxeu97h5TF91-86fcmRnDxAQlH9sTWGXR97AcTH5gvlYASVwAqsTHPcBAx5HE9_Tpt98Gfw8-j2DUx-0A0sPOR3fdpo486KlzvvUEAHvaxh7iU7wByAXCxbuivAZm4E/s320/p37_moviepick.jpg" width="320" /></a></div>
<br />
<b>What is the name of your game?</b><br />
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">The name of the game is MoviePick.</span></span></blockquote>
<br />
<b><br /></b><b><br /></b><b>Briefly describe your game.</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">MoviePick is a movie guessing game based on a movie database web API.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">The goal is to correctly guess five different movies by requesting specific hints. The more hints you need, the less points you will get per movie. There are four types of hints you can pick from: movie facts, actors, backdrops and character hints.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">After finishing the fifth round, you have the possibility to register your score.</span></div>
</blockquote>
<br />
<br />
<b>How long did it take you to develop your games?</b><br />
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">It took around two weeks to develop the game.</span></span></blockquote>
<br />
<br />
<b>What was the most challenging element of your game design and how did you overcome it?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">Before starting development, we had one important question to answer: “To invoke the movie database API from client or server side?”. The easy solution would have been to pick the client side. Calling a couple of web services in JavaScript (or jQuery) and storing their JSON result into a variable is pretty straightforward. However, this would mean that all movie information would just linger around in the browser. You would literally see the movie title passing by when keeping an eye on the incoming movie database AJAX responses.</span><span style="background-color: transparent;"> </span></div>
</div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">This idea bothered me too much and made me choose to invoke the movie database web services from server side. Each hint requested by the end user would then result in a separate AJAX call returning only the requested information.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">Invoking the web services from PL/SQL also gave me the opportunity to play around with the new APEX_JSON package, which has been introduced in APEX 5.0. After getting familiar with the package, it was pretty easy to parse the movie database JSON responses and collect all relevant movie information.</span></div>
</div>
</blockquote>
<br />
<b>Alright, how can I play?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;">You can play the game at <a href="http://contribute.be/moviepick/" style="color: #1155cc;" target="_blank">http://contribute.be/<wbr></wbr>moviepick/</a> </span><span style="font-family: inherit;">No credentials required.</span></div>
</div>
</blockquote>
<br />
<b>Anything else you'd like to add?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">I'd like to thank ODTUG for the organization of the contest</span></div>
</blockquote>
<br />
Thanks, Nick. In the coming days we'll share more insight into a few of the remaining games that were part of the contest.<br />
<br />
...our journey continuesMonty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-3116629715434266372015-12-14T08:38:00.000-08:002015-12-16T14:54:37.019-08:00ODTUG APEX Gaming Competition - How'd They Do It? (Part 6)At Kscope 15 this year we launched the first ever ODTUG APEX game competition. The APEX community responded with 15 entries! Each and every one of them left me thinking "How'd they do that?" So, let's find out more about the games and those who wrote them.<br />
<br />
Let's go down under and talk with Scott Wesley.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<b>First off, tell me a little about yourself.</b><br />
<div class="separator" style="clear: both; text-align: center;">
<b></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFE6nSBw9tqK_Gk5gbgURO-4zpimXuqwTxF-Sxigw68x9Rm3XN9dpzTPOsCuR3AhwSoXez2YTc3G1neSncILWtPnCTx3gt8PElYs3yDjuN603WOS5PceMj9OAtvktT6bDyLtsSGV15aZo/s1600/scottw.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFE6nSBw9tqK_Gk5gbgURO-4zpimXuqwTxF-Sxigw68x9Rm3XN9dpzTPOsCuR3AhwSoXez2YTc3G1neSncILWtPnCTx3gt8PElYs3yDjuN603WOS5PceMj9OAtvktT6bDyLtsSGV15aZo/s200/scottw.jpg" width="200" /></a></div>
<br />
<blockquote>
<span style="font-family: inherit;"><span style="background-color: white; color: #222222;">My name is Scott Wesley and I'm a consultant for Sage Computing Services in Perth, Australia. You can tweet me @swesley_perth and read my blog at <a href="http://www.grassroots-oracle.com/" target="_blank">grassroots-oracle.com</a></span></span></blockquote>
<br />
<br />
<b>How many years of APEX experience do you have?</b><br />
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">I started learning 3.2 in 2008, so 7. I guess this now eclipses how long I spent on Oracle Forms.</span></span></blockquote>
<br />
<br />
<b>What motivated you to participate in the APEX Gaming Competition?</b><br />
<blockquote>
<span style="font-family: inherit;"><span style="background-color: white; color: #222222;">I originally had no intention of submitting. I was in the middle of writing a <a href="http://www.apress.com/9781484209622?gtmf=c" target="_blank">book</a> and travelling to <a href="http://www.kscope16.com/" target="_blank">Kscope</a> then visiting the states for a month pushed me behind.</span></span> </blockquote>
<blockquote>
<span style="font-family: inherit;"><span style="background-color: white; color: #222222;">When I returned to Australia I needed to continue writing but was lacking motivation. I needed to get up to speed with APEX 5.0 and regain momentum, so when I thought of a game that I didn't think would take much to translate to APEX, so I went for it.</span></span> </blockquote>
<blockquote>
<span style="font-family: inherit;"><span style="background-color: white; color: #222222;">But I b<span style="font-family: inherit;">ound my</span>self to two major rules - it had to be as </span><i style="background-color: white; color: #222222;">simple </i><span style="background-color: white; color: #222222;">and </span><i style="background-color: white; color: #222222;">declarative </i><span style="background-color: white; color: #222222;">as possible.</span></span></blockquote>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEharu8UHmG8fGN8NLrhyphenhyphenIzYUcCeqCY7PgHzhTWlC63F2kVbxN7nLh0Fm0GKTb5r3VXKR0jLPyriOBegttTaoTmQV11XJlTORLnRCsISImh4tx6Ved2UTA7uHqDAVKQdqmKEUcPG_IKIgyE/s1600/boggex.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEharu8UHmG8fGN8NLrhyphenhyphenIzYUcCeqCY7PgHzhTWlC63F2kVbxN7nLh0Fm0GKTb5r3VXKR0jLPyriOBegttTaoTmQV11XJlTORLnRCsISImh4tx6Ved2UTA7uHqDAVKQdqmKEUcPG_IKIgyE/s200/boggex.PNG" width="200" /></a></div>
<br />
<b>What is the name of your game?</b><br />
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">Boggex (Boggle + APEX)</span></span></blockquote>
<br />
<b><br /></b><b><br /></b><b>Briefly describe your game.</b><br />
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">Electronically roll 16 alphabet dice and find as many word combinations using the upturned letters as you can in two minutes.</span></span> </blockquote>
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">It's been reported that it can be quite addictive.</span></span></blockquote>
<br />
<br />
<b>How long did it take you to develop your games?</b><br />
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">After idea conception I gave myself a week to get it to a stable, working state. This meant nights, and whatever else I could sneak in. I gave it another once over just before the November submission date. Probably less than a working week.</span></span> </blockquote>
<blockquote>
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">The productivity factor APEX 5 provides helped... ahem.</span></span></blockquote>
<br />
<br />
<b>What was the most challenging element of your game design and how did you overcome it?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">When using the page item and 'Try' button to submit words, the game was about 95% declarative. Mobile users needed to avoid the virtual keyboard, so I had to allow users to press on the board letters to simulate key presses. Enabling the game board for finger tap events made me think a little harder about jQuery selectors. </span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">Firslty I needed to tap on a letter, then respond by highlighting selected letter and add the letter to the word attempt. The highlight was just done by adding (or removing) a class called 'hover' which made the background of a letter on the game board a different colour.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;"><i>/* when hovering, or given hover class */</i></span></div>
<div>
<span style="font-family: inherit;"><i>#p1_board td.t-Report-cell:hover</i></span></div>
<div>
<span style="font-family: inherit;"><i>,#p1_board td.t-Report-cell.hover{</i></span></div>
<div>
<span style="font-family: inherit;"><i> background-color: #4992de !important;</i></span></div>
<div>
<span style="font-family: inherit;"><i>}</i></span></div>
</div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">I created an on click dynamic action on a jQuery selector that identified any cell on the game board.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<i style="font-family: inherit;">#p1_board td.t-Report-cell</i></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">Then added what turned out to be three lines of JavaScript action, using this.triggeringElement to refer to the cell that was clicked.</span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
</div>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;"><i>// if the cell hasn't already been clicked for this word</i></span></div>
<div>
<span style="font-family: inherit;"><i>if (!$(this.triggeringElement).<wbr></wbr>hasClass('hover')) {</i></span></div>
<div>
<span style="font-family: inherit;"><i> // add tapped letter to page item</i></span></div>
<div>
<span style="font-family: inherit;"><i> $s('P1_WORD', $v('P1_WORD') + $(this.triggeringElement).<wbr></wbr>text());</i></span></div>
<div>
<span style="font-family: inherit;"><i> // sustain the hover style (see page attributes)</i></span></div>
<div>
<span style="font-family: inherit;"><i> $(this.triggeringElement).<wbr></wbr>addClass('hover');</i></span></div>
<div>
<span style="font-family: inherit;"><i>}</i></span></div>
</div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">To replicate the highlight when typing the letter with the keyboard was fairly similar. I created a dynamic action Key release of my only visible page item P1_WORD, then added the following JavaScript </span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;"><i>// record the last value, for the tricky delete response</i></span></div>
<div>
<span style="font-family: inherit;"><i>this.triggeringElement.<wbr></wbr>oldvalue = this.triggeringElement.value;</i></span></div>
</div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><i><br /></i></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><i>// get value of page item, get last letter, set to upper case.</i></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><i>last_letter = $('#P1_WORD').val().substr($('<wbr></wbr>#P1_WORD').val().length-1).<wbr></wbr>toUpperCase();</i></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><i><br /></i></span></div>
<div style="background-color: white; color: #222222;">
<div>
<span style="font-family: inherit;"><i>// Add highlight to first unhighlighted button encountered with the same letter as that entered. Need to cater for Qu</i></span></div>
<div>
<span style="font-family: inherit;"><i>if (last_letter.length > 0)</i></span></div>
<div>
<span style="font-family: inherit;"><i> $('#p1_board td.t-Report-cell:not(.hover):<wbr></wbr>contains("'+last_letter+'"):<wbr></wbr>first').addClass('hover');</i></span></div>
</div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><i>// select reads: game board, any cell not already with hover class, cell must contain relevant letter</i></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">The hard part came when I realised I had to remove the relevant highlight if the user deleted the letter using the keyboard. The key release trigger ended up having a condition to run a set of false actions when the delete key was pressed:</span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">event.which != 8</span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">For iOS users, I also needed to include the TouchPunch.js library on the page. This fills a gap for desktop applications on touch devices. It also enables you to modify click events to respond immediately, instead of waiting 300ms to determine if you wished to click <i>and drag</i>, or just click. As such, this library is also required if you want to use sliders on a touch device.</span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">What I never addressed was the one dice that had 'Qu', as per one of the inline comments.</span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">Monty, you asked for detail, so I couldn't resist ;p</span></div>
</blockquote>
<br />
<b>Alright, how can I play?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">It's currently hosted on the <a href="http://apex.oracle.com/" style="color: #1155cc;" target="_blank">apex.oracle.com</a> server </span><span style="font-family: inherit;"><a href="https://apex.oracle.com/pls/apex/f?p=70316" style="color: #1155cc;" target="_blank">https://apex.oracle.com/pls/<wbr></wbr>apex/f?p=70316</a> </span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">The login screen provides details of a generic user to play with, though in future I may just make the game page public.</span></div>
</blockquote>
<br />
<br />
<b>Anything else you'd like to add?</b><br />
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">Within my game you'll find a page of technical details, roughly describing how I used the SQL, PL/SQL, CSS and jQuery involved in building the game in APEX 5.0.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">I also presented a breakdown of technically interesting game components at the Perth OTN day. Slides available <a href="https://prezi.com/pk5pvbksytvd/hows-your-apex-game/" target="_blank">here</a>.</span><span style="background-color: transparent;"> </span></div>
</blockquote>
<blockquote>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">I'm also tempted to record a brief video series showing how to construct it yourself. It's basically a single page application with a bunch of dynamic actions.</span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;">
<span style="font-family: inherit;">If you want to learn more about using jQuery in APEX, I finished writing a book this year on just that Click <a href="http://www.apress.com/9781484209622?gtmf=c" target="_blank">here</a> for details ;p</span></div>
</blockquote>
<br />
<br />
Thanks, Scott. By the way, it was great to meet you at KScope 15. In the coming days we'll share more insight into the other games that were part of the contest.<br />
<br />
...our journey continuesMonty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-52781617836298489102015-12-11T06:04:00.000-08:002015-12-11T06:15:17.449-08:00ODTUG APEX Gaming Competition - How'd They Do It? (Part 5)At Kscope 15 this year we launched the first ever ODTUG APEX game competition. The APEX community responded with 15 entries! Each and every one of them left me thinking "How'd they do that?" So, let's find out more about the games and those who wrote them.<br />
<br />
Since it's Friday, it's Daniel Hochleitner's turn.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<b>First off, tell me a little about yourself.</b><br />
<div class="separator" style="clear: both; text-align: center;">
<b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7R-4BA67qUSItKTtxVd4Pf-CbcZRX_HosVabmPPkZemWegLGf2eVjRB1_PRJ4JYT4j2WcRgJJi47Cf0DvBYePNR-kWYFD35sHyovhqUXpIcuKtXTu6edH-k60FAiYB4FuRYutCCyvFkQ/s1600/danielh.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7R-4BA67qUSItKTtxVd4Pf-CbcZRX_HosVabmPPkZemWegLGf2eVjRB1_PRJ4JYT4j2WcRgJJi47Cf0DvBYePNR-kWYFD35sHyovhqUXpIcuKtXTu6edH-k60FAiYB4FuRYutCCyvFkQ/s200/danielh.jpg" width="200" /></a></b></div>
<br />
<blockquote>
My name is Daniel Hochleitner and I can be reached on Twitter at <a class="twitter-atreply pretty-link js-nav" data-mentioned-user-id="318612015" dir="ltr" href="https://twitter.com/Dani3lSun" style="background: rgb(255, 255, 255); color: #999999; font-family: Arial, sans-serif; font-size: 14px; line-height: 18px; text-decoration: none; white-space: pre-wrap;"><span style="color: #c1c1c1;">@</span>Dani3lSun</a><span style="background-color: white; color: #292f33; font-family: Arial, sans-serif; font-size: 14px; line-height: 18px; white-space: pre-wrap;"> </span></blockquote>
<br />
<br />
<b>How many years of APEX experience do you have?</b><br />
<blockquote>
Round about 7 years, started with APEX 3.1.</blockquote>
<br />
<br />
<b>What motivated you to participate in the APEX Gaming Competition?</b><br />
<blockquote>
The day Vincent first posted it on twitter, I thought that´s a really cool idea, instead of building highly weight database business applications, a game that uses the database and APEX is great. So features like HTML5 and stuff like that will move in focus. </blockquote>
<blockquote>
So i decided just after an hour after the tweet to participate in this competition, just to show others and particularly people who are not so much into APEX whats possible with it.
</blockquote>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP153VJHP0kAY2PrsMsrynjDmpH5LSzgllT9GohHZw8_hJfNegyUxuqhF0Jy-MMprSAXy7ERcwm06AHVmMsY317KlRgiQG45xnJAqMIM0h2Jp0TQDuqv37dKOCvn6bfhDOPGdXrAtfOk8/s1600/crappybird.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP153VJHP0kAY2PrsMsrynjDmpH5LSzgllT9GohHZw8_hJfNegyUxuqhF0Jy-MMprSAXy7ERcwm06AHVmMsY317KlRgiQG45xnJAqMIM0h2Jp0TQDuqv37dKOCvn6bfhDOPGdXrAtfOk8/s200/crappybird.PNG" width="200" /></a><br />
<br />
<b>What is the name of your game?</b><br />
<blockquote>
CrappyBird (It´s Open Source under: <a href="https://github.com/Dani3lSun/apex-app-crappybird">https://github.com/Dani3lSun/apex-app-crappybird</a>)</blockquote>
<br />
<br />
<b><br /></b>
<b><br /></b><b>Briefly describe your game.</b><br />
<blockquote>
CrappyBird is designed to function best an mobile devices (mobile first!:)). Because I liked the original game „FlappyBird“ from the mobile AppStores so much, because of the simplicity but funny gameplay (Play it from time to time, shortly in a break or at home at couch, without thinking to much, just playing and have fun:)) </blockquote>
<blockquote>
Aim of CrappyBird is to drive the bird through the landscape without hitting the tubes (getting points for every passed tube) and to mess your performance with other people.
Other people means, against all registered users, your twitter friends and people that are in your local area (via GPS). </blockquote>
<blockquote>
This social part was missing in the original game, but I wanted all features that I would thought they are missing in this game to be present, beside the social factor that was the GPS part and to customize the playground (changing colors of bird, tubes, ground, etc.) and share this themes with other people (very funny layouts possible:))</blockquote>
<br />
<br />
<b>How long did it take you to develop your games?</b><br />
<blockquote>
Thats a difficult question, because I developed the game in my spare time from time to time over several weeks. I think it was round about 6 weeks and 70-90 hours.</blockquote>
<br />
<br />
<b>What was the most challenging element of your game design and how did you overcome it?</b><br />
<blockquote>
The most challenging parts were: </blockquote>
<blockquote>
Twitter Integration: Wrote a complete Twitter API that uses Twitter REST API (Application-only Authentication). That part was interesting, learning much about current web services and OAuth procedures, at some points a bit try and error but overall great success and fun using PLSQL to find out followers, do twitter searches on hashtags etc..
(I´m planning to clean up this package and make it open source to everyone in a single package without the game dependencies) </blockquote>
<blockquote>
The game view it self: Wrapping Javascript and CSS and the static resources like images into a PLSQL package that renders the game and replaces all the colors that a user has chosen on page load </blockquote>
<blockquote>
HTML 5: This consist of the GPS part (with distance select statements between 2 users using Spatial and the gps coordinates)
- the HTML5 canvas part (The game is a HTML canvas element and to make screenshots of the canvas using javascript (used for sharing themes))
</blockquote>
<br />
<br />
<b>Alright, how can I play?</b><br />
<blockquote>
URL: <a href="https://apex.danielh.de/ords/f?p=CB">https://apex.danielh.de/ords/f?p=CB</a> Just register and you can play the game.</blockquote>
<br />
<br />
<b>Anything else you'd like to add?</b><br />
<blockquote>
Thanks for that cool competition, and hopefully not that last one! ;)</blockquote>
<br />
<br />
<br />
Thanks, Daniel. Nothing crappy about this game. In the coming days we'll share more insight into the other games that were part of the contest.<br />
<br />
...our journey continuesMonty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-17517626613865580582015-12-10T05:05:00.002-08:002015-12-10T05:05:42.424-08:00ODTUG APEX Gaming Competition - How'd They Do It? (Part 4)At Kscope 15 this year we launched the first ever ODTUG APEX game competition. The APEX community responded with 15 entries! Each and every one of them left me thinking "How'd they do that?" So, let's find out more about the games and those who wrote them.<br />
<br />
Today we feature Maxime Tremblay.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkszxMrmp7fDzR2aZoObBL5q8BSRhdAE7432EbW1xJgp4L80Rck00l8Y92CRLRmEYFkxxIyaDFFKjuduAwRpl6IOBt_uuLG0zJVi0UXB-viaSouwxWa9mIqMlIwhA6_Btnho1ib7KNh4/s1600/MaximeTremblay.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkszxMrmp7fDzR2aZoObBL5q8BSRhdAE7432EbW1xJgp4L80Rck00l8Y92CRLRmEYFkxxIyaDFFKjuduAwRpl6IOBt_uuLG0zJVi0UXB-viaSouwxWa9mIqMlIwhA6_Btnho1ib7KNh4/s200/MaximeTremblay.jpg" /></a></div>
<br />
<br />
<b>First off, tell me a little about yourself.</b><br />
<blockquote>
My name is Maxime Tremblay and I'm from Quebec City, Canada and I'm Currently working at Momentum Technologies.
You can email me at maxime.tremblay.consultant@gmail.com or reach me on Twitter @maximet57537559</blockquote>
<br />
<br />
<b>How many years of APEX experience do you have?</b><br />
<blockquote>
I have been developing with Oracle Apex for 8 years.</blockquote>
<br />
<br />
<b>What motivated you to participate in the APEX Gaming Competition?</b><br />
<blockquote>
As soon as I saw the announcement, I couldn't wait to start developing my game application. I really liked the idea of making a game using Apex.</blockquote>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg470hvC32EVtSL1xTWtCGPR649m03pZc9NKSjjK8rmTET0mCSof16WE_3mQZqVD81nFP7cxq7VIRezPAEb0LTJQ6eHqI1KAX51YGWzcA54xB1Iul45CQDwnFD8UDnBgpia7T8YB3B-3Uk/s1600/battleship.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg470hvC32EVtSL1xTWtCGPR649m03pZc9NKSjjK8rmTET0mCSof16WE_3mQZqVD81nFP7cxq7VIRezPAEb0LTJQ6eHqI1KAX51YGWzcA54xB1Iul45CQDwnFD8UDnBgpia7T8YB3B-3Uk/s200/battleship.png" width="200" /></a><br />
<b>What is the name of your game?</b><br />
<blockquote>
Battleship</blockquote>
<br />
<br />
<b><br /></b>
<br />
<b><br /></b>
<b>Briefly describe your game.</b><br />
<blockquote>
The game is a single and multiplayer battleship game.<br />
<br />
The starting point of my game is a chatroom. In there you can chat with the other players, you can also show your profile (from the profile screen, you can change the theme and replay completed games), or start a game versus the AI or versus another online user.<br />
<br />
The game itself is played on four grids, two for each player. Before the game begins, each player secretly arranges their ships either vertically or horizontally on their primary grid. After the ships have been positioned, the game proceeds in a series of rounds. In each round, each player take a turn to select a target square in the opponent's grid which is to be shot at.<br />
<br />
The first player to hit every square of every ship is the winner.
</blockquote>
<br />
<br />
<b>How long did it take you to develop your games?</b><br />
<blockquote>
I did not track how long it took, I'd say approximately somewhere near 30 to 40 hours</blockquote>
<br />
<br />
<b>What was the most challenging element of your game design and how did you overcome it?</b><br />
<blockquote>
The thing that probably gave me the most problems was everything related to the AI. I had to come up with a way for the AI to determine the best square to shoot at.
The approach I decided to take was to give every cell a probability and then have the AI choose the highest probability.<br />
<br />
So basically, what I did was to loop for every column, for every row, for every active ship, for both direction, if the ship can be place using these parameters, then I'm incrementing the probability of every square that the ship takes. After that I needed to increase the probabilities around the hit squares. If there's only one square that is hit on the ship, I needed to increase top, bottom, left and right adjacent squares. Otherwise only top and bottom or right and left according to what square were hit for that ship.<br />
<br />
I also needed to increase the probability of adjacent squares only if there was a way for the ship to be placed so that the adjacent square would be occupied in any way by the ship.<br />
<br />
I also had to debug it multiple times when I tested everything. I have to say it took a long time to do.<br />
<br />
Other things also gave me a hard time :)
<br />
<ul>
<li>Placing ships using drag and drop</li>
<li>Everything related to the user presence (have only the online users show up in the chat's user list, and to notify the user if the opponent leaves while playing a game)</li>
<li>Multiple themes that the user can switch to (you can change it from the profile screen)</li>
<li>Having the game display well on tablets and mobiles</li>
<li>Sound effects (especially on iOS devices)</li>
</ul>
</blockquote>
<br />
<br />
<b>Alright, how can I play?</b><br />
<blockquote>
Simply go to <a href="http://max-playground.no-ip.org/ords/f?p=BATTLESHIP">http://max-playground.no-ip.org/ords/f?p=BATTLESHIP</a>. Signup using a valid email address and you're good to go.</blockquote>
<br />
<br />
<b>Anything else you'd like to add?</b><br />
<blockquote>
I would like to thank everyone involved in the contest. I really had fun developing my game and it was also a great learning experience.
Feel free to contact me if you would like to have more information on anything about my game. Thanks again!
</blockquote>
<br />
<br />
<br />
Thanks, Maxime. I loved Battleship growing up. In the coming days we'll share more insight into the other games that were part of the contest.<br />
<br />
...our journey continues Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0tag:blogger.com,1999:blog-4670514573534452370.post-54947827542745642262015-12-09T05:15:00.000-08:002015-12-09T05:15:15.147-08:00ODTUG APEX Gaming Competition - How'd They Do It? (Part 3)At Kscope 15 this year we launched the first ever ODTUG APEX game competition. The APEX community responded with 15 entries! Each and every one of them left me thinking "How'd they do that?" So, let's find out more about the games and those who wrote them.<br><br>
Next up is Nihad Haskovic.
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOEQisssGxD768wL-0_IN_zBqS9-pQuWREjnePJrIVUs-VfYZM6Bb7JaOYJzaqGeN5Xzan8xGnzI3ckrlCwMTWYSVtJtd4VuVLv3GW8MQ8Am_WHCZb938Y32pcx6sVV60E7hoB_ZpwZkU/s1600/suduku.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOEQisssGxD768wL-0_IN_zBqS9-pQuWREjnePJrIVUs-VfYZM6Bb7JaOYJzaqGeN5Xzan8xGnzI3ckrlCwMTWYSVtJtd4VuVLv3GW8MQ8Am_WHCZb938Y32pcx6sVV60E7hoB_ZpwZkU/s320/suduku.PNG" /></a></div>
<br><br>
<b>First off, tell me a little about yourself.</b><br>
<blockquote>My name is Nihad Haskovic. I am from Bosnia and Herzegovina, but now I live in Stuttgart, Germany. Currently I work at PITSS GmbH. Before PITSS I was employee at different company in Bosnia and Herzegovina. You can reach me by email nhasko@gmail.com or by twitter @Niho__</blockquote>
<br><br>
<b>How many years of APEX experience do you have?</b><br>
<blockquote>I have 8 years experience with developing Oracle APEX application.</blockquote>
<br><br>
<b>What motivated you to participate in the APEX Gaming Competition?</b><br>
<blockquote>I really like to programming in APEX, so when I see the announcement of Competition, I was ready to participate.</blockquote>
<br><br>
<b>What is the name of your game?</b><br>
<blockquote>Sudoku</blockquote>
<br><br>
<b>Briefly describe your game.</b><br>
<blockquote>Sudoku is one of the most popular puzzle games of all time. The goal of Sudoku is to fill a 9×9 grid with numbers so that each row, column and 3×3 section contain all of the digits between 1 and 9. As a logic puzzle, Sudoku is also an excellent brain game. If you play Sudoku daily, you will soon start to see improvements in your concentration and overall brain power. The popular Japanese puzzle game Sudoku is based on the logical placement of numbers. An game of logic, Sudoku doesn’t require any calculation nor special math skills; all that is needed are brains and concentration.<br><br>
The classic Sudoku game involves a grid of 81 squares. The grid is divided into nine blocks, each containing nine squares. The rules of the game are simple:<br><br>
<ul>
<li>Each number can only appear once in a row!</li>
<li>Each number can only appear once in a column!</li>
<li>Each number can only appear once in a box!</li>
</ul>
</blockquote>
<br><br>
<b>How long did it take you to develop your games?</b><br>
<blockquote>To implement this game, I needed two and half months, working 1-2 hours per day </blockquote>
<br><br>
<b>What was the most challenging element of your game design and how did you overcome it?</b><br>
<blockquote>The most challenging part of implementing this game is to generate one solution Sudoku table.<br><br>
First step was to generate solved Sudoku table and this is implemented in PL/SQL with procedures. I generate random number for each cell and number in this cell must be unique for row, column and block. After this process, I had to remove certain number of numbers for appropriate level to get one solution Sudoku table and that was biggest problem, because after each remove I had to check number of solutions. If Sudoku has more than one solution, I don’t remove number from current cell. If has one solution, i remove number and then I go to next random cell to repeat same step.<br><br>
I also implemented a solution in PL/SQL, but solution was to slow and I had to find new solution. Then I implemented same solution in JavaScript and that was much better and faster. With combine power of PL/SQL and JavaScript I solved this problem.
</blockquote>
<br><br>
<b>Alright, how can I play?</b><br>
<blockquote><a href="https://apex.oracle.com/pls/apex/f?p=95780:101">https://apex.oracle.com/pls/apex/f?p=95780:101</a></blockquote>
<br><br>
<b>Anything else you'd like to add?</b><br>
<blockquote>It was pleasure to participate in OTDUG APEX gaming competition. And Thank you for organizing this event and I am sure, I will participate in next APEX competition. And next time I will try harder. </blockquote><br><br><br>
Thanks, Nihad for pushing the bounds of our favorite development tool. In the coming days we'll share more insight into the other games that were part of the contest.<br><br>
...our journey continues Monty Latiolaishttp://www.blogger.com/profile/01051714570698862872noreply@blogger.com0