On this page:

Microsoft Excel: Converting a summary table / crosstab back into data rows

I recently wanted to transform a summary table of the form:

2014-10-15 20_36_58-Microsoft Excel - Book2

into a table with rows of (activity, date, value) so that I could add columns for year and month and then analyze the data using a pivot table.

It turns out that you can do this with another pivot table, yay! I followed this tutorial to convert my summary columns into data rows using Microsoft Excel 2010.

  1. Press Alt-D, P to get to the secret pivot table wizard that’s different from the one you get from Insert > Pivot table.
  2. Choose Multiple consolidation ranges. Click Next.
  3. Choose I will create the page fields. Click Next.
  4. Select the range and add it. Go through the rest of the wizard to create a pivot table.
  5. Remove the row and column fields.
  6. Double-click on the total.

You should now see a table with the data from your crosstab.

2014-10-15 20_43_25-Microsoft Excel - Book2

Neato! Pivot tables are even cooler than I thought.

Weekly review: Week ending October 17, 2014

We spent most of this weekend shopping for winter coats. W- and I are both on the smallish side, so it can be difficult to find things in our sizes later in the season. I bought a waterproof 3-in-1 jacket and a compatible down jacket that zips into the outer shell. I’m also experimenting with replacing my belt bag with a vest that has lots and lots of pockets. So far, this is working out well. W- hasn’t been able to find a coat that he’s happy with, though, so the search continues.

It’s also been a week for get-togethers: celebration dinners at work, Thanksgiving and anniversary dinners with family, other get-togethers with friends… The Hacklab launch party is this weekend, and I’m looking forward to helping with that. =)

Oh! And I bumped into a Hacklab member who’s learning R and who had good things to say about the Coursera course, so now I’m trying that. I still have a hard time sitting still for lectures, so instead I focus on taking the quizzes and doing the programming projects.

Lots of learning and connecting!

Blog posts

Focus areas and time review

  • Business (39.4h – 23%)
    • Earn (25.1h – 63% of Business)
      • E1: Attend celebrations
      • Interview potential accountant/bookkeeper
      • E1: Pick up pass
      • E1: Update analytics
      • Earn: E1: 2.5-3.5 days of consulting
    • Build (4.2h – 10% of Business)
      • Drawing (0.9h)
      • Delegation (1.2h)
      • Packaging (0.0h)
      • Paperwork (0.0h)
    • Connect (10.0h – 25% of Business)
      • Plan for office hours
  • Relationships (12.4h – 7%)
    • Attend Jade’s party
    • Get more kitchen things
    • Go to Thanksgiving thing
    • Help look for winter coat
    • Make egg tarts
    • Repackage spices in mason jars
  • Discretionary – Productive (4.4h – 2%)
    • Emacs (0.0h – 0% of all)
    • Buy winter coat
    • Have massage
    • Re-set-up dev environment for Quantified Awesome
    • Get passport pictures
    • Start working on kitchen organizer
    • Writing (2.5h)
  • Discretionary – Play (9.6h – 5%)
  • Personal routines (20.4h – 12%)
  • Unpaid work (23.1h – 13%)
  • Sleep (58.8h – 35% – average of 8.4 per day)

Sometimes – often – I don’t feel like making conversation

My default state is quiet. I rarely listen to music while I work, unless I need to make it easier to ignore background conversations. I often find one-on-one conversations awkward. I like group conversations because other people can tell stories or ask questions, and I can dip into or out of the conversation when I want. So Hacklab tends to work for me, since there are occasionally good group conversations there, and people are friends with each other.

2014-10-06 Sometimes - often - I don't feel like making conversation

2014-10-06 Sometimes – often – I don’t feel like making conversation

I started to write a blog post about preparing for winter, something along the lines of being less social because of the activation costs of having to put on coats and take the subway instead of the bike. But I started looking at the numbers from my time tracking (counting both business-related and social non-family connecting time), and I’ve actually been less social in summer. I suppose it makes sense – meetups go on hiatus, people have other plans, and I’m off enjoying quiet time gardening or biking.

2014-10-15 20_25_51-Microsoft Excel - Book2

So maybe this fall and winter will be more social after all. Maybe I’ll make it out to Hacklab once or twice a week, and maybe I’ll start checking out meetups again. It’s good to practice connecting with people in person — although it’s certainly quite tempting to stay home, too. I have the sneaky suspicion that these online conversations might even be more worthwhile and longer-lasting. Still, there’s time to experiment with things, so why not?

More lessons learned from the recent sprints

Now that we’re (mostly) done with the conference and the major system upgrade, I could relax and go back to my old schedule of working a few days a week. But this consulting contract is winding down soon, so it also makes sense for me to spend the extra time helping team members learn, polishing up prototypes, and braindumping as many notes as I can into the internal social network. The more of my brain I can externalize, the more other people can build on, and the easier it will be to pick it up again even after some delay.

The next week or two won’t have as much of a workload as we had during the conference. On a scale of 1 to 10, with 10 being super-intense (cutting into sleep), I’d say that the conference was probably around 8: I managed to do lots of work and get enough sleep, but I didn’t do much else. These next few weeks will probably be around 5-7. I can still help out with things at home and with Hacklab and I’m totally okay with spending a little time playing video games (W- and I are currently playing Persona 3), but I’m holding off on personal projects until I have more brainspace.

Anyway, for the next time that I need to prepare for intense days (something like 8-10 on that scale), here’s something I drew in mid-September. I’ve updated it with notes on how things actually worked out.

2014-09-15 Preparing for intense days

2014-09-15 Preparing for intense days

  • Avoid long stretches of work. Coding is better when well-rested.
    • This worked out okay. I coded a lot, but I switched between coding different types of things.
  • Go to bed early. Get 8.5-9 hours of sleep; more if you anticipate anxiety.
    • Yup! Managed to get plenty of sleep.
  • Pick one thing. Focus on it.
    • Mostly managed this.
  • Minimal computer or phone use in the evening. Draw instead, as a way of braindumping/thinking. Index cards can be useful for jotting down thoughts.
    • As you can see, I’m still processing the notes from then. =)
  • Minimal socializing – use the time to recharge and prepare the foundation. Spend time with W- taking care of things. Guiltlessly reschedule other things.
    • Worked out well. Substituted money for time when it came to Hacklab.
  • It’s okay to take the subway instead of biking to work – minimize risk
    • I even took a few cabs! Boggle.
  • Still go jogging with W- when weather and schedule permit; if not, do exercise ladder at home.
    • I want to reestablish this habit. Not ingrained yet.
  • Eat freezer meals; get takeout if necessary. (Or frozen lunches from stores as stopgaps? They’re not as nice, though.) Bulk-cook easy recipes (rice & lentils, congee, curry).
    • We ended up ordering pizza a few times. At work, people had food delivered too. It was nice to return to home-cooked meals, though!
  • Keep the end in mind (reason and number of days).
    • That was helpful. =)

I don’t often go on work sprints like that, but it’s nice to know our lifestyle can handle it!

Tablet thoughts

I have an Asus Transformer Pad Infinity (TF700T), which I got shortly after its release because I was curious about exploring tablets as a sketchnoting option but I was adamantly opposed to getting an Apple product. I should probably have waited for the reviews to come in, since the TF700T turned out to be a lemon (apparently the processor wasn’t quite up to the task of driving the display) and by the time I sat down and focused on getting past all the excuses and all the potential configuration options for speeding things up, the return window had passed. I suppose I could try to sell it, but it doesn’t seem right to inflict the same problem on someone else.

Anyway, I’ve reflashed it to CROMBi, which the Internet says is supposed to be much better. While I’m waiting for everything to be set up again, I want to think about how a tablet could fit into my life and make things better. That way, I can decide if it’s worth spending the time fixing this up, spending the money to upgrade to a newer tablet, or leaving well enough alone.

What do other people use their tablets for, and what other uses might I want to explore?

  • Business
    • Reading could be handy, especially as a second screen for technical references.
    • Lightweight device for writing in cafes? My laptop isn’t that heavy, but I could give it a try.
    • Browsing? Maybe, if I can get performance up.
    • E-mail? My phone is more convenient.
    • Reviewing my sketches? Maybe, if I can fix the lag issue.
    • Drawing on this tablet? Frustrating because of the lag.
  • Personal
    • Cooking? It might be handy to have large copies of recipes and maybe even a digital shopping list.
    • Browsing? The attentional separation of doing casual browsing on a separate device might be good for training my mind.
    • Learning? Flashcards, perhaps?
    • Watching stuff? I rarely watch movies, and when I do, I watch them on the TV so I can hang out on the sofa with W-.
    • Gaming? That’s popular.
    • Some kind of home console, with weather, calendar, and a shopping list? Maybe, but it seems like overkill.

Ah, tech!

Reflecting on my growth as a programmer

One of the things I realized from dealing with that programming issue is that I don’t have a mature development workflow for front-end work yet. On previous projects, I focused mostly on back-end development. I had somewhat gotten the hang of test-driven development and code coverage when using Rails before, and I set up an issue tracker for my previous teams. For my main consulting engagement, I shifted to working on mostly HTML, Javascript, and CSS. I’d handled a bit of that before, but we usually worked with designers who did most of the heavy lifting (and the cross-browser fiddliness). Over the past two years,  I picked up more JQuery and Angular, fought with Internet Explorer 7 and then 8, and explored Chrome’s developer tools a bit more.

I didn’t have things quite set up the way I think other people have. I felt mildly guilty about installing programs that were not available from the client’s internal software site, although Emacs was definitely worth the twinge of unease. Even the version control I used was ad-hoc, using Git on my computer to manage snippets for copying and pasting. I still haven’t mastered the Javascript debugger in Google Chrome, much less the tools available for other browsers. (Hence all the grief Internet Explorer gave me.) I didn’t have a test framework set up, so I often committed regression errors and other mistakes. I haven’t yet internalized all the cool development tools in Emacs, like Smartparens and Magit. (I’m slowly getting the hang of multiple-cursors-mode, though!) In terms of workflow maturity, I felt more like someone a few years out of university (or maybe even someone in their final year of classes!), and definitely like someone cobbling things together instead of picking up practices from a well-running team.

My main consulting engagement is coming to a close, but I’m looking forward to learning more about the craft of software development. I have a few personal projects to practise on, and it might be easier to Do The Right Thing when you’re less worried about potentially wasting the client’s time. I’m looking forward to familiarizing myself with more of the nifty features in Emacs. I’m also looking forward to immersing myself in the right ways to do things with popular frameworks, including testing and deployment.

I’d like to become a good programmer someday. What would that be like? For the particular way that I work–a generalist pulling together different things quickly–a good programmer might be one who has a neatly organized library of snippets, and who writes modular code with simple tests that exercise different functionality. Using a debugger, the good programmer would be able to dig into other people’s code, figuring out even things that aren’t documented. That programmer would also be able to quickly prototype and build well-designed interfaces. Things don’t have to win awards, but the interface shouldn’t get in the way. An even better programmer would have the ability to coordinate other programmers, improving people’s results by helping them work on both a tactical and strategic level.

Someday!

2014-09-15 Reflecting on my growth as a programmer

2014-09-15 Reflecting on my growth as a programmer