Monthly Archives: May 2016

Adventures in Mobile Phone Resurrection

My day, in a nutshell:

[Background:]

0) See that your phone may be having issues. No time to spend the week fixing it. Tape[1] it up and take it to Burning Man. Wait 10 months for the issues to become serious. Go on vacation. Drop it in the airport on the way there. Nursemaid it through the vacation, trying to read through the horizontal lines of ‘VGA cable is partially detached’. Drop it on the plane on the way home.

0.5) Take it in to the store. They say they’ll replace the phone for $100, but the data won’t be transferred over. I buy a new phone and go home to check my backup situation. (All my photos and videos are fine, it’s my notes and TTD lists that I’m most concerned about.)

0.7) Get home and find out my last full backup sufficient for a ‘Restore’ is about 10 months old. For some reason the ‘Sync’ doesn’t actually sync any useful amount of data, and there are no useful ways to gain finer control of this (I’m assuming) without jailbreaking the device.

0.8) Restore the device using the old backup. It’s really odd to see your last messages with someone that are 10 months old. Resolve to transfer over the rest of the data somehow…

[Next Day]

1) Start backing up the old phone. Discover that your phone needs some number of tens of gigs to do a full backup, and your computer only has 11GB free.

2) Rummage through your hard drive, using suggestions from helpful sites, finding another 15GB.

3) Figure out that 25GB is again not enough. Start taking a closer look at that 40GB backup from 10 months ago. Look at the directory, noticing that it contains about 40k files, each named with a 40 character hex hash. Try uploading it to back it up. After about half an hour, calculate that it will take 15-20 hours. Try tar -czvf to reduce the number of files. this doesn’t significantly help the upload time.

4) Decide to bite the bullet and delete the old backup. As there are too many files in the directory for ‘rm *’ to work, start with ‘rm 1*’, through to ‘rm f*'[2].

5) Start the backup of the old phone again, it finishes, and I start the restore to the new phone.

6) After waiting for a while, the phone has reset, and it gives me the option to ‘restore from backup’. More waiting. ‘The backup was corrupt or not compatible with this device or device version.’

7) Try again. More waiting. Once again having the new phone factory reset to start the restore. Once again: ‘The backup was corrupt or not compatible with this device or device version.’

8) Look in the directory to see if there’s something obviously corrupt. Wait a second…Some of those files starting with ‘0’ are from 2015…

9) Move all of the old remaining files to a new folder. Try the restore again. ‘The backup was corrupt or not compatible with this device or device version.'[3] Realizing that I had missed other files (not starting with 0-f), or that some of the 0-starting files had made their way into the list of files for the new backup, I delete all of the files in the directory this time.

10) Full backup. Full restore. Full day.

[1]Duct tape, of course. My little friend was suffering from an ‘expanded battery’, which eventually became bad enough that the screen became separated from whatever was feeding the screen data. Two drops later, it was unfixable, thankfully still okay enough on the inside to back up.

[2]You may notice something here.

[3]Interestingly, (from behaviour, not from looking in the files), the backup program (iTunes) blindly adds new files to the list of hashed files, and probably adds them to a list somewhere in that directory. It apparently doesn’t do much checking of the backup until it tries to restore it somewhere.

Burning Man in Pictures 2015 IX: Build Day Two!

As you may recall, we started the day like this:

Our beautiful triangle at the start of day 2 of building.
Our beautiful triangle at the start of day 2 of building.

A large project like this would not be possible without Our intrepid building crew, hard at work!

S supervises while Dug attaches oh-so-important wind bracing and Matt reflects.  Steph sorts things out in the background.
S supervises while Dug builds and Matt reflects. Steph sorts things out in the background.

And here’s another pic of some more of our crew, trimuphant during their second full day of building:

Building crew triumphant!  (l-r: S, Kosta, Steph, Matt, Evan).
Building crew triumphant! (l-r: S, Kosta, Steph, Matt, Evan).

By midday on the second day, we had put up 5 of the 21 segments, 6 of the 23 posts, 6 of the 32 pieces of acrylic. Didn’t feel like an auspicious start, and we were more than a little tense.

Various things contributed to this. We had made the design decision early on that each mirror would be married to two specific posts, and that any wiggle room would be provided by the mirrors’ ability to bend and the hinges. What this meant was that each of the mirrors had to be precisely fit to the posts to be bolted on. This involved a lot of heavy lifting and struggling. (We had only assembled 7 segments for demo day, at the burn was the first time we were going to assemble the whole thing.) This design decision was because we weren’t confident in our ability to precisely fabricate parts such that they would all be interchangeable (attaching hinges to posts is imprecise, drilling is imprecise, and acrylic can really only be drilled once or twice before it starts thinking about shattering.[1])

Another major contributor to this was our decision to avoid guy wires for wind and tipping stabilization of Mirror Blaze. Guy wires are a terrible tripping hazard, and they also look terrible. For many applications (like staking down a tent or yurt) they are basically essential, but we wanted to avoid them if at all possible.

We ended up drilling one foot deep holes in the base of each post, and using 2′ or 3′ rebar to stake them into the ground. As long as the wind didn’t lift the entire structure off the ground by a foot, we would be okay.

The last reason it took a long time to build was a decision I inadvertently made to start at one end of the outer wall. Had we gone both directions from the middle of the outer wall, we could have built two panels at once for much more of the build process.

But let none of this fool you. We were working with amazing people, building something, and enjoying ourselves in a way that’s difficult to describe:

S&B, in the desert.
S&B, in the desert.

S also took a moment for reflection[2]:

S takes a moment for quiet reflection.
S takes a moment for quiet reflection.

During our break for supper, we got to watch ‘A Unique Experience'[3] meet the guy with a capsaicin molecule tattooed to his arm:

A meeting of the minds.
A meeting of the minds.

Next up: Dancing with the builders in the pale moonlight!

[1]I learned this the hard way with my first drilling of holes in acrylic, but that was a half-thickness test piece, which I think contributed.

[2]No, I don’t think this will ever get old.

[3]M is known for offering ‘a unique experience’ which is usually tequila flavoured with some type of super-strong peppers that he’s grown. From the reactions of people who have tried it, it lives up to its name.

Burning Man in Pictures 2015 VIII: Night Falls, a New Day Dawns, we Map Out Some Trenching

Yesterday, we had just built our first Mirror Blaze triangle:

First Mirror Blaze triangle up!
First Mirror Blaze triangle up!

You may or may not be aware that this involved precisely hammering 3′ rebar into the playa, then threading the 8′ 4×4 posts one at a time, attaching the mirrors, making sure all the way through that the geometry worked properly.[1]

While we were doing this, many of the other installations were springing up around us, including the scary scaffolding, springing up-per:

The scary scaffolding from the first night, now higher than before?
The scary scaffolding from the first night, now higher than before?

And Riskee Ball, after the first day, metal frame assembled!:

Rikee Ball, 1st day, metal frame assembled!
Rikee Ball, 1st day, metal frame assembled!

So, we had built the first triangle, and put flamey (our flame effect) inside, waiting for propane to be fed to it. This required some planning to properly place the fuel depot, as the fuel depot would need to be away from the perimeter fence, and would also be servicing FaIRE Hockey. Earlier, I had sat down with my book and some friendly triangles, and worked out some geometry:

Construction Day 1 Math.
Construction Day 1 Math.
Construction Day 1 Very Exacting Trenching Diagram (now with even friendlier triangles!).
Construction Day 1 Very Exacting Trenching Diagram (now with even friendlier triangles!).

A new day dawns! We head to the portapotties to take care of essentials, and we notice that someone has kindly updated the signs for road ‘C’:

ChARNY.
ChARNY.

We started the build day by surveying the scene, starting with our beautiful first triangle:

Our beautiful triangle at the start of day 2 of building.
Our beautiful triangle at the start of day 2 of building.

One of our 4’x8′ ply sheets got a little tired and had to take a breather:

One of our 4'x8' ply sheets had to take a breather.
One of our 4’x8′ ply sheets had to take a breather.

We also surveyed the rest of the Charnival. Riskee Ball was looking nice and safe:

Riskee Ball day 2 morning.
Riskee Ball day 2 morning.

Francis was looking Fantastic:

Francis, looking Fantastic.
Francis, looking Fantastic.

And Pyrokinesis (foreground) looked like it wanted to burn the scary scaffolding to the ground:

Pyrokinesis (foreground) looking like it wants to burn the scary scaffolding.
Pyrokinesis (foreground) looking like it wants to burn the scary scaffolding.

Next: Day 2 of building!

[1]There are a lot of details here. Details of how we built will be a separate post, or several.

Burning Man in Pictures 2015 VII: A Chorus of Anvil

Yesterday, we started construction, and then ended up investigating a traveling variable forklift chased by bicycles[1]:

A variable forklift? Complete with chase group?
A variable forklift? Complete with chase group?

Following the variable forklift, we came upon a large group of people involved in a strange ritual:

A strange ritual.
A strange ritual.

For some reason, it seemed to involve firing of an anvil into the air, and multiple cars up on variable forklifts:

Another car up on a forklift?!?
Another car up on a forklift?!?

Here you can see the aftermath of the ritual, none of which really made any sense:

The aftermath of the ritual.  None of this really made any sense.
The aftermath of the ritual. None of this really made any sense.

Bewildered, we continued on our original quest, which was to commune with the Man:

The Man during the day.
The Man during the day.

Arriving back at camp, we were reminded of an experience earlier in the day, where we experienced one of those sublime moments, where you see a person totally focused on what they’re doing, and there’s almost a type of music:

The music of focus and solitude.

Arriving back at the Charnival, we saw that construction had progressed on Francis:

Francis the Fantastic construction continues!  Mirror Blaze parts in the foreground.
Francis the Fantastic construction continues! Mirror Blaze parts in the foreground.

We went around the front for a better look:

Francis the Fantastic, from the front.
Francis the Fantastic, from the front.

As night fell on the Charnival, we finally nailed down placement, and started to build:

Night falls on Charnival.
Night falls on Charnival.

Pausing only for a moment to see our first art car of the season:

Construction pauses as our plucky heroine catches a glimpse of her first art car of the season.
Construction pauses as our plucky heroine catches a glimpse of her first art car of the season.

Success! We’ve built the first triangular section!:

First Mirror Blaze triangle up!
First Mirror Blaze triangle up!

With a successful day of acclimation and construction, we retire to our yurt with our number one fan:

Our number one fan?
Our number one fan?

Tomorrow: How’s the rest of the Charnival going, and Heavy Construction!

[1]If this seems a little Mad Max-esque, that’s because much of it is.

Burning Man in Pictures 2015 VI: First Day of Construction and a Slight Case of Sideways

After arriving the previous evening, it was time to start construction on Mirror Blaze!

Looking around our campsite, you can see all the empty space, soon to be filled by campers, art, and activities. Note that we were camped on the ‘Esplanade’ this year, the main ring road. This is the layout of our camp[0], which may help in understanding the next couple of pics:

'The Hive' placement plan, giving you an idea of how much pre-planning goes into building even a small part of this city.
‘The Hive’ placement plan, giving you an idea of how much pre-planning goes into building even a small part of this city.

All the space you see in this picture will be filled, even moreso than the rest of the festival:

Empty Campsites...but not for long...
Empty Campsites…but not for long…

You can also see the beginnings of (I think)[1] the metal and cloth ‘Kaos Maze’ being put together by our neighbours:

The beginnings of a metal-and-cloth maze put up by our neighbours.
The beginnings of a metal-and-cloth maze put up by our neighbours.

Here in the foreground, you can see part of the space which will become Mirror Blaze, in the background, you can see an example of the ‘anti-logo’ art prevalent here. (One of the ten principles is ‘de-commodification’, implemented here by covering or otherwise altering all visible logos on-site.):

In the foreground, some of the space which will become Mirror Blaze.  In the background, an example of the 'anti-logo' art prevalent here.
In the foreground, some of the space which will become Mirror Blaze. In the background, an example of the ‘anti-logo’ art prevalent here.

As we were still waiting for other members of the Charnival to assemble so we could finalize the overall layout, we decided to assemble the lifeguard chair[2] from the parts that Rob had kindly built for us. To do so, we consulted the picture that I had taken during construction and testing:

To construct a lifeguard chair, you must first invent the photograph.
To construct a lifeguard chair, you must first invent the photograph.

However, during construction, we noticed that even though we had assembled all of the pieces in order (including our intrepid heroine!), we had somehow developed a severe case of sideways:

A slight case of sideways.
A slight case of sideways.

We gathered some of our best experts to try to debug the slight case of sideways:

Debugging the slight case of sideways.
Debugging the slight case of sideways.

While pondering this problem, we were looking around the Charnival grounds, and saw the Man in the distance:

The Man, in the distance, as seen from the Charnival grounds.
The Man, in the distance, as seen from the Charnival grounds.

Thinking that visiting and communing might help us solve the problem, we decided to venture forth:

We bravely venture forth, in search of answers to sideways...
We bravely venture forth, in search of answers to sideways…

Along the way, we saw a variable forklift, and decided (using the Dirk Gently Navigation Method) that we should follow them:

A variable forklift?  Complete with chase group?
A variable forklift? Complete with chase group?

What happened next? Tune in tomorrow!

[0]Would you believe it wasn’t until after the event, when I was looking at this picture that I finally put together ‘The Hive’ and ‘Full of Bees’?

[1]Sadly, we never fully investigated it, being too busy doing setup and running our installation.

[2]It sits outside Mirror Blaze so we can sit up top and see inside to make sure everyone is okay.

What do Numerical Software Development Estimates Actually Mean?

What do numerical software development estimates actually mean?

What do they mean for you?

(I’m talking especially about team-based estimation, such as that in ‘planning poker‘, but I’m guessing whatever conclusions we may have would hold for other methodologies.)

I see the general objective here as coming up with a number for each task, and a number for how much your team can typically do in an amount of time, such that these numbers are reasonably fungible.

Traditionally, estimates would be given in ‘programmer days’, or ‘wall clock time’, depending on whether you had read ‘The Mythical Man-Month‘ or not[1].

More recently, there has been a back-and-forth between ‘amounts of time’ and some sort of dimensionless unit called ‘complexity points’.

Various teams that I had been a part of struggled with ‘complexity points’. In their strictest definition, something which was simple and repetitive would be worth few ‘complexity points’, even though it would take many hours of some attention or nursemaiding to finish the task.

Strict ‘amounts of time’ are no better, because each person does each task at a different rate.

We had the most success with ‘relative complexity’, or taking some small and large tasks, assigning them numbers, then rating each of the other tasks with respect to these goalposts.

Even this has its limitiations, though. Fundamentally, they question you’re asking when you’re deciding to put something into a sprint is ‘can we still accomplish everything if we include this?’. Because of limiting reagents (specific people who are bottlenecks for many tasks) and interdependence between tasks, this can be problematic. The standard way of getting around this is to insist that all tasks are independent and small.

This worked reasonably well, it’s just that sometimes you need to rewrite or refactor an entire application.

What are your experiences? How have you dealt with this question? How many points would it be worth to research and present on this topic?

(This post came out of a fb conversation with D about what estimation numbers mean, and have meant at various times.)

[1]One of the upshots of this is an observation made by someone at work (I think F) which was that Gantt Charts are excellent for deriving dependencies, but terrible for estimation.

New Divisions of Five Management Roles

Yesterday, we talked about five management roles:

Performance Manager (Worker Evaluation)
Estimatrix (Estimator)
Product Owner (Prioritization)
Scrum Master (Removing Obstacles)
(People) Development Manager (Development Conversations)

In a traditional corporate structure, these five roles are combined in one person (your boss).

However, there are many ways to divide these roles, and many reasons to do so (the simplest being that different people are good at different things).

Valve famously has an incredibly flat structure, where each person has a set of peers (the rest of the company) who handle performance management, and all of the rest of the roles are performed by each person themselves. As they say, occasionally teams will form with people splitting off into roles, but that’s all dynamically allocated by the people involved.

Your standard ‘Scrum‘ Agile shop will tend to put the ‘Performance Management’ and ‘Development Management’ into a ‘People Manager’. ‘Estimation’ is done by the team as a whole, the ‘Scrum Master’ or ‘Obstacle Remover’ is traditionally not the people manager, but is a separate role. The ‘Product Owner’ can be the ‘People Manager’, or someone else, sometimes an external product or project manager, but is generally not the same person as the ‘Scrum Master’.

I would argue that this tension between prioritization and removing obstacles is one of the reasons the system works better than many.

There seems to be a growing trend to separate Performance from Development[1], with some companies having separate reviews in different parts of the year for each of these. This can be especially helpful as many people are unlikely to be relaxed enough to think about how to take beneficial risks in the future when they’re tied up in knots about whether their boss wants to fire them.

I think it might make sense to push this to its logical conclusion, and have separate people for these separate roles in a company. The ‘Development’ role feels almost like a traditional HR thing, but I feel like to best serve employees, it would really need to be a separate department, called ’employee growth’ or something similar.

What do you think? What have you heard about how different organizations split these roles? How do you think they should be split?

[1]Development as in ‘where is your career going?’

How do You Think Before You Speak?

I’ve talked a lot about the speed involved and possibly required for retorts and humour, but not all conversation is retorts and counter-retorts[1].

For example, you’re giving a speech or lesson, and someone asks you a question. Many of the same tactics are helpful. It’s helpful to know your audience, to have an idea of their background(s), which types of words will work best for explaining things, and to have an idea of what they perceive the relative level of hierarchy is between you and them.

But once you have an idea of these things, what do you do?

This trigger for this post was an article reporting on Jon Stewart talking about how Hillary Clinton pauses for a few seconds between a question and when she answers[2]:


…“It’s — look, there are politicians who are either rendering their inauthenticity in real enough time to appear authentic, and then their are politicians who render their inauthenticity through — it’s like, when your computer … if you have a Mac and you want to play a Microsoft game on it …”

AXELROD: Yes, yes.

STEWART: … and there’s that weird lag.

AXELROD: Yes. No, I mean …

STEWART: That’s Hillary Clinton.

AXELROD: … that’s a big problem. There’s like a seven-second delay and all the words come out in a perfectly …

STEWART: Right.

AXELROD: … politically calibrated sentence.

STEWART: Right. Now, what gives me hope in that is that there’s a delay, which means she’s somehow fighting something. I’ve seen politicians who don’t have that delay and render their inauthenticity in real time, and that’s when you go, ‘That’s a sociopath.’

So, when you’re answering a difficult question, do you pause? Why? For how long?

For me, it depends on the type of question. For emotionally difficult questions, some of it is finding a neutral[3] perspective from which to address the question, to speak to the person(s) asking the question in a positive and useful way. Sometimes it’s choosing the appropriate emotional outlet[4] for whatever I’m feeling at the time.

For technically difficult questions, it feels much more like assembling a mental model in my head, or choosing between different visualizations/places to start. Parts of this can feel similar to emotionally difficult questions (perspectives vs. visualizations), but to me they feel quite different[5].

So, how does this work for you?

[1]No matter how much bash.org would want you to think so. (Note that outside that page, bash.org is quite unfiltered internet. You have been warned.)

[2] Article is here. In a footnote because the editorializing in the article is outside the scope of this post.

[3]In the emotional perspective sense.

[4]This is often laughter for later when I’m alone. I mean, really, we’re just ape-like creatures who don’t know the first thing about ourselves. Why are we getting all angry about minutiae? This can only be funny.

[5]Now that I say this, I’ll have to watch next time. But something getting my back[6] up really feels different from trying to focus and assemble a visualization. Maybe being able to relax for all types of questions would make them more similar.

[6]Back hackles?

Picard: Is Truth More Lawful or Good?

So, I was reading some internet forums associated with one of my favourite webcomics, and an argument came up about Captain Picard’s ‘alignment’.

“That’s a really good one. (Although I don’t watch enough star trek to recognize the LN guy)It’s Captain Picard. You could make a case for him being Lawful Good, just not that friendly, but LN suits him just as well.”

(A brief aside. ‘Alignment’ in this context is from Dungeons & Dragons, where each character is considered to be aligned along two axes, ‘lawful-neutral-chaotic’ (respect for the rule of law) and ‘good-neutral-evil’ (good of the many vs. good of the few). This gives 9 ‘alignments’, from ‘lawful-good’ to ‘chaotic-evil.)

Some had him as ‘lawful-good’, or trying to do the best for the many while respecting laws. some had him as ‘lawful-neutral’, where adherence to laws is more important than the good of the many. I can see the ‘lawful-neutral’ interpretation, just from listening to one of his quotes:

“The Prime Directive is not just a set of rules; it is a philosophy… and a very correct one. History has proven again and again that whenever mankind interferes with a less developed civilization, no matter how well intentioned that interference may be, the results are invariably disastrous.”

It seems at first blush that here the law (the Prime Directive) is more important than any group of pre-warp civilizations[1].

Another famous quote:

“The first duty of every Starfleet officer is to the truth, whether it’s scientific truth, or historical truth, or personal truth! It is the guiding principle on which Starfleet is based, and if you can’t find it within yourself to stand up and tell the truth about what happened, you don’t deserve to wear that uniform.”[2]

So we have two questions here:

1) Is adherence to the Prime Directive more ‘lawful’ or ‘good’?

2) Is Truth more ‘lawful’ or ‘good’?

1) The Prime Directive ostensibly has the interests of the many (the inhabitants of a pre-warp planet) outweighing the interests of the few (those few people who would exploit them).

And indeed, when the Prime Directive does not have their best interests in mind, Picard tends to look for exceptions.

Although there are times when he seems perfectly willing to let a planet’s culture perish to avoid interference.

So, I would count this as the Prime Directive is a ‘law’ that is mostly ‘good’, and Picard usually tries to move it towards ‘good’ when there is wiggle room. At the same time, when the ‘law’ conflicts with the ‘good’, sometimes (but seldom) he chooses ‘law’, so ‘lawful-good’ seems appropriate.

2) Now, let’s look at truth. Another quote seems to be in order here:

“Journalism is printing what someone else does not want printed: everything else is public relations.”[3]

This would suggest that barring violating the Prime Directive above, truth should be ‘good’, specifically the speaking of truth to power. (I think that’s what actually necessitates the Prime Directive, else if truth was pre-eminent, interference to tell people the error of their ways would be a very convenient excuse.)

So, truth is probably ‘good’. Is it ‘lawful’? You could make the argument that adherence to truth is equivalent to a code of honour[4], and it’s just as important (or more important) to do things the right way as to reach your objective. So, truth can be either or both of ‘lawful’ and ‘good’. The quote above from ‘The First Duty‘ is speaking about the good of the many (Starfleet, the reputation of his dead friend, and the trust between Starfleet officers) outweighs the good of the few (Wesley’s year of school, his reputation), so I’d call this a meeting of ‘lawful’ and ‘good’.

I’d say Picard is pretty firmly ‘lawful-good’, with some ‘neutral-good’ leanings (bending the rules to help people) and some ‘lawful-neutral’ leanings (sometime rules are absolute).

Thoughts? Comment below!

[1]Leaving out the non-interference in the Klingon civil war as out of scope.

[2]That quote also appears here:

[3]Note that George Orwell is most frequently associated with this quote, as is William Randolph Hearst. The actual source seems unclear. I enjoyed a number of the humorous takes on the quote in that article.

[4]No, not the episode. And I’m not linking to it.

The Name’s the Thing

Last week, I was talking with D, and he mentioned that the name of this blog ‘Sometimes Egregious, Always Gregarious’, because the words are more complex than necessary, because many people don’t know what ‘egregious’ means[1], might turn people away[2], and thus be unduly limiting. In a way, it might act as a filter on those who might read it.

I responded that I don’t see it that way at all. I chose those words because they seemed to fit, and when I looked back, I could find many reasons why that was so[3].

Some might say that my entire blog is itself a filter, and I’m the only one that would enjoy it in its entirety. I am at peace with this notion. At the moment, I’m writing the things that I want to write that I think people might be interested in. Sometimes I’m wrong, sometimes it’s a completely different audience than the previous post.

At the same time, I use the words that flow naturally when I’m talking about a particular topic. As when I’m teaching, I try to notice when I’m talking about something when not everyone would have the appropriate background, and I’m sure jargon will creep in, as it’s useful for being precise and concise. (Also, I love big words, I love the sound and taste of them, and I could never fully give them up.)

[1]Interesting that ‘gregarious’ is considered much more common. They seem pretty similar to me, but what do I know?

[2]Also, ‘‘ feels easy to me, but I realize many people read on mobile.

[3]I’m also really enjoying having some of these thoughts I’ve had kicking around in my head now in blog posts, so that I can refer to them as a link rather than having to write them out each time.