The sound of open space is mouse clicks.
Like cracking Aegina’s pistachios all the time.
Noise cancellation works.
If you have a 2012 nexus 7 by now either you’ve installed Lollipop and you complain about the machine’s behavior, or you’re reading other people’s gripes. Mine is running Android 5.1 now and here is what I did to make it bearable to work with:
- I disabled GPS location.
- I have locked orientation to Portrait (Portrait or Landscape does not matter, just lock it to somehing).
- I’ve disabled keyboard gestures.
- I’ve put the tablet into developer mode and I disabled Window animation scale, Transition animation scale and Animator duration scale. I’ve also limited the background processes to 3 instead of the default limit. However, keep in mind that if you switch off the machine, when switching it back on, you need to set it back to 3 processes.
- I am now using Firefox for Android as the default web browser.
- I have also done a factory defaults on the machine to deal with TRIM. Normally you shouldn’t have to with Android 5.0 but I did it anyway.
I am using this tablet as a Kindle Reader, Google Play Books Reader, Aldiko Reader, and the occasional social media. No Google+, no Youtube (no video whatsoever). Original Angry Birds from Play Store seems to behave. From time to time the machine locks up (about once a day) but I am keeping it for now.
This is basically an effort to rehash Conway’s Recipe for Success for DevOps:
Work on several problems at a time
Conway was working with six problems at a time as a means to battle depression by failing to conquer a specific problem. Six problems are enough to fit your daily mood. It is more than one per day anyway. In DevOps the software stack you need to coordinate just to make your app go live is so versatile that there is always something you can work on daily even if your primary focus seems stalled. Beware though since this is also a way to not make any work at all. You can eat an elephant but somehow we seem to attract hordes of them. And then you can just stare at the monitor Hopeless.
A good strategy to combat this is what I once heard «type A people procrastinate by doing other things». Your stack has more than six components, you can easily have more than six fallbacks should you get stuck.
If anything, please try and don’t ever break your rhythm. Interrupts cost. Context switching too.
Pick your problems with specific goals in mind
This is one thing that I suffer a lot. Everything is cool. And I want / need to know everything. In acceptable depth. Today. But this is not feasible even if we have 25h per day and no sleep. So, IMHO (and I try hard to do so) the plan is to pick problems with two goals in mind: Your current job and «the dream job» you want to land on.
The difficult and important problem for Conway. The Architecture problem in the DevOps case. Is your running Architecture OK? Does it need improvements? Do you need something completely new? Are you to invent the next lambda architecture? How are you going to make your dent in the circle?
(Yes, you have to try to make a dent in the circle even if you’re not pursuing a PhD.)
Big problems mean big delays most of the time. And in trying to solve big problems you need practice. So you need to have an arsenal of problems you can work on that you can solve. They may be boring or even need repeated tedious tasks performed by you. Automate yourself out of them if you can. Flex your brain muscle so that you can work on the big stuff properly warmed up. Your current setup always has clear steps that you can walk forward. Nothing fancy that you could give a speech about, but something that you can complete during the day and feel good about it.
I do not have a book project on my own. But over the last 20 years there have been two books that I wish I could find time to revise. I have a friend though that just finished writing a book and he seems pretty happy with the result.
If you’re writing a book, consider this as yet another problem you’re working on. If you’re not writing a book, well write something. There is always less documentation than needed.
Read a book by the way. Make reading books your book project. That’s mine too.
You should always have at least one problem that you do for fun said Conway. Well I guess we have Github for that, don’t we? I think my current fun project will be cryptopals. Let’s see for how long.
Enjoy your life
Happiness is the single productivity booster that one can think of. Grief and depression the best demoralisers. This post about Karojisatsu really shook me. And it came during a time that I was seriously thinking about DevOps inflicted depression.
I still have no generally applicable tricks about that.
In a sign of how Carter intends to challenge his commanders’ thinking, he has banned them from making any PowerPoint presentations — a backbone feature of most U.S. military briefings.
Could it be that such presentations have become an integral part in briefings because of Patterns of Conflict? I cannot tell, but it sure is the most known military presentation outside the military world.
But where had I seen banning presentations before? Ah, Louis Gerstner at the decks:
At that time, the standard format of any important IBM meeting was a presentation using overhead projectors and graphics that IBMers called «foils» [projected transparencies]. Nick [a division head] was on his second foil when I stepped to the table and, as politely as I could in front of his team, switched off the projector. After a long moment of awkward silence, I simply said, «Let’s just talk about your business.»
[ This draft has been gathering dust for a few years, so I am posting it because what the heck, I’ve written it ]
I found out about dotplots while reading «Algorithms on Strings» (thanks to Bill Gasarch) an impressive book by the way, that easily makes it to the top-5 CS books I’ve read. It may well be one of the most complete works on the subject fulfilling simultaneously the needs of those who want to read the theory, see the proofs and/or write code (for it contains well understood pseudocode). But I digress.
Dotplots are tables that can be used to compare sequences (and therefore strings) and can reveal hidden patterns that may not be observable with other methods. They are in use for decades and known to people who work on computational biology (see for example «A high speed, high capacity homology matrix: zooming through SV40 and polyoma«)
Definition: Given two strings x and y with lengths m and n respectively we define a table Dot (the dotplot) of size m×n such that Dot[i][j] is true if x[i] equals y[j] and false otherwise.
Using the book example sequences ACGT and ATGCTACG we get the dotplot:
ATGCTACG A*....*.. C...*..*. G..*....* T.*..*...
To interpret a dotplot we observe that diagonals express similarities and antidiagonals reveal the existence of a substring in reverse order. In a similar fashion horizontal lines represent insertions and vertical lines deletions that lead from one (sub)string to the other. One can therefore think of a dotplot as a kind of visual grep.
Dotplots find usage outside computational biology. They can be used for text analysis and even translated plagiarism! However, the screen real estate is not big enough to use for comparisons that involve for example the source code of the X Window System and techniques mentioned in «Dotplot: a Program for Exploring Self-Similarity in Millions of Lines of Text and Code» and «Dotplot Patterns: A Literal Look at Pattern Languages» can be used. Both papers contain really interesting applications of dotplots and explanations of the visual patterns that occur. See for example:
As shown by the ASCII example above, it is very easy to create proof-of-concept dotplots. But character based dotplots are limited by screen space. In fact I set out to create my own version of a dotplot program using gnuplot for the graphical stuff. Building a basic dotplotter is really easy once you read the techniques presented in Helfman’s papers but the result might not be as «good looking» as the ones that Helfman has done. To build cool dotplots, it may be needed to customize your software appropriately. For example, to dotplot source code, your program might need to have parsing capabilities for the language in question (for example two for loops might be similar to another when you look at it, but whitespace might make them look different to a simplistic dotplot builder).
[ There is not going to be a part2. Originally I wanted to experiment with dotplots and spam, but I am not a postmaster anymore, so I’ll leave it to the next interested postmaster. ]
I bought Comeblack when it popped up in Spotify while searching for Rock You Like A Hurricane. It contains 7 re-recordings (I particularly like The Zoo) of their best songs of my school years and 7 covers of songs by other artists, the best execution being Tainted Love for me.
Well if you are to make a Crazy Eight, you are only just a step away from making a PocketMod to fold the design and put it in your pocket:
I am carrying a PocketMod with me all the time ever since I read Time Management for System Administrators by Tom Limoncelli. I dump anything I can think of, no matter how crazy on the PocketMod beside me. Plus it works almost like the (now defunct for copyright reasons) NotePod:
Funny brain connections in the morning I guess.