Saturday, October 8, 2011

JavaOne Day 7

Traveling back home.

Checked out of the hotel.
Took the cable car at 7:15am to head back downtown with my luggage.

Hopped on the BART train that was about to leave.
Rode it for a while but had to switch to continue.
Really had to pee.
Finally was able to after I arrived at the airport.




Walked around looking at the long lines for international flights before realizing I was in the wrong area (and glad, since I didn't want to wait in that line).

Quick ride on the airport air train, walk to the domestic flights check-in.
Found also long lines, probably even longer than international.
I was also to get into a shorter line for only checking baggage by using my mobile boarding pass.
Then I was thankfully moved to a shorter security line, after a bit of a walk.
The security line was moving along and I went through the screening super fast.

Walked and found my terminal.
Picked up 2 bagels (sadly no jelly this time) and an OJ at the nearby cafe. Kept the bag to eat later.
Then sat and waited for my flight.



Flight from California is of course long just like before (5-6 hours).
I watched two movies (Green Lantern and the Prestige) with no audio on someone else's screen ahead of me (in between falling asleep). Also ate my food and read a little of my book.
Prestige made no sense to me, mostly confusing. I'll have to rewatch Green Lantern sometime, I missed chunks of that.

Arrived in New Jersey. Walked to my terminal.
Found my flight was delayed 1 hour.
Coded on laptop listening to music for a bit.
Moved after terminal was changed.
Then the flight was delayed even more, almost 2 hours.
Walked around looking for food, found a pizzaria. Picked up penne marinara and apple juice.
Went back to the terminal, played some Terraria listening to Enter Shikari until the laptop battery was empty.

Finally flew back to Portland.
Listened to the Cutting the Cable Podcast.
Got a ginger ale to drink even though I said "I'm good"



Arrived at the Portland Jetport. Waited for baggage.
Called a taxi (the same company from my travel out).
Directed the way back home (no GPS?).
Had to pay with credit card over the phone (driver didn't like this, strange since the other driver on my way out was fine with it).

Finally I was home just before 1 AM.
I had a package arrive in the mail. I opened it and found a free GSOC 2011 tshirt to add to my JavaOne collection.

Friday, October 7, 2011

JavaOne Day 6

Final day. Another full one of sessions.

Awake.
Took the cable car in to OracleWorld/JavaOne.


Walked around trying to find breakfast.
Ran into a guy on a corner suggesting breakfast/dinner places for me, after telling me about his attempts to find a job and get his resume out. Eventually he got to the point, that he wanted to get some food. I asked if he'd come with me, he said no, he just wanted the money. I said I don't have money. He said there is an ATM nearby. I said I just have the credit card. And so that was it, we went our separate ways.
So anyways, I didn't find a place to get breakfast.

Time for the Java community keynote. Here it is filling up while we find a seat:

First part was basically an IBM ad for cloud products. (did I mention how I hate the word "cloud" now).
Next was lots of pushes to use/improve OpenJDK and attend local JUGs (java user groups). I did enjoy the online voting here during the discussions (no we are not using OpenJDK, no I am not attending JUGs since I don't have time at nite).

I got a glass of OJ to drink at one of the breakfast areas. Yay, something. I didn't see anything else vegan. But thankfully I had a bar on me to eat.

Session on HTML5, JavaScript, and Java. Very disappointing. Basically definitions, update on Nashorn, and a demo of running JavaScript on JVM. I wanted the current state of HTML5, browser support, using HTML5 on Java like JSF. I wanted something relevant to me.

Session on enterprise REST. Apparently meant for architects, which is not currently me.
Thankfully there was some code (SSL using Jersey client and basic HTTP auth) but that's it.
Discuss on OAuth, versioning in URI, state in links using HATEOAS, ActiveMQ.
Didn't feel super useful.

Picked up some lunch at Golden Era nearby.
Ordered from the same girl as Loving Hut (both are apparently all vegan!)
Gourmet rice. potstickers. blueberry cheesecake.
Carried the food with me to go, next sessions coming up soon.


Session comparing the speed/performance of web frameworks (world wide wait) supporting an increasing number of users.
Fancy presentation, created demo application to review results, had hundreds of millions of records, over 16 gigs of data.
Most of the discussion was on the methodology to compare the frameworks based on cpu, memory, load time, etc. It was easy to tell that the crowd just wanted the results.
In the end for resource usage, JSF was worst, GWT was best, Spring with jQuery and JSP was right after GWT.
JSF (mojarra) was the only one that had a bad outlier result, error stuck in loop for Map access.
Cost to scale these frameworks for more users was also discussed for the memory/CPU and of course JSF was worst.
For initial browser rendering, Spring/jQuery/JSP was best and flat, JSF grew worse with more users, GWT was worst and flat (for initial load, would be better on following page loads).
Overall, GWT came out on top but is also more complex to develop. The Spring combination was second.

Ate the first half of my Golden Era food. finally!

Last session on Spring 3.1 vs Java EE 6 shootout.
Spring lost (of course) for the amount of configuration XML and code.
But it was also mentioned how Spring is more flexible and allows more configuration and freedom from container (easier to upgrade Spring library version).
And mentioned how these two can coexist.
It was a fair assessment of Spring, but I look forward to seeing where Spring goes in later versions with the CDI standard.

Finally ate the second half of my food (mostly leftover rice).

Took the cable car back to the hotel as usual.

Thursday, October 6, 2011

JavaOne Day 5

Another full day of JavaOne sessions.

And tons of rain.

Went to a session on moving from Java EE 5 to EE 6.
Discussion on what EE 6 includes (CDI, newer EJB/JPA, JAXRS), creating a war instead of an ear, removing EJB interfaces and less layers, JSF metadata and flash, Servlet 3 security authentication managed by container, JPA annotation for removing orphan from collection, cron scheduling annotation, Stateless annotation for REST JAXRS, and criteria API instead of JPA QL.

Session on API paradoxes by Netbeans architect. Dicussion on sustaining V1 of API to not break clients or use cases, process to change API, space in API for changes, handling incompatible changes for bug fix, handling versioning, behavior dependent on API consumer, moving deprecated code to optional module.

For lunch, had the same free meal from JavaOne / Mason Street. Potatoes, grapes, strawberry, wraps, soda. Again slow to get and waiting.

Played Frogger game on one of the glass top tables at the cafe. Got a new high score.

Session on Spring and WebLogic.
Touched on the WebLogic admin/monitoring web interfaces, especially those related to Spring. Used a demo parcel application using JMS with Java EE 5 and spring implementations.

EE6 best practices session! Remove 80% of legacy code!
Discussed how to cleanup code in switching to EE6. Remove interfaces unless needed. Remove DAO, less layers. Remove configuration if is default convention, not needed.
One of the best sessions, fun and entertaining.

CDI best practices session.
Review of CDI (in EE 6) based on Spring/Seam. Extended persistence context, begin and end conversation, EJB only for transaction manager and overhead.

Session on performance and scaling. Discussions on synchronization and locking (focus on path most used), volatile, thread local, concurrency version, data resizing, tools for memory and stack monitoring (mention of VisualVM, but mostly selling other tools), cache misses, more threads/CPU, false sharing. Not all that great.

Again, Loving Hut for dinner. This time with a different selection from the buffet and piece of chocolate cake for dessert.


And again the cable car back to the hotel.

Wednesday, October 5, 2011

JavaOne Day 4

The second real day full of JavaOne sessions.

Overslept till almost 8am.
Both my work and personal phones were on silent or vibrate.
Missed the Java strategy keynote.
Picked at squished, leftover carrot/nut muffin from yesterday's loving hut visit.
Hopped on the bus about 9:45am.
It followed the scenic route and I passed by huge sapphire princess boat in the harbor.
Bus dropped me off at the OracleWorld moscone buildings:


Went to a Twitter session on memory. It was interesting. Lots on JVM and code tuning. Garbage collection, eden size, primitive types instead of objects, factoring out common data, string interning

Had lunch at the JavaOne makeshift Mason Street cafe using one of my lunch cards.
Waited about 15 minutes for the food (special request I guess to get a vegan one).
Picked up an orange soda as well, even though I don't usually drink soda.
I ate and skipped my WebLogic session.


Played some pinball, game called Getaway. Walked around the exhibition room. Picked up a Spring thumbdrive and Jfrog tshirt and pen.

Went to a session on event processing (instead of my balancing performance/quality session). It was on Apache camel, I was bored and walked out.
Went next door to the balancing performance/quality session. It was discussing using the IBM jvm and tracing data. Also boring.

Back to playing pinball, tried 3 different ones.

Walked down to the Marriot for an OracleWorld session on Java EE6, WebLogic and Eclipse.
This was a lecture instead of a hands on lab. There was also no speaker. I left after waiting 15 minutes as did others.

Went to session on JAXB. It was okay, a little dry and not super useful.

Dinner at Loving Hut in mall. Got some food off the buffet this time. Potato curry, sweet and sour stuffs, brown rice. Reminded me a lot of Green Elephant. Especially with the pumpkin pie cheese cake for dessert (not quite as good).

Caught the second half of a session on security. Mostly discussing extreme password restrictions (no surprise there). Also the bads of default logins for containers and returning stack trace info on errors. Followed up by a Q&A (security dicussions are always heated/touchy).


Session on web service security. Only stayed for first half. No code samples, mostly definitions on WS-Sec, SSL, OAuth, and LOTS on OSI.

Caught the second half of the heavy loaded REST session. Not super impressed. Showed code examples of replacing a massive amount of code with a single method call in a REST service. I assume all or most of that complex code still existed behind that one method call.


I think the most useful sessions include real code samples and a good Q&A at the end.

Went to catch the bus back to the hotel.
But there was no bus (well there was, the guy said service had stopped already).
Which begged the question: Why was there sessions so late then?
I was not alone (others from OracleWorld), there was now a group of us that needed to travel back to the same Fisherman's wharf area.
So we banded together.
First idea was to get a taxi. There happened to be a line for taxis at the Intercontinental hotel.
This line was super slow and there were no normal taxis coming back (hardly any traffic on that road).
So next idea, walk around to the busier streets to get a taxi. But there were lots of others trying to get taxis.
And we kept walking until we were so close to the cable car that we decided to take that.
The group went to stand in line to get tickets.
There happened to be a cable car about to leave and since I already had my pass I hopped on.
One of the guys, a bit confused, was going to follow me on, I had to point him back to the booth to get a ticket.
It was a slow ride back around town. I was glad to finally get back. It was a long nite.

Tuesday, October 4, 2011

JavaOne Day 3

The first real day of JavaOne will all day presentations/session.
Up at 6am and out to catch but at 7am to get down to moscone and walk up to the javaone keynote.
Best and most interesting part of keynote was Mark Reinhold's with code snippets for new Java 7 features.

After this I skipped the Spring to Java EE session at 11am (and apparently didn't miss much) to get some breakfast finally.
Walked back down to the little bird coffeehouse and got another breakfast sandwich and oj. good as usual.

Then another great presentation by Adam Bien for the Java EE cool parts session. Fun, actually got me laughing. A lot of the EE features discussed sounded like Spring to me, so the shootout later this week should be good.

Next we walk down to oracle world for a weblogic applications session. This was a super fast run through using Maven to build and the Maven weblogic plugin to deploy, doing these same steps in Eclipse, and setting up this Maven build in Hudson (deployed on weblogic) using Subversion.
Most people in the session had not used and did not even know what Maven was (ugg).
We went through the PDF steps on our own, which was the only way to get through it all during the session.



On my way back, stopped at Loving Hut downstairs at a mall foodcourt. Was so excited to get to an all vegan place. I ordered the sandwich, tenders and fries, and a cupcake to go. Threw it in my bag to eat a little later.


Next was JAX-RS 2.0 session. I was mixed on it, some good new features that I found use but nothing surprising or too exciting. For example, I would use the bean validation integration to replace my custom validation, and possibly also async.

I finally sat down and ate my loving hut food for dinner.

Then I caught the end of the NFL performance session. Interesting things, I enjoyed it. Talked about use of Spring LazyDataSource to avoid checks for available database connection, using specific type in hql query when using inheritance to avoid many joins (like 12), adding indexes in the database for often used functions on columns (upper).

I went up to one of the ballrooms where I expected the Jersey session to be. Caught the end of the Jigsaw presentation when it was on Q&A. This was a bit rough with comparisons to OSGI. A lot of the talk reminded me of Maven (repos, dependencies, version ranges). I am interested to see this added if only for OpenMRS to be using a standard module system (jmod).

Finally the last session of the day at 7pm was for Jersey new features. Again nothing too exciting. Disappointed by avoiding to talk about the async server side and just plugged going to another presentation later to hear about it, and also that most of the talk was on WADL. The JAX-RS and Jersey talks were almost stepping on each others toes with the talk of async.

Back on the bus and back to the hotel.

Sunday, October 2, 2011

JavaOne Day 2

Woke up and tried to skype call home.
Found webcam on laptop (dell precision m6400) not working, could see and hear video but not send. I also didn't being my headset, so all around bad news for video chats.
Tried to resolve the webcam but haven't fixed yet.

Around 9am we left our hotel (hilton at fisherman's wharf)



Walked around looking for breakfast, no real luck in area for me.
Decided to go downtown, i read a review for a place there.
Took the shuttle bus from holiday inn to moscone west, oracle world (much easier on the feet, mine are sore from yesterday).

Walked longer than expected to but finally arrived at little bird coffeehouse.
It's a small place with a hippy style (cash only) that got much busier while we were there.
I ordered oj and vegan breakfast sandwich (although forgot to mention vegan at first) with tofu scramble, daiya cheese, avocado and hummus on english muffins.
Looked like a whole avocado went in it. yummy.



Also picked up two glazed vegan donuts to go, one with sprinkles, one with brown sugar.



Walked back down to oracle world at moscone, passing the javaone area which looks all blocked off.
Stopped in the apple store, super busy.
I said I could only see getting an ipad for a comic reader, but doesn't justify the price.
Much busier at moscone today than yesterday. Lots of oracle world people, few javaone in comparison.
Checked out the oracle world book store. Exhibition hall closed off till tomorrow.

Back on the shuttle bus and back to the hotel to rest for a bit.
This is much more scenic route by the piers.





Back at the hotel about 1pm.

I found out that the internet connection period ended up being 24 hours (so $10 per day).
Attempted to setup the laptop usb connection which wasn't working so far.
Finally, luckily I was able to get it working after I unmounted the usb drive so it detected the device as a modem.
Then I made the mistake of updating the ATT connection manager software for it. Ended up needing to uninstall and reinstall.
So having internet here has been a pain so far.

Left later, walked up, and grabbed a vegan burger and fries to go from burger meister.
Walked back down and hopped on bus to moscone.
Ate my burger and fries outside on a bench, it was good but dry, would have been better if i'd had ketchup.

We went inside to the packed oracle keynote. Stood out back for about 10 minutes listening about the awesomeness of Exadata/Exalogic before we left.

Walked up to the java open house. Nice comfortable atmosphere with food and drinks, atleast until the wind picked up and it got cooler outside, my shorts and tshirt weren't so comfortable.
We even found a cool arcade table with the defenders arcade game built into it.
Played a few 2 person games (for free, could just keep adding credits).

And finally we walked back down to the bus and headed back to the hotel for the nite.
Definitely store on my feet from walking.

JavaOne Day 1

Up at 4:00am, shower, taxi is on time at 4:30am.
Throw together english muffin with jelly to eat on way.
Travel in the dark and rain.
Arrive at portland jetport.
Total cost is $16 for taxi ride (versus $84 to park at airport).
Busy this morning, lots of flights.
Meet up with my coworker traveling with me.
Fly to new jersey on smaller plane.
Arrive in new jersey and remember being there last time.
Pick up OJ and bagel with jelly.
Flight is already boarding my seat, down the OJ and bring bagel in bag.

Fly to san francisco on larger 757 plane, more cramped than smaller plane, baby loud for half of flight.
Mostly sleep but also attempt to read my book "being geek" (quite good so far, will need rereads) and listen to some music/podcast. Also watched most of the captain america move without sound.
Snap a few pictures about midflight. Saw lots of mountains and even two planes that flew by below fast (small jet and larger)



Eat my bagel finally with some apple juice.
Plane descends to land, my right ear as always hurts and doesn't pop for a while.
Plane has a somewhat bumpy descent right before landing, baby crying loudly at same time not helping my nerves, got my heart pounding.
Finally on ground in san francisco early at 11:25 pst.

We take the air train to BART train/subway and then share a taxi to the hotel.
The taxi ride is insane, lots of horn honking, going through red lights/stop signs, up and down big hills.
I check into my room at the hotel since it is ready.
We go out and walk around.
It's warmer than expected, no real breeze, lots of sun, few clouds. i expected cooler.
After exploring a little, back to the room for a break.
Try to setup the internet, found i apparently need to pay for it at the hotel ($10 per connection period?).
We went back out.
Stopped at mood thai (i found online) and had dinner. i had samosa and veg pad thai. both ok, not the best.
We walked down to moscone south to register for the conference and pickup our badge.
Then up to moscone west to pickup our swag (bag, tshirt, water bottle, notepad):

More walking back to the hotel, sweaty and tired walking the hills, we stopped and picked up a drink.
Finally back to rest and shower. The room is pretty standard:

Now to sleep.