Development

Developing Your First Oracle Alta UI page with Oracle ADF Faces

Shay Shmeltzer - Mon, 2014-10-27 12:20

At Oracle OpenWorld this year Oracle announced the new Oracle Alta UI - a set of UI guidelines that will help you create better looking and functioning applications. We use these guidelines to build all our modern cloud based applications and products - and you can use it too today if you are on JDeveloper 12.1.3. 

The Alta UI site is at http://bit.ly/oraclealta

Take a look for example at one page from the master details pattern page:

altapage

You might be wondering how do I go about starting to create such an Alta page layout?

Below is a quick video that shows you how to build such a page from scratch.


A few things you'll see during the demo:

  • Basic work with the panelGridLayout - for easier page structure
  • Working with the new tablet first page template 
  • Enabling selection on a listView component
  • Working with the circular status meter
  • The new AFAppNavbarButton style class
  •  Hot-swap usage to reduce page re-runs

One point to raise about this video is that it focuses more on getting the layout and look rather then the Alta way of designing an application flow and content. In a more complete Alta mind-set you'll also figure out things like fields that probably don't need to be shown (such as the employee_id), you'll think more about "why is the user on this page and what will he want to do here?" which might mean you'll add things like a way to see all the employees in a department in a hierarchy viewer rather than a form that scroll a record at a time.  There are more things you can do to this page to get even better functionality, but on those in future blog entries... 

Categories: Development

What I like best about myself

FeuerThoughts - Sun, 2014-10-05 09:23
What could be more self-centered?

Why should anyone else in the world care what I like best about myself?

I have no idea. That is for sure. But, hey, what can I say? This is the world we live in (I mean: the artificial environment humans have created, mainly to avoid actually living in and on our amazing world).

It is an age of, ahem, sharing. And, ahem, advertising. Actually, first and foremost, advertising.

Anyway, screw all that. Here's what I like best about myself:

I love to be with kids. And I am, to put it stupidly but perhaps clearly, a kid whisperer.

Given the choice between spending time with an adult or spending time with a child, there is no contest. None at all. It's a bit of a compulsion, I suppose, but....

If there is a child in the room, I pay them all of my attention, I cannot stop myself from doing this. It just happens. Adults, for the most part, disappear. I engage with a child as a peer, another whole human. And usually children respond to me instantly and with great enthusiasm. 

Chances are, if your child is between, say, three months old to five years, we will be fast friends within minutes. Your cranky baby might fall asleep in my arms, as I sing Moonshadow to her or whisper nonsense words in her ear. Your shy three-year old son might find himself talking excitedly about a snake he saw on a trail that day (he hadn't mentioned it to you). Your teenage daughter might be telling me about playing games on her phone and how she doesn't think her dad realizes how much she is doing it.

I have the most amazing discussions with children. And though I bet this will sound strange to you: some of my favorite and memorable conversations have been with five month old babies. How is this possible, you might wonder. They can't even talk. Well, you can find ouit. Just try this at home with your baby:

Hold her about a foot away from your face, cradled in your arms. Look deeply and fully into her eyes. Smile deeply. And then say something along these lines, moving your mouth slowly: "Ooooh. Aaaaah. Maaaaa. Paaaaa." And then she will (sometimes) answer back, eyes never leaving yours....and you have a conversation. Your very first game of verbal Ping Pong. 

I suppose I could try to explain the feeling of pure happiness I experience at moments like this. I don't think, though, that written language is good for stuff like that. It's better for recording knowledge needed to destroy more and more of our planet to make humans comfortable.

And with my granddaughter, oh, don't even get me started. Sometimes I will be talking to her, our heads close together, and realize her face has gone into this kind of open, relaxed state in which she is rapt, almost in a trance, absorbing everything I am saying, the sound of my voice, my mouth moving. Just taking it all in. You'd better believe that I put some thought into what I am saying to this incredibly smart and observant "big girl." (who turns three in three weeks)

Here's another "try this at home" with your three year old (or two or four): talk about shadows. Where do they come from/ How do they relate to your body? Why does their shape change as the day goes on? Loey and I have had fun with shadows several times.

I have always been this way. I have no idea why. I have this funny feeling that it might actually be at least in some small way the result of a genetic mutation. I have a nephew who resembles me in several different, seemingly unconnected ways, including this love of and deep affinity for children.

I don't think that many people understand what I am doing when I spend time with children. I am called a "doting" grandfather. It offends me, though I certainly understand that no offense was intended.

I don't dote on Loey. Instead,I  seek out every opportunity to share my wonder of our world and life with her, help her understand and live in the world as effectively as possible. What this has meant lately is that I talk with her a lot about trees, how much I love them, how amazing they are. 

One day at the park, as we walked past the entrance to the playground, I noticed a very small oak sapling - in essence, a baby oak tree.

When we got inside the park, there was a mature oak towering over our stroller. I asked Loey if she wanted to see a baby tree. She said yes, so I picked her up to get close to the mature oak's leaf. I showed her the shape of the leaf, and the big tree to which it was attached.

Then I took her outside and we looked at the sapling. I showed her how the leaves on this tiny baby tree were the same, shape and size, as those on the big tree. That's how we knew it was a baby of that big tree. And it certainly was interesting that the leaves would be the same size on the tiny sapling. Held her attention throughout. That was deeply satisfying.

Mostly what I do is look children directly in the eyes, give them my full attention, smile with great joy at seeing them. Babies are deeply hard-wired to read faces. They can see in the wrinkles around my widened eyes and the smile that is stretching across my face that I love them, accept them fully. And with that more or less physical connection established, they seem to relax, melt, soften with trust. They know they can trust me, and they are absolutely correct. 

In that moment, I would do anything for them.

This wisdom (that's how I see it) to accept the primacy of our young, my willingness to appear to adults as absolutely foolish, but to a child appear as a bright light, making them glow right back at me:

That is what I like best about me. 
Categories: Development

An OOW Summary from the ADF and MAF perspective

Shay Shmeltzer - Fri, 2014-10-03 13:39

Another Oracle OpenWorld is behind us, and it was certainly a busy one for us. In case you didn't have a chance to attend, or follow the twitter frenzy during the week, here are the key take aways that you should be aware of if you are developing with either Oracle ADF or Oracle MAF.

 Oracle Alta UI

We released our design patterns for building modern applications for multiple channels. This include a new skin and many samples that show you how to create the type of UIs that we are now using for our modern cloud based interfaces.

All the resources are at http://bit.ly/oraclealta

The nice thing is that you can start using it today in both Oracle ADF Faces and Oracle MAF - just switch the skin to get the basic color scheme. Instructions here.

Note however that Alta is much more than just a color change, if you really want an Alta type UI you need to start designing your UI differently - take a look at some of the screen samples or our demo application for ideas.

Cloud Based Development

A few weeks before OOW we released our Developer Cloud Service in production, and our booth and sessions showing this were quite popular. For those who are not familiar, the Developer Cloud Service, gives you a hosted environment for managing your code life cycle (git version management, Hudson continuos integration, and easy cloud deployment), and it also gives you a way to track your requirements, and manage team work.

While this would be relevant to any Java developing team, for ADF developers there are specific templates in place to make things even easier.

You can get to experience this in a trial mode by getting a trial Java service account here.

Another developer oriented cloud service that got a lot of focus this year was on the upcoming Oracle Mobile Cloud Service - which includes everything your team will need in order to build mobile backends (APIs, Connectors, Notification, Storage and more). We ran multiple hands-on labs and sessions covering this, and it was featured in many keynotes too.

 In the Application development tools general session we also announced that in the future we'll provide a capability called Oracle Mobile Application Accelerator (which we call Oracle MAX for short) which will allow power users to build on device mobile applications easily through a web interface. The applications will leverage MAF as the framework, and as a MAF developer you'll be able to provide additional templates, components and functionality for those.

Another capability we showed in the same session was a cloud based development environment that we are planning to add to both the Developer Cloud Service and the Mobile Cloud Service - for developers to be able to code in the cloud with the usual functions that you would expect from a modern code editor.

dcs

The Developer Community is Alive and Kicking

The ADF and MAF sessions were quite full this year, and additional community activities were successful as well. Starting with a set of ADF/MAF session by users on the Sunday courtesy of ODTUG and the ADF EMG. In one of the sessions there members of the community announced a new ADF data control for XML. Check out the work they did!

ODTUG also hosted a nice meet up for ADF/MAF developers, and announced their upcoming mobile conference in December. They also have their upcoming KScope15 summer conference that is looking for your abstract right now!

Coding Competition

Want to earn some money on the side? Check out the Oracle MAF Developer Challenge - build a mobile app and you can earn prizes that range from $6,000 to $1,000.

Sessions

With so many events taking place it sometime hard to hit all the sessions that you are interested in. And while the best experience is to be in the room, you might get some mileage from just looking at the slides. You can find the slides for many sessions in the session catalog here. And a list of the ADF/MAF sessions here.

See you next year. 

Categories: Development

What I felt sad about last night

FeuerThoughts - Mon, 2014-09-22 07:16
A few weeks ago, I moved my office into the basement. That was a big change. That room upstairs, with big windows looking out onto Pratt Ave was where I'd spent almost all of my professional career (we moved to the house in 1992, three months before leaving Oracle for a consulting gig), wrote my books (including the first, Oracle PL/SQL Programming, that changed the course of my life), built the software (Xray Vision for SQL Forms 3, QNXO, Qute, PL/Vision, Code Tester for Oracle, Quest CodeGen Utility, etc.), did the webinars, wrote 1000+ quizzes for the PL/SQL Challenge.

But you know what? Bye, bye, no big deal. Change is good (like this change: Veva and I are taking ballroom dancing classes. I will learn what to do with my feet when I dance!).

I like my cave, I mean, office. It's spacious, and I can make as much noise as I want. Which is very important, since I will be churning out lots of really noisy videos about PL/SQL and my latest dance moves. 

I'm getting my artwork up on the walls:


My father did the painting on the bottom left. It has a lot of power and feeling. My dry cleaner created the beautiful painting on top.

I re-established my sand table with beautiful pieces by Terry Hogan, and many other shells and coral from the sea:


And I put some of my awards and other mementos up on shelves that used to hold a small library of science fiction/fantasy books:


So, yes, settling in to my new office. And last night I started nailing up corkboard tiles to the thick wood paneling, so I could pin up photos of my granddaughter, Loey. Oh, I suppose other people, too. But Loey mainly, because she is the light of my life, and oh my she is a bright light.


In any case, as I hammered the tiny nails needed to hold up the corkboard, I became aware that I felt kind of down, as if the day had not gone well. Why would I be feeling that way? It had been a good day. And then I (the conscious part of me) realized that the non-conscious part of me was feeling bad about having broken a branch in the woods earlier in the day.

That sounds kind of weird, right? I mean, seriously, how bad are humans supposed to feel about breaking the branch of a tree? It's not like they'd notice, right?

But it made perfect sense to me, so I decided to share with you why a broken branch would set my brain to brooding, thereby giving you a sense of how I see the world these days.

As to why anyone should care what I think of the world, well, I leave that entirely up to the reader. No readers, then no one cares. :-) 

As soon as the thought (brooding about broken branch) broke into my consciousness, I immediately knew it was true (that happens to you, too, right? You can instantly sense that a thought is correct. Now try thinking about what is going on in your brain for this to happen and how much of your brain is the "I" that is you). 

You see, I had earlier been thinking back over to when I was in the woods this morning cutting down buckthorn. At one point a rather large tree came down hard against a nearby native tree I was working to rescue. 

To my great dismay, one of its branches was caught by the twisty, grabby buckthorn. It snapped and hung loosely. I did that. That was probably two years' new growth, hard work against buckthorn. And I killed it. 

That bummed me out (and still does), but I reminded myself that I have to accept that even when I move carefully and always safely, I cannot always control where a large tree will fall. I will make mistakes and there will be setbacks. But I just have to keep going.

"Going where?" you might ask. I have developed a new, very strong compulsion: to rescue trees. To do what I can with my own hands, with my own time, with, in other words, a solid chunk of my life, to heal some of the damage we humans inflict on our co-inhabitants and the planet itself.

I think about it as direct and positive action, a principle I attempt to follow in all aspects of my life these days.

Here in Chicago, buckthorn - an invasive import from northern Europe - grows aggressively, crowding out the native trees. In particular, they don't allow young trees, the saplings, the next generation of the natives, to survive. And as the buckthorn grows taller,  it also kills off the lower branches of the mature trees. 

Buckthorn is really an impressive, powerful, successful species. I admire it greatly - and I cut down on the order of 200 buckthorn trees a week (many of them quite small, but not all). Contradiction? Not at all. A necessary corrective action to human abuse of our world. We travel about, carrying with us the seeds (and ballast and larvae) of destruction for many ecosystems.

I do not want to lose our native trees (and even the non-invasive imports). I want my children and grandchildren to enjoy forests. I want to respect trees, since we could never have evolved to what we are today without trees. And even today the forests of the world are absolutely critical to the functioning of the global ecosystem(s).

I want to treat trees with respect and do penance for our cutting down 95% of the trees in the continental US. So I go out and rescue trees. It is now my only form of exercise and it keeps me in great shape - especially for picking up, carrying and playing with Loey. She loves for me to hang her upside down by her ankles and swing her like a pendulum. She trusts me implicitly. I love that.

Sorry, you must be wondering: what is the point of all this? 

To give me an opportunity to marvel at the current state of my life, in which I have quite an intimate relationship with trees. I study them, I read them. Really, it's quite amazing. I can go into the woods now, look at how a native tree's branch has withered, identify the buckthorn that is doing the damage, and actually play it out in my mind's eye: years of slow growth, of slow-motion battle, and of losing it to the buckthorn. Everywhere I look, I find the trees telling their stories.

My greatest joy is to uncover a small sapling that was so completely surrounded and covered by buckthorn I didn't even see it there when I started cutting. Then I open it to the sun and the wind. I did this with a lovely 15 foot tall maple sapling last week. I will be visiting it (and hundreds of other trees) each year now, making sure the buckthorn (and grapevine) leaves it alone, allowing it to grow to a big, thick, incredibly strong and life-giving tree.

There, right there, that's what I marvel at: I know that the 10+ hours I spend each week in the woods rescuing trees will mean that 20 years from now there will be trees with a diameter of a foot or more that simply would not be there if it hadn't been for my effort and my attention paid to something other than human stuff.

That makes me feel happy and less guilty about my consumption (and indirect killing of many, many trees). It gives me a purpose in life, besides family and work.

I plan to rescue trees for as long as my body is able to do the work.

Anyone care to join me?





Categories: Development

3 film non-meme

Greg Pavlik - Sun, 2014-09-21 16:09
Riffing off previous post - was discussing with my wife last evening what we thought the three best "recent" films we had seen were. Here's my list:

1) Jia Zhangke's A Touch of Sin.

Reason: this is a powerful, powerful film that explores the effects of radical individualism, and economic inequality and of the overturning of normal, local, rooted communities. Banned by the Chinese government, it is as much a critique of the values of neoliberalism globally as it is of the current Chinese economic experiment.

2) Alejandro González Iñárritu's Biutiful.

Reason: a moving exploration of responsibility and ethics in the face of poverty, hopelessness and impending death. What do we make of the human spirit and our obligations to each other - and our obligations in the face of The Other?  Javier Bardem was birthed for this role - fantastic acting.

3) Pavel Lungin's The Island.

Reason: who is guilty before whom and for what? Take a director of Jewish background, give him a story that is loosely inspired by a hagiography of the fool-for-Christ Feofil of the Kieven Caves, and cast a retired-rock-star-current-recluse (Pyotr Mamonov) as a Orthodox monastic in the far north of Russia, and I would have quite low expectations for the outcome. What Lungin produced is instead not only his best film but I think one of the best films of the last 20 years.

This is not my kingdom

FeuerThoughts - Sun, 2014-09-21 15:27
I don't know most people in Chicago on an individual basis, but of all the people I don't know, my favorite Chicagoans are scavengers. They roam the alleys in beat up pickup trucks, with various kinds of makeshift walls extended above the bed.

They grab anything made of metal and anything with the possibility of value. They reduce the amount of garbage going to landfills and I thank them very much for doing this.

Driving the other day, passed one such truck with a hand-lettered sign nailed to the wooden side wall. It said:

This is not my kingdom.
Just passing through.


Categories: Development

Top 10 Book Meme

Greg Pavlik - Tue, 2014-09-16 11:48
What books have most impacted me? I picked books I have returned to over and over. Yes, I know this is solipsistic to publish, but its a fascinating thing to think through. I'm sure the list will not look right in a few months anyway. But here I go...

1 The Brothers Karamazov, Fyodor Dostoyevsky
Reason: the best book ever written about the human condition.

2 Iob, LXX
Reason: bad things happen to good people, quite often.

3 I Am a Cat, Natsume Soseki
Reason: comedy is good for the soul. This is the funniest book I've ever read. Cheating here, but I'd probably add Gogol as a next choice.

4 The Symposium, Plato
Reason: love. And I'm an only partially reconstructed platonist.

5 Demons, Fyodor Dostoyevsky
Reason: explains a big part of the 20th century. Makes 1984 look like crude propaganda.

6 Also Spracht Zarathustra, Friedrich Nietzsche
Reason: Nietszche saw the enormity of the modern project clearly.

7 Life of Moses, Gregory of Nyssa
Reason: before structuralism, post structuralism, semiotics, and deconstruction, there was Gregory of Nyssa. And apokatastasis.

8 For the Time Being, WH Auden
Reason: aside from the fact that Auden is the best English language poet, this is a deeply moving meditation on Christmas in the anglophone experience. Read it several times each winter.

9 The Divine Comedy, Dante Alighieri
Reason: great art meets allegory meets beauty in the search for meaning. Honestly, stuck with only one book this might be it.

10 Faust, Johann Wolfgang von Goethe
Reason: we are all compromised to one degree or another.

Eli and the Runaway Diaper now available!

FeuerThoughts - Sun, 2014-09-14 10:12

In 2013, the big sensation in (my) children's publishing was the release of Vivian Vulture and the Cleanup Culture.

In 2014, the honor goes to Eli and the Runaway Diaper.

It's a book about a diaper that gets tired of the day in day out grind of covering Eli's bottom (the names have been changed to protect the innocent). It decides that it's time to look around for a new and hopefully better (more appreciative) bottom.

Eli is initially dismayed, but happy to join the diaper on its quest, so off they go on a grand adventure!

Illustrated by Robert Melegari, it's a fun, light-hearted journey to self-discovery and self-improvement.

You can order it on Amazon,  Createspace, and so on. But if you order it from me, I will sign it and ship it off to you, all for the list price of $12.99.
Categories: Development

Flipping Herman Millers

FeuerThoughts - Mon, 2014-08-25 13:44
I was one of those dot.com boom excitables who decided that he must own a Herman Miller Aeron chair in order to be super cool and incredibly productive while I blogged and tweeted (well, I don't think there was Twitter back then) and so forth.

Soon after I got the chair, I realized that I really didn't like it very much at all. It didn't seem to provide support in the right places, didn't make it easy to avoid slouching....it wasn't the desk chair for me.

[My chair of choice, for years now, is the Swopper.]

Tried to get my son interested. Nope.

Tried to get my wife interested. Nope.

Moved it to the garage. 

Finally decided to offer it up on Craigslist nice and cheap to make it go away. Posted the ad for $200 and within minutes had someone lined up. He lived in St. Louis, but his dad lived nearby, and he told me when picking up the chair:

His son has built up a business "flipping" Aeron chairs. Buy them cheap, buy lots of parts, fix 'em up, and spin 'em back out into the market. 

Who knew?

What a remarkable system is capitalism. Sure, it's not nice. It's not fair. It's played a key role in the destruction of our planet as humans suck out the "natural resources" to make all the stuff that consumers want to buy. 

But capitalism is a very organic way of organizing an economy. 

Oh and this same chair-flipping fellow also does a wholesale business in ugly Christmas sweaters.

Finger on the pulse of a nation.
Categories: Development

Test your WebLogic 12.1.3 enviroment with Robot

Edwin Biemond - Sun, 2014-08-10 12:42
Robot Framework is a generic test automation framework which has an easy-to-use tabular test data syntax and it utilizes the keyword-driven testing approach. This means we can write our tests in readable and understandable text. If we combine this with the REST Management interface of WebLogic 12.1.3 we are able to test every detail of a WebLogic domain configuration and when we combine this

Required Field Validation in Oracle MAF

Shay Shmeltzer - Fri, 2014-08-08 17:38

A short entry to explain how to do field validation in Oracle MAF. As an example let's suppose you want a field to have a value before someone clicks to do an operation.

To do that you can set the field's attribute for required and "show required" like this:

  <amx:inputText label="label1" id="it1" required="true" showRequired="true"/>

 Now if you run your page, leave the field empty and click a button that navigates to another page, you'll notice that there was no indication of an error. This is because you didn't tell the AMX page to actually do a validation. 

 To add validation you use an amx:validationGroup tag that will surround the fields you want to validate.

For example:

     <amx:validationGroup id="vg1">

    <amx:inputText label="label1" id="it1" required="true" showRequired="true"/>

    </amx:validationGroup>

Then you can add a amx:validateOperation tag to the button that does navigation and tell it to validate the group you defined before (vg1 in our example).

       <amx:commandButton id="cb2" text="go" action="gothere">

        <amx:validationBehavior id="vb1" group="vg1"/>

      </amx:commandButton>

Now when you run the page and try to navigate you'll get your validation error.

Categories: Development

Create with WLST a SOA Suite, Service Bus 12.1.3 Domain

Edwin Biemond - Thu, 2014-08-07 14:14
When you want to create a 12.1.3 SOA Suite, Service Bus Domain, you have to use the WebLogic config.sh utility.  The 12.1.3 config utility is a big improvement when you compare this to WebLogic 11g. With this I can create some complex cluster configuration without any after configuration. But if you want to automate the domain creation and use it in your own (provisioning) tool/script then you

Accessing remote databases from Oracle MAF with the TopLink/EclipseLink REST CRUD Services

Shay Shmeltzer - Mon, 2014-08-04 16:17

In the last post I showed you how simple it is to expose CRUD REST operations on your database with TopLink/EclipseLink.

The next logical step is to then consume those with Oracle MAF to build a mobile application.

This is quite simple with the REST data control. All you need to do is just map the right URLs and create the operation.

Here is a quick demo:

One trick I show in the demo is how to delay the call to a REST service until the user actually provides a value to a parameter. A common issue people have when they have the parameter form and the results on the same page. The solution is easy using the refresh condition of the executables of the page and using the "ne null" check on the parameter value. 

Categories: Development

REST enable your Database for CRUD with TopLink/EclipseLink and JDeveloper

Shay Shmeltzer - Fri, 2014-08-01 18:10

It seems that REST interfaces are all the rage now for accessing your backend data, this is especially true in the world of mobile development. In this blog I'm going to show you how easy it is to provide a complete REST interface for your database by leveraging TopLink/EclipseLink and JDeveloper.

This relies on a capability that is available in TopLink 12c where every JPA entity that you have created can be RESTified with a simple servlet that TopLink provides.

All you need to do is locate the file toplink-dataservices-web.jar on your machine (this is included in the JDeveloper install so you can just search that directory) and then package your project as a WAR.

At that point you'll be able to get a complete CRUD set of operation for this entity.

In the video below I'm to retrieving departments by their id using a URL like this:

http://127.0.0.1:7101/TLServices-Project1-context-root/persistence/v1.0/out/entity/Departments/30

(out - name of my persistence unit. Departments - name of my entity) 

A complete list of all the REST URL syntax is here part of the TopLink documentation on this feature.:

http://docs.oracle.com/middleware/1213/toplink/solutions/restful_jpa.htm#CHDEGJIG

Check out how easy the process is in this video (using MySQL database):

Here are some additional URL samples for getting other types of queries:

Get all the Employees -  http://127.0.0.1:7101/TLServices/persistence/v1.0/out/query/Employees.findAll

Get all the Employees in department 50 - http://127.0.0.1:7101/TLServices/persistence/v1.0/out/entity/Departments/50/employeesList

Executing a specific named query (@NamedQuery(name = "Employees.findByName", query = "select o from Employees o where o.first_name like :name order by o.last_name"))  -http://127.0.0.1:7101/TLServices/persistence/v1.0/out/query/Employees.findByName;name=John

Categories: Development

Test your Application with the WebLogic Maven plugin

Edwin Biemond - Thu, 2014-07-31 06:47
In this blogpost I will show you how easy it is to add some unit tests to your application when you use Maven together with the 12.1.3 Oracle software ( like WebLogic , JDeveloper or Eclipse OEPE). To demonstrate this, I will create a RESTful Person Service in JDeveloper 12.1.3 which will use the Maven project layout. We will do the following: Create a Project and Application based on a Maven

Silence

Greg Pavlik - Sat, 2014-07-26 11:26
Silence. Sometimes sought after, but in reality almost certainly feared - the absence of not just sound but voice. Silence is often associated with divine encounter - the neptic tradition of the Philokalia comes to mind - but also and perhaps more accurately with abandonment, divine or otherwise. I recently read Shusaku Endo's Silence, a remarkable work, dwelling on the theme of abandonment in the context of the extirpation of Kakure Kirishitan communities in Tokagawa Japan. Many resilient families survived and eventually came out of hiding in the liberalization in the mid-19th century, but the persecutions were terrible. Their story is deeply moving (sufficiently so that over time I find myself drawn to devotion to the image of Maria-Kannon). Endo's novel was not without controversy but remains one of the great literary accomplishments of the 20th century.

In fact, the reason for this post is a kind of double entendre on silence: the relative silence in literate western circles with respect to Japanese literature of the past century. Over the last month, I realized that virtually no one I had spoken with had read a single Japanese novel. Yet, like Russia of the 19th century, Japan produced a concentration of great writers and great novelists in the last 20th century that is set apart: the forces of of profound national changes (and defeat) created the crucible of great art. That art carries the distinctive aesthetic sense of Japan - a kind of openness of form, but is necessarily the carrier of universal, humanistic themes.

Endo is a writer in the post war period - the so-called third generation, and in my view the last of the wave of great Japanese literature. Read him. But don't stop - perhaps don't start - there. The early 20th century work of Natsume Soseki are a product of the Meiji period. In my view, Soseki is not only a father of Japenese literature but one of the greatest figures of world literature taken as a whole - I am a Cat remains one of my very favorite novels. Two troubling post-war novels by Yukio Mishima merit attention - Confessions of a Mask and the Sailor Who Fell From Grace with the Sea, both I would characterize broadly as existential masterpieces. The topic of identity in the face of westernization is also a moving theme in Osamu Dazai's No Longer Human. I hardly mean this as a complete survey - something in any case I am not qualified to provide -just a pointer toward something broader and important.

My encounter with contemporary Japanese literature - albeit limited - has been less impactful (I want to like Haruki Murakami in the same way I want to like Victor Pelevin, but both make me think of the distorted echo of something far better). And again like Russia, it is difficult to know what to make of Japan today - where its future will lead, whether it will see a cultural resurgence or decline. It is certain that its roots are deep and I hope she finds a way to draw on them and to flourish.


Spark: A Discussion

Greg Pavlik - Wed, 2014-07-23 09:36
A great presentation, worth watching in its entirety.

With apologies to my Hadoop friends but this is good for you too.

Exactly Wrong

Greg Pavlik - Mon, 2014-07-21 09:58
I normally avoid anything that smacks of a competitive discussion on what I consider to be a space for personal reflection. So while I want to disclose the fact that I am not disinterested in the points I am making from a professional standpoint, my main interest is to frame some architecture points that I think are extremely important for the maturation and success of the Hadoop ecosystem.

A few weeks back, Mike Olson of Cloudera spoke at Spark Summit on how Spark relates to the future of Hadoop. The presentation can be found here:

http://youtu.be/8kcdwnbHnJo

In particular I want to draw attention to the statement made at 1:45 in the presentation that describes Spark as the "natural successor to MapReduce" - it becomes clear very quickly that what Olson is talking about is batch processing. This is fascinating as everyone I've talked to immediately points out one obvious thing: Spark isn't a general purpose batch processing framework - that is not its design center. The whole point of Spark is to enable fast data access and interactivity.
 
The guys that clearly "get" Spark - unsurprisingly - are DataBricks. In talking with Ion and company, it's clear they understand the use cases where Spark shines - data scientist driven data exploration and algorithmic development, machine learning, etc. - things that take advantage of the memory mapping capabilities and speed of the framework. And they have offered an online service that allows users to rapidly extract value from cloud friendly datasets, which is smart.

Cloudera's idea of pushing SQL, Pig and other frameworks on to Spark is actually a step backwards - it is a proposal to recreate all the problems of MapReduce 1: it fails to understand the power of refactoring resource management away from the compute model. Spark would have to reinvent and mature models for multi-tenancy, resource managemnet, scheduling, security, scaleout, etc that are frankly already there today for Hadoop 2 with YARN.

The announcement of an intent to lead an implementation of Hive on Spark got some attention. This was something that I looked at carefully with my colleagues almost 2 years ago, so I'd like to make a few observations on why we didn't take this path then.

The first was maturity, in terms of the Spark implementation, of Hive itself, and Shark. Candidly, we knew Hive itself worked at scale but needed significant enhancement and refactoring for both new features on the SQL front and to work at interactive speeds. And we wanted to do all this in a way that did not compromise Hive's ability to work at scale - for real big data problems. So we focused on the mainstream of Hive and the development of a Dryad like runtime for optimal execution of operators in physical plans for SQL in a way that meshed deeply with YARN. That model took the learnings of the database community and scale out big data solutions and built on them "from the inside out", so to speak.

Anyone who has been tracking Hadoop for, oh, the last 2-3 years will understand intuitively the right architectural approach needs to be based on YARN. What I mean is that the query execution must - at the query task level - be composed of tasks that are administered directly by YARN. This is absolutely critical for multi-workload systems (this is one reason why a bolt on MPP solution is a mistake for Hadoop - it is at best a tactical model while the system evolves).  This is why we are working with the community on Tez, a low level framework for enabling YARN native domain specific execution engines. For Hive-on-Tez, Hive is the engine and Tez provides the YARN level integration for resource negotiation and coorindation for DAG execution: a DAG of native operators analogous the the execution model found in the MPP world (when people compare Tez and Spark, they are fundamentally confused - Spark could be run on Tez for example for a much deeper integration with Hadoop 2 for example). This model allows the full range of use cases from interactive to massive batch to be administered in a deeply integrated, YARN native way.

Spark will undoubtedly mature into a great tool for what it is designed for: in memory, interactive scenarios - generally script driven - and likely grow to subsume new use cases we aren't anticipating today. It is, however, exactly the wrong choice for scale out big data batch processing in anything like the near term; worse still, returning to a monolithic general purpose compute framework for all Hadoop models would be a huge regression and is a disastrously bad idea.

Dependent Rational Animals

Greg Pavlik - Sun, 2014-07-20 17:32
I wanted to briefly comment on Alisdair MacIntyre's lectures collected as "Dependent Rational Animals", but let me precede that with a couple of comments for context: first, as I alluded in my last post referencing Levinas, it is my view that the the ethics demands a certain primacy in any healthy conception of life and society; second, in the area of ethics, Macintyre's After Virtue is the book that has had perhaps the biggest impact on my own thinking.

One of the criticisms of MacIntyre is that his critique of rational ethics is, on the one hand, devastating; on the other hand, his positive case for working out a defense of his own position - a revivification of social ethics in the Aristotelian-Thomist tradition(s) was somewhat pro forma. I think this is legitimate in so far as it relates to After Virtue itself (I believe I have read the latest edition - 3 - most recently), though I am not enough of a MacIntyre expert to offer a defensible critique of his work overall.

I do, however, want to draw attention to Dependent Rational Animals specifically in this light. Here MacIntyre begins with is the position of human as animal - as a kind of naturalist starting point for developing another pass at the importance of the tradition of the virtues. What is most remarkable is that in the process of exploring the implications of our "animality" MacIntyre manages to subvert yet another trajectory of twentieth century philosophy, this time as it relates to the primacy of linguistics. The net effect is to restore philosophical discourse back toward the reality of the human condition in the context of the broader evolutionary context of life on earth without - and this I must say is the most amazing part of this book - resorting to fables-masked-as-science (evolutionary psychology).

George EP Box

Greg Pavlik - Mon, 2014-07-07 16:22
"Essentially, all models are wrong. Some models are useful."

Pages

Subscribe to Oracle FAQ aggregator - Development