finding out when Oracle changes the certification objectives

As Scott and I noted in the introduction of our book, Oracle tends to fiddle with the duration, number of questions and passing score of their certification exams. They also fiddle with the exam objectives themselves on occasion. And as you might imagine, these aren’t well publicized.

First attempt

I originally thought that I would use the ChangeDetection service to subscribe to receive an email when the relevant certification pages changed. This turned out not to work as the HTML is always the same. Oracle uses AJAX to fill in the data. For example, the objectives page for the OCA 8 is rendered using the XML on this page. My next thought was that I’d use the ChangeDetection site to monitor the XML page. No such luck, they don’t support XML.

Writing something myself

A differences program isn’t hard to write, so I created my own in a public github repository. It stores a copy of the “current” data for each exam it follows and checks for differences. (I have it running as a Jenkins periodic build so it checks for updates once a day.) I considered using Travis CI since it supports Java/Maven. However, Travis doesn’t yet support periodic builds. There is a third party site that can trigger your builds for you, but CodeRanch has a perfectly good Jenkins server. And since one of the goals of this project is to be able to announce certification changes on a timely basis in the forums, it seems reasonable to run it there.

How do you find out if there is a change?

For significant changes, we tend to mention them in the relevant certification forum. For the OCA 8 exam, we will also list objective changes on the book page. You can also look at the text files for each exam on github. The last modified date shows the last change. You can also click on the file to see the history/diffs to see what changed and approximately cool. You could even use the ChangeDetection service on the github pages since they aren’t XML. For example, this page is for the OCA 8.

If there is an exam you’d find useful to be tracked and isn’t already, please add a comment on this blog post.

Technologies used

  1. Maven
  2. Selenium (a tiny bit)
  3. HTML Parser
  4. JUnit/Parameterized test

chromebook 4g – part 3 – unboxing and getting started

Since I made a mistake and bought the wrong Chromebook (see part 2), I got to unbox and set up two different Chromebooks. This blog post compares the experience between the two along with differences from two years ago.


HP Asus
Size of the box 12″ x 8″ x 2″(was in 14.5″ x 10″ x 3.5″ outer brown box (for shipping) 14″ x 10″ x 3″
Look of box cute white container with a blue ribbon around it. black box with handle and the phrase “Prepare for Incredible”
What inside box
  1.  Chromebook (laptop)
  2. Micro-USB charger
  3. The little 15 page guide that nobody reads
  4. Small piece of cardboard saying to turn on, pick a network and sign in with your google account (or create one). The back suggests what apps to click on to get started or to visit
  1.  Chromebook (laptop)
  2. AC Adapter
  3. Paper that says to call Asus before returning the Chromebook
  4. Warranty booklet
  5. Safety pamphlet
  6. One pager of instructions in 5 languages (charge, lift display panel, press start).
What happened when I opened the lid Nothing. I needed to press the power button as expected The ChromeBook automatically started up. This caught me by surprise. It’s ok. I just wasn’t expecting it. When I shutdown/restart without shutting the lid, I have to push harder/hold down the button anyway.
Initial charging The little light by the power plug was green for a few seconds and then turned yellow. Then the machine turned on. It was initially at 96% charge. It stayed green when fully charged though. The instructions said to charge for 3 hours before first use. I thought that meant the battery shipped dead, but it was at 88%.
Initial version of OS (approximate age) Version 31 – December 2013 (11 months old!) Version 37 – August 2014
Initial time zone (before connecting to internet) California (Mountain view) Two hours east of me (which is the ocean) – odd
Default internet connection setting Verizon Wifi

Getting started

The first screen has me choose my language (English), keyboard (US) and internet connection. I could choose Verizon wireless or a wifi connection. I chose Verizon Wireless because I wanted to know what the plan options were. This was a mistake as it couldn’t connect to Verizon since I didn’t sign up for a contract in store.  Looking at my notes from last time, I see that I was required to connect over wifi the first time as well.

I then accepted the terms of use and opted out of sending information automatically to Google. (Don’t want my mother’s bandwidth wasted sending information)

Trying again, I chose my home wifi and WEP key. That worked. I was able to sign in using my google account (which uses two factor authentication) – the extra authentication prompt was seamless. I was worried it wouldn’t work since the computer thought it was some time ago. The date autocorrected when connecting on wifi though.

Then I got asked which image I want to represent me. This year, my Google Account avatar is a choice. Which means my mother will get to see my picture as an alternate user every time she signs on. (Two years ago, I could only pick a stock art image).

I was able to check my email as a quick test. Success! I did get the message “This version of Chrome is no longer supported. Please upgrade to a supported version”. The details say they support the current and latest version of Chrome. (Things work just fine with an older version so this sounds like them covering themselves). I got a “restart to update” message. It brought me to version 38 (the latest) in one fell swoop. After restarting, “mobile data” was disabled in settings instead of thinking I am on a Verizon contract. At this point, I was able to sign up for a 4G plan.

 Asus specific: connecting to an external monitor

My mother’s  external monitor has a DVI-I port. We bought a VGA adapter two years ago.  My home external monitor has VGA already. I bought a VGA/HDMI adapter and tested it successfully on my computer. For my mother’s external monitor, I decided to use the same VGA/HDMI adapter (and use a string of adapters) rather than look for a DVI-I adapter for three reasons:

  1. I want to test the same way on both my setup and hers.
  2. If she ever decides to upgrade the external monitor, she will have a more common adapter.
  3. It was really hard to attach the VGA adapter to her external monitor in the first place. We got it wedged in there so I don’t want to touch it.

Off topic: shout out to Microcenter. I was able to get the parts I needed (and didn’t need since I returned the HP) without having to buy online. And they had a smooth return process. The adapters were in packaging that you could just stick them back in rather than having a pile of plastic.

Anyway, testing on my external monitor. By default (plug and play), it extended the monitor. I wanted to mirror so pressed control and the display key above the five as suggested in help. That did get it to mirror. However, I had black bars on the sides of both screens. I then switched back to extended mode and clicked that popup to check the resolution of both screens. The chromebook was 1366×768 by default and the external monitor was 1280×768 by default. I wasn’t able to fix this with the Chromebook alone because it was a monitor/tv setting. I clicked the picture size button on the tv (external monitor) remote. When I switched it from “normal” to “full”, it expanded to use the full monitor size. The Chromebook screen stays with the 1.5 inch black bars on the left and right, but the monitor uses the full screen. When I unplug the HDMI cable, the Chromebook goes back to full screen mode. That’s fine. We’d be using either the external monitor or the Chromebook screen, but not both at the same time.

Asus specific: Chrome OS updates

On the initial setup, it looked for updates and spent a while on the “Determining device configuration” page. Per this Amazon review, that page stayed for hours. Rather than wait for hours, I pressed the power button to turn it off and back on. After restarting, the error appeared for a few seconds, complained about internet connectivity and then I got prompted for my Google account.

After logging in, I checked email to confirm internet connectivity was fine. I then went to settings > about and saw I’m on Chrome OS version 37. It started searching for updates and slowly started incrementing the percentage. Going from 0% to 1% took a few minutes. Then it started going faster. It took about 15 minutes to complete the download. I then clicked restart to complete the update.

Asus: finishing up

At this point, everything works and I’m just dealing with minor things. Some are for security or user preferences. Some are just to simplify by not allowing features the user doesn’t need.

  • Covered up the camera.  My mother isn’t going to use the camera so no need to have it operating. Plus I bought a pack up a bunch of little blue foam covers, so might as well use up another one.
  • Set wallpaper to blue (my mother prefers a solid color that a pattern)
  • For my mother’s account, set up her sync password since sync can’t be turned off on a Chromebook. I exempted passwords and autofill (which are off anyone so there is no data saved.)  I disabled more settings for myself.
  • I kept the timezone has Pacific since the Chromebook will be going there in a month.
  • Prevent sites from accessing microphone and camera
  • Disable Google drive
  • Set home page to load on startup and not just when click home.. (Hidden in advanced settings > on startup)

Asus: Don’t turn off

I told my mother that when she takes the laptop to wifi every other month for Chrome OS updates, she doesn’t need to watch it. This conflicts with the default 6 minute sleep mode on battery and 8 minute sleep mode when plugged in. For that matter, when plugged in, 8 minutes is a very short timeout. You go to the bathroom and the machine is asleep! I installed the Keep Awake plugin to avoid this problem.

I also checked the Chromebook was up to date and skimmed the latest changes on the Chrome Release blog. There isn’t a way to turn off auto updates, but it is smart enough not to update when on a 3G/4G connection. (or on a wifi hotspot now)

chromebook 4g – part 2 – choosing a model and best buy

Part 1 covers the decision to buy a 4G model. Now we see which one I chose.

Picking a store

I wanted to buy the ChromeBook at a physical store so I could return it if there was a problem. Two years ago, Best Buy was the only physical store that sold a Chromebook. This year, I know of three stores: Best Buy, PC Richards and Walmart. I live in New York City where Walmart has been treated as unwelcome. I could find the 4G model on PC Richards website. (I didn’t look very hard – it was easy to find on Best Buy’s website. So I chose Best Buy again. Buying it at Best Buy went smoothly last time.

Picking a model

Best Buy sells two 4G models. Here’s a brief comparison of the two. Note that the price is different if you sign up for a two year contract with Verizon. I wasn’t so for me, the price was the same.

HP Asus
Screensize 11.6″ 13.3″
Price $299 $299
CPU Samsung – 1.7GHz Intel 2.16 GHz
USB 2 USB 1 USB 2.0 and 1 USB 3.0
Weight 2.3 lbs 3.1 lbs
Reviews This model has been around longer so has more reviews. A year ago, there was an issue with the chargers that got resolved. Other than that, reviews were fine and numerous. This is a newer model so less reviews. No complaints though.

The HP 11 doesn’t connect to an external monitor well

I chose wrong and had to return/exchange it. I read in a review that:

There’s no VGA or HDMI port on the HP Chromebook 11, but you can use a SlimPort adapter with the microUSB port to connect an external display.

I didn’t realize this meant I couldn’t charge the device while being connected to an external monitor. (In hindsight, that is obvious.)

Be careful you don’t get an old HP 11

Before December 2013, there was an issue with the charger. Make sure your computer hasn’t been sitting around for a year. When I went back to Best Buy, the person speaking to the Chromebook rep had an issue with her charger. I’m not clear if it was the same issue. The computer I got had been sitting around a long time as well.

Buying at BestBuy initially

I ordered the Chromebook online with local in store pickup. I could have gotten it the same day as a store about 10 miles away which had it in stock. I chose to wait and get it from my local store. This is a huge change from two years ago. It’s great that Chromebooks are no longer being treated as a niche product. Best Buy felt the need to open the brown box in front of me to check the contents were correct and then tape it back up. Doesn’t exactly give a warm fuzzy feeling when they don’t trust their own shipping department. It was correct though.

Returning at Best Buy

I spoke to the Chromebook rep/specialist at Best Buy.  He said I’d be better off returning the HP 11 Chromebook and buying a different model since the ability to connect to an external monitor was important to me. He showed me the floor sample for the Asus and that it had an HDMI port.

I went home and reset my Chromebook. This was easy; only three steps:

  1. Cancel Verizon 4G plan. (My mistake cost me $20)
  2. Powerwash to restore to factory state.
  3. Put back in the box.

I returned it and bought the Asus 4g model which costs the exact same amount.  This took a long time. Waiting on the return line and returning took time but was straightforward. They didn’t challenge my reason for returning.

When I went back to the computer department, the Chromebook specialist had gone home for the day. I spoke to someone else who told me they were out of the Asus 4g prepaid model, but had it if I wanted a 2 year contract. This is nonsense; it is the same physical computer. I wound up using the floor model to show him this fact on the website. Then there was some delay/confusion in finding it. I could tell he tried to hand me the wrong machine from the price being too low.

See part 3 for setting it up.