Thursday, 21 January 2021
2020 Blog Review
Ahem.
select apex_string.format(q'[It's been %s days since my last confession]' ,trunc(Sysdate) - date '2020-04-14' ) "G'day World" from dual
G'day World ----------- It's been 282 days since my last confession
It's been so long, the Blogger UI has changed. I don't think I like it. Maybe another thing to consider adjusting in the new year...
It's also been four years since my last blog review, and I promised this one may be a doozy.
2020 was something else, right? I spent a good portion being thankful that I
- kept my job
- could work from home
- live in such a remote city, which helped keep my family & friends safe
Aside from the APEX@Home event in April, I decided to scale my extra-curricular work right down, hence the lack of blog activity over the past year. I've kept active in the forums, because looking through those helps give my brain a bit of a reset when focus starts wandering.
But I wanted to be sure I had the time, energy, or whatever it was I needed to power through whatever 2020 potentially dished out.
Thankfully, from my end of the world, things are relatively OK. I've been to a few outdoor gigs, and aside from a few regular adjustments, life is kind of normal. Kind of. We're not completely insulated from the outside world, and things could change in a moment.However, I've used this down time to improve my investment game, should my IT career start to falter.
But that leads onto another astonishment for the year. I saw a lot of people I knew outside tech lose their jobs, though thankfully most of them had options elsewhere. Meanwhile, I'm presented with numerous avenues. I happened to choose a new avenue.
As of the end of January 2021, my tenure at Sage Computing Services comes to an end after 13 years.
When I look back, it's staggering what I've done with the support of Penny at Sage.
- Transitioned from Forms based development to Oracle APEX.
- I published a video series using Oracle APEX.
- I published a book involving Oracle APEX.
- I was recognised as an Oracle ACE.
- I spoke Kscope. Twice. Well, two cities, 5-6 sessions, I think.
- Helped create some amazing project work with an amazing team.
- Found a great work-life balance.
And I still have the yearn for more. I have two more ideas for video series I still want to explore, and one could work as another book.
It was a really tough choice leaving Sage, but yet again, Penny supported me through the options, and I'm fairly sure I've found a project that's the perfect fit for me, and it was hard to ignore.
And for a moment there I felt like I was presented with the cliche of red vs blue pill.
I'm not sure which one represents the world of development, but I didn't identify a managerial style job back at University - so while I 'manage' a lot of things as a developer, my passion is cutting code.
Therefore, the coming years are going to be explored as a contractor at a new firm, while I return to a past client to transition them from Forms to Oracle APEX. The good & bad news: I built a bunch of those Forms!
2020 project challenges were tough. I'd be kidding myself if I didn't think 2021 projects at a new location will be any different, but I'll be looking to step up my skills & habits while I'm at it.
Hopefully you'll be hearing more from me via this medium in 2021.
I've missed it, and I'm ready to come back.
And here's to seeing James Webb Space Telescope finally launch this year!
Tuesday, 7 February 2017
2016 Blog Review
Tools
So many tools. And I arguably don't use enough of them.APEX 5.1
It's out and I'm excited. Unfortunately, scheduling is super tight, so I'll be waiting at my current site until hopefully around June, but I've certainly been enjoying the play on apex.oracle.com. I look forward in particular to the OracleJET built-in charts, we've got some great dashboarding ideas to explore.I've seen plenty of questions come through the forums on the Interactive Grid, but I'm by-passing most of those until I get the chance to use it. I sure know where it belongs, and I look forward to understanding how it ticks, and the implications it brings.
OracleJET Visualisations
After an interesting overview in the depths of OracleJET from Chris Muir, I assigned myself homework that's seen me quietly working away on some plugins, bringing OracleJET visualisation (charts) for use in 5.0. I'm not sure how successful the cultivation will become, but I am documenting my journey. Expect a decent series of articles on my process, but be patient. I've had a hiccup with JSON and I'm giving it a rest for a little bit.12c
We have 12c at our main client site and I appreciate some of the features it brings, so much so I look forward to 12.2, particularly LISTAGG.I particularly like Identity columns; the row limiting clause, though I probably abuse it sometimes; and I reckon I must spike page hits for Tim's post about lateral & outer apply joins.
I'm starting to explore performance benefits of PL/SQL in WITH clause, and the UDF pragma, among other features.
JSON
My colleague has done some interesting stuff with parsing incoming JSON using 12.1 SQL, and I'm slowly exploring with my plugin generation using APEX_JSON and LISTAGG. With made another step deeper into 12c by upping MAX_STRING_SIZE to allow for processing of larger JSON.I'm quite glad it's no longer XML.
It seems 12.2 will be bringing the remainder of tools required to really get going with this. There's quite a lot of polish I've seen in this release that makes it an attractive upgrade.
Atom
After many, many years using Textpad, I'm giving other editors a go. Atom has shown good promise, but I'm still yet to get it compiling my packages on a Windows box, though I haven't persisted.There are some other minor niggles, but it does bring great benefits. I might give Sublime a fair go this year, however. There's beer in it for anyone who can get me compiling from a text editor that pleases me. Sorry, I only use SQL Developer for ad-hoc queries, compiling from scripts, and
I am casually interested in how Atom was built. I see Android Instant apps as being something to keep an eye on with this amazing JavaScript tech.
JavaScript and node.js
I really haven't given node.js a fair go, and if there was anything other than OracleJET visualisations that I want to learn this year, it's node.js. Maybe my QNAP will help me learn after all.Ubuntu
As much as I see the benefits of running a linux based operating system, I think I just need to accept my fate as Windows proficient, using Virtualbox when I can. Too many hurdles to transition operating systems when there is a world of user interface development to keep up with.ORDS
I can't add much to this from this year, except we've had a steady keel for 12 months. I'd like to move to nearly whatever the current version is when we up to 5.1.I did notice spikes in the connection pool that endangered other users when a page was opened containing an image gallery, particularly for a 'job' with a large number of associated images. We added pagination to that page to cap these spikes and keep them below our connection pool thresholds.
Community
Thanks to all those who answer and ask questions online (and at conferences, of course).ACE
Plenty of hub-hub this year about the Oracle ACE program, and the potential for a number of Ace Alumni to appear. It's going through a maturation phase. Let's wait for it to evolve and continue to recognise and potentially aid those people helping the community thrive and develop. Kudos to all those diligent experts out there who remain unrecognised within this particular program, but support their teams and community with their humble expertise.I'll continue to output stuff that helps me remember stuff and benefits other people, regardless of which side of the line I'll fall. Whatever helps my abstracts get submitted when I occasionally venture out in this giant planet ;p
Blogging
No real exciting stats to report this year. Growth minimal, but quite the regular heartbeat of visitors. Many of them me, looking up certain references. This is the very reason that tipped me over the edge when starting this blog, seeing this byline:"Oracle Things I Got to Remember Not to Forget" - Alex
For some reason, my reference to Carsten's LISTAGG function was the most popular this year. Perhaps because more people like us who are using this to generate larger JSON sets prior to 12.2?
Also up there for hits was about one of my favourite APEX development patterns.
It took until #22 in the most visits by page for a 2016 post, an important one on improving PL/SQL performance in APEX. Some of my favourites from this year include decommissioning triggers, and a debugging how-to that may be a useful reference in the forums (#40).
Spiking briefly was this Patterson-Gimlin style glance at APEX 5.2
APEX Sample Applications
If you haven't heard, Dick Dral possibly leads the pack at the moment in regard to sample applications, I need to have more of a play in there. He's been a busy boy!While reviewing blog page hits I noticed activity this page where I started to catalogue my bookmarked list of community sample applications. Maybe I can finish modernising my sample app and make these more prominent, or find a better home elsewhere.
Book
For anyone who purchased a copy of my jQuery in APEX book, thank you, and I would recommend you re-source chapter 9 electronically. Somehow an early draft made it in but it has since been replaced, using what seems like a logistically amazing process in the world of publishing.If you like video format, I did this video series for 4.x, but many principles still apply.
While I've got a back-log to read, this Real World SQL and PL/SQL is hard to go past. Well done, gang.
AI
Among other things, I predict forms of intelligent systems / AI will be a science we'll see more of in the world, solving problems that wouldn't immediately spring to mind. I also wonder if it will help clients become event thinner, so I can stop complaining about not having enough space for apps on my phone, even as a moderate user of apps.
Astronomy
Because I've liked this since I was single digits.This year will mark the end of an amazing mission that I've been following for quite some time. Cassini has been exploring more than just Saturn as shown in this amazing timeline. It's already committed on its fateful descent into Saturn in September.
I know in next year's review I'll be talking about the amazing James Webb Space Telescope, scheduled for launch around a year after Cassini farewells. This thing is going to be the biggest thing for astronomy since Hubble. Literally. The few weeks between launch and confirmation of a functioning telescope will be the most thrilling moment that represents years of work for thousands of engineers. There's no second chance like Hubble had, nor any service missions, not while still humanity struggles to exceed low earth orbit.
Science, in general, is actually quite a big part of the current news cycles, but for all the wrong reasons. I wonder how this will change if China's Chang'e 5 makes it to the moon and back this year, making it the third country to achieve this amazing feat and the first in 40+ years. I wonder how POTUS will respond?
Tuesday, 19 January 2016
2015 Blog Review
Like many people, part of the reason for doing these sorts of things really what every person should do semi-regularly -> write down your aspirations. I remember being taught goal setting from a young age and I think it's a life skill that many leave behind.
Same topics as last year, with a different order by, but they're all tightly coupled anyway ;p
Tools
APEX
There will be a lot going on for APEX again this year. No doubt you've already read Joel's summary of 2016. Oh to live in the US/Europe (or have fast, cheap, efficient modes of transport).Content for APEX at Kscope16 looks amazing, it's a shame it's a touch early to see stuff about OracleJET and the Interactive Grid in 5.1. That's OK, I'm still learning the full impact of life in 5.0.
I'll continue to work on Universal Theme projects, which pleases me. Plenty still to learn and absorb, adjusting to our evolving development framework. Thanks again to the development team for the Page Designer, it has vastly improved productivity.
I would like to see Share Components integrated into the Page Designer, certainly for viewing but I'm sure even editing could be cleverly integrated with modal dialog pages. I often operate with two browsers running the builder, Chrome for Page Designer; Firefox for Shared Components.
I'd like to hear more about how the Universal Theme will change, what sort of life cycle it will have, and how information about change is relayed. I know it's changed since inception, and no doubt within patches. I wonder if any tweaks fix the little issues we've been finding. On my list is to copy an app, verify the them subscription, and try it out. Maybe export the themes and do a diff?
Anyway, I've found CSS use has cut greatly since running UT, I've cut plenty from converted applications. I've even modified the balance I'm looking for between Dynamic Actions and jQuery.
I truly could rattle on for ages. My three developer buddies at work will testify to that.
ORDS
Personally I would like to see more on ORDS. I feel related documentation is still maturing and there only seem to be a small handful of experts sharing their experiences & techniques.As someone with a prominent development hat, I'm thankful to have a colleague that understands that middle tier better than I. Unfortunately we're a small team and setting up JMeter for load testing is still on the list.
I saw a bit of chatter online regarding mixed content issues on version 3.0.3, and performance issues after 3.0.1, both of which we experienced empirically. The ORDS team must feel what Android software authors face were there's a zillion combinations of infrastructure.
Even though ORDS is sprouting it's own wings, I think the APEX and ORDS team need to stay tightly coupled. At this point I'd guess most ORDS deployments at least serve APEX. I've already overheard the observation that most people see it as a just that, and clients don't split hairs when something goes wrong.
"APEX is down", and nothing worse than middle tier experts saying "not us" when it's certainly outside the database layer. We can't wreck this together unless the arm supporting ORDS gets more support.
That's my plea for the (fantastic) Oracle developer advocate group in 2016 - more aid for ORDS. Maybe a hashtag would help? ;p #ORDShelp
12c
Our current client upgraded to 12c over the festive period, so no doubt I'll have a few development experiences to share with this newer environment. Probably on topics related to JSON and SQL syntax. Look out for #db12cText Editor
For a long time I've used Textpad for my text editing needs, but I'm tinkering on the edge of leaping to either Sublime or Atom. This needs to happen this year. Eddie, get me on it!Community
Last year I said to Juergen that I'd help out with apex.world. So far I've written the intro post for Slack, but I still haven't honoured the other task he sent my way. I could blame the book, tendinitis, the holiday period, but I know there's procrastination in there, too. Sorry mate, soon.I doubt I'll get to any international conferences this year, but I'm going to start paying more attention to the Asia-Pacific region. I'm on the lookout for communities I'm yet to discover. That sounds like a tautology, something self evident, but let's call it a known unknown.
I'll certainly hang around on Twitter and Slack, and I might get back onto the PL/SQL Challenge. I gave it a break for a while, but I need some 12c tips. I asked
Blogging
I intend to spend a bit of time finishing all sorts of semi-drafted posts, technical and otherwise. I'm not longer writing a book and this yearn to write has to go somewhere. I still have plenty of notes from my experience at Kscope15, which was amazing. I look forward to the time where I can travel more.I have fun when analysing the statistics from the previous year. I think many of us unknowingly love assessing numbers and statistics, which is my hypothesis as to why cricket and baseball are so popular.
Readership growth has tapered, which I find interesting. Does that mean I've hit most people out there, looking for stuff, or have I just filled up my current channels?
I must say it was fascinating at Kscope to hear about people who've read my blog or heard I was there and sought me out. Rambling on the keyboard to a faceless audience is weird sometimes, so I was thankful for the positive feedback. People compliment on my writing style, and I humbly accept and strive to improve.
Back to the stats, the most telling of which is browser usage
- Chrome up 16%
- Firefox down 11%
- IE down 23%
- Safari up 27%
- Opera down 18%
Big differences, no real surprises, is there?
Mostly read on desktop, but mobile up 64%, but that's relative, not absolute. 3k mobile readers vs 53k on the desktop. Similar relative growth for social media vs organic searches. Twitter certainly is a growing factor in disseminating (and finding) technical content.
Plenty of interest in APEX 5, 1500 visits alone from Patrick's meta post aggregating APEX 5 articles
http://www.inside-oracle-apex.com/oracle-apex-5-0-articles/
I find this curious every time but only two articles from 2015 made it into top 10 most visited. One was Sample community applications, which makes me want to progress this idea further with the gang at apex.world. Second was my reference to Carsten's listagg clob.
To add perspective, the reigning top page represents 4.7% of visits. If I interpret this correctly, the top 10 pages represent over a quarter of the year's page visits, which is quite the heuristic.
Strangest search term?
apex 3.x dynamic actions
Books
My first book is complete. What a journey that was, with Kscope and APEX 5 thrown in between. A little shame about chapter 9, more on that to come, likely in some form of errata. I'll hopefully learn from that lesson.Anyone who has read it, thank you and I hope I can get the updated chapter to you soon. I hope any reviewers hold out until they've had a chance to read through ;p
I bought a few myself with the Cyber Monday sales that I need to start reading. A have a couple on node.js but I look forward to learning heaps in the revised Expert Oracle APEX.
I need to fit a novel or two in as well. We're have a short holiday in Bali soon, I no doubt have a good sci-fi ready to go.
Videos
As I suggested in Monty's post about my APEX game, I've considered recording little videos showing I build the game, in addition to the presentation I did for the local user group. Nothing fancy, certainly not like Connor and Tim's videos, just little tutorials that watch me work. Even little things like rebuilding my sample application in the Universal Theme.I've also got a lot of video watching I want to do. I have a few set to go from ODTUG already, such as webinars I've missed because they've been on at 1am. I've barely seen many of Connor & Tim's yet, I just don't watch many videos, I prefer to read my content. So I've got to schedule some video watching time, certainly before Kscope16 videos flood in. They're my best alternative to being there, that and participating in the Twitter stream during the conference.
Science
As with any year, 2016 has plenty of interesting science to look out for, and I love it. I will continue to also tweet science stuff I find interesting, in addition to the usual #orclapex #db12c #jQuery hashtags.I've been planning to post a list of my favourite podcasts for a while. For those interested I have plenty to recommend. They make great listening during transit to work. Exercise that brain.
Health
Having a toddler has introduced a lot of viruses and some bacterial infections to the house. This made exercise a little difficult, but I have managed to swim regularly with a small group of guys at work. We do a steady 1km at lunch, aiming for once twice a week.That's awesome, but I have equipment at home I need to use more often in the morning, particularly with the amount of chocolate I eat, which has to come down!
But first, I have to wait for what's apparently tendinitis in my right hand to calm down. I've done a decent job at resting it, but maybe that leaves room to help improve mental health.
Take a walk, enjoy the sunset. Rest your eyes and let your brain do some awesome stuff in the background while you're admiring the world.
On that note, enjoy your fresh start!
Tuesday, 29 September 2015
Review: The Martian
First Gravity took us on a cinematographic journey into low earth orbit.
Then Interstellar took us on an inception style ride.
If you liked these you may enjoy Europa Report, which has a 2001 feel to it.
Now we have The Martian, which only a few years ago was still in the imagination of write Andy Weir. The book has an amazing backstory, you should have a listen.
This review from Kirstin Acuna nailed the comparison to Castaway (another of my favourite movies), but I'd like to comment on some of her conclusions.
Biggest obstacle: Science.
Let's think about the target demographic for a moment, shall we? Audiences have been yearning for this style of moview, and good, sensical dialogue should not be compromised for the lowest common denominator. Have a read of this parody [cached] regarding if sports was reported like science, then come back to reconsider.Book vs Movie
I haven't read the book yet, but I would agree with Kirstin in that you should watch the movie first. I don't know how the book ends, but the cinema took me on an amazing journey, and I can't wait to go deeper in the book.I didn't come out of movie bummed out with disappointment like Sphere, though perhaps in that case it shows movies just can't always translate to the screen.
Comparisons to Interstellar.
Movies will be compared to other movies all the time. You know the amazing thing about The Martian? No bad guy, no agenda, just the "love letter to science".See it in 2D.
I beg to differ, see it in 3D. We don't need scenes constructed simply to satisfy an intense 3D experience. The Martian does an amazing job of taking you to the planet, go experience it in 3D to help with that journey. I also recommend sitting near the front where the screen fully immerses your peripheral vision, though I recommend taking a few things to cover the little arm rest lights we had in our cinema.Conclusion
Watch this movie, I can't recommend it enough.Thanks to my colleague for getting me pre-screen tickets - I think I will be seeing it again before too long to help my brain process it all!
Also, hang around for the credits. Not only does it start perfectly, the credits blend nice and neat.
Tuesday, 2 June 2015
Review: Ex Machina
Thursday, 5 February 2015
2014 Blog Review
I've had this sitting my drafts for some time (it has company), thought it best I finally finish it off an move on.
Considering I fathered an awesome girl in January with my bare hands, surrounded by kangaroos with warm pouches waiting (some facts may have been distorted in this story), I think I did pretty well on the nerd front.
Blogging
Last year I aimed for a post per week and I think I honoured that fairly well, with a few peaks and troughes. I'll have nothing on Mr 100 Day Dimitri.My March series on APEX 5 drew the biggest crowd, and my non-event webinar was the other blip thanks to some really ordinary internet speeds. Certainly no good for streaming anything either, so nothing from me netflix australia, though I hear I won't miss much.
This year I'm going to need to cut right down due to some other projects afoot. That being said I have a heap to process that have been drafted, from tech posts to observations (that will be dated) & other ramblings. And I'll certainly mention a thing or two if/when I get to play on APEX5 EA3. Luckily the community is right on top it, 1180 workspaces and counting.
For some reason my older posts still get the most hits though, I guess I need to post some new corkers.
I'm 99% certain I want to ditch Google+ comments and go back to one that accepts a wide range of identities. One that also notifies me of comments so I can interact in a timely manner with visitors so kind to leave some thoughts. Just a matter sitting down one day. Only trouble is I think I'll lose some history in the process.
APEX 5
Congratulations to the APEX development team on the amazing release that is APEX5 (EA3). I suspect this release will be darn close to the final product, though I'm sure they'll receive some very useful feedback.I look forward to getting some time to update our training course notes and finding the usual unexpected goodies. Hopefully I'll be writing client software on it without too much adieu, and I'll never want to go back to 4.x, let along 3!
Even after a few days play the 4.x blue seems dated.
ACE
I originally had a great segue, but I redrafted. Anyway, at least two fine humans gave the honour of ACE nomination in 2014. I've drafted some thoughts on the topic that I'll post separately one day.Career
We had a fantastic APEX deployment to iPads that continues to make most of the team keen to use the tool. Resultant data is coming through now and they're liking the shapes it can make! More exploratory work with a variety of web components continues to demonstrate how flexible APEX can be as a framework to the database.A colleague and I were recently reviewing the Kscope presentations that we would attend (there are so many!)
So many brilliant open source frameworks and technologies being talked about at Oracle conference that simply weren't around 3-4 years ago.
What must it be like for a software developer coming out of university these days? Spoilt for choice or overwhelmed with options? It's hard enough to keep up with 15 odd years under the belt. I'm starting to feel like the COBOL programmers I met in my first developer job, well, maybe not that bad.
Book
Yep, I'm halfway through... ok, maybe a third.. writing a book involving APEX. This shares top priority at the moment and I'm very excited about it. More detail in future and writing with Apress is such a different experience to developing a video series with Packt. A future presentation, I sense.And so much easy to refer to a 'book'. 'Video series' just doesn't have the same ring to it, or 'screen casts on APEX techniques'. Even producers of podcasts can summarise it in one word.
Anyway, I don't think it will be ready by Kscope15, maybe Oracle Open World. I think I'm ahead, but I've also got a presentation to finish/write.
Kscope15
Holy smokes I can't believe I'm finally heading to a conference like Kscope. I must say many thanks to Sage Computing Services for getting me there and supporting my growth over the past 7 years, I have the most wonderful boss. That being said, it will be the biggest dragon of time over the next 5 months!ODTUG have been generous to me since I've got to swim so far to get to Florida, so they've given me two presentation slots. There was word on a third, not the bird, just the word. (Late night joke referencing this)
For some reason I decide that it's this year I'm inspired to write my first 'best practices' type presentation, but I'm excited about the theme I'm using, just working on the content. I'm jealous of Peter Raganitsch's survey idea and look forward to hearing his results. I'm still in mind to still do a super short one with some targeted questions, just to test the waters with certain topics.
I'm also running the jQuery deep dive, though I'll have to shrink it a little and make some upgrades to suit the flavour of Kscope. Rest assured this one is to help the masses take hold of such a ubiquitous toolset.
There will be some smart cookies at this conference but hopefully I can offer some fresh perspective. If anything you'll perhaps walk away knowing about a few more amazing scientists - the real heroes. I'm turning up the geek to eleven in my 'Evidence Based APEX' session ;p
My wife and (by then) 18 month old will be journeying with me. We'll hopefully be rampaging through New York, probably Niagra, Washington DC, Florida, Disney, Las Vegas, and San Fran for 4th July. And I welcome any suggestions, including what to do about the falling aussie dollar!
Youtube
Failed on that on this year. I was kinda waiting on APEX 5, I had a theme in mind. Maybe some this year. Maybe.Ubuntu
Still running new laptop on it, skimming the surface. Still have Windows 7 laptop on side as backup for certain things. Ubuntu's not bad but not bug free. I think I'm liking it better than Windows, but there's a lot of catching up to do.12c
Looks good, I like some of the new features a lot but still not sure I'll encounter it in 2015. I have friends on the same street however that have even done some pattern matching awesomeness.Science
The LHC will be back online, who knows what widgets of mass and energy they'll learn about. Dark matter and dark energy are just waiting to be understood. All this done with a tool churning seriously big data.
Not bigger than the SKA, however, another amazing entity itching to look into the dark. Technology drives other technology. If you don't think this image makes you realise how insignificant we are, wait until this produces data. More data than society can currently handle, in fact.
Meditation
More of this required. We're encouraging it's return amongst our development teams. I find there is so much value in become more self aware. Put the smartphone down for a little while, allow yourself to get bored occasionally. It's healthy [citation needed]2015
No predictions this year, it's going to be big enough as it is. Book, Kscope, APEX5 - no need to add to that!Just remember, if it's 2015 and I bump into you, if you know there is a pool table nearby and I'll gladly play a game over a tasty beer.
Ramble over.
Saturday, 3 May 2014
Europa Report
Anyway - bloody brilliant movie. If you liked Gravity, you'll like this. And it does a fairly good job with the science, only a few minor issues if you really want to get picky. I'm often happy to ignore a few to help the plot along, though there was a horrible faux pas regarding 'absolute zero'.
A small cast includes Sharlto Copley of District 9 fame, who almost succeeds in hiding his thick south african accent. I love this critic's response:
"Claustrophobic and stylish, Europa Report is a slow-burning thriller that puts the science back into science fiction."I recommend this review by Britney Schmidt - a planery scientist advising actual planned missions to Europa. Though I'd suggest only reading it once you've seen the movie - it's a movie worth not knowing much about before you see it, but soaking up some background detail after the fact.
The cinematography cleverly combines some real photos from NASA/JPL catalogues, including this iconic shot of Europa from the aptly named Galileo spacecraft.
I find it gorgeously reminiscent of the Apollo 11 descent of the LEM.
I won't include my favourite perspective/scene as not to spoil anything, but ever since I was a young space enthusiast I've dreamed of seeing Jupiter up close.
Keep looking up.
Monday, 10 March 2014
Review: Oracle Apex Cookbook 2nd Edition
It was my 2nd book review and I've enjoyed reviewing Oracle related books & technology ever since - thank you to all publishers involved. Hopefully my technique has improved over time.
Now we're cooking with APEX 4.2 (get it?) and the kind team at Packt have informed me there is a second edition hot off the presses (one idiom that surely has a finite lifespan).
Additional kudos to the six technical reviewers. I've done this job a few times and I appreciate the time & effort it takes to help authors with the book...though one of their bios is very familiar...
The book is aimed at those new to APEX and intermediate developers - a statement I look out for when assessing books so I know what to expect or what I'm in for. Though I think anyone can learn something new, or adapt a technique you may not have seen before.
There are some references to 4.0, but I also share duties for updating manuals and understand you can't be expected to tackle every page, every screenshot in a revision. Looking through the contents I quickly picked up plenty of new & expected additions to this edition:
- Data upload pages
- Using shipped files
- Authorisation plug-ins
- RESTful web services
- Using Tomcat with APEX Listener
- Error handling
- Packaged applications
- Table APIs
- HTML5/CSS3
- Mobile
It's also good for feature awareness, so I thought I'd list out what to expect as far as content, highlighting the new content I spotted.
- Chapter 1 takes you through the essential basics of APEX development.
- Chapter 2 explores themes and templates - the sort of stuff developers need to do all the time so it's a great reference.
- Chapter 3 tackles extending APEX with external libraries, and shows how to hook them in with APEX attributes.
- Chapter 4 addresses Websheet applications - something rarely spoken about in the forums so you won't often find info on this.
- Chapter 5 now includes how to define an Authorisation plug-in, probably the first type of plug-in you'll typically make - mainly for reusability.
- Chapter 6 covers multilingual applications, something I may need to look into one day ;-)
- Chapter 7 has good concise examples of how you can use supplied APIs.
- Chapter 8 covers webservices, including RESTful which is available from 4.2, with APEX listener 2.x
- Chapter 9 provides examples on how you can publish reports natively from APEX
- Chapter 10 on APEX environment has been extended to include great improvements such as error handling.
- Chapter 11 is on Administration, and includes something missed from the original edition - table APIs.
- Chapter 12 on Team Development, another underutilised feature with recipes that might get your creative juices flowing
- Chapter 13 is brand new and covers HTML5 & CSS3. Recipes include how to use HTML5 item types, vital for mobile applications.
There is a drag/drop recipe that I look forward to playing with - I have a few use cases for this but haven't had a chance to get my head around it, but it looks like I could tailor this simple example to suit my needs. Another recipe covers storage - the modern way of creating more robust websites.
The geo-tracker recipe will be good to compare with my solution, see if I can learn from how others have done things. - Chapter 14 speaking of mobile, this chapter's recipes is a really good range of topics for learning mobile. Creating an app, a hybrid app, list views, mobile forms, item types, calendar, working with images, GPS, swipe events... there's even a nifty trick included regarding QR codes.
Friday, 10 January 2014
2013 Blog Review
Keep an eye out for interesting tangential and useful links.
Readership continues to grow. Rapidly. From my first full year (2010) with 5k visits, I'm now at 50k visits & 69k page views for 2013, averaging 70 posts per year - cool stuff!
Either people are searching for these topics (as search terms suggest), and/or people are bookmarking/remembering my blog as a place to visit - so thank you.
On blogging
Other things come above raw numbers, however, and what I find enjoyable about my job is learning. Learning things well comes with trying to describe it to others.
As many bloggers do, I have plenty of ideas in an e-mail folder - and that thing about learning? I find converting snippets of code & thought into blog posts a good source of reference and when using a tool like APEX you need your references only a click or two away.
I think I'll be further updating my blog reference map - I'm starting to use that frequently now, along with my recently sorted APEX bookmarks that includes documentation, how-tos and sample apps.
Issues
I've switched to google+ commenting, and while I like the integration - I'm missing people's comments, not seeing accurate comment counts in the blog homepage. Searching in chrome hiccups when it detects the site you want to search on - did the same thing as the search widget - no search results.
I'm considering moving to an APEX based blogging platform - but it might tempt me to import my back catalogue using XML from Google Takeout. Wouldn't that be fun?
Top visited pages
Note which year some of these were published - only two-ish from 2013.
- Upgrading to apex 4.2 in three steps (2012) -- done on my laptop, basics only
- CSS pulldown menu (May 2013) -- common request, neat solution
- Form report tutorial (2011) -- what I mostly aim for in this blog
- Modify login page (2011) -- includes link to modifying workspace page
- A common oracle error (2012) - an experiment based on some search results. Hypothesis verified.
- Tree region use case (Feb 2013) -- honourable mentioned because of when published
Top Referrers
Thank you for those linking to my pages, talking about them, reading them, searching & opening them. I hope you find things as useful as I do. There are also some predictable behavioural differences compared to 2012.
- ODTUG - Not surprising since moving from apexblogs.info
#63 apexblogs.info - down 100% - Twitter - I post all posts here, given recent social media trends, and #oraclapex, I'd expect some throughput
- scoop.it - should bloggers be concerned? it seems to attribute authors and encourage site visits. WOT doesn't say anything nasty.
- orana.info - from nothing to something? I was added in 2009, but only 1 visit recorded from 2012?
- apex.oracle.com - I've referred to my posts a few times when answering questions
- Feedly - of course... long live google reader!
- Feedburner - must relate to greader? down 61%
- #10 oracle-and-apex.com - on all things extending apex (only a comment and backlink?)
- #12 www.oraclealchemist.com - ACEriffic all-sorts (a mention... in a massive collection of 12c articles)
- #13 mikesmithers.wordpress.com - The anti-kyte (blogroll)
- #14 oraculix.wordpress.com (a mention regarding coalesce)
- #20 sqlcur.blogspot.com (a mention about a post on trees)
- #23 dbswh.webhop.net - an APEX jQuery guru I may collaborate with this year (blogroll)
- #49 oracleinsights.blogspot.com - a fellow Aussie (mention)
- #68 jeffkemponoracle.com - many woven interactions with this fellow Perth blogger, who unknowingly seeded my drive to blog.
- #81 inside-oracle-apex.com - good internal APEX resource (a few mentions, comments)
My top 10
I perused the 2013 archive and decided on favourite posts of my own - either those I visit regularly as a reference, or those that have helped my journey as a software developer.
- Learning APEX - I'd recommend these particular books depending on where you are on the spectrum.
- Customising workspace login - I do this for training, differentiating environments or just being a control freak.
- Starting jQuery - I started to do stuff with jQuery, beginning with client side features I remembered doing in Oracle Forms. Then I moved to tarting up reports.
- Customising plug-ins - it's easy to tinker & learn with other people's plugins. I've played a lot with Enkitek's navbar.
- Lists shared component - I've really appreciated the simbiosis between lists & templates. You can APEX-ify just about anything you see on the web, typically with a List template.
- Performance - I've made a number of discoveries this year regarding performance. A few of them are in my draft folder already.
- Published! - I'm a published author, of sorts - a screencast/video series on Oracle APEX techniques. Not a bad first effort, I think.
- 12c - whether c is for cloud or consolidation - it sounds like fun - I want in.
- Off topic fav - Tim Minchin is an entertainer + educator - an edutainer, if you will. I plan to share more off-topic randomness this year, I hope you don't mind. Twitterers get it already, google+ posts are mostly science/tech.
- Consuming plug-ins - having trouble implementing someone's plug-in? Try this sample application with accompanying instructions.
A fun 'top 5' - cities
- Bangalore
- London
- Perth -- my home city
- Chennai
- Moscow
- ...
- #7 NY (top US city)
Predictions
At the start of 2013 I made promises regarding posts on mobile, RW, Ubuntu and what search terms showed me.
- I haven't explored the mobile theme as much as I'd hoped, but I've been involved in a great tablet project.
- RWD pains me and I'm still getting the hang of manipulating APEX's templates. I wonder how much this will change in APEX5.
- Ubuntu's been flowing like pitch (again), but I have been learning plenty of jQuery. I'm really loving it and plan to continue sharing things I've learnt - one in the form of a prezi.
- 4.2.y did not deliver a third user interface - but I imagine they held back to make sure it's delivered even better in APEX5.
- Search terms... meh, I just went where things took me
As hinted, in 2014 I predict heaps of posts about APEX5, looking at IDE, modals, interactive reports, templates, tablets, editing layouts & hopefully not lacking improvements in release management & page/region caching control. No doubt APEX will deliver other surprises to find along the way.
This year I also hope to implement a PhoneGap delivery; learn more about jQuery; and deliver some more public facing APEX applications. It would be nice to develop on 12c, but I'm not holding my breath.
Here's to averaging a post per week!
ps - I'm also increasingly curious about Big Data...
Wednesday, 18 December 2013
Win a free ebook of PhoneGap 3 by Packt
Details on how to enter are further below.
Update (2013年12月19日): Created APEX page displaying current entrants and puzzle regarding selection process.
You don't think you need to be an APEX developer to appreciate this book, but I will be reviewing this book in greater detail over the new year as I plan to use it to help me deploy Oracle APEX applications as a hybrid mobile application.
Looking through the contents, I see plenty opportunities to improve your APEX applications by using PhoneGap - a free, open licensed distribution of Apache Cordova.
Chapter 1: Getting Started with PhoneGap
Exactly that - understand what PhoneGap is and what you need depending on your device.
Chapter 2: Building and Debugging on Multiple Platforms
A little deeper preparation for how we might debug issues, even desktop debugging since APEX developers are building hybrid applications.
Chapter 3: Getting Started with Mobile Applications
A good look at some web development basics everyone should be familiar with - JavaScript, CSS.
Chapter 4: Architecting Your Mobile App
Might be a bit heavy for us APEX developers, but we may end up being able to hook in our APEX landing page using this information.
Chapter 5: Improving the User Interface and Device Interaction
I think some lessons in here will be deeper than we might get out of an Oracle-centric book.
Chapter 6: Using Device Storage and the Contacts API
Even though we're database developers, I think we're going to be able to provide some clever ideas with HTML5 storage. The Contacts API looks like a great lead in to communicating with the device.
Chapter 7: Accessing Device Sensors
The clear advantage your hybrid APEX applications will have over web deployments - access to hardware sensors.
Chapter 8: Using Location Data with PhoneGap
I think this is more functional than current HTML5 capabilities.
Chapter 9: Manipulating Files
As interesting as this looks - don't jump the gun, I think the chapter you're really interested in is next up.
Chapter 10: Capturing and Manipulating Device Media
Another marquee features for APEX applications - eg: easily uploading photos taken with the device.
Chapter 11: Working with PhoneGap Plugins
Just like APEX has some awesome plugins, so does Phonegap.
They'll probably feed your APEX application ideas even further.
Appendix A: Localizing Your App
We may get away with not needing this, but handy nonetheless. Besides, I've had limited exposure to localisation requirements.
Appendix B: Publishing Your App
No point having an app you can't publish, right? Luckily with our APEX hybrid, this may be a process that can be avoided after initial release.
All versioning can be done within your APEX environment.
Appendix C: Pop Quiz Answers
Pop quiz, hot shot - have you been comprehending what you're reading?
For your chance to win
1) Please post a comment below and mention which chapter you think would help you the most.
2) Double your chances by tweeting about this giveaway.
3) If you include a link to your tweet in the comments, I'll give you three entries.
I'll feed all entries into an Oracle table and run some SQL to randomly determine the three winners
- as oppopsed to using Random.org - come on, I'm an Oracle geek!
I'll post the method I will use to deduce the winners sometime soon, possibly over the new year.
Note: the closing date for this giveaway is 31st Dec 2013
Good luck!
Friday, 15 November 2013
Perth Insync13 Conference Review
We were pushing the mobile theme this year to help stand out to enter our giveaway you needed to use an APEX application, instead of the usual business card in a bowl. It seemed we were going against the grain of some old habits, but this is 21st century IT so we encouraged all visitors to give it a go.
Day 1
I was a busy boy with a half-day workshop and two presentations so I didn't get to see many other papers, but I had already seen quite a few at the Melbourne and Brisbane legs.So I ended up being rather selective, and I was pretty happy with the ones I attended. First off the rank was an international guest Bjoern Rost Tackling Time Troubles. He was entertaining, engaging and a nice fellow - so we felt me must teach him some Australian vernacular.
I had already seen Penny's 12c optimizer [pdf] presentation but listened to the first few lego star wars jokes and she was well received - so I snuck in to see most of Chris Muir talk about UX design patterns.
I then had to prepare for my half-day workshop on consuming APEX plug-ins. My laptop started to get clammy and freeze which gave me a little scare, but I ended up kicking off in time. Attendees would claim a workspace from my laptop, but in hindsight I now know a much better way to arrange this - next time...
Interaction was good, and my main mission was accomplished - more awareness of the capability and availability of APEX plug-ins. I'll write a separate post on this with all the relevant links.
I finished the day with Phil Robinson talking about testing - I would have liked to see more developers at this very informative session.
Unfortunately I had to leave early on the best session of all - networking drinks, so I didn't attend any dinners. I did bump into Tariq Farooq, great to put a face to an online entity!
Day 2
Andrew Rosson from Lansen started the day with a comparison of GlassFish & WebLogic, which also included some very interesting news about GlassFish.I took a break before the feature from Connor McDonald on CloneDB. It delivered much more than I was expecting, including 7 very impressive demonstrations.
Once again I did some presentation hopping, listening to Chris' perspective on the future of Oracle Forms before listening to Phil Robinson talk about mind maps and rich pictures - all conferences should have more presentations like this.
It was my turn again with my talk regarding an APEX tablet application. I had the pleasure of including an introduction on the issues at hand from our client Craig Purser from Ventura Home Group.
My prezi is available here: APEX in your hands - lessons learned from an APEX table project
Again, I'll write a separate post later summarising things we've learnt.
Jeff Kemp followed up with more APEX content using row level security, a paper inspired by information received from Connor earlier in the year.
Penny & I finished the day with a light hearted session on Being Productive in IT [pdf]. This was originally presented in Brisbane by Tim Daniell from Fresh Computer Systems, and he kindly gave us permission to offer our perspective on left-right brain issues. Penny was the left brain and I acted as the right - it was entertaining and well received.
While Sage wound down with a beer at the pub next door, I came up with an idea for a similar presentation next year - focussing on one of the issues we covered, stay tuned ;-)
It was great to see everyone I managed to catch up with, and hope it's not another year until I see you all again.
Thank you to all presenters, organisers, volunteers and delegates for making this another enjoyable conference.
Scott
2013 Perth Program Chair
Tuesday, 11 June 2013
Review: 2013 OTN Forums upgrade
First impressions
Too much dead space (a bugbear of mine), but some key improvements should outweigh what can be fixed or adjusted.I'm sure I'll get used to the new navigation & layout, but there does seem like some ambiguous double ups exist, eg: Content tab
Note: forums are now 'spaces', and threads are 'discussions'.
With my APEX hat on, it took me a while to find the 'Application Express' space from the home page - it's under 'Database', not 'Development tools' - which I probably would have known if I didn't always bookmark my forums - thankfully those still work, even though you can't open old URLs that include the forumID.
Turns out there is a search region hidden at the bottom of the page.
https://forums.oracle.com/forums/thread.jspa?forumID=137&threadID=2546249
https://forums.oracle.com/message/11060390
Basically you can open up old URLs without the forumID - which thankfully means google search results are re-routed
The biggest gripe
This seems to be the list of forum posts is what I might call the IR Detail style, meaning you only see a handful of discussions per page scroll, rather than dozens. I wish there was an option to toggle between views styles.I thought by maybe 'Following' the Application Express space might make these posts appear in my Content->Following option, but alas - I'm yet to discover what this does or if it works.
As I tidy this post from some initial notes, it seems that the Overview tab for the space is too verbose, while the Content tab shows a view more to my liking - except the first half of the screen is wasted on chaff.
The search appears to be more effective - but I always used to search using Google anyway.
New discussion
Start of a new discussion shows how great the new editor is, various ways to make your postings pretty.Will be annoying to use that menu to set syntax, I hope there will be a shortcut like {code}. I saw /pre mentioned somewhere at one point, some people have been asking for a brief manual which I'm sure will be forthcoming with updated FAQ that is easy for newcombers to locate.
Ability to add tables to posts wil probably be nifty, too.
Marking responses
I don't have any responses to give helpful/correct answers, but that functionality appears to have been consolidated and should be a lot easier to interpret, more intuitive and should encourage newer users of forum to indicate what's going on.At the moment thought it seems you can reward yourself with correct answers. This may help some complaints of missing/extra points, which will be looked at. At the moment it seems missing points due to old threads that were always marked for deletion. My theory for extra points are for unrewarded single responses to answered questions. I think I'm about 150-200 points up, and this seems like a fair guess.
Account settings
Existing bio information is mostly gone, just your name and status level, with a nearby legend. You are supposed to be able to add it back in Edit Profile (drop down near your name), but I haven't yet been able to save this.There is a message on the home page regarding known issues, and you can find your old posts under Browse->Content->Participated
Having Friends also allows you to use the @ sign to make them aware of posts.
The Tasks tab option is currently disabled, although you will get emails regarding action items (when you get friends) that take you to the main 'Task List'. More ambiguity.
Speaking of ambiguity - the content is different depending on if you come from main Browse tab; account detail or the Space you're in - for instance I can see 'Jive Genius' option via the Browse tab..
Conclusion
I think it has been worth the wait, and we always expected some people to be happy/unhappy - so give Sonya & the team some kudos for some very hard work and be patient while the wrinkles are ironed out.Scott
Friday, 10 May 2013
Review: Oracle APEX for Mobile Web Applications
If you haven't heard about this book yet, you're not reading enough media on-line.
APEX regulars Roel Hartman, Christian Rokitta and APEX product manager David Peake are the published authors, but I think it’s safe to say we can also thank Dan McGhan for starting the project.
(I mention Roel explicitly a few times where I'm pretty sure he was involved, sorry if I apply undue credit anywhere!)
I've been meaning to write this review for quite some time - I had the pleasure of technical reviewing this book & from the first chapter I knew this was going to be a winner - something very popular for anyone with half a brain that can bust out an APEX application.
Introduction to APEX for Mobile Development
Let’s be honest, the title alone sold the book for me. Mobile development is apparently kinda popular right now, as is APEX - so it seemed the perfect pair.I think it was a great introduction to what’s expected out of mobile development, particularly through the eyes of an APEX developer. It details issues such as web vs native & responsive design. It should whet your appetite, if not - you’re in the wrong game ;-)
Creating Mobile Pages
This chapter starts of by de-constructing a basic jQuery Mobile page, which sets the scene well for the type of HTML to expect from these pages.You are then walked through the creating of your ‘first’ mobile page using a list view and a basic form. The author then uses these to illustrate the many ways you can define navigation between pages, including a mobile dialog.
He then finishes with an intro to transitions, loading widgets and templates.
Highlights - realising the programmatic flexibility APEX can provide.
Presenting Data through List Views
As I’ve learned in a current project developing an application for a tablet - list views are a fundamental cultural shift from the desktop, providing a standard workflow construct.This chapter details the various options APEX provides when defining these lists views.
The author also includes some sample CSS to help show how to identify then manipulate components on the page - it’s not too hard once you are shown some examples.
Highlights - advanced formatting with CSS examples; swipe to delete
Accepting Input via Forms
This chapter starts with the simplest, most common form ever - the login page. The author notes how bland the stock form is, and uses the power of CSS to tart it up.The next most important aspect of mobile development is discussed - grid layout.
Screen real estate is also precious, so there are some examples of collapsible content.
Also included are discussions regarding HTML5 input options such as the slider & toggle switch, and ways to enhance existing selectors such as radio groups and select lists.
I keep saying things are important, but mobile is a whole new world and notifications are another example of a fundamental product feature that needs re-addressing in the mobile world.
If you’re a fan of iOS, Roel continues the chapter by showing how to customise the delete dialog box with a native looking popup; then follows it up with a much nicer success confirmation.
If that’s not enough, the chapter puts finishing touches on your ‘first’ form to make it look ultra professional - and we’re only four chapters in!
Highlights - more CSS examples, grid layout, notifications
Displaying Calendars and Charts
As if your application isn't looking sexy enough already, we can also add various charts and calendars.Out of the box calendar’s are not too bad - but again Roel takes things a few steps further with some inspiration from iOS.
He doesn't go into too much detail with charts - they’re already pretty nifty and the APEX team are constantly working with AnyChart to ensure greater capability and conformity with various devices. Later in the chapter though he demonstrates some of the other options out there such as Highcharts & Flotcharts - which includes an example of a RESTful web-service.
The surface is also skimmed with mapping options, but I think again it’s because of the reliance on external interfaces.
Highlights - calendar enhancement
Implementing a Navigation Springboard
This chapter starts with an obvious lean towards Apple devices, but springs back to setting up a very nifty iconic menu (see what I did there?).Roel then shows how to add tab navigation across the footer of your page - useful for certain applications but it could be considered dead real estate.
Shortly after he does detail how to move away from the typical HTML style buttons to iconic buttons in your header that you’d expect from a mobile application.
The coolest part of this chapter is a slide menu just like the one you see in Facebook mobile. He really puts list templates to work - one of my favourite APEX constructs.
Highlights - iconic menu with notification counters; sliding menu
Theming Your Mobile Application
This is a small but useful chapter describing how to turn your application from a royal blue to something more suitable to your client’s needs.It’s also a chapter where I’ll claim a little credit for improvement. Changing swatches within templates can be tedious, so I suggested the author provide instructions to parameterise the templates with some form of substitution string - thereby making it easier to switch between swatches.
It finishes with a short piece on managing icons between devices using CSS media queries.
Highlights - media query example
Working with Dynamic Actions
Let’s face it, dynamic actions are one of the top 3 features of APEX. This is why I'm a little torn with the approach of this chapter - the first half is a simple breakdown of how dynamic actions work and how to use them, something that seemed a little below the target audience and previously presumed skill level of the reader (my perspective). I do, however, feel they’re vital to good applications and I'm glad there is another chance to show the community how they work.The second half shows how dynamic actions have been modified for APEX 4.2, and introduces the new declarative events such as orientation change, scrolling, tapping & touching & swipes.
The author provides a few mobile specific examples of dynamic actions, then details some advanced topics such as non-standard selection types, event scope & custom events - all of which are also useful in desktop environments.
Given the style of the book so far, I was a little disappointed with this chapter - I think it had more potential than was delivered, with respect to whoever wrote this chapter.
Highlights - advanced dynamic action techniques.
Deploying Applications Natively
If you want to interact with the hardware of your device using a toolkit such as PhoneGap, you should buy this book for this chapter alone.HTML5 is still catching up with hardware capability, and the various browsers are even further behind - so these types of interfaces allow you to embed your APEX application in a lower layer within a mobile device.
The chapter starts with a good philosophical discussion on native vs web vs hybrid applications, then describes the PhoneGap architecture.
From there it’s a step-by-step guide on configuring an Android Development environment for Cordova. iPhone users - there is also a section on cross-platform support.
It then shows how to use the PhoneGap APIs in your APEX pages using the device’s camera as an example.
Unfortunately I didn't have the time to implement an application natively during the technical review, partially because I had some laptop issues myself when this chapter was ready. The chapter is very detailed, however, and it will be front row & centre very shortly for when I do.
Highlights - all of it - I believe you can thank Christian for this one
Securing your Mobile Application
I wouldn’t consider myself an expert in security, but I have a high level of interest - a presentation I wrote on the topic won me best paper in 2011. So I was looking forward to reading the implications for mobile.It’s a fairly concise chapter, covering SSL, idle sessions, encryption & session state protection. I think the best pages discuss application & schema splitting, getting the reader to think about these implications, but doesn’t go into a large amount of detail.
Highlights - timeout messaging techniques
Conclusion
I think the book is excellent. It covers all the topics you think you’ll need for mobile development, and packs a whole bunch more.I will say it started strong, but tapered off towards the end - but I think that may be due to the fact books are difficult to manage, author & produce while still maintaining some sort of life. Kudos to the authors involved.
It’s a little biased towards iPhones - evident because I own an Android, but there isn't much content that requires such a device. Of course, this is the nature of the real world, and considerations need to be made when developing applications for mobile devices - what is your target market?
You will also need patience. It’s bleeding edge material that sometimes requires supplementary files or Oracle database adjustments. If you’re still learning the power of jQuery & CSS (aren't we all?) then there may be times your code isn't quite right and it might take some time to work out, but it’s part of the learning process - it just demonstrates how valuable this book is.
Well done gang.
If you're interested in more of my reviews, check this out.