How not to go back in time using git (equivalent of svn revert)
Update: I recovered my lost commit by following the directions here. In addition, I had to create a branch from this commit using chekcout -b
. I then switch to the master
branch and merged the temporary branch into master
It has been written posted that git revert
is not the same as svn revert
. That’s true.
However, there have been suggestions that the equivalent is git reset --hard
commit. I just did this. It isn’t good. Luckily, I didn’t lose muchany data. However, doing a --hard
means that you reset the index back in time, too–not just your working copy.
I’ll admit that I don’t understand git very well. I’m not entirely sure (now that I’ve gone back in time) how to bring myself back to the future.
Essentially git reset
means that you want to get rid of changes in your repository: not merely go back in time, see what things looked like, and move forward in time.
Anyway, a safer thing (for me to have done) would be git checkout
commit.
The git manual specifically says:
–hard
Matches the working tree and index to that of the tree being switched to. Any changes to tracked files in the working tree since commit are lost.
Wonder if I’m too feeble to be MacGyver and need a James Bond. On the other hand, now that I’ve learned this lesson, maybe I’m better off sticking here.
Metric: Stadium Love
[mp3 keywords=”Metric Stadium Love” title=”Stadium Love”]
“No one is getting out”
GTD Seminar
A few weeks ago, I got to go to the David Allen Company’s “Mastering Workflow” Seminar. I’m glad I did. The seminar resolved several misconceptions I had about how GTD works, despite my owning Getting Things Done: The Art of Stress-Free Productivity in both text and audio form.
The seminar was lead by Chris McIntyre. He was an impressive presenter. I noticed that he immediately asked who had read the book and was implementing the system. He asked those who raised their hand what they liked about the system. Very smart: I’ve seen many a presentation get derailed by “experts” who want to either show their knowledge or derail the presenter. By identifying the “experts”, Chris recognized their expertise and brought them into the fold.
The seminar isolated several reasons why GTD wasn’t working as effectively for me as it could be:
- Processing: I (for some reason) didn’t get that one should process all inboxes once a day. I was tending to do it as part of the weekly review, which left me feeling very behind. I thought I was deviating from the system when I processed more often. In addition, since I wasn’t sure I was going to process daily, I tended to try to process things as they came—which disrupted my focus.
- Collecting: Ask, “Do I need more collection buckets or less?” I tried my best to have just one bucket. However, that’s a bit unreasonable. There’s an optimal value for each person (and it probably changes from month to month).
- Someday/Maybe: I never could figure out whether I should put more or fewer items on the S/M list (versus the next-action context lists). The answer: are you repelled by the number of actions on your next-action lists? If so, move some of them to the Someday/Maybe list.
- Multiple Someday/Maybe lists: There’s no reason to have one. If there’s a major project you want to do sometime in the future, you can have a separate list for that.
- Email: I try to follow the 3-folder arrangement (Inbox, Follow-Up, Archive). However, what I didn’t realize was that instead of processing things in my inbox, I was deferring them by putting them in the “Follow-Up” folder. When an action needs to be performed on an email, it should go in the Follow-Up folder, but the action needs to get recorded somewhere (@Email for example).
- Action Support: If something wasn’t in my inbox, it was either in trash or in a Reference file. I found myself creating new filing folders for even the smallest things. Instead, Chris recommends having an “Action Support” folder for active things. This really simplified my filing. I didn’t need to create a “tuition” file just so I can pay the tuition. Technically, my wife came up with this idea before I went to the seminar, but I didn’t listen.
- Ticklers: I could never figure out how to separate between a tickler file and a Someday/Maybe. Chris cleared up the confusion by pointing out that the Someday/Maybe list gets checked every week (during your weekly review), while the tickler gets checked on a specific day/month. I asked whether I could use a calendar for this purpose. The answer was yes, except that a tickler file is useful if you want the actual object (bill, concert tickets, etc.) to be the reminder.
- Managing No’s (Someday/Maybe): The Someday/Maybe list is a way of not making an agreement. Trick to managing your next-actions is to figure out how much you can do this week.
I had a few other random, non-actionable thoughts:
- Did David Allen come up with the runway, 10,000-foot, 50,000-foot model due to his consulting relationship with Lockheed-Martin? Perhaps it was the best metaphor for the clientele. Perhaps their nomenclature inspired him.
- Capture everything: I always thought GTD was compulsive in the habit of capturing everything even if it’s not important. However, I think the reason for this is that there are things that we just don’t want to do (we want to procrastinate) and leaving the decision of what to capture to your intuition can be dangerous. It’s better to retain everything and analyze it clearly.
The biggest thing I learned from the seminar was that I need to experiment more. I had taken the GTD methodology to be a mandate. However, during the seminar, Chris McIntyre makes it clear that the GTD recommendations are merely practices that have been found to be effective. I’ve found that my ideal GTD system as the following traits (personal preferences):
- Very little setup: things such as contexts, etc., should not require setup. I should be able to add/remove contexts on demand.
- Printing: I find it hard to organize work (that’s usually on a computer) with a computer. It’s nice to have a printed checklist.
- Computer automation: I find it tedious to do things (such as match a project with an action) that can be automated.
- Paper capture: …however, I can draw diagrams and capture information much easier on paper.
GTD isn’t for everyone, but I’m getting much more value out of it now that I understand it better. Before, it seemed overly complicated. Now it seems a simpler and effective.
In a future post, I’ll describe the GTD system that I’m using now.
David Garza: Black Music
[mp3 keywords=”David Garza Black Music” title=”Black Music”]
Really like the pause between the “she likes that…” and “…black music.”
Mountain Goats: Sept 15th 1983
Originally, I thought this song was about Menachem Begin.
[mp3 keywords=”Mountain Goats Sept 15th 1983″ title=”Sept 15th 1983″]
I later found out that it describes an tragic, unjust scene and the song became closer and more haunting.
GTD in Review
This last week, I took a GTD training seminar (led by Chris McIntyre). I thoroughly enjoyed it and decided to get back on the wagon. I’ve come up with a system that works for me (so far), but I decided I should post a review of some things that didn’t work.
I started picking up GTD in October of 2006. I decided I wanted work to just be easier. I had recently moved from Freescale to Motorola, which made my commute and therefore my work day much simpler. I wanted more of the same big gains and isolated GTD as a way of making my work-life easier.
I used a Windows Weekly coupon (from twit.tv) to get an audible free download and downloaded the audiobook. I tried to jump in it, surveying as much software as possible. I later bought the book.
I eventually gave up around November of 2009, when I moved from Motorola to Infinium.
Here are a list of approaches I tried:
- Thinking Rock
- Chandler
- TiddlyWiki (MonkeyGTD and d-cubed)
- Rainlendar
- 2-subject notebook
- 3×5-card based system
Thinking Rock
I picked up thinking rock because it was described as closely following the GTD methodology. The program itself includes the GTD processing diagram.
The problem was that it was slow—both in terms of the actual application performance, but more importantly, I found that there were just so many fields to populate and task/project entry was therefore difficult.
Chandler
I got on the Chandler bandwagon pretty early. It’s main attractive feature was the ability to sync between a server (Chandler hub), WebDAV, and email. I liked its ability to “tag” rather than categorize (Chandler collections are essentially tags). However, I often found myself without a computer (especially at home) and therefore without
MonkeyGTD
Out of the computer-based approaches, I probably liked MonkeyGTD the best (tied with Rainlendar). This was an earlier version of MonkeyGTD. Entry was easy. I even created an AutoHotkey script that would add items to the MonkeyGTD file. I was also able to embed my Google calendar right in MonkeyGTD. The print facility (and ability to customize it using CSS) was also very nice.
I eventually stopped using MonkeyGTD when I was put on an important deadline. I decided I needed something that handled both tasks and calendaring in one application.
Rainlendar
I then went to Rainlendar. Rainlendar is essentially a calendaring application, but it has some unique and powerful features. Most notably, it allows URL links in tasks and events. (More on this later) It handles tasks very well. It doesn’t natively include GTD identifiers such as project, context, etc. However, they translate very easily to Rainlendar (or any iCal-based application) as category and location. It’s highly customizable in its presentation. In addition, it has a fairly good print facility.
I ended up writing a small Python program to parse the iCal file used by Rainlendar and spit out a task list, by context (location). This allowed me to take things on the go.
I was using Rainlendar with WikidPad. Rainlendar would handle all my GTD stuff and WikidPad would hold reference information and logs. (I did try WikidPad for GTD, but I found it clunky at the time—and it didn’t include a true calendar.)
One of the things I liked the best about Rainlendar was the fact that one could enter locations (“contexts”) on the fly. In most other systems, you have to set up a fixed number of contexts (@Home, @Office, @Errand, @Call). The thing I learned from adopting this system was that contexts should be able to change on the fly. If I want to create a context for drinks with my friends, I should be able to type in @Beer at any time. (Okay, I’d be more likely to put @Cider).
2-Subject Notebook
I finally decided that all the time I spent tweaking computer-based GTD applications and researching others wasn’t worth it. I found that a computer-based GTD system was more distractive: every time I sat down at the computer to review my list, I would end up doing something else on the computer.
So, I decided I needed to go back to basics and implement the GTD system in a paper-based form. I’ll confessed: I actually used 2 sections of a 3-subject notebook. The first section would handle “projects” (a GTD term I still don’t like). The second section would handle “next actions” (another GTD term that I like). The second section is divided up into “contexts” (a GTD term that I’m fine with) with a context per page.
I numbered each item in each section. So, each project gets a number and each task gets a number. The numbering format is <pagenumber>.<projectnumber>. So, for example, on page 1 of the “project” section, I might have:
1.1 Personal Blog => 1.1
1.2 Front Lawn => 2.1
Page 1 of the “context” section might have:
@Online
1.1 Compare blogging providers for personal blog (1.1)
Page 2 of the “context” section might have:
@Errand
2.1 Buy grass seed and starter fertilizer (1.2)
So, by placing numbers next to each project, I keep track of the next action for each project. Similarly, next to each task, there’s a reference back to the project.
My weekly review involved going through the project list and seeing if the task was done. If it was, I needed to come up with a new task (or cross out the project itself). I decided that even single-action open-loops would get a project. (I tended to flip-flop on whether this was a good thing or not—and still don’t know.)
The main problem with this system was that weekly reviews were tough. I’d constantly be flipping between the two sections of the notebook. It got very tedious.
3×5-card based system
I next decided that carrying the 2-subject notebook around was too difficult. I decided that I should use 3×5 cards to hold project and task information. (I was using a hipster PDA for capture for a while.)
I formatted the cards as follows:
- Each project would get a card. The project name would be written at the top.
- Each task would get a line on the card.
- I bought a set of plastic 3×5 folders from Levenger, and assigned a context to each folder.
So, for example, my “Front Lawn” project would have its own 3×5 card with the task “Buy grass seed and starter fertilizer”. I’d therefore put it in the @Errands folder. (In truth, I don’t write the “@” on my folders; that’s just for your benefit, since everyone else that does GTD seems to have it.) As soon as I had the grass seed, (possibly at my next weekly review) I’d cross out that task (or check it off) and then write the next action: “mow front lawn”. The whole 3×5 card would then go into the @Home (or @Yard) folder.
I really don’t know why this system didn’t work. It was likely just the effort I put into it. I got lazy. Its main deficiency was that I had to have the right folders at the right time. I would then have to amass all the folders for a weekly review. That’s not hard to do. In truth, I just got lazy.
PostScript
I recently attended a GTD seminar. I now have more zeal for adopting it. In the next instalment (or maybe the one after), I’ll post what’s I’m trying next: a text-file GTD system.
CostCo Class Action Lawsuit
Got this via email:
YOU ARE HEREBY NOTIFIED that a proposed class action settlement has been preliminarily approved by the court in Rhonda Dupler v. Costco Wholesale Corporation, No. 06-CV-03141 (JFB) (ETB) (United States District Court, Eastern District of New York). The lawsuit challenges Costco�s practice of deeming the 12-month term of memberships that are renewed after their expiration as having commenced on the expiration date, rather than on the date they are renewed. The lawsuit alleges that this practice is unlawful and deprives Costco members of a portion of the membership period for which they paid a renewal fee. Costco denies all claims and liability stated in the lawsuit.
Wow! They’ve got some nerve. Maybe I shouldn’t have bugged my friends over the last 4 years about how cool a CostCo membership is.
Nada Surf: Imaginary Friends
I really wish this song were on my iPod right now:
I especially like the “Lenny Bruce’s bug eyes” with the roaring drums/guitar in the background. (At least that’s how I remember it.)
Got slammed (or crammed) by ESBI & “EMAIL DISCOUNTS, LLC”
Update 11:19 PM
Called ESBI who connected me to “Email Discounts LLC”. They said that “my wife”
signed up for their service using Yahoo email account. I informed them that she does not have a account. They said they canceled the
account. I voluntarily gave them my gmail account for confirmation of cancellation–I figure Google is pretty good about spam–but maybe that’s what their really after.
They said that all charges (including taxes) would be reimbursed and no further
charges would occur because the account was canceled. We’ll see.
Original Post
My monthly bill from AT&T was unusually high this month. My father-in-law (who works for AT&T) warned me about this.
In the bill, I find a section under the heading “Enhanced Services Billing, Inc.” with a logo:
(account information)
Billing Date | Mar 22, 2009 |
Questions? | 1-888-288-3724 |
Below this, the following is written:
Important Information
This portion of your AT&T bill is provided as a service
to the above company. Please review all charges
carefully – they may include those of a service
provider not shown on a previous bill. Unpaid accounts
may be subject to collection action. Other services may also be
restricted if not paid. If you have questions about any
of the charges appearing on this page, please call the
number shown above.
The bills themselves are:
EMAIL DISCOUNTS, LLC # | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
For billing questions call 1-800-410-5781 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | -01 | 03-20 | EMAIL DISCOUNTS, LLC MONTHLY FEE | 14.95 |
Rest assured they were not authorized.
Further research on the web indicates that ESBI is associated with fraudulent charges on numerous telephone bills (see the comments). Guess I’ll have to call them tomorrow to get my money back.
It amazes me that in a time when households are watching every dime, no one is doing anything about this fraud.
When will Poojan learn? | Home network keeps Poojan up late again
This is a quick one. I thought I’d get to sleep early. I thought I’d wake up tomorrow at 5:00 and hit the day right.
Instead, I’m fiddle-futzing with my router. Finally, after going through a myriad of combinations wondering why the latest (which should be the best, right?) firmware won’t work, I find the following:
Confessions of a Would-Be Theologian: Warning on Linksys WRT110 Firmware.
Son of a bitch!