Monday, November 30, 2015

Nexus 6 - screen repair

I have a plain 32GB Nexus 6; manufactured by Motorola. As far as I know it's an AT&T locked model (more later). I never took the packaged screen protector off and I never put on an aftermarket protector either. Makes sense for women with diamond earrings but not me *sigh*.

I dropped the phone about 10 days ago and while I was very angry that I dropped the phone I was not at all surprised. I was even a little happy because the AT&T splash screen is awful and I had converted the phone to developer mode so I could install marshmallow.

So I bought a Nexus 5x and before it arrived I decided to return it. I had a severe case of buyers remorse. So when it arrived I immediately initiated the return process (completed).

I called a few local repair stores. Neither had parts. The one I talked to this morning told me that the repair was going to cost $400. Shit! Now I had returners remorse.

As I was noodling things I found the Motorola website. They had a few options for a repair. The one that I opted for was a secured replacement. Motorola is going to send me a replacement and then I send the damaged phone to them. The repair is going to cost $200 (instead of the $400) and they will secure the second phone with a $500 security deposit. ($700 out of pocket for the moment and they will return $500 when they receive the damaged phone).

What have I learned?

  • The smaller phones are better since they are phones.
  • If I need a reading device then I should get one of those too.
  • The local repair place is not a bargain and so the next time I have to repair an iPhone I should check the prices. I know that one time an Apple retail location took $200 from me but that was because the battery was not working and the phone was out of warranty.
My next phone needs to be an android even though Apple seems to be defacto leader. The phone needs to be unlocked. And cheap to repair. Modern in that it has all the latest features including a hires camera and plenty of memory. And it needs to fit in my hand.

Sunday, November 29, 2015

Hey "you tube kids"

First of all, what a great idea. I like the fact that I can reasonably trust Google to search and provide content that is appropriate. Granted it's no substitute for our parental judgement but when we cannot be there to filter this is an acceptable alternative.

That said I have some criticisms.

  • need a language filter - I would like my kids to learn a few languages but I'd like to make that selection for now.
  • no commercials - on the one hand I'm a red tube subscriber and on the other soliciting my kids with commercials creates more problems not less. And frankly is does not make sense that "Target" was the only advert.
  • age range - the content is all over the place... it would be better if there were some age ranges.
other than that, nice job.

Friday, November 27, 2015

flip phone

After replacing the screen on multiple iPhones and not a new replacement on my Nexus 6 and watching replacement videos on the iPhone and Nexus phones I'm channeling my inner flip phone. This article hints that it's possible but so long as the manufacturers are more interested in turnover they are going to make the replacement process expensive, complicated, and offer no alternatives.

Wednesday, November 25, 2015

Holiday Deals Deals Deals

Last night ABC News reported that Target was selling a 55" tv for $150 after discounts. Not according to their website. I might need to go back and watch the newscast again.

Monday, November 23, 2015

containers beyond hello world

I've started to refer to containers as such because while docker is a brand it's also a noun and while I do not want docker, brand, to fail I also want to promote other brands in the space. (think WordStar or WordPerfect).

And there is competition:

  • Docker
  • CoreOS - rkt
  • systemd-nspawn
  • lxc
  • lxd
  • nixos
  • and more for certain...

There are also plenty of frameorks like:

  • mesos
  • kubernetes
  • rancher
  • dies
  • docker-???

But even in the docker domain there are limits to "free". The same can be said for CoreOS. The challenge I am facing is how do I get to the next level without paying for licenses. 30 days is not long enough and some projects that I've been working on deserve frameworks but nothing to sophisticated.... It's part of the leaning.

One of the reporting projects I've been working on needs to address the container ecosystem closer to an enterprise and less a garage project. I posted a link on G+ that I was hoping would start a conversation but it's slow to get started.

Sunday, November 22, 2015

battery life

Just how long is a 2700mAh battery supposed to last on a Nexus 5x? Some websites report 17hrs and at least one said 6hrs. Well, 6hrs is just plain un-usable, however, since it was only one review I have to stand with the others. One thing to keep in mind is that the size of the battery is only one side of the equation. It's almost as important to know what the drain rate of the electronics/software and the effect of ambient temperature.

The real cost of containers

It's too bad that there have been no studies on the costs of containers. At least none that I know of an none that are not biased in some way.

Currently I'm working on a reporting cluster and while the usual etcd cluster with arbitrary worker worker nodes is good enough I realized that if my domain were evenly slightly more complicated that events like SDN (software defined networks) might require a complete redeploy; and while that is ok for a reporting system that has wide maintenance windows a 24x7 webapp might not have the same outcome.

Even so, as an operations person I would hate to dump the existing deployment without having deployed and tested the new environment. While this overlap makes perfect sense when using AWS or GCE, if I wanted to accomplish the same in a private environment I would need 4x or 3x the hardware regardless of how the hardware was partitioned.

Consider this: If you were going to perform green/blue deploy strategies in production just how much of your infrastructure would you need to deploy?

UPDATE: something I need to be clear about is that there is a thin layer between the hardware network and the SDN above it. That same network has an analog in the baremetal deployment as well as the VM, vSphere, environments.

Saturday, November 21, 2015

Hagfish mucus

I just watched the end of the latest The Big Bang Theory where Amy and Sheldon went to the aquarium and were playing a game "Friend, fight, eat". Sheldon said he would eat the hagfish monkfish because the slime would be a perfect gravy but in the close of the show he said he changed his mind because he watched a video of a hagfish monkfish producing it's slime.

Now my question is; how many people searched for that video after the episode aired? Here is the link that I found. I imagine there are better videos and this one was just the first. Gross!

UPDATE - correction I meant hagfish

Friday, November 20, 2015

scratch containers

I'm going to keep this real short. A scratch container is a base image that has nothing in it. It's effectively an empty file. Both Docker and rkt have scratch-like base images.

Here is a docker scratch file:

FROM scratch
ADD ca-certificates.crt /etc/ssl/certs/
ADD bin/HelloWorldOnce /HelloWorldOnce
CMD ["/HelloWorldOnce"]

Here is an acbuild script:

acbuild begin 
acbuild set-name myreg/helloworldonce
acbuild copy bin/HelloWorldOnce /bin/HelloWorldOnce
acbuild copy ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
acbuild copy resolv.conf /etc/resolv.conf
acbuild set-exec /bin/HelloWorldOnce
#acbuild port add www tcp 5000
acbuild label add version 0.0.1
acbuild label add arch amd64
acbuild label add os linux
acbuild annotation add authors "Richard  <>"
acbuild write --overwrite HelloWorldOnce-0.0.1-linux-amd64.aci
acbuild end

Why scratch? (see minimal containers and docker scratch official image) And for comparison read the bullshit justification for the Phusion baseimages.

I have long-since forgotten the official story but as memory serves the container developers that I know have endorsed statically linked applications running in a minimal container; like scratch. There are a few reasons that jump out at me. The first is fewer moving parts and so less heat. 2nd fewer dependencies if any. Finally; with fewer moving parts there are fewer attack vectors. For example if there is no ssh server in the container then one cannot attack the container through ssh.

Here are some notes that I discovered as I was trying to get parity between my docker and rkt containers:

  • the app in the container is a database client. It connects to a remote and public database using a published DNS address.
  • In order to get my application to connect to the DB using docker I needed to add the ca-certificates during the build.
  • In order to get my application to connect to the DB using rkt I needed to add /etc/resolv.conf to the container. 
I suppose I could have mounted the the host's resolv.conf volume in rkt but that might create different issues. By putting /etcd/resolv.conf in the container it cannot be spoofed at that level.

Tuesday, November 17, 2015

'load balancer between every layer of your application"

2/3rd the way through this video the speaker makes the statement
'load balancer between every layer of your application"
... as well as the edge.

I cannot disagree, however, as a practical matter load balancers are expensive to configure and they have overhead of their own. Furthermore; load balancers are complicated so writing your own or adopting one that might be ideal for a microservice or let's say a little recursive might also complicate things.

All of the arguments against microkernels are rushing back at me.

Review of Disney's Art of Animation (Orlando)

I'll start at the end because the rest is a rant. For the money and the service I'll never stay at the Art of Animation again.

The Art of Animation resort was originally intended to be a value resort. That means the standard "value" rooms. This video explains how there were construction delays cause by 9/11 and then the success of Nickelodeon Studio suites encouraged Disney to complete construction with a suite configuration.

When we arrived Saturday we were assigned a standard room in the farthest building on the 4th floor literally the farthest room from the main building. My first walk to the main building took nearly 20 minutes as I was not aware of the shortcut which I discovered the next day in daylight.

Here are some un-Disney like observations:

  • we had no hot water that first day. You'd think housekeeping would have noticed when servicing the room. This was repaired after we called facilities.
  • The shower head was so filled with lime or salt that the water squirted in all directions. This was never repaired.
  • The bathroom door was expanding due to water damage.
Here's a big one.  Saturday night we left the park around 9, after the parade, and arrived at our car at around 945p. As we drove back to our hotel using both Google Maps and Apple Maps we encountered endless road and ramp closures. Disney was hosting a marathon. After driving around for 45 minutes we stopped to ask a local Sheriff. He was not able to offer us complete directions nor had Disney or the Sheriff's office prepared for the problem. In mid conversation another car decided to rush the ramp. Our sheriff intercepted the driver making our delay even longer. In the meantime our youngest had fallen asleep and it was now too late for baths or a proper meal.

Our oldest has peculiar nutritional requirements and while she's too young to negotiate with it is what it is. On two occasions the current online menu information was incorrect. While in Animal Kingdom we thought that we could get her pasta at the Pizzafari restaurant, however, it was closed for renovation. So at the cost of 125 we went to the "Tusker House". After conferring with the chef we expected a bowl of couscous as there was no pasta to be had. Suddenly the chef appeared with a bowl of noodles. It's a shame that we had to insist and argue in order to get the simplest service.

Magic Bands seem to have been rendered useless. Cast members are not very diligent. On more than one occasion we were able to bum-rush the line. We also noticed that we could double our FP by splitting the configuration since the kids are too small to ride alone.

Disney is selling bubble machines all over the place. I hate it. It's an invasion of my personal space. You might not understand until you get there.

There was some cast member fraternization. I also witnessed a conversation with a bitter cast member who was discussing salaries with a guest.

I was a little freaked out by the auto location feature in Belle's dinning hall.

The photopass experience seems to have changed. The photographers are not as engaged as they once were. They will take a few pictures with their own gear but they do not try to create those magical moments the way they once did.  Clearly the smartphone is taking over. I also noticed that the lighting composition at several locations are biased toward the professional camera and whatever post production filtering they might do. But it does not change that the photographers are not engaged.

On the upside:
  • The room was clean
  • No matter where I went there was free WiFi
Next time we hope to stay at a moderate resort. Port Orleans was always our favorite although it was strained the last time we were there.

Friday, November 6, 2015

From the what was I thinking category

One of the things that Google probably did not consider when they chose the dimensions of the Pixel and Pixel-C what whether or not it would fit in a 1 gallon Ziploc bag. As demonstrated by my ASUS Flip:

While Ziploc bags are not designed to be water tight in the way a wet/dry bag is; it is better than nothing and make it somewhat water resistant. It's the kind of thing I don't worry about when walking around Disney World.

That got me to thinking. If I had to go through airport security or security at Disney World; what would they think about my decal:

While it was fun to put the decal on the computer and the integration with the ChromeOS desktop is really cool.

I'm just not sure that security is going to think the same thing. Let's face it who wants the added scrutiny anyway.

Monday, November 2, 2015

systemd run once

I'm building a reporting system that uses systemd timers to schedule the individual reports; each report being a self contained statically linked binary.

At first I discovered the monotonic timers documented in systemd.timer but as I read and reread the man page I realized I was wrong. I had originally thought I could use
However that's just wrong.  The OnCalendar field does not support monotonic timers. The only fields that support this functionality are:
OnActiveSec=, OnBootSec=, OnStartupSec=, OnUnitActiveSec=, OnUnitInactiveSec=
However, each of these have different behavior. For example OnBoot and OnStartup will trigger the timer regardless if the computed time is prior to now. While Boot and Startup will partially solve the problem they are not complete. I'm trying to run a report NOW; Boot and Startup will run it now and after a reboot or restart of systemd.

The other 3 types require that the computed time is in the future. In one testcase I tried "1sec" which should have configured the timer 1 second in the future. The problem here is that by the time systemd reads the file and makes sense of the computed time the time may have already expired and so the report may not run. Several test cases failed and several passed. I cannot quite explain it except that.

There is one other parameter that may play a role in this. Since I'm trying to run the report 1s after the active state... checking the AccuracySec field I see that the default accuracy is set to 1min. Meaning that the timing of the 1s monotonic timer is even more critical. Setting the AccuracySec to 1s might consume considerable resources so that's not a good idea although possible.

Finally, use OnActiveSec means that if I stop/start the timer that the report will run. Meaning it will run after a reboot or restart.

In conclusion, with the exception of setting the exact one-time run based on the wallclock there isn't a way to accomplish a "run now - run exactly once".

another bad day for open source

One of the hallmarks of a good open source project is just how complicated it is to install, configure and maintain. Happily gitlab and the ...