Stream of Consciousness
07/27/15
I'm on the bus, having just finished a blog post, and not feeling like starting another one just yet. I was going to sit back and let my mind wander, but I really want to build the habit of writing down my thoughts whenever it's practical. And it doesn't get much more practical than on the bus with a laptop under my fingertips.
I'm focusing on taking deep breaths. I feel the pressure of a day's worth of thinking in my head, and I'm trying to simply appreciate it.
In.
Out.
It's incredibly relaxing.
A woman on the other side of the bus just showed a picture of her son to her neighbor, "This is a picture of my little beast."
There's this delicious smell in the air that I can't quite identify. A candy smell. They make me think of sweet tarts.
I want to start planning my time blocks with Rosse again. My unscheduled time has become frighteningly wasted.
Stream of Consciousness
07/20/15
Online harassment is on the mind again following Total Biscuit's post detailing the nonsense he's been going through. I read someone basically going, "Well, he's an asshole. He's the problem."
Ugh.
Completely unacceptable.
These people are doing exactly what they spoke out against in regards to Zoe Quinn and Anita Sarkeesian. The exact same thing.
Disgusting.
My mind is just a haze of descriptive words, though really it's mostly cursing.
I'm just incredibly tired of the distractionary tactics. "Let's talk about harassment," gets interrupted with "Zoe Quinn is a slut," "Anita Sarkeesian stole kickstarter money," "TotalBiscuit is toxic," and all manner of other irrelevant talking points about other people.
It derails the point of the conversation.
07/18/15
One of the first things I'm thinking is how tedious it is to init, write, and publish posts. I need to fix that. Let's look at my current script setup.
I have some scripts in there that I don't use anymore and were not documented very well. They probably didn't take very long to make, and they're version-controlled if I remember something I want to look at, I'm going to git rm all but two of the scripts.
Okay, now what I want is something that will initialize a post with the date and with the title (used as input into the script).
Returning to the Diary
07/18/15
So, I'm considering making a return to this diary, as can be seen by this post. I've found that while writing my thoughts are focused, and also I think I may make better decisions. The goal, then, is to simply write down what I'm doing and why throughout the day.
I may or may not make a separate posts for each. I'm thinking I'll have a "Stream of Consciousness" post for each day, simply to grab control of my thoughts and to save them more effectively.
Let us begin!
Plan Document
06/08/15
| To Do Today | ||
|---|---|---|
|
Monday
[1730-1800] |
Planning | |
|
Monday
[1800-1830] |
Cooking | |
|
Monday
[1830-1900] |
Fun | |
|
Tuesday
[0300-0415] |
Morning Routine | |
|
Tuesday
[0415-0430] |
Bus Travel
Blog Post Writing |
|
|
Tuesday
[0430-0730] |
Work | |
|
Tuesday
[0730-0800] |
Running | |
|
Tuesday
[0800-1530] |
Work | |
|
Tuesday
[1530-1540] |
Bus Travel
Blogpost Writing |
|
|
Tuesday
[1540-1550] |
Grocery Shopping | |
|
Tuesday
[1550-1600] |
Bus Travel
Blogpost Writing |
|
|
Tuesday
[1600-1610] |
Walk Home | |
|
Tuesday
[1610-1700] |
Cooking | |
|
Tuesday
[1700-1730] |
Blog Scripting: Initializing Posts | |
|
Tuesday
[1730-1800] |
Two Tokens | |
|
Tuesday
[1800-1830] |
Japanese | |
|
Tuesday
[1830-1900] |
Fun | |
|
Wednesday
[0300-0415] |
Morning Routine | |
|
Wednesday
[0415-0430] |
Bus Travel
Blog Post Writing |
|
|
Wednesday
[0430-0730] |
Work | |
|
Wednesday
[0730-0800] |
Running | |
|
Wednesday
[0800-1130] |
Work | |
|
Wednesday
[1130-1230] |
Bucket Budgetting | |
|
Wednesday
[1230-1530] |
Work | |
|
Wednesday
[1530-1540] |
Bus Travel
Blogpost Writing |
|
|
Wednesday
[1540-1550] |
Grocery Shopping | |
|
Wednesday
[1550-1600] |
Bus Travel
Blogpost Writing |
|
|
Wednesday
[1600-1610] |
Walk Home | |
|
Wednesday
[1610-1730] |
Cooking | |
|
Wednesday
[1730-1800] |
Two Tokens | |
|
Wednesday
[1800-1830] |
Japanese | |
|
Wednesday
[1830-1900] |
Fun | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions |
Planning
06/08/15
Okay, so the new strategy is to try to plan whenever I don't currently have a plan, and the blog post of the day is written and thus I have work I could be doing that isn't planned.
I actually don't have much time here, but on the bus ride home I'll probably be able to have a more-complete plan in place.
High-Level Goals
I want to iterate on my bucket visualizations using d3.js barcharts.
I want to merge the Scotch.io API tutorial and Login tutorial to make a spaced-repetition flashcard setup where I can put Japanese, code, and various other stuff I want to memorize.
I want to make helper scripts to slowly remove all tedium and repeat markup from these posts.
Okay, let's make timeblocks toward these goals.
Plan Document
06/03/15
| To Do Today | ||
|---|---|---|
|
Thursday
[0350-0415] |
|
|
|
Thursday
[0415-0430] |
Blog Post Writing |
|
|
Thursday
[0430-0730] |
|
|
|
Thursday
[0730-0800] |
|
|
|
Thursday
[0800-1130] |
|
|
|
Thursday
[1130-1230] |
|
|
|
Thursday
[1230-1530] |
|
|
|
Thursday
[1530-1540] |
Bus Travel
Blogpost Writing |
|
|
Thursday
[1540-1550] |
Grocery Shopping | |
|
Thursday
[1550-1600] |
Bus Travel
Blogpost Writing |
|
|
Thursday
[1600-1610] |
Walk Home | |
|
Thursday
[1610-1700] |
Target Travel and Shopping | |
|
Thursday
[1700-1740] |
Web Site: Graphing the Buckets | |
|
Thursday
[1740-1810] |
Two Tokens | |
|
Thursday
[1810-1835] |
Japanese | |
|
Thursday
[1835-1900] |
Fun | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions |
Web Site: Graphing the Buckets
06/04/15
Okay, I just want to do a simple bar chart of my grocery spending.
Let's start with some sort of bar chart tutorial with d3.js.
Wow, lots to take in. I'd like to just do a bar chart of grocery spending per day for right now, I think. Using the json I already have access to. I'll make a simplified version of what I've got so I don't show any spending I don't want to with my real file just yet.
I'll start with this script:
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.bar {
fill: steelblue;
}
.bar:hover {
fill: brown;
}
.axis {
font: 10px sans-serif;
}
.axis path,
.axis line {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
.x.axis path {
display: none;
}
</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var margin = {top: 20, right: 20, bottom: 30, left: 40},
width = 960 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
var x = d3.scale.ordinal()
.rangeRoundBands([0, width], .1);
var y = d3.scale.linear()
.range([height, 0]);
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom");
var yAxis = d3.svg.axis()
.scale(y)
.orient("left")
.ticks(10, "%");
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
d3.tsv("data.tsv", type, function(error, data) {
x.domain(data.map(function(d) { return d.letter; }));
y.domain([0, d3.max(data, function(d) { return d.frequency; })]);
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis);
svg.append("g")
.attr("class", "y axis")
.call(yAxis)
.append("text")
.attr("transform", "rotate(-90)")
.attr("y", 6)
.attr("dy", ".71em")
.style("text-anchor", "end")
.text("Frequency");
svg.selectAll(".bar")
.data(data)
.enter().append("rect")
.attr("class", "bar")
.attr("x", function(d) { return x(d.letter); })
.attr("width", x.rangeBand())
.attr("y", function(d) { return y(d.frequency); })
.attr("height", function(d) { return height - y(d.frequency); });
});
function type(d) {
d.frequency = +d.frequency;
return d;
}
</script>
Just getting this code working took the rest of the time. I also managed to console.log my spending json via d3.json's function.
I think that tomorrow I can at least mutate this to have charts of my grocery spending per day. Though, "tomorrow" is unplanned, so who knows when I next work on this.
Plan Document
06/03/15
| To Do Today | ||
|---|---|---|
|
Wednesday
[1700-1730] |
Planning the Rest of the Week |
X |
|
Wednesday
[1730-1830] |
Web Site: Logging In | X - |
|
Wednesday
[1830-1900] |
Fun | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions | ||
| [18:38] | Call from Megan |
Web Site: Logging In
06/03/15
Yeah! Back to the diary!
So, I had been going through the login tutorials I found manually. But, as interesting as learning this stuff is, I'd rather play a game than play a tutorial, so I'm just going to take their code and play with it in a sandbox, and get it so I can use it for my multiple purposes.
The code is on github here and I've forked it here.
And now I'm cloning onto this here computer of mine to play with.
Nice, the README has proper instructions on what exactly I need to change to get things working for me (database.js and auth.js). Oh, I won't use auth.js for now (using Facebook, Google, or Twitter to log in). And database.js might just work out of the box:
// config/database.js
module.exports = {
'url' : 'mongodb://localhost/passport' // looks like mongodb://<user>:<pass>@mongo.onmodulus.net:27017/Mikha4ot
};
I believe this should work fine (mongodb will make the passport area for me).
Let's start up mongodb and the server.
Yep, it just works.
Awesome.
Okay, so from here, let's work towards....
Well, I have a choice here:
- Bucket Budgetting Login Setup
- Japanese Study-Tool Login Setup
Since I'm going to work on budget stuff tomorrow, let's work on Japanese study-tool now.
Logging in Setup for Japanese Study-Tool
I need to mix this logging-in tutorial with this API tutorial to create a system where I can create Japanese flash-cards on-the-fly.
External Distraction: Talking with Megan
No Japanese stuff now!
Plan Document
06/03/15
| To Do Today | ||
|---|---|---|
|
Wednesday
[1700-1730] |
Blog Post Writing
Planning the Rest of the Week |
|
|
Wednesday
[1730-1830] |
Web Site: Logging In | |
|
Wednesday
[1830-1900] |
Fun | |
|
Thursday
[0300-0415] |
Morning Routine | |
|
Thursday
[0415-0430] |
Bus Travel
Blog Post Writing |
|
|
Thursday
[0430-0730] |
Work | |
|
Thursday
[0730-0800] |
Running | |
|
Thursday
[0800-1130] |
Work | |
|
Thursday
[1130-1230] |
Smash | |
|
Thursday
[1230-1530] |
Work | |
|
Thursday
[1530-1540] |
Bus Travel
Blogpost Writing |
|
|
Thursday
[1540-1550] |
Grocery Shopping | |
|
Thursday
[1550-1600] |
Bus Travel
Blogpost Writing |
|
|
Thursday
[1600-1610] |
Walk Home | |
|
Thursday
[1610-1740] |
Web Site: Graphing the Buckets | |
|
Thursday
[1740-1810] |
Two Tokens | |
|
Thursday
[1810-1835] |
Japanese | |
|
Thursday
[1835-1900] |
Fun | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions |
Planning the Rest of the Week
06/03/15
Okay, diary post. I think anytime I can do this I should try. My home system is getting less and less fancy in comparison to my work system, but the only way to fix that is to use this system.
And though I'm strapped for time, one of the most useful things I do is plan my days at work, and so I should, whenever I don't have a plan, try to plan as much as I can (though probably shouldn't plan farther than a week). Planning everyday just isn't viable, with the limited time I give myself for projects daily. Planning for the week may work, but I got to make sure to do it whenever I can, or else I will miss the time-frame I plan to do it, and end up not doing it, and lose precious productive time.
So, then, let's try to plan until this weekend. This task right now is blogging and planning (blogging already done). After this I want to devote an hour to website stuff. That hour will specifically be the goal of having a working login system on this here chromebook which I can build memory-based apps around.
Then I'm done for the day.
Okay, once I get home tomorrow, I'd like to devote 1.5 hours to web-site stuff. This'll be the bucket-budgetting system. Specifically, I'll work on graphing what I got so far. It's time to dig into d3.js again. And now I've asked a good friend what he thinks of that idea.
And I'm actually out of time (I didn't realize I accidentally paused my timer more than ten minutes ago when it was at 9:56).
Log
05/24/15
| To Do Today | ||
|---|---|---|
| [0500-0630] | Morning Routine | |
| [0630-0700] |
Bus Travel
Blog Post Writing |
|
| [0700-0910] | Work | |
| [0910-0920] |
Bus Travel
Blogpost Writing |
|
| [0920-1010] | Grocery Shopping | |
| [1010-1020] |
Bus Travel
Blogpost Writing |
|
| [1020-1030] | Walk Home | |
| [1030-1200] | Time with Rosse | |
| [1200-1700] |
Reading
Cooking |
|
| [1700-1800] | Japanese | |
| [1800-1830] | Cutting my Hair | |
| [1830-1900] | Fun | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions | ||
Log
05/24/15
| To Do Today | ||
|---|---|---|
| [1100-1200] | Plan for the Week | X |
| [1200-1230] | Paint toenails | |
| [1230-1300] | Travel to Starbucks | |
| [1300-1400] | Study at Starbucks | X X V |
| [1400-1430] | Target | |
| [1430-1500] | Travel Home | |
| [1500-1600] | Fun | |
| [1600-1800] | Bucket Budgetting | |
| [1800-1900] | Fun | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions | ||
Plan Document
05/24/15
| To Do Today | ||
|---|---|---|
|
Sunday
[1100-1200] |
Plan for the Week | |
|
Sunday
[1200-1230] |
Paint toenails | |
|
Sunday
[1230-1300] |
Travel to Starbucks | |
|
Sunday
[1300-1500] |
Study at Starbucks | |
|
Sunday
[1500-1530] |
Target | |
|
Sunday
[1530-1600] |
Travel Home | |
|
Sunday
[1600-1800] |
Bucket Budgetting | |
|
Sunday
[1800-1900] |
Fun | |
|
Monday
[0300-0415] |
Morning Routine | |
|
Monday
[0630-0700] |
Bus Travel
Blog Post Writing |
|
|
Monday
[0700-0830] |
Work | |
|
Monday
[0830-0850] |
Bus Travel
Blogpost Writing |
|
|
Monday
[0850-0920] |
Grocery Shopping | |
|
Monday
[0920-0930] |
Bus Travel
Blogpost Writing |
|
|
Monday
[0930-0940] |
Walk Home | |
|
Monday
[0940-1200] |
Time with Rosse | |
|
Monday
[1200-1400] |
Bucket Budgetting | |
|
Monday
[1400-1600] |
Unplanned | |
|
Monday
[1600-1730] |
Cooking | |
|
Monday
[1730-1800] |
Two Tokens | |
|
Monday
[1800-1830] |
Japanese | |
|
Monday
[1830-1900] |
Fun | |
|
Tuesday
[0300-0415] |
Morning Routine | |
|
Tuesday
[0415-0430] |
Bus Travel
Blog Post Writing |
|
|
Tuesday
[0430-0730] |
Work | |
|
Tuesday
[0730-0800] |
Running | |
|
Tuesday
[0800-1130] |
Work | |
|
Tuesday
[1130-1230] |
Bucket Budgetting | |
|
Tuesday
[1230-1530] |
Work | |
|
Tuesday
[1530-1540] |
Bus Travel
Blogpost Writing |
|
|
Tuesday
[1540-1550] |
Grocery Shopping | |
|
Tuesday
[1550-1600] |
Bus Travel
Blogpost Writing |
|
|
Tuesday
[1600-1610] |
Walk Home | |
|
Tuesday
[1610-1730] |
Cooking | |
|
Tuesday
[1730-1800] |
Two Tokens | |
|
Tuesday
[1800-1830] |
Japanese | |
|
Tuesday
[1830-1900] |
Fun | |
|
Wednesday
[0300-0415] |
Morning Routine | |
|
Wednesday
[0415-0430] |
Bus Travel
Blog Post Writing |
|
|
Wednesday
[0430-0730] |
Work | |
|
Wednesday
[0730-0800] |
Running | |
|
Wednesday
[0800-1130] |
Work | |
|
Wednesday
[1130-1230] |
Bucket Budgetting | |
|
Wednesday
[1230-1530] |
Work | |
|
Wednesday
[1530-1540] |
Bus Travel
Blogpost Writing |
|
|
Wednesday
[1540-1550] |
Grocery Shopping | |
|
Wednesday
[1550-1600] |
Bus Travel
Blogpost Writing |
|
|
Wednesday
[1600-1610] |
Walk Home | |
|
Wednesday
[1610-1730] |
Cooking | |
|
Wednesday
[1730-1800] |
Two Tokens | |
|
Wednesday
[1800-1830] |
Japanese | |
|
Wednesday
[1830-1900] |
Fun | |
|
Thursday
[0300-0415] |
Morning Routine | |
|
Thursday
[0415-0430] |
Bus Travel
Blog Post Writing |
|
|
Thursday
[0430-0730] |
Work | |
|
Thursday
[0730-0800] |
Running | |
|
Thursday
[0800-1130] |
Work | |
|
Thursday
[1130-1230] |
Bucket Budgetting | |
|
Thursday
[1230-1530] |
Work | |
|
Thursday
[1530-1540] |
Bus Travel
Blogpost Writing |
|
|
Thursday
[1540-1550] |
Grocery Shopping | |
|
Thursday
[1550-1600] |
Bus Travel
Blogpost Writing |
|
|
Thursday
[1600-1610] |
Walk Home | |
|
Thursday
[1610-1730] |
Cooking | |
|
Thursday
[1730-1800] |
Two Tokens | |
|
Thursday
[1800-1830] |
Japanese | |
|
Thursday
[1830-1900] |
Fun | |
|
Friday
[0300-0415] |
Morning Routine | |
|
Friday
[0415-0430] |
Bus Travel
Blog Post Writing |
|
|
Friday
[0430-0730] |
Work | |
|
Friday
[0730-0800] |
Running | |
|
Friday
[0800-1130] |
Work | |
|
Friday
[1130-1230] |
Bucket Budgetting | |
|
Friday
[1230-1530] |
Work | |
|
Friday
[1530-1540] |
Bus Travel
Blogpost Writing |
|
|
Friday
[1540-1550] |
Grocery Shopping | |
|
Friday
[1550-1600] |
Bus Travel
Blogpost Writing |
|
|
Friday
[1600-1610] |
Walk Home | |
|
Friday
[1610-1730] |
Cooking | |
|
Friday
[1730-1800] |
Two Tokens | |
|
Friday
[1800-1830] |
Japanese | |
|
Friday
[1830-1900] |
Fun | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions | ||
Building Plan for the Week
05/24/15
Starting a little late in the weekend to get around to this, but it's better than not doing it at all.
Considering how busy I am, it's better to have one planning of things per week than per day like I do at work. I will try to timeblock this plan like I do at work, but for the whole week, so I'll also list the day in the items.
Not a perfect plan for the week, but it'll do for the first attempt. Hopefully it's something I don't have too much trouble updating a log for throughout the week.
Japanese Study Tool: Logging In
05/20/15
Okay, the long-term goal of this is to have an extension Japanese study tool. Right now, I have nothing, and I would like to start with a login capability.
I have access to a tutorial that goes over just that, so let's see if we can have something workable in one pomodoro.
I have the skeleton in place and will be able to actually configure login next time (aka I'm currently here in the tutorial).
I haven't really dug into the code to understand what's going on, but I feel confident I can understand it once it's in place and modify it for my purposes easily afterwards.
Initializing Posts with Node
05/13/15
So, it occurs to me that my current way of initializing posts could be greatly improved upon. Basically, I still just copy a template file, update the date, and start writing.
Internal Distraction: I can do more to help the people of this world.
And I think that making node handle a lot of that would probably be another good step to having this all running on node, more or less.
Internal Distraction: Thinking about GamerGate
It would also be a good parallel to something I'm working on implementing at work.
Blog Brainstorming
05/01/15
I do not know what I want to write for today's post.
Completely blanking.
Hmmm....
Maybe I should try my hand at some quick fiction.
CSS Reset
04/26/15
Okay, this page is starting with a CSS Reset.
I am now just modifying the general html template of my site. Let's get rid of that picture, and get rid of that "Rory's Diary" thingy.
Now, I need to make the "browse_bar" a navigation list instead of a bunch of divs.
It'd be best to make it so the nav list were styled as inline blocks instead of newlines, as I want it to be a horrizontal list.
I think having my banner image on each page would help with the text-heaviness of the site. In the long run it'd be useful to have a random banner load up each time.
More changes to come in the future. I'll keep them isolated in these CSS diary posts until it looks better than my current setup.
Log
04/25/15
| To Do Today | ||
|---|---|---|
|
Daily
Nomodoro'd |
|
|
| Nomodoro'd |
|
|
| Daily | Site: CSS Reset | X X X |
| Daily | Site: Pomodoro Plan Styling | X |
| Daily | Review, Memorize, Communicate | |
| Daily | Blog Post Writing | |
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Distractions | ||
Site: Pomodoro Plan Styling
04/25/15
Currently, I'm styling my pomodoro plans in the html, which means a lot of repeated html styling, which would make changing it later a pain. Better to make it so those planned pomodoros are styled in css and then I can give the html spans meaningful class names.
.pomodoros span {
display: inline-block;
height: 20px;
width: 12px;
}
.pomodoros span.normal {
border: 1px solid black;
}
.pomodoros span.ideal {
border: 1px solid turquoise;
}
.pomodoros span.second {
border: 1px solid red;
}
.pomodoros span.third {
border: 1px solid orange;
}
.pomodoros span.bus {
border-style: dotted;
}
And then I can use my findReplace script to make all the individual html styles into the proper class setting.
$ findReplace 'style="border:1px solid black;"' 'class="normal"' public/
$ findReplace 'style="border:1px solid turquoise;"' 'class="ideal"' public/
$ findReplace 'style="border:1px solid red;"' 'class="second"' public/
$ findReplace 'style="border:1px solid orange;"' 'class="third"' public/
$ findReplace 'style="border:1px dotted black;"' 'class="normal bus"' public/
And it works like a charm!
Site: CSS Reset
04/25/15
Okay, I think the time has come for me to redo my site's CSS setup. Let's just straight up start from scratch, and empty the current stylesheets of content.
All right, let's do a reset.
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
All right, let's see what this looks like without any other styling.
I think the first thing I'll want to do is reimplement that browse bar. I tried it out as a static thing on the left, but now let's have it be a horrizontal thing on top of the page. I think devoting so much screen real-estate to it at all times isn't ideal.
It occurs to me that I should actually make the browse bar a list of items, and simply restyle the list.
This is clearly something that will take some time, and I shouldn't switch over until it looks better. So, let's just have this reset file set aside, and keep my current CSS for right now.
Plan Document
04/25/15
| To Do Today | ||
|---|---|---|
|
Daily
Nomodoro'd |
|
|
| Nomodoro'd |
|
|
| Daily | Site: CSS Reset | |
| Daily | Review, Memorize, Communicate | |
| Daily | Blog Post Writing | |
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Distractions | ||
Plan Document
04/24/15
| To Do Today | ||
|---|---|---|
|
|
X | |
| Daily |
|
B |
| RSS Thinking | B | |
| Skipped |
End of Day Routine
End of Day Review |
|
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions | ||
RSS Thinking
04/24/15
So, I think I've decided to put my RSS item descriptions within each blogpost file, and give it styling that makes it invisible. Which makes me think, "Should I reset the CSS on my site before implementing this, then?"
And I think the answer is yes. So, switching priorities for a bit.
Log
04/23/15
| To Do Today | ||
|---|---|---|
| Daily |
|
B |
| Daily |
|
B |
| RSS Automatic Update | X X | |
| Skipped |
End of Day Routine
End of Day Review |
|
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions | ||
RSS Automatic Update
04/23/15
Okay, so, where was I? It appears I verified that Cheerio can read regular old XML just fine. Good on you, Cheerio.
So, next step... do I have access to built-in node module documentation? I'd like to see how I run system commands from node.
I can build the documentation! Let's do it.
It looks like Child Process may be what I'm looking for. Let's see if I can run vim from it. Hmmm.... It looks like running vim from node won't work how I want it to. It might be smarter to couple the RSS items to the blogposts themselves (maybe display:none them in the html or something), and have my publish script use that to generate the RSS items.
Hmmm... can cheerio read comments? No, it doesn't look like there's anything in there to do that. I guess that makes sense. Althought, looking has revealed there's a straight-up xml function in cheerio. Good on you, cheerio, good on you.
So, I guess the smartest/easiest thing to do right now would be to have some sort of RSS item div hidden within each blog post file. It's also kind of a next step to having my posts saved in something slightly smarter than their own html file, I think.
TucsonJS: What the Fork is IO.js?
04/23/15
Another TucsonJS Meetup! Yay! Not as many people here as last time.... That's unfortunate. This presentation is on Github! I forked it to here.
Meeting starting. Introductions and notifications of snacks.
June 13th hack-a-thon! Throw ideas at him via Meetup or Twitter for how it should be organized.
Thinking of setting up a TucsonJS IRC or something. Again, throw ideas at him about it.
Omer Wazir is giving the talk. Works at Tucson Embedded Systems. This talk just talks about why io.js exists.
Building the presentation failed for some reason....
first there was node.js
General background given on node.js given. JavaScript everywhere was given to the world.
node.js was progressing slowly
Lots of node packages, not enough node releases. Core contributors wanted more releases out faster, and more contributions.
node forward started
Contributors to node created a repo to address issues they had with node.js. Focus on new contributors and new users and faster releases. They forked node.js, but Joyent wasn't okay with it as node.js was trademarked. Called it "Node Forward".
private node.js fork turned into io.js
Private node.js became io.js, and all work on Node Forward got merged into it. Uses open governance model, and so open collaboration and contribution became easier.
the technical committee
This is what governs io.js and controls the direction of the repo. Concensus-seeking model. 8 members. Majority-vote wins. It's easier to see the direction that io.js is taking over node.js. Very open.
contributors behind io.js
All contributors on node.js who weren't working for Joyent work on io.js. 29 people, 8 on the technical committee. Anyone who works a lot on io.js can become a contributor. They are pretty active members of the community.
Isaac Z. Schlueter used to work for Joyent.
Question: Joyent's opinion on all this? Unknown. Hard to figure out where a lot of people stand on this. What does TJ Fontane(sp?) think about it? One TucsonJSer is interested.
io.js impact on you
They don't want to split off from node forever. They just saw a problem and want to address it. The benefits are faster and more predictable release-cycles. About 1 release every six days, and there's always a public discussion about when it's going to happen.
Both node and io.js rely on V8, which gets updated every chrome update, which happen almost every six weeks. Faster release cycles are the answer to this. Hard problem. Trying to get there.
libuv is an asynchronous file I/O library that is cross-platform compatible. Created by Microsoft to get node working on Windows?
Keeping up-to-date on both these libraries is really important, and io.js is trying make it possible.
io.js will have ES6 support natively as it's keeping up-to-date with V8. It's hard to know what V8 is supporting today.
Easy for us to contribute to io.js. Lots of good resources on where to contribute and how. (This seems like it'll be a good thing for me to focus on when I do open-source contributions.)
io.js impact on your computer
Works with npm. It redirects node path to iojs path. Omer prefers nvm to manage io.js and node.js installs. (Looks like I have a good reason to install nvm now.) nvm also installs handles io.js version updates.
did node.js close the gap on io.js
io.js is the platform of the future and node.js is a "don't get your hopes up". io.js is way ahead. Catching up to V8 4.1 or 4.2 for node.js is going to be a ton of work.
io.js has gained a lot of momentum
Lots of contributions from contributors to io.js recently. Way, way more than node.js. node.js contributions are falling way behind the past, too. node.js tailed off pretty dramatically. Again, io.js gets a release every 6 days.
Lots of positivity about io.js.
reconciliation
io.js team presented Joyent with a plan to merge it back into node.js. Needs to merge governance model, code and release process. Really boring to listen to. Lots of buereacracy.
Question: what's the motivation to integrate the two baselines? node.js is the brand. io.js wants to avoid confusion, and Joyent wants to maintain node.js popularity. Better to reconcile than to start a conflict. io.js people look better than Joyent at this point, and so Joyent has a lot to gain taking io.js help, and io.js people never intended it to be its own project.
Governance model may be the biggest merge problem. Governance needs to be a proper third-party, not some corporate board. Omer doesn't know how anyone makes money off this. Joyent makes money off servicing node, not the code itself.
Needs a longterm support product for mass use applicability, but JavaScript moves so much faster than any other thing in the corporate world. Seems a bit outdated to talk about these systems.
participation
Got to the io.js org site and see what you can participate in! (Totally going to do this.)
Omer sees a problem going forward where io.js switches to an API that causes breaking changes, and node versions won't be supported. Interesting change in JavaScript expectations. You can't control the browser people use to access a site, but you could control the node version servers use.
is io.js hipster enough?
Nope. People know about it. :P
questions?
Discussion about reconciling versions when node.js and io.js merge.
Core contributions to io.js will be C/C++ as well as JavaScript. Definitely interested in contributing to this. Connections to V8 and libuv are C++ and C, respectively. Lots of good work for contributors.
Any easy tags for io.js bugs and stuff? Omer doesn't think so.
It's worth trying to contribute anywhere you think you could improve something. API, documentation, bugs, etc.
io.js really exemplifies how the node.js community works. Big, open, and really interested in grabbing new perspectives and insights, and encouraging people to think "I can do this better" and fork the code and improve it. node.js started open-source out of a need that was addressed and actually given to everyone. Super cool.
io.js shows that the community will see problems and try to do it better, but want to work with Joyent and merge it back in. They aren't divisive or anything. They aren't condescending or mean, and help is done with good intentions. io.js didn't result from anger, but from frustration and the desire to fix a perceived problem.
Show and Tell
Eric's showing an io.js thingy.
While he's setting up: a group of TucsonJSers go up to the NodeAZ Meetup in Phoenix. People go up and present what they're working on. Good to see how people use node and stuff.
IOJS BUNDLER
I NEED AUTOMATION
Maintain's a TexTMate plugin for <ev> development.
Relying on external dependencies is a pain.
Wants a good builder for this. Wants others to be able to write their own plugins for the in-house programming language.
IT [IOJS] HELPS AUTOMATE
Run npm in installed context.
Hangout Time!
Hangout stops when last person leaves.
Plan Document
04/24/15
| To Do Today | ||
|---|---|---|
| Morning Routine | ||
| Daily | Blog Post Writing | |
| Specify | Javascript Development | |
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions | ||
Plan Document
04/23/15
| To Do Today | ||
|---|---|---|
| Daily | Blog Post Writing | |
| Daily | Pomodoro Restart | |
| RSS Automatic Update | ||
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions | ||
Pomodoro Restart
04/23/15
Okay, so I haven't been great about the whole pomodoro planning thing. The days I do it properly feel productive and great, so I don't know why I don't do it properly.
So, let's plan the rest of today, and maybe even try planning tomorrow.
I already did my blog writing, and this bus pomodoro will be for this restart post and some Javascript Development, which I'll rename "RSS Automatic Update".
I will also have two pomodoros for the home busride. Those, too, will be for RSS Update work. Actually, they'll be the only ones, this post will take up all of this pomodoro.
At the end of today, I'd like to do my old routine and even a review, but we'll squeeze both into one pomodoro.
Now, for tomorrow, it's time to start doing start and end of day routines everyday again. I got a lot out of them, and I can choose to skip things to make them only 1 pomodoro when need be. I always have at least 25 minutes worth of stuff to do in both the morning and the evening, I might as well log it properly.
That I have resistance to doing it the right way also shows I need to improve the design and execution of "the right way" of doing it. Ideally in some way that captures information even better than the current way. Forcing repetition will help inspire better tools here, doing nothing will not.
Okay, that should be good for now.
Log
04/15/15
| To Do Today | ||
|---|---|---|
| Daily |
|
|
|
Daily
Skipped |
Review, Memorize, Communicate | |
| Skipped | Smash Practice Development | |
| Daily |
|
B |
| Daily | System Thinking | B |
| Daily | RSS Auto-Update | X |
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Mondays/Thursdays @ 17:30 | Running Club | |
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
RSS Auto-Update
04/14/15
So, something I want to do is auto-update my RSS when I publish a blog post. Really, I want to make a temporary file that gets automatically opened in vim when I try to publish a blogpost. It'll have an init'd RSS item that I can edit to my liking, save, and have that be put in its proper place in my blog RSS file. This would be an experience similar to how I do things with git commits.
I think a good start would be to see if I can feed an rss (aka xml) file into cheerio:
/*jslint node: true */
(function () {
'use strict';
var fs = require('fs');
fs.readFile('public/basic.rss', 'utf-8', function (err, data) {
var $;
if (err) {
return console.log('Basic RSS not found!');
}
$ = require('cheerio').load(data);
console.log($('item').html());
});
}());
And the output?
$ node scripts/rssUpdate.js
<title>Site Thinking</title>
<link>http://www.ksionda.me/blog/site_thinking.html
<description>
New post on blog! "Site Thinking" wherein I go through a minimal list
of things to do to my site before I switch to working on other things.
I add "automatic RSS updating" when I realized I added this post to
the RSS, Stephan. It's amazing how often I forget about this file.
</description>
<guid>http://www.ksionda.me/blog/site_thinking.html</guid>
It works! Yeah! Cheerio, you are a cool, awesome friend.
That'll have to do for now.
ReactJS Meeting
04/14/15
Came late.
ReactJS is only for the view. ReactJS is not a framework. It's a library. It eschews best-practices.
Traditional MVC/MVVM shown. There's a distance between controller and view, which has problems at scale. React fixes this by making each controller and view a component.
React is awesome in that everything about it is just JS. Actually the best JavaScript, as it fully embraces ES6 (next version of JavaScript).
React is insanely fast. Renders to virtual DOM and batches updates to actual DOM. Only updates when changed. React vs Angular shown.
React gives you event delgation and synthetic events. Events are not consistent across browsers, React fixes that for you.
It makes your dev process simple.
Question: says that React isn't supposed to replace Angular, but React is being compared to Angular. React could be used with Angular, speaker is of opinion that that isn't ideal. What would you use with React? React is commonly paired with Backbone.js. Flux is their opinated thing you should use with React.
ReactJS has a simple structure (tree shown). Components enforce a uni-directional data flow. Useful for design purposes. Data in a component only comes from parents and self. This is setup as states and props. This allows a great means to find where some piece of data came from. Easy to build upon.
ReactJS syntax is... kinda simple? (Example JSX syntax shown.) That gets compiled into some basic javascript. Use JSX, it's weird for a few minutes and it's better than writing the complied JS by hand.
Component Life Cycle is only 7 methods.
Show and Tell
Code is available on github. Given tour of each piece of code.
Code forked. Starting to look at code... Missing some questions.
What is the order of functions called by ReactJS? All will's happen before render. Render gets called multiple times. Every setting of state makes state dirty, and then render is called. Props and state exist for rendering to change when state changes.
Most important part of the container is the getData method.
This is to showcase the app itself, but is not a proper architecture.
Usually there's a model.fetch that will get the data for you.
Cool ES6 example being described:
...this.props
This... does something magical that I will have to look up later. The explanation doesn't really make sense to me. Some sort of parent inheritance thing. I commented on my confusion and was told it was called the Spread Operator. Will definitely explore that further.
You can define default things in ReactJS and it'll basically do some type-checking for you and report type errors. Can make good assumptions about what to do with data. In ES6 these are static methods.
React animations are super fast, and CSS transitions leave you wanting more, so good React animation libraries are really powerful for good animation stuff.
Best practices (maybe outdated): if something shouldn't be rendered, don't set display to null, just don't render it in ReactJS.
//are we trending in a direction?
let trending;
if ( this.props.trendingDown ) {
trending = <TrendingDownArrow/>;
}
if ( this.props.trendingUp ) {
trending = <TrendingUpArrow/>;
}
return (<li className="media">
<div className="media-left">
<a href={this.props.repo.html_url}>
<img className="media-object" style={mediaObjectStyle} src={this.props.repo.owner.avatar_url} alt="avatar"/>
</a>
</div>
<div className="media-body">
<h4 className="media-heading">{this.props.repo.name}
<small>
<span className="label label-info">
<span className="glyphicon glyphicon-star" aria-hidden="true">{this.props.repo.stargazers_count}</span>
</span>
{trending}
</small>
</h4>
{this.props.repo.description}
</div>
</li>);
I think it might be beneficial for me to run this code.
Don't need anything else for a class than just render.
If you just want to generate HTML, you can do it. Doesn't have to be dynamic (seems like a good place to start for an enthusiast like moi).
How ReactJS implements components is the future of web components. It's the beginning of getting it right.
Soon, the old convention of keeping CSS, HTML, and JavaScript separate may be combined into components, and then they'll be properly portable bits of website development.
BrowserSync is recommended for use to everyone.
You can not return multiple children at once, there needs to be a single returned child to the parent.
State is yours, props should be treated as immutable.
At what point you stop breaking down the code into components is up to the discretion of the user. It can all be contained in one div, but at some point you lose the power of ReactJS.
Example of rendering only new data shown with app.
Question: waiting? Can't force thing to wait for render. Can't say best way to implement that with just armchair thinking.
Next talk will be about ReactJS unit-testing. Unit-testing tool is called Jest. Person who will give talk says it was overtly slow.
Size? 708 KB. A little bulky, but pretty good.
Error mapping back to uncompiled code? Not sure.
Facebook tooling is amazing.
Nothing about the main React API is dependent on the DOM. You can render on the Server, to Canvas, or to Native.
Faster rendering? A lot of this is going over my head. Haven't paid attention to this stuff, yet. Rendering on server is faster.
Upcoming topics:
- Unit testing React
- Flux architecture and Server-Side Rendering
- Animation using ReactJS
System Thinking
04/14/15
Okay, it's clear that my home system needs work. I am not doing the pomodoro system, even though I know that when I do I get more out of my productive time and make time for entertainment.
Now, don't get me wrong, I'm making time for productivity. I just think I could do it smarter and also enjoy my entertainment more. Right now, I have Glee on while I blog or code away. Now, I've come to enjoy Glee, so this is not an ideal work-environment, and also only watching Glee is not my idea of a well-balanced entertainment diet (which reminds me, my food diet needs balancing as well, but that's something to talk about later).
Anyways, there's a few things I need to do:
-
Update my plan document
-
No more daily morning and end-of-day routine
- Not until schedule stabilizes
- Let's make a weekly routine to compensate
- Weekly-review is now biweekly
- Make a day-off template vs. a work-day template
-
No more daily morning and end-of-day routine
- Document my current schedule
- Analyze my current schedule
- Consider my ideal schedule
- Map a plan from current to ideal
So, I got a lot of thinking to do.
Plan Document
04/15/15
| To Do Today | ||
|---|---|---|
| Daily |
|
|
|
Daily
Skipped |
Review, Memorize, Communicate | |
| Skipped | Smash Practice Development | |
| Daily |
|
B |
| Daily | System Thinking | |
| Daily | RSS Auto-Update | |
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Mondays/Thursdays @ 17:30 | Running Club | |
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Plan Document
04/13/15
| To Do Today | ||
|---|---|---|
| Daily |
|
|
|
Daily
Bus |
|
X |
|
Daily
Bloodwork Waiting |
Post Publishing Script | X X |
|
Daily
Skipped |
Javascript Development | |
|
Daily
Bus Skipped |
Javascript Development | |
| Skipped | End of Day Routine | |
| Skipped | End of Day Review | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Mondays/Thursdays @ 17:30 | Running Club | |
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
| Maintenance | Fix broken links on website | 1 |
| Distractions | ||
Post Publishing Script
04/13/15
Okay, now that I have a means of generating my blog and diary areas, I think it might be good to have a means of updating what is published to each area. I'm thinking using it should be something like:
node publish.js diary post_publishing_script_150413.html
So, I'll feed the area I'm pusblishing and the file I want to publish.
Now, in all honesty, publishing isn't a particularly complicated thing, and I got a vim macro that does it for me. The problem is, however, that it limits the design of this site to publish more-or-less manually. Further, I have this tendency to forget things that I should do before publishing, like make sure my links actually go somewhere. So a script will help me improve the system, and also be another step towards doing it all dynamically from the node server.
All right, let's start, as I tend to do, with a blank javascript file.
/*jslint node: true */
(function () {
'use strict';
// TODO:
var args;
args = (function () {
var processArgs = process.argv.slice(2);
return processArgs;
}());
}());
That's how I usually like to start a node script right now. The args function is still something I want to improve in general, though, but right now it's a good way to start.
Okay, I got carried away, and now I've got something I more-or-less like:
/*jslint node: true */
(function () {
'use strict';
var args,
usage,
errorCount,
publishCount,
publishPosts;
errorCount = 0;
usage = function (err) {
if (errorCount === 0) {
console.log('USAGE: publish <area> <file> [<file>] [...]');
console.log(' area: diary or blog');
console.log(' file: html file containing post to publish');
console.log();
}
if (err) {
console.log('Error: ' + err);
}
errorCount += 1;
return false;
};
args = (function () {
var processArgs,
area,
validAreas,
files;
processArgs = process.argv.slice(2);
if (processArgs.length < 2) {
return usage();
}
area = processArgs[0];
validAreas = ['diary', 'blog', 'test'];
if (validAreas.indexOf(area) === -1) {
return usage('area must be diary or blog');
}
files = processArgs.slice(1);
return {
area: area,
files: files
};
}());
if (!args) {
return;
}
publishPosts = function (area, filenames) {
var path,
database,
fs,
publishedPosts;
path = require('path');
database = path.join('database', area + '.txt');
fs = require('fs');
// Move posts to published area
filenames.forEach(function (filename) {
var publishedPath;
publishedPath = path.join(
'public',
area,
path.basename(filename)
);
fs.rename(filename, publishedPath, function (err) {
if (err) {
console.log(
'Error moving ' + filename + ' to ' + area
);
}
});
});
publishedPosts = '\n'
+ filenames.map(function (filename) {
return path.basename(filename);
}).join('\n');
// Add to the database of published posts
fs.appendFile(database, publishedPosts, 'utf-8', function (err) {
if (err) {
return console.log('Failed to publish to ' + area);
}
});
};
publishCount = 0;
args.files.forEach(function (filename) {
var fs;
fs = require('fs');
fs.readFile(filename, 'utf-8', function (err, data) {
if (err) {
return usage('could not open ' + filename);
}
// Verify no empty strings in file to be published
if (data.indexOf('""') !== -1) {
return usage('Empty string "" in ' + filename);
}
// TODO: Verify there's actually a post to publish
publishCount += 1;
if (publishCount === args.files.length) {
publishPosts(args.area, args.files);
}
});
});
}());
It works! Time to write a proper blog post about this.
Realization... putting '""' into this post flags it.... I'll just change the search string used instead of smarter verification. Smarter verifcation can happen later.
Blog Post Writing
04/13/15
Okay, it's gotten to the point where I need to decide what I want to write about. I've mostly run out of satisfying low-hanging fruit to write about. I either need to do some research or some work to make blogposts that satisfy me now. So I think a diary post in parallel might be of value from now on.
First, I'm going to explore the drafts I currently have:
-
My various reviews
- Hire With Your Head
- A Whole New Engineer
- JavaScript: The Good Parts
-
Vim
- exrc Secure Combination
- Sessions
- Does IEEE Know I'm HKN?
- The Presence of Death
- Max Subarray Sum: A Good Interview Question?
- Does the Internet Make Us Stupid? No.
- HACKS Room
- Crocpot: 365
- Wuxia Game: the Start Menu
- Kanji Radicals and the Seven Strokes
- Bad New Tools for Old Disciplines
- Secular Meditation
- Software Defined Networks
- White Hat Hacking
- Opening Up: Part 2
- Getting to Know My Neighbors
So, I have plenty of ideas for blog posts, but most of them require more work than just thinking, and the one's that require only thinking require deep-thought or a particular mood.
I suppose it's fine to keep blogging about my site scripting for now. Though, a lot of those posts above are good posts to write up, but right now I'm focusing on actual site iterating, and I like that I'm focusing on that.
Plan Document
04/13/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
|
Daily
Bus |
Blog Post Writing | |
|
Daily
MVD Waiting |
Javascript Development | |
| Daily | Javascript Development | |
|
Daily
Bus |
Javascript Development | |
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Mondays/Thursdays @ 17:30 | Running Club | |
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
| Maintenance | Fix broken links on website | 1 |
| Distractions | ||
Building Plan
04/12/15
Been a while since I did one of these at home. Either I'm planning my time or I'm not tracking it, and untracked time is probably wasted time.
Today's already mostly over, but I think it'll be good to plan tomorrow.
Okay, I need to go to the MVD and go grocery shopping in the morning. That means busride pomodoros where I will focus on blog/website.
I will then spend some time at home before I go to the doctor to get some bloodwork done. Again, I want to focus on website stuff for pomodoros. And then more bus work to travel to the doctor's. Basically, I'm addicted to website stuff and want to devote as much time tomorrow to it as I can.
Right now I'm not being specific, but I will try and be specific and guess how much work each goal will be as I get to it.
It's not a great plan, but I got something for tomorrow. I'll work on better plans as time goes on, but for now I just wanted some sort of plan.
File Database
04/11/15
Okay, so last time I printed out all the links on blog/index.html in chronological order, realized some links were still absolute paths, and made them relative. Now, I can get back to working towards some infrastructure that will let me construct index.html dynamically.
An important bit of infrastructure required is to have a proper list of the blogposts in the order of their placement on the page.
/*jslint node: true */
(function () {
"use strict";
var fs = require('fs'),
$ = require('cheerio'),
generateLinks;
generateLinks = function (readfile, savename) {
var saveLinks;
saveLinks = function (err, data) {
var links = [],
linkText;
if (err) {
return console.log(err);
}
$('.blogpost', data).each(function () {
var blogpost = $(this);
links.push(blogpost.find('h1 a').attr('href'));
});
linkText = links.reverse().join('\n');
fs.writeFile(savename, linkText, 'utf-8', function (err) {
if (err) {
return console.log(err);
}
});
};
fs.readFile(readfile, 'utf-8', saveLinks);
};
generateLinks('public/blog/index.html', 'database/blog.txt');
generateLinks('public/diary/index.html', 'database/diary.txt');
}());
All right, this even caught a mistake where I didn't link a plan document in index.html to its individual file. Hooray for scripts that clean and DRY.
Okay, from here I have what I need to generate an index.html. Let's generate one in a test area first, so I don't lose anything I care about.
/*jslint node: true */
(function () {
"use strict";
var indexGenerate;
indexGenerate = function (area) {
var fs = require('fs'),
path = require('path'),
database;
database = path.join('database', area + '.txt');
fs.readFile(database, 'utf-8', function (err, data) {
var $ = require('cheerio'),
filenames,
index,
blogDIV,
readBlogFile;
if (err) {
return console.log(err);
}
readBlogFile = function (filename) {
var blogHTML,
fullpath;
fullpath = path.join('public', area, filename);
blogHTML = fs.readFileSync(fullpath, 'utf-8');
return $('.blogpost', blogHTML);
};
// Order matters, do synchronously
filenames = data.split('\n');
for (index = filenames.length - 1; index >= 0; index -= 1) {
blogDIV = readBlogFile(filenames[index]);
console.log($(blogDIV).children('h1').text().trim());
}
});
};
indexGenerate('blog');
//indexGenerate('diary');
}());
Okay, so this file kind've mirrors the previous one, as well it should, as it basically does the same thing, but backwards. Anyways, this managed two things, it taught me that jslint flags the use of synchronous functions (I have an idea of how to do it asynchronously now), and also that two posts in index.html were missing their linked to files. The files just didn't exist. Two in a row.
Error: ENOENT, no such file or directory 'public/blog/of_people_and_systems.html'
Error: ENOENT, no such file or directory 'public/blog/free_to_play_customer_product_employee.html'
This happened in two separate runs. Luckily, all I needed to do to generate the posts was delete the link to the posts and run my generate links script through index.html again. Problem solved. Thanks past me for that tool!
All right, from here let's generate a index.html from the blogposts.
/*jslint node: true */
(function () {
"use strict";
var indexGenerate;
indexGenerate = function (area) {
var fs = require('fs'),
path = require('path'),
database;
database = path.join('database', area + '.txt');
fs.readFile(database, 'utf-8', function (err, data) {
var $ = require('cheerio'),
filenames,
index,
blogDIV,
readBlogFile,
indexHTML;
if (err) {
return console.log(err);
}
readBlogFile = function (filename) {
var blogHTML,
fullpath;
fullpath = path.join('public', area, filename);
blogHTML = fs.readFileSync(fullpath, 'utf-8');
return $('.blogpost', blogHTML);
};
// Order matters, do synchronously
// TODO: do async with index counting and building an array
filenames = data.split('\n');
indexHTML = '';
for (index = filenames.length - 1; index >= 0; index -= 1) {
blogDIV = readBlogFile(filenames[index]);
indexHTML += $(blogDIV).html();
}
fs.writeFile(path.join('public/test', area, 'index.html'), indexHTML, 'utf-8', function (err) {
if (err) {
console.log(err);
}
});
});
};
indexGenerate('blog');
//indexGenerate('diary');
}());
This generates a public/test/blog/index.html with all the appropriate blog content, but no other appropriate html. Let's make templates for the blog and diary index files such that the blog post html can be inserted into the content div and that'll be done.
/*jslint node: true */
(function () {
"use strict";
var indexGenerate;
indexGenerate = function (area) {
var fs = require('fs'),
path = require('path'),
database;
database = path.join('database', area + '.txt');
fs.readFile(database, 'utf-8', function (err, data) {
var $ = require('cheerio'),
filenames,
index,
blogDIV,
readBlogFile,
template;
if (err) {
return console.log(err);
}
readBlogFile = function (filename) {
var blogHTML,
fullpath;
fullpath = path.join('public', area, filename);
blogHTML = fs.readFileSync(fullpath, 'utf-8');
return $('#content', blogHTML).html();
};
// Order matters, do synchronously
// TODO: do async with index counting and building an array
filenames = data.split('\n');
blogDIV = '';
for (index = filenames.length - 1; index >= 0; index -= 1) {
blogDIV += readBlogFile(filenames[index]);
}
template = path.join('templates', area + '.html');
fs.readFile(template, 'utf-8', function (err, data) {
var indexHTML,
indexPath;
if (err) {
return console.log(err);
}
indexHTML = $(data);
$('#content', indexHTML).html(blogDIV);
indexPath = path.join('public/test', area, 'index.html');
fs.writeFile(indexPath, indexHTML, 'utf-8', function (err) {
if (err) {
console.log(err);
}
});
});
});
};
indexGenerate('blog');
//indexGenerate('diary');
}());
This works! Though, I don't have a style.css in that directory, so styling is a little funky. I really should just use a single master css, I think. Which revealed an interesting property: Second Try Starting Now had a link to itself in its file. Also, I still need to actually link to the individual posts in the generated index.html.
How did I do it in my createLinks.js script?
title = function (blogpost) {
return blogpost.children('h1').text().trim();
};
blogpost.children('h1').html(
'\n <a href="' + filename(blogpost) + '">\n'
+ ' ' + title(blogpost) + '</a>\n'
+ ' '
);
The title function will be useful. I already have the filename necessary, so the filename generator function not needed.
readBlogFile = function (filename) {
var blogHTML,
fullpath,
title;
fullpath = path.join('public', area, filename);
blogHTML = $(fs.readFileSync(fullpath, 'utf-8'));
title = blogHTML.find('h1').text().trim();
blogHTML.find('h1').html(
'\n <a href="' + filename + '">\n'
+ ' ' + title + '</a>\n'
+ ' '
);
return blogHTML.find('#content').html();
};
And now each post is linked to! Before I actually replace the actual index files in the blog and diary areas, though, let's commit my files as they exist right now.
Nope, git is revealing some problems with my script. My impress.js post got nullified. The impress.js has a whole bunch of special stuff I need to consider.... For right now let's remove all id attributes in blogpost divs (collisions could be a problem in the index.html file, removal is easier for now).
readBlogFile = function (filename) {
var blogHTML,
fullpath,
title,
idRemove;
fullpath = path.join('public', area, filename);
blogHTML = $(fs.readFileSync(fullpath, 'utf-8'));
title = blogHTML.find('h1').text().trim();
blogHTML.find('h1').html(
'\n <a href="' + filename + '">\n'
+ ' ' + title + '</a>\n'
+ ' '
);
idRemove = function () {
if ($(this).attr('id')) {
$(this).removeAttr('id');
}
$(this).children().each(idRemove);
};
blogHTML.find('.blogpost').each(idRemove);
return blogHTML.find('#content,#temp').html();
};
This works. I forget... why did I make that div temp for the impress.js post? Let's undo it and see what happens. That's right, it screws up the slide-show. This'll be something I need to fix when I start learning CSS proper.
Yep, this is functional. Let's clean it up a bit and make a proper blog post out of this setup. Right now it's:
/*jslint node: true */
(function () {
"use strict";
var indexGenerate;
indexGenerate = function (area) {
var fs = require('fs'),
path = require('path'),
database;
database = path.join('database', area + '.txt');
fs.readFile(database, 'utf-8', function (err, data) {
var $ = require('cheerio'),
filenames,
index,
blogDIV,
readBlogFile,
template;
if (err) {
return console.log(err);
}
readBlogFile = function (filename) {
var blogHTML,
fullpath,
title,
idRemove;
fullpath = path.join('public', area, filename);
blogHTML = $(fs.readFileSync(fullpath, 'utf-8'));
title = blogHTML.find('h1').text().trim();
blogHTML.find('h1').html(
'\n <a href="' + filename + '">\n'
+ ' ' + title + '</a>\n'
+ ' '
);
idRemove = function () {
if ($(this).attr('id')) {
$(this).removeAttr('id');
}
$(this).children().each(idRemove);
};
blogHTML.find('.blogpost').each(idRemove);
return blogHTML.find('#content,#temp').html();
};
// Order matters, do synchronously
// TODO: do async with index counting and building an array
filenames = data.split('\n');
blogDIV = '';
for (index = filenames.length - 1; index >= 0; index -= 1) {
blogDIV += readBlogFile(filenames[index]);
}
template = path.join('templates', area + '.html');
fs.readFile(template, 'utf-8', function (err, data) {
var indexHTML,
indexPath;
if (err) {
return console.log(err);
}
indexHTML = $(data);
$('#content', indexHTML).html(blogDIV);
indexPath = path.join('public', area, 'index.html');
fs.writeFile(indexPath, indexHTML, 'utf-8', function (err) {
if (err) {
console.log(err);
}
});
});
});
};
indexGenerate('blog');
indexGenerate('diary');
}());
Really, I want to make it so that readFileSync is just readFile, and I want to make it as elegant as I'm able while I'm at it.
/*jslint node: true */
(function () {
'use strict';
var blogpostRead,
readBlogFile,
indexGenerate,
$ = require('cheerio'),
path = require('path'),
fs = require('fs');
indexGenerate = function (template, blogDIV, indexPath) {
fs.readFile(template, 'utf-8', function (err, data) {
var indexHTML;
if (err) {
return console.log(err);
}
indexHTML = $(data);
$('#content', indexHTML).html(blogDIV);
fs.writeFile(indexPath, indexHTML, 'utf-8', function (err) {
if (err) {
console.log(err);
}
});
});
};
readBlogFile = function (fullpath, callback) {
fs.readFile(fullpath, 'utf-8', function (err, data) {
var blogHTML,
title,
idRemove;
if (err) {
return console.log(err);
}
blogHTML = $(data);
title = blogHTML.find('h1').text().trim();
blogHTML.find('h1').html(
'\n <a href="' + path.basename(fullpath) + '">\n'
+ ' ' + title + '</a>\n'
+ ' '
);
idRemove = function () {
if ($(this).attr('id')) {
$(this).removeAttr('id');
}
$(this).children().each(idRemove);
};
blogHTML.find('.blogpost').each(idRemove);
callback(blogHTML.find('#content,#temp').html());
});
};
blogpostRead = function (area) {
var database;
database = path.join('database', area + '.txt');
fs.readFile(database, 'utf-8', function (err, data) {
var filenames,
blogs,
count;
if (err) {
return console.log(err);
}
filenames = data.split('\n');
blogs = [];
count = 0;
filenames.forEach(function (filename, index) {
var fullpath,
template,
indexPath;
fullpath = path.join('public', area, filename);
readBlogFile(fullpath, function (blogHTML) {
blogs[filenames.length - index - 1] = blogHTML;
count += 1;
if (count === filenames.length) {
template = path.join('templates', area + '.html');
indexPath = path.join('public', area, 'index.html');
indexGenerate(template, blogs.join(''), indexPath);
}
});
});
});
};
blogpostRead('blog');
blogpostRead('diary');
}());
I like it! Each function is short enough to fit on a page, I kept it all asynchronous.
This is worthy of a blog post now, I think.
Making Relative Links
04/11/15
So, I almost forgot that I still have references to local links as absolute paths (aka http://www.ksionda.me/blog/ instead of /blog/).
I got a findReplace script (though I could also just use sed for this, I'm trying to keep site modifications pure HTML5), so let's make unnecessary absolute path links relative..
First off, let's find all the posts that have such a link. I'm going to break my HTML5 focus and just use grep. Let's just count the total occurances.
$ grep -R '"http://ksionda.me\|"http://www.ksionda.me' public/
360
So, that's about 180 occurances, and 180 copies into the index.html files. Let's break this down by section. First, let's clean up the inprogress areas.
$ grep -R '"http://ksionda.me/blog\|"http://www.ksionda.me/blog' public/blog/inprogress/ | wc -l
0
All right, so nothing in my blog inprogress area is trying to point at anything in my blog area. Let's go ahead and findReplace all occurances of '"http://www.ksionda.me' and '"http://ksionda.me' to ''.
$ findReplace '"http://www.ksionda.me' '' public/blog/inprogress
$ findReplace '"http://ksionda.me' '' public/blog/inprogress
Oh, wait, that's wrong, should still have a '"' in there. This is why I committed before starting these changes.
$ git revert public/blog/inprogress
$ findReplace '"http://www.ksionda.me' '"' public/blog/inprogress
$ findReplace '"http://ksionda.me' '"' public/blog/inprogress
All right, absolute paths made relative in my blog inprogress area. Now, then, let's fix the blog area:
$ findReplace '"http://www.ksionda.me/blog/' '"' public/blog
$ findReplace '"http://ksionda.me/blog/' '"' public/blog
This makes each absolute link to a blog link from the blog area a basic relative link to that file instead.
$ findReplace '"http://www.ksionda.me' '"' public/blog
$ findReplace '"http://ksionda.me' '"' public/blog
This makes all other absolute links relative from the root of the server area (aka, from the public directory). This covers links to other parts of my site from the blog area.
There were lots of files changed with those last two commands.
Okay, where else do I reference ksionda.me explicitly?
$ grep -lR '"http://ksionda.me\|"http://www.ksionda.me' public/
public/diary/end_of_day_review_20150304.html
public/diary/inprogress/making_relative_links_150411.html
public/diary/end_of_day_log_20150306.html
public/diary/planning_20150305.html
public/diary/building_plan_20150307.html
public/diary/end_of_day_review_20150306.html
public/diary/end_of_day_review_20150223.html
public/diary/end_of_day_log_20150305.html
public/diary/building_planning_20150222.html
public/diary/planning_20150307.html
public/diary/end_of_day_log_20150223.html
public/diary/end_of_day_routine_20150304.html
public/diary/end_of_day_review_20150222.html
public/diary/implementing_pomodoro_with_my_blog.html
public/diary/blogging_brainstorming_20150223.html
public/diary/planning_20150306.html
public/diary/morning_plan_document_20150223.html
public/diary/log_20150222.html
public/diary/building_plan_20150306.html
public/diary/fiction_a_ramble_and_a_proposition.html
public/diary/end_of_day_routine_20150306.html
public/diary/end_of_day_review_20150303.html
public/diary/end_of_day_routine_20150305.html
public/diary/end_of_day_review_20150305.html
public/diary/building_pomodoro_plan_20150305.html
public/diary/review_20150307.html
public/diary/end_of_day_routine_20150307.html
public/diary/site_browsebar_modification_script_iterate.html
public/diary/planning_20150222.html
public/distracted/atwork.html
public/distracted/athome.html
Oh, look, this file gets flagged by that grep. That's only because I have the exact string it greps for... for obviouse reasons. The rest of the flagged files seem to all have the same cause of being flagged:
<link rel="stylesheet" href="http://www.ksionda.me/style.css">
Should be easily fixed by:
$ findReplace '"http://www.ksionda.me' '"' public/distracted public/diary/*.html
All right, I think I've properly fixed all the links! Hopefully I didn't break anything. Hooray for cleaning up my site! Woo!
JSON File Database
04/10/15
Okay, so, copying each blogpost into the diary or blog's home index.html file is not a particularly DRY way to go about things. What would be much better is if I constructed the home index.html areas out of the individual blogposts. Unfortunately, the blogposts alone don't contain the necessary information for the proper order of the blogposts in the main area.
I mean, yeah, they are more-or-less in chronological order, so I could, perhaps, get away with date of the files.... Except, you know, I just recently created a lot of old blogpost files. So, quite clearly, that won't work. I also remember modifying some typos here and there after-the-fact, so it probably wouldn't work in the first place. Filesystem timing wouldn't be something that's particularly trustworthy.
So, currently, the only thing that is aware of the order of the blogposts are the index.html files. So, I'm going to have to steal that information from those files and save it to some other files.
Now, really, a proper database might be ideal, but considering my use case, I can get away with human-readable blog.json and diary.json files. For now, the files need but two things: index placement of post and filepath. The rest can be constructed from there.
Thinking about it, I guess it works better for it to be an array of filepaths. It could just be one json file, too. Let's just make it one json file that looks something like:
{
blog: [
<filepaths>
],
diary: [
<filepaths>
]
}
Now, then, let's hack together something that makes this file.
Actually, if we're going to hack something together, let's just make a blog.txt and diary.txt that's a simple list of the links. No additional syntax stuff required.
And, first-things-first, let's just print out the blog links in the order they appear:
/*jslint node: true */
(function () {
"use strict";
var fs = require('fs'),
$ = require('cheerio');
fs.readFile('public/blog/index.html', 'utf-8', function (err, data) {
if (err) {
return console.log(err);
}
$('.blogpost', data).each(function () {
var blogpost = $(this);
console.log(blogpost.find('h1 a').attr('href'));
});
});
}());
This outputs the correct answer (output was long and so I'm not pasting it here, I think).
Oh, wait, spoke too soon, there is something interesting in that output:
...
individual_posts_have_permalink.html
less_everyday_items.html
no_evo_for_me.html
http://www.ksionda.me/blog/highlighting_80th_column_vim.html
http://www.ksionda.me/blog/meta_styling_code.html
http://www.ksionda.me/blog/some_days_you_just_gotta_read.html
http://www.ksionda.me/blog/quakecon_approaches.html
http://www.ksionda.me/blog/bash_scripting_improvements.html
http://www.ksionda.me/blog/code_complete_complete.html
http://www.ksionda.me/blog/quakecon_retrospective.html
http://www.ksionda.me/blog/quakecon_over.html
...
That's right, I wasn't really aware of relative links when I first started doing links. Or I thought absolute paths were better for some reason. Well, for whatever reason some links are absolute paths. That doesn't really jive with me. Let's switch over and devote some time to ridding the site of unnecessary absolute paths.
This'll be continued tomorrow.
Every Post Gets a Link
04/09/15
So, when I first started this blog, I was just adding on top of an index.html file. So, a lot of my first posts are only contained in there, not their own file.
I figure that fixing this with cheerio might actually be pretty easy. First, I need to find all the posts that don't have a link.
Let's start from scratch. It's a good learning experience. First, let's count all my blogposts again.
/*jslint node: true */
(function () {
"use strict";
var fs = require('fs'),
$ = require('cheerio');
fs.readFile('public/blog/index.html', 'utf-8', function (err, data) {
if (err) {
console.log(err);
}
console.log($('.blogpost', data).length);
});
}());
Output is:
$ node scripts/createLinks.js
247
From here, let's count all posts that don't have an tile link.
/*jslint node: true */
(function () {
"use strict";
var fs = require('fs'),
$ = require('cheerio');
fs.readFile('public/blog/index.html', 'utf-8', function (err, data) {
var noLinks;
if (err) {
console.log(err);
}
noLinks = $('.blogpost', data).not(function () {
if ($(this).find('h1 a').html()) {
return true;
}
return false;
});
console.log(noLinks.length);
});
}());
This gives me an output of:
$ node scripts/createLinks.js
21
I'm actually surprised it took more than 21 posts to start making individual links (I've manually made some links to some of the posts before when I started linking things).
From here, I need to create some files where I can save the html to make each post its own page. Let's make it in a test directory while I'm figuring stuff out (don't want to pollute the blog area with poorly constructed filenames or anything).
noLinks.each(function () {
var blogpost = $(this),
titleToFilename,
title,
filename;
titleToFilename = function (title) {
return 'test/'
+ title
.replace(/\ /g, '_')
.replace(/[()?:\.]/g, '')
.toLowerCase()
+ '.html';
};
title = blogpost.children('h1').text().trim();
console.log(title);
filename = titleToFilename(title);
console.log(filename);
console.log();
fs.writeFile(filename, '', 'utf-8', function (err) {
if (err) {
return console.log(err);
}
});
});
This code outputs:
$ node scripts/createLinks.js
Goal for Today: RSS Feed
test/goal_for_today_rss_feed.html
Things Looking Much Less Horrible
test/things_looking_much_less_horrible.html
Project of Focus: Making This Blog Look Better
test/project_of_focus_making_this_blog_look_better.html
What is Consciousness?
test/what_is_consciousness.html
Sick
test/sick.html
The Free Will Debate
test/the_free_will_debate.html
First Try At a Never-Ending Github Streak
test/first_try_at_a_never-ending_github_streak.html
Things Looking a Bit Better Around Here
test/things_looking_a_bit_better_around_here.html
Some More Specific Goals for This Blog
test/some_more_specific_goals_for_this_blog.html
Let's Try Making Things Prettier
test/let's_try_making_things_prettier.html
What is Your Job?
test/what_is_your_job.html
Parallel Growth
test/parallel_growth.html
Random Fiction: Which is the Dream?
test/random_fiction_which_is_the_dream.html
Site Change: Adding Dates (Manually)
test/site_change_adding_dates_manually.html
Sick Day
test/sick_day.html
The Walking Dead
test/the_walking_dead.html
Disruption
test/disruption.html
Everyday
test/everyday.html
Exercise PID Control
test/exercise_pid_control.html
Eventually....
test/eventually.html
The First Stone
test/the_first_stone.html
And if I check the test directory:
$ ls test/
disruption.html
eventually.html
everyday.html
exercise_pid_control.html
first_try_at_a_never-ending_github_streak.html
goal_for_today_rss_feed.html
let's_try_making_things_prettier.html
parallel_growth.html
project_of_focus_making_this_blog_look_better.html
random_fiction_which_is_the_dream.html
sick_day.html
sick.html
site_change_adding_dates_manually.html
some_more_specific_goals_for_this_blog.html
the_first_stone.html
the_free_will_debate.html
the_walking_dead.html
things_looking_a_bit_better_around_here.html
things_looking_much_less_horrible.html
what_is_consciousness.html
what_is_your_job.html
Yay! We'd be done now if those files weren't empty and if they were in the blog area and the index.html file html was updated to link to those files..
Let's make it so those files aren't empty and are in the blog area and that index.html links to those files.
Non-empty:
noLinks.each(function () {
var blogpost = $(this),
titleToFilename,
title,
filename,
blogData;
titleToFilename = function (title) {
return 'test/'
+ title
.replace(/\ /g, '_')
.replace(/[()?:\.]/g, '')
.toLowerCase()
+ '.html';
};
title = blogpost.children('h1').text().trim();
filename = titleToFilename(title);
blogData = '<html>\n'
+ ' <head>\n'
+ ' <title>\n'
+ ' ' + title + '\n'
+ ' </title>\n'
+ ' <link rel="stylesheet" href="/2015/style.css">\n'
+ ' <link rel="stylesheet" href="style.css">\n'
+ ' </head>\n'
+ ' <body>\n'
+ ' <div id="browse_bar">'
+ browseBar.html()
+ '</div>\n'
+ ' <div id="content">\n'
+ ' <div class="blogpost">'
+ blogpost.html()
+ '</div>\n'
+ ' </div>\n'
+ ' </body>\n';
fs.writeFile(filename, blogData, 'utf-8', function (err) {
if (err) {
return console.log(err);
}
});
});
The files come out reading mostly like I wrote it by hand (except for the characters that are escaped for me that I didn't realize needed to be escaped). I had no idea that ' was a thing.
Updating the index file.... Actually, I realize while trying to do this that I need to restructure my code a bit to make it ridiculously easy to do this. And from there it's just a little change to make it so it's all saved to my blog area proper.
The final code:
/*jslint node: true */
(function () {
"use strict";
var fs = require('fs'),
cheerio = require('cheerio'),
indexPath = 'public/blog/index.html';
fs.readFile(indexPath, 'utf-8', function (err, data) {
var noLinks,
browseBar,
title,
filename,
$ = cheerio.load(data);
if (err) {
console.log(err);
}
title = function (blogpost) {
return blogpost.children('h1').text().trim();
};
filename = function (blogpost) {
return title(blogpost)
.replace(/\ /g, '_')
.replace(/[()?:\.]/g, '')
.toLowerCase()
+ '.html';
};
browseBar = $('#browse_bar');
noLinks = $('.blogpost').not(function () {
var blogpost = $(this);
if (blogpost.find('h1 a').html()) {
return true;
}
return false;
});
noLinks.each(function () {
var blogpost = $(this),
blogData,
path = require('path'),
blogpath;
blogData = '<html>\n'
+ ' <head>\n'
+ ' <title>\n'
+ ' ' + title + '\n'
+ ' </title>\n'
+ ' <link rel="stylesheet" href="/2015/style.css">\n'
+ ' <link rel="stylesheet" href="style.css">\n'
+ ' </head>\n'
+ ' <body>\n'
+ ' <div id="browse_bar">'
+ browseBar.html()
+ '</div>\n'
+ ' <div id="content">\n'
+ ' <div class="blogpost">'
+ blogpost.html()
+ '</div>\n'
+ ' </div>\n'
+ ' </body>\n';
blogpost.children('h1').html(
'\n <a href="' + filename(blogpost) + '">\n'
+ ' ' + title(blogpost) + '</a>\n'
+ ' '
);
blogpath = path.join('public/blog', filename(blogpost));
fs.writeFile(blogpath, blogData, 'utf-8', function (e) {
if (e) {
return console.log(err);
}
});
});
fs.writeFile(indexPath, $.html(), 'utf-8', function (err) {
if (err) {
return console.log(err);
}
});
});
}());
So, after I've constructed the single blogpost html into blogData, I alter the html loaded into $ such that there's a link pointing to the file I'm about to create as the title of the post within the loaded index html. After all blogpost files are created, the index.html path is rewritten with the modified html. This rewrite also has the additional niceties of correcting any incorrect html I wrote the best cheerio knows how.
And just like that I've managed to make a script that makes working links to all the blogposts I had originally written within my blog's index.html.
Awesome.
Next time: save the order of my blog and diary posts into some sort of json file? From there, I can construct index.html from the files I have and said json file. Yeah, I think that sounds like a plan.
Also, I think this diary post is good enough to be a proper blogpost.
Fiction: A Ramble and a Proposition
04/08/15
So, I am here today to make a proposition. Well, more a choice, really. There is no legal necessity to my actions today, but I believe there is a moral one.
You have provided my company a lot of value since almost the very beginning. It is something of which I am very grateful. It is much more value than you have been properly paid. A problem I wish to address here, but first if you'll humor me.
It was not my plan to exploit you, and I do feel like that's exactly what happened. Again, not a legal thing, but more a moral one. I did not expect success in the way that it happened. The system as it was setup was more defensive, able to survive with fewer users, fewer clients, and much less fianiancial circulation.
It turns out, through considerable luck, that the system scaled itself dynamically and efficiently. An exponential explosion thanks in no small part to the users such as yourself.
And thanks to my actions being the first steps to this system, and thanks to my legal ownership, I find myself with more money than I could ever really need.
There is a concept I find myself a believer of that I also find myself capable of approximating.
Log
04/07/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X |
|
|
X | |
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions |
Weekly Review
04/07/15
Following instructions.
Capture Notebook Items
| Move TV out of bedroom | ||
| Clean vacuum | ||
|
|
||
| Buy plastic to cover bed | ||
| Ask Nat about stuff | ||
| Gamecube Mod Buy Chip | ||
| Ask Justin how to set up streaming | ||
| Adobe graphic design tutorials | ||
| Ask doctor about seeing a nutritionist |
One capture notebook item was already done, nice. Gamecube mod stuff is in motion, but I had to ask a friend where to buy the thing.
Loose Papers
I should probably use this to go through my tickler, but maybe I'll make priority for that next week. The only other loose papers I have are receipts, and Rosse is taking over that job, more or less.
Calendar
I missed Code for Tucson today, but that's all right, I had family visiting. I'll catch them next time.
Otherwise, nothing really to review here. Using the calendar to plan meals now, and I like that idea. Hope it works out. If my sleep schedule stabilizes, I'll try to plan my general schedule better. But it seems that that is a big if.
Empty My Head
I should start writing fiction in my diary. It can be really rough and unedited, but maybe lead to quality blog post items. Ideas:
- Basic income
- Dream world
- Vigilante revolution
- Time-travel
Projects and Other Lists
This is something I don't properly have, yet. Again, I'll put that off until next week.
Be Creative and Courageous
I am! Thanks for reminding me, though.
Incompletion Triggers List
Nothing triggered.
Plan Document
04/07/15
| To Do Today | ||
|---|---|---|
| Daily | Blog Post Writing | |
| Weekly Review | ||
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions |
Log
04/06/15
| To Do Today | ||
|---|---|---|
|
|
X -- X - X X X X | |
|
|
M | |
| Daily | Blog Post Writing | X X |
| [04/07] | Weekly Review | |
|
Daily
Already Done |
Personal System Iterate: Weekly Review Init | |
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
| External | Rosse needed something, not marked in document | |
| External | Rosse needed me to call her phone | |
| External | Rosse needs help getting Xanthum Gum out |
Weekly Review: Blogpost Review
04/06/15
I am writing this shortly after midnight, wherein I have gotten about four hours of sleep and my body had decided to wake up for a bit. I have read that it is actually quite normal to wake up for a bit in the middle of the night for those that have a healthy sleep schedule. So, I don't want to fight this phenomenon, but I do want to be productive during this hour or so that it apparently normally lasts (though, I already feel like going back to sleep).
And so, as the title suggests, I will be doing a bit of my planned weekly review during this bit of time. Specifically, if my brain can be active enough, I will read through my posts for the past two weeks.
External Distraction: Dog is whining.
Diary Post Review
Game Dev Game Jam Invitation Talk Prep (03/23/15)
I didn't really end up using much of this script, but it was good mental preperation for talking to the class. It reminds me a bit of the script I prepared when I went and talked at my old high school. Talking in front of people about things is a skill I would like to continue to build.
Building Plan (03/23/15)
This was a kinda in-depth plan that I guess I should work on having again, especially for my days off of work. Lots of quality thinking about what I want to do, why, and in what order I should do it in and why.
Plan Document (03/23/15)
This was when I still put my whol activity inventory in each plan document. I'm glad I try to only put relevant items in there now.
UA Game Dev Javascript Talk Prep (03/23/15)
Unlike the script planning above, this prep was incredibly valuable and actually used during the talk. It also covered the beginning only, wherein I winged it from there. Though I had a backup directory of a working game to show off if I couldn't quite develop at the speed I wanted. I ended up using it at the very end.
Weekly Review (03/23/15)
This was a quick weekly review on the bus, and it shows. Though, it still gets the job done, mostly. I guess a poor weekly review is still significantly better than none at all. That makes me wonder... do I gain enough out of a poor weekly review such that a proper one is overkill? I'm inclined to think no, but perhaps that's incorrect.
Review (03/23/15)
Getting good at starting is smart, but I was too quick to dismiss getting good at finishing. As I point out in this review, I start and finish a blogpost most everyday. Might as well work towards starting and finishing other projects in a similar fashion. It's staying on one thing too long that is the problem. But not finishing would be a bad habit to start.
Review (03/24/15)
Deciding to do end-of-day reviews less was a good idea, it has, in fact, opened up my time to proper projects. I should still work on properly doing my morning and end of day routines, though.
Impress.js: The Beginning Draft (03/28/15)
This was a pretty cool post. It looks like a really short post in the diary area, but going to its page, it's actually a series of slides. The slides aren't styled at all, however. It's something I'll need to learn to do.
Development Tools Improvement: Vim Setup (03/28/15)
This was a short post alluding to me trying to clean up my hacked vimrc setups. It ended up taking a lot of time and I don't think it made any of the things I made that much more usable. I have decided to instead retreat into the pure, literal string representations of my vim macros for now. Functions need only be created when I need the same functionality regularly.
End of Day Review (03/29/15)
This review contained an interesting attempt to list all of my tickler items for the day. It's actually something that could end up very valuable if I got into the habit and made it pretty quick. It also translates well into making them proper pomodoro items in my plan and log documents. Definitely an idea that's worth returning to.
UA Game Dev Club Meeting (03/30/15)
This was me trying to take notes during the meeting. Taking notes of meetings and things where I'm a passive participant is something I wish to cultivate. Notes really help capture what I'm getting out of something, and help reveal what I want to get out of it, which motivates strats to bridge the gap between the two.
Weekly Review (03/30/15)
I ended up skipping the majority of the review to work on tools to make my weekly review more manageable. I think this was the right decision, though I've only managed to create one such helper script.
External Distraction: Rosse needed me to call her phone
That one helper script is quite valuable though, as it set up all these links for me, and so I'm using the work-in-progress post to go and read the documents-of-interest. Further, I think the script's code will be valuable for future script building. The beginning of a library? Hopefully.
Also, emptying my notebook helped make a few blog posts this week. Definitely getting value out of my weekly reviews.
End of Day Review (03/30/15)
A list of reasons I organize things the way I do would actually be quite valuable.
External Distraction: Rosse needs help getting Xanthum Gum out
I also still need to organize things into more finely defined bins.
Personal System Iterate: Weekly Review Init (03/31/15)
The beginning of my building my weekly review init scripts! Took about a week to get to the script I'm using now. Still lots of things to do with it, but it's usable for now.
I managed to get a basic introduction to cheerio on this post, which was the necessary beginning to what I desired.
It also looked like I didn't quite figure out code formatting at this point. Oh well.
End of Day Review (03/31/15)
Reusing plans was a good idea.
Personal System Iterate: Weekly Review Init (04/01/15)
I managed to count my blogposts this post, and properly feed in a file as a commandline argument.
Personal System Iterate: Weekly Review Init (04/02/15)
I didn't really know how to do things with cheerio. I managed to peer into the Readme.md that comes with cheerio, and just played with the various functions to see what I could use to do what I wanted. It turned out that my thinking on synchronous vs. asynchronous was not needed.
I managed to get all the posts since a certain date during this exploration. Another powerful step towards something useful.
Personal System Iterate: Weekly Review Init (04/03/15)
I forgot to format the code again, so it's all ugly again. I need to make a macro that does it correctly. Let's fix my formatting.
Fixed.
Personal System Iterate: Weekly Review Init (04/04/15)
And so my script finally comes into form, getting the main functionality I desired. Starting over worked out pretty well here.
End of Day Review (04/05/15)
Doing some various long-term planning stuff for my site: DRYing it up, CSS improvements, and then working on a personalized site-blocking tool that reminds me what I want to be working on instead of just blocking my work.
Though, actually working on CSS and stuff will probably be a ways away, as I want to prioritize review-writing again soon.
Personal System Iterate: Weekly Review Init (04/05/15)
In which I finish what I'd been working on, and have something I have already used to help me out. It's not perfect and saying I "finished" it is a bit inaccurate, but it's still a satisfying bit of code to finally have for use.
Diary Final Thoughts
The diary is perhaps becoming a place where I draft out functional pieces that will become long blog posts detailing some accomplishment. I still need to improve it as my means of planning my extracurricular activities, but this extra property is nice emergent behavior.
I will probably work on making the various Personal System Iterate: Weekly Review Init posts into one long blog post featuring my node learnings and my small accomplishment that opens up the doorway to greater things, I think.
Blog Post Review
Death Note Fanfic Outline (03/23/15)
This is actually a pretty good outline of my initial thinking on a Death Note rewrite. I didn't quite get to all the content I was thinking of, but outlining a three-way battle early on feels pretty interesting to me.
And I do, in fact, really love three-way battles. Well, the more the better, though I'm sure at some point it gets too convoluted. There's probably some perfect number of colliding motivations.
Magical Mundane (03/24/15)
This is another post I'm glad I wrote. I also can't help but continue thinking about "the Gamer", and how much I would find a perfectly ordinary existence skewed by a literal RPG interface.
I am super considering going ahead and copying this idea and going with it. I am also considering making an idle game out of this very idea, "Give the real world an RPG interface!"
It's an idea I'll keep on the back burner for a while.
Frozen Shouldn't Have a Bad Guy (03/25/15)
Something that's been on my mind for a while, and something I had alluded to talking about a long time ago. I think this small change could've really improved my opinion of the movie. Which is saying something, because I still quite enjoy the movie.
Vim: Functions (03/26/15)
This was a pretty good post showing off my growing vim-fu that may or may not be of use to other people exploring vim. I liked that I properly incorporated pictures and stuff. Really gives the post a nice composition.
Functional Javascript? (03/27/15)
A short and sweet post wherein I explore my own understanding of programming concepts and languages. It'll probably be worth revisting once my knowledge grows again.
UA Game Jam! (03/28/15)
I finally did some proper thinking about how to go about making first steps to a fantasy of mine: making a game-making game. The fantasy has a lot of properties, none of which are currently real. Making a game in impress.js does actually feel like a strong start in the right direction. As the post says, I gotta start somewhere.
Impress.js; The Beginning Draft (03/29/15)
A lazy repost of my diary post. It felt like a worthy blog post and I find reposting from my diary to be acceptable. It would've been proper to pretty it up a bit more, though.
Modular Development Environment (03/30/15)
This has led to me being introduced to some MDEs, so already worth the post. I also just like the post overall. It either reveals my ignorance or shouts about something that maybe should exist.
FindReplace.js is Back (03/31/15)
My return to javascripting! I'm really glad I did this, though I could have made a similar thing with a combination of good commandline tools. Again, it's something that, when combined with other things, may lead to transforming my site to a dynamic node setup instead of a static nginx setup. Even if it is ultimately throwaway code, it's throwaway code that will have a lasting effect on the direction of this site.
Hopefully, it was also a good learning experience in its own right.
Iterating My System (04/01/15)
I got to my script, but I didn't make the other things I mentioned, which was a place for all the things I need. Maybe I'll make time for it during my proper weekly review after this blog review stuff.
Training Everyday Plan (04/02/15)
This is the beginning of some longterm thinking about self-improvement. After blog-writing, I'm pretty sure I'll be doing drawing. After drawing, maybe music? I don't know, it's a long ways away.
Javascript: Cheerio and the Return of jQuery (04/03/15)
I'm thinking a return to jQuery will actually be quite useful. There's some cool things in there.
CSS Digging Deeper (04/04/15)
This is a plan I'm happily anticipating. Unforntunately, I'm a ways away from implementing it, I think. I may have to reconsider how much of a priority I want to give reading.... Or writing reviews. I could always get a book on css and/or graphic design and kill two birds with one stone.
Hmmm.... I don't know. Maybe I just really need to work on having more productive time per day to do all the things I want to do.
Vim: Tags (04/05/15)
This was kind've a lazy post. I didn't really show the strength of vim tags too much. Part of the problem is I use them almost exclusively at work. It did help me realize that maybe I should look into similar tools for developing in javascript or even python.
Diary Reposts (04/06/15)
It's here that I decide to let diary posts build up as fodder for longer posts. It lets me publish lots of diary posts about a concept, and also have a lot of content that I can modify into a larger, more-polished without the additional cost of creating all that content up front before publishing, and also while keeping the content in proper, bite-sized pieces.
It also adds another positive trait to my diary at no additional cost.
Diary Thoughts
I'm pretty excited to see useful content coming out of my diary. It makes me think that maybe I should be posting rough review stuff here in the diary instead of slowly making a review that I will heavily edit over and over.
Actually, yeah, I'm going to start putting review material together in my diary. Thanks for inspiration on that, diary.
UA Game Dev Club Meeting
04/06/15
Cindy has arrived and is dying. Forcing new members to introduce themselves.
Cynthia. ECE.
McKenzie. CS.
Andrew. Psych and CS.
Ben. Psych or CS, hasn't decided yet.
Few announcements:
-
Signed up for newsletter?
- Ask Cindy or Zuoming
-
Signing up for officer-stuffs!
- Link
- Everyone will see this form fillout
- Due Friday 04/10/15
-
Max of trying for two positions
- Get elected by priority
-
End of semester plans?
-
Laser tag?
- Groupon!
-
Suggestions?
- Sports game?
- eSports game?
-
Laser tag?
-
twinyjam
- Link
- Make a text based game!
- Lot of twines are surrealist and stuff
- Posted on the Facebook page
-
Website/blog
- Link
- Place for events
-
Past game projects
- Please submit Game Jam games to Cindy
- Something you want to see? Let Cindy know!
Threes: the Mobile Masterpiece
Talk by Jeremy
One of the best games of 2014. Link to free javascript version (not as good as the bought product).
What's "Threes?" slide. It's actually important that it was made by graphic designers.
"The Game is Adorable". Each tile has adorable faces. Anthropomorphize stuff! Most of the development time was spent on the look. "Angry-birds approach." Angry-birds is a clone of Crush the Castle, but Angry Birds is adorable. "Branding is important." Humanizing numbers works.
Highest number is achievement. Give the number character. Cool, collectable trophies.
Engaging mechanics on a 1-button pick-up-and-play game. Quick-in and quick-out while knowing where you are and what's going on. The game increases in complexity and difficulty on a single, simple premise: make the numbers bigger.
All screenshots are from Jeremy. He's super good at this game. The tutorial is there, but the button itself explains the game.
Numbers are trophies and are shown to the player on startup. Blank spots for trophies motivate the player to try for it. Also, spoilers for the looks of the trophy!
Going through everything about the game and how much the little stuff does for each aspect of the game. Sliding is well-designed. Sliding has immeidate feedback. Swipes are continous motion that could be properly designed on any mobile game.
The game is intuitive and things are learned by doing. Larger numbers get introduced as the game progresses.
What's the difference between this and 2048? This game isn't so easily solvable, and it's also the first game.
The goal of the game is to get the highest score possible.
Bigger numbers show up when the player can use them, and the player doesn't need to be educated about it. It's an understandable addtion that explains itself when it needs to be present.
The whole dev process was published online in their email form. This game was pretty from the beginning. When prettiness are a main part of the game, they should be considered from the very beginning. Work on the important parts from the beginning.
Threes wasn't the beginning, feeling and looking pretty was the focus of the beginning prototypes.
Come to Cindy's talks about art (though she's not a graphic designer). There's a difference between artists and graphic designers.
Questions!
Would ads have made this game free and as profitable?
Jeremy doesn't think so. There's a lot of problems with ads breaking the point of the game. It's amazing that such a sense of immersion came out of a game about numbers.
What about just one ad? Starting already hurts the experience. What about when leaving? laughter.
End of talk.
Zuoming: Ten Game Design Tools That You Can Use in 30 Minutes
Click-baity title. Been thinking about this talk for quite a bit. So, Zuoming hopes it's interesting. It's just written on a page. No powerpoint. Talking to Livio, he's of the opinion that just an informal talk should be written on a page, and then tangents can emerge naturally.
Conversations about what is useful about Zuoming's talk is anticipated and considered valuable. As long as Zuoming's been in the club, there hasn't really been a talk about design. Zuoming thinks that's good, as without making a game, talking about design is kinda detrimental. Don't build your castle out of thin air.
Now, however, a lot of people have made games, so now talking about design can actually be useful when applied to next game. Zuoming is qualifying himself a bit to prove he's allowed to talk about design. He's been making hobby games since 8th grade. Portfolio of games is at 25 games. Even with most of them being terrible, he's learned a lot about making games.
He thinks about game design concepts close-to-daily.
1) Initiative
When you enter a new game, you want to learn something, but it's a taxing experience. Would you play a new game everyday? No. It's exhausting. Learning can be daunting. A player comes in with some level of initiative with a willingness to learn how to play your game.
As the player learns to play the game, they will lose initiative until they do something cool that engages them. Eventually, they may just give up on playing the game.
Can your game get the player past their sinking initiative?
The beginning initiative is dependant on context and various factors.
- Assigned in a class
- Friends play the game
- Cultural phenomenon
2) Mechanics
No debate on what mechanics are. We'll go with base definition.
Different mechanics give different mileages. Trivial when said aloud. "How in the space of possible mechanics can I find the most mileage?"
3) Tutorial
Tuorials hurt initiative unless its hidden within the game. Or you can "bite the nail" and put it all in the beginning of the game, and make it short.
4) Affordance
Affordance is used in various design disciplines. "How can you use things that already exist in real life to make your design better?" An example given in the archetypical book on design the Design of Everyday Things: doors designed to know whether or not a door should be pushed or pulled.
Extra Credits example: low resolution game with cash register, green rectangle, and grey circle? That low-resolution stuff is obviously money! Affordances make it easier to add more things to your game.
Example: a button that will increase upwards velocity with downward acceleration. That's jumping. Constant upwards velocity? Elevator? Think of good affordances to make things intuitive. Eventually, though, things will get too complicated, so you'll have to just teach it in.
Another example that Zuoming loves: Braid affordances Mario (affordances is now a verb, deal with it). Real-life is not a necessary source of affordance. Gets into the concepts of genres (not on the list).
5) Conveyance
Choose how to limit the players to do what you expect them to do. The beginning of Mario is a good example. The game conveys to the player that the player must go right. Conveyance can reduce the need for tutorials.
6) Inherent Challenge
Made the terminology up, don't look it up online. Something that already exists that adds interesting properties to the game (related to affordance). Example: local multiplayer. It's hard to break local multiplayer into something not fun. Deck building (aka probability).
Question: definition of inherent challenge? Free packages of affordance.
Another example: gravity.
7) Elegance
Extra Credits talks about depth-vs-complexity. Zuoming thinks of it in terms of amount of initiative/intuitiveness required vs variety of the game. Elegance is important beyond beauty, good for design, because when there are few rules you can really play around with them and really make it adaptable and change it.
Jumping mechanic is intuitive, but orbits are complicated.
To be continued....
We'll add more things to next talk to make up for not getting to all ten things.
Plan Document
04/06/15
| To Do Today | ||
|---|---|---|
| Weekly Review: Blogpost Review | ||
| Weekly Review | ||
| Daily | Blog Post Writing | |
| Daily | Personal System Iterate: Weekly Review Init | |
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions |
Plan Document
04/05/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X |
| Daily |
|
X |
| Skipped |
End of Day Routine
End of Day Review |
|
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
Personal System Iterate: Weekly Review Init
04/05/15
Last time, I listed out all my diary posts not before 04/04/15, which happened to be just one post because yesterday was 04/04/15. But the point was that my linkText and beforeDate functions worked.
With that verified, now I want to grab the date of the last weekly review, so I can feed it into this functionality and get a link to all posts since my last weekly review.
And so I've made a bunch of changes again to accomodate this:
/*jslint node: true */
(function () {
'use strict';
var fs = require('fs'),
$ = require('cheerio'),
before,
linkText,
last,
date,
title;
date = function (blogpost) {
return blogpost.children('h2').text().trim();
};
title = function (blogpost) {
return blogpost.children('h1').text().trim();
};
linkText = function (postList) {
return function () {
var link,
blogpost = $(this);
link = function (blogpost) {
var ahref = blogpost.find('h1 a').attr('href');
if (ahref) {
return ahref.trim();
}
return '';
};
postList.push(
'<h3>\n <a href="'
+ link(blogpost)
+ '">\n '
+ title(blogpost)
+ '('
+ date(blogpost)
+ ')'
+ '</a>\n</h3>'
);
};
};
before = function (givenDate) {
var compareDates,
givenMonthDayYear;
givenMonthDayYear = givenDate.split('/');
compareDates = function (date) {
var monthDayYear = date.split('/');
if (monthDayYear[2] !== givenMonthDayYear[2]) {
// Compare years
return monthDayYear[2] < givenMonthDayYear[2];
}
if (monthDayYear[0] !== givenMonthDayYear[0]) {
// Compare months
return monthDayYear[0] < givenMonthDayYear[0];
}
if (monthDayYear[1] !== givenMonthDayYear[1]) {
// Compare days
return monthDayYear[1] < givenMonthDayYear[1];
}
// Default compare strings
return date < givenDate;
};
return function () {
var blogpost = $(this);
return compareDates(date(blogpost));
};
};
last = function (blogposts) {
return date($(blogposts.get(0)));
};
fs.readFile('public/diary/index.html', 'utf-8', function (err, data) {
var diaryPost = [],
weeklyReviews;
if (err) {
return;
}
weeklyReviews = $('.blogpost', data)
.filter(function () {
var blogpost = $(this);
return title(blogpost) === 'Weekly Review';
});
// Just this once, I want the weekly review before last
// This is a quick hack that filters out the most-recent weekly review
weeklyReviews = $(weeklyReviews).slice(1);
$('.blogpost', data)
.not(before(last(weeklyReviews)))
.each(linkText(diaryPost));
fs.readFile('public/blog/index.html', 'utf-8', function (err, data) {
if (err) {
return;
}
$('.blogpost', data)
.not(before(last(weeklyReviews)))
.each(linkText(diaryPost));
console.log(diaryPost.reverse().join('\n'));
});
});
}());
Which gave me an output of:
<h3>
<a href="death_note_fanfic_outline.html">
Death Note Fanfic Outline(03/23/15)</a>
</h3>
<h3>
<a href="magical_mundane.html">
Magical Mundane(03/24/15)</a>
</h3>
<h3>
<a href="frozen_shouldnt_have_had_bad_guy.html">
Frozen Shouldn't Have a Bad Guy(03/25/15)</a>
</h3>
<h3>
<a href="vim_functions.html">
Vim: Functions(03/26/15)</a>
</h3>
<h3>
<a href="functional_javascript.html">
Functional Javascript?(03/27/15)</a>
</h3>
<h3>
<a href="uagamejam_20150327.html">
UA Game Jam!(03/28/15)</a>
</h3>
<h3>
<a href="impressjs_the_beginning_draft.html">
()</a>
</h3>
<h3>
<a href="modular_development_environment.html">
Modular Development Environment(03/30/15)</a>
</h3>
<h3>
<a href="findReplace_js_is_back.html">
FindReplace.js is Back(03/31/15)</a>
</h3>
<h3>
<a href="iterating_my_system.html">
Iterating My System(04/01/15)</a>
</h3>
<h3>
<a href="training_everyday_plan.html">
Training Everyday Plan(04/02/15)</a>
</h3>
<h3>
<a href="javascript_cheerio_and_the_return_of_jquery.html">
Javascript: Cheerio and the Return of jQuery(04/03/15)</a>
</h3>
<h3>
<a href="css_digging_deeper.html">
CSS Digging Deeper(04/04/15)</a>
</h3>
<h3>
<a href="vim_tags.html">
Vim: Tags(04/05/15)</a>
</h3>
<h3>
<a href="diary_reposts.html">
Diary Reposts(04/06/15)</a>
</h3>
<h3>
<a href="gamedev_gamejam_invitation_talk_prep.html">
Game Dev Game Jam Invitation Talk Prep(03/23/15)</a>
</h3>
<h3>
<a href="building_plan_150323.html">
Building Plan(03/23/15)</a>
</h3>
<h3>
<a href="plan_document_150323.html">
Plan Document(03/23/15)</a>
</h3>
<h3>
<a href="ua_game_dev_javascript_talk_prep.html">
UA Game Dev Javascript Talk Prep(03/23/15)</a>
</h3>
<h3>
<a href="weekly_review_150323.html">
Weekly Review(03/23/15)</a>
</h3>
<h3>
<a href="end_of_day_routine_150323.html">
End of Day Routine(03/23/15)</a>
</h3>
<h3>
<a href="review_150323.html">
Review(03/23/15)</a>
</h3>
<h3>
<a href="log_150323.html">
Log(03/23/15)</a>
</h3>
<h3>
<a href="plan_document_150324.html">
Plan Document(03/24/15)</a>
</h3>
<h3>
<a href="morning_routine_150324.html">
Morning Routine(03/24/15)</a>
</h3>
<h3>
<a href="review_150324.html">
Review(03/24/15)</a>
</h3>
<h3>
<a href="log_150324.html">
Log(03/24/15)</a>
</h3>
<h3>
<a href="end_of_day_routine150324.html">
End of Day Routine(03/24/15)</a>
</h3>
<h3>
<a href="plan_document_150325.html">
Plan Document(03/25/15)</a>
</h3>
<h3>
<a href="review_150325.html">
Review(03/25/15)</a>
</h3>
<h3>
<a href="log_150325.html">
Log(03/25/15)</a>
</h3>
<h3>
<a href="end_of_day_routine_150325.html">
End of Day Routine(03/25/15)</a>
</h3>
<h3>
<a href="plan_document_150326.html">
Plan Document(03/26/15)</a>
</h3>
<h3>
<a href="plan_document_150326.html">
Plan Document(03/26/15)</a>
</h3>
<h3>
<a href="review_150326.html">
Review(03/27/15)</a>
</h3>
<h3>
<a href="log_150326.html">
Log(03/26/15)</a>
</h3>
<h3>
<a href="end_of_day_routine_150326.html">
End of Day Routine(03/27/15)</a>
</h3>
<h3>
<a href="building_plan_150328.html">
Building Plan(03/28/15)</a>
</h3>
<h3>
<a href="plan_document_150328.html">
Plan Document(03/28/15)</a>
</h3>
<h3>
<a href="impressjs_the_beginning_draft_150328.html">
()</a>
</h3>
<h3>
<a href="development_tools_improvement_vim_setup_150328.html">
Development Tools Improvement: Vim Setup(03/28/15)</a>
</h3>
<h3>
<a href="log_150328.html">
Log(03/28/15)</a>
</h3>
<h3>
<a href="end_of_day_review_150329.html">
End of Day Review(03/29/15)</a>
</h3>
<h3>
<a href="plan_document_150330.html">
Plan Document(03/30/15)</a>
</h3>
<h3>
<a href="gamedevclub_150330.html">
UA Game Dev Club Meeting(03/30/15)</a>
</h3>
<h3>
<a href="weekly_review_150330.html">
Weekly Review(03/30/15)</a>
</h3>
<h3>
<a href="end_of_day_review_150330.html">
End of Day Review(03/30/15)</a>
</h3>
<h3>
<a href="log_150330.html">
Plan Document(03/30/15)</a>
</h3>
<h3>
<a href="plan_document_150331.html">
Plan Document(03/31/15)</a>
</h3>
<h3>
<a href="personal_system_iterate_weekly_review_init_150331.html">
Personal System Iterate: Weekly Review Init(03/31/15)</a>
</h3>
<h3>
<a href="end_of_day_routine_150331.html">
End of Day Routine(03/31/15)</a>
</h3>
<h3>
<a href="end_of_day_review_150331.html">
End of Day Review(03/31/15)</a>
</h3>
<h3>
<a href="log_150331.html">
Log(03/31/15)</a>
</h3>
<h3>
<a href="plan_document_150401.html">
Plan Document(04/01/15)</a>
</h3>
<h3>
<a href="personal_system_iterate_weekly_review_init_150401.html">
Personal System Iterate: Weekly Review Init(04/01/15)</a>
</h3>
<h3>
<a href="log_150401.html">
Log(04/01/15)</a>
</h3>
<h3>
<a href="plan_document_150402.html">
Plan Document(04/02/15)</a>
</h3>
<h3>
<a href="personal_system_iterate_weekly_review_init_150402.html">
Personal System Iterate: Weekly Review Init(04/02/15)</a>
</h3>
<h3>
<a href="log_150402.html">
Log(04/01/15)</a>
</h3>
<h3>
<a href="plan_document_150403.html">
Plan Document(04/03/15)</a>
</h3>
<h3>
<a href="personal_system_iterate_weekly_review_init_150403.html">
Personal System Iterate: Weekly Review Init(04/03/15)</a>
</h3>
<h3>
<a href="log_150403.html">
Plan Document(04/03/15)</a>
</h3>
<h3>
<a href="plan_document_150404.html">
Plan Document(04/04/15)</a>
</h3>
<h3>
<a href="personal_system_iterate_weekly_review_init_150404.html">
Personal System Iterate: Weekly Review Init(04/04/15)</a>
</h3>
<h3>
<a href="end_of_day_review_150405.html">
End of Day Review(04/05/15)</a>
</h3>
<h3>
<a href="end_of_day_routine_150405.html">
End of Day Routine(04/05/15)</a>
</h3>
<h3>
<a href="log_150404.html">
Plan Document(04/04/15)</a>
</h3>
<h3>
<a href="plan_document_150405.html">
Plan Document(04/05/15)</a>
</h3>
Which will be something I plop right into my weekly review file tomorrow for prepping through the review of my last two weeks of blog posts (I may have covered a good portion of some of these last week, but I can easily erase the links I don't need to review).
And now, finally, I have a workable thing for initing my weekly review. I can defintely do more, but for now this is the most valuable part that I want to implement for now.
It might be good to switch my focus on other things for a bit, now. We'll see.
Plan Document
04/05/15
| To Do Today | ||
|---|---|---|
| Daily | Blog Post Writing | |
| Daily | Personal System Iterate: Weekly Review Init | |
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
Plan Document
04/04/15
| To Do Today | ||
|---|---|---|
|
Daily
Skipped |
Personal System Iterate: Weekly Review Init | |
| Daily | Blog Post Writing | X |
| Daily |
|
- X |
|
End of Day Routine
End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
| External | Phone dying |
End of Day Review
04/05/15
All right, it's been a while since I've done one of these and I think it's about time to do another one. I'm getting a lot of mileage out of bus-ride pomodoros for website stuff. I mean, it's slow, but every bus trip is a significant step of learning, self-improvement, and script development. All leading to something I can point at and say I made.
The steps I'm taking to be able to make a weekly review generator are also solid steps towards DRYing up my site and just having my site run on node in general.
I will continue to prioritize the time I make towards site stuff until I'm properly comfortable with where it's at, which is again the ability to point at it and say what I've done with it and not feel like I didn't do something major.
Afterwards, I want to focus on CSS for a bit and really pretty-up my site properly, and get some ability with it under my belt.
And then, finally, I want to actually make the productivity extension to Chrome that I've been thinking about. Make it a replacement for the site-blocker I employ now but don't really like. If it's easy enough, I'll try to make it an add-on to Firefox as well.
I need to get back to going to sleep at the same time every night until I start waking up early again. If I had a consistent schedule I could plan more things, and I would really like to work on Smash training routine, and just do some hardware stuff as well as software.
But I won't plan anything beyond my inability to have a consistent schedule or my lack of personal control there.
Personal System Iterate: Weekly Review Init
04/04/15
Last time, I managed to get the link, date, and links to all the blog posts since my last weekly review. Now, I want to learn a good means of striping the white space from the resulting string(s), but it's not actually necessary for functional code, the browser output will be the same regardless.
So now it's time to throw away this prototype code and start from scratch with a consideration for the design of my script. Why? Because a lot of the structure of this script is the way it is not for design reasons but just because of the process I took to figure things out. Now that I've figured out what I want, I should start over to structure things with more purpose.
Instead of actually deleting it, I'm going to create a new javascript file in my scripts area and work on it without looking at the old script. The old script will be used as reference when necessary.
So, to start things off, I want a jslint header that says node is present. Then I want an anonymous main function to keep my stuff from being global.
This script, specifically, will read in the blog and diary posts I've written since the last weekly review of interest and provide and init'd weekly review post with a header list of all those blogposts (with each blogpost being linked to proper).
External Distraction: Phone is dying.
Now, this end result itself can be throwaway, hard-coded code again, but here I want to make some functions that can be more generally usuable for getting at blog posts and stuff. So what I want is a function that will return blogposts that passes some kind of filtering function. In this case, I'll feed this function a function that passes blogposts written on or after the date of the last weekly review.
At first I scaffold the other parts of the code that would get that date and just hard-code the date for now.
Okay, here's what I got:
/*jslint node: true */
(function () {
'use strict';
var fs = require('fs'),
$ = require('cheerio'),
beforeDate,
linkText;
linkText = function (postList) {
return function () {
var title,
date,
link,
blogpost = $(this);
title = function (blogpost) {
return blogpost.children('h1').text().trim();
};
date = function (blogpost) {
return blogpost.children('h2').text().trim();
};
link = function (blogpost) {
return blogpost.find('h1 a').attr('href').trim();
};
postList.push(
'<h3>\n <a href="'
+ link(blogpost)
+ '">\n '
+ title(blogpost)
+ '('
+ date(blogpost)
+ ')'
+ '</a>\n</h3>'
);
};
};
beforeDate = function (date) {
var postDate = function (blogpost) {
var h2 = blogpost.children('h2').text();
return h2.trim();
};
return function () {
var blogpost = $(this);
return (postDate(blogpost) < date);
};
};
fs.readFile('public/diary/index.html', 'utf-8', function (err, data) {
var diaryPost = [];
if (err) {
return;
}
$('.blogpost', data)
.not(beforeDate('04/04/15'))
.each(linkText(diaryPost));
console.log(diaryPost.reverse().join('\n'));
});
}());
Both the linkText and the beforeDate functions above are pieces of code I find generally usable for various website-related scripts. linkText will be useful for generating various review posts (as I may want to review series of posts as well as all the posts between weekly reviews).
I really like how the naming convention worked out, making:
$('.blogpost', data)
.not(beforeDate('04/04/15'))
.each(linkText(diaryPost));
Reads exactly like what it does, grabs all blogposts not before the date 04/04/15 and links each post. And its output:
$ node scripts/searchPosts.js
<h3>
<a href="plan_document_150404.html">
Plan Document(04/04/15)</a>
</h3>
Which is exactly correct!
Next time, I'll grab all the blogposts, as well, which will take factoring out that readFile callback function.
Plan Document
04/04/15
| To Do Today | ||
|---|---|---|
| Daily | Personal System Iterate: Weekly Review Init | |
| Daily | Blog Post Writing | |
| Daily | Personal System Iterate: Weekly Review Init | |
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
Plan Document
04/03/15
| To Do Today | ||
|---|---|---|
|
Daily
Skipped |
Personal System Iterate: Weekly Review Init | |
| Daily |
|
X |
| Daily | Personal System Iterate: Weekly Review Init | X X |
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
Personal System Iterate: Weekly Review Init
04/03/15
Last time I hacked something together to list the title and date of posts since the date of my last weekly review. I think from here I could also try and grab the relative link of the posts and print those out as well.
One thing that might be valuable at this point is to clean up the code I already have a little bit.
$('.blogpost').each(function (index) {
var blogpost = this,
whitespace = /\ /g,
valid,
date,
title;
title = function (blogpost) {
return $(blogpost).children('h1').text();
};
date = function (blogpost) {
return $(blogpost).children('h2').text();
};
valid = function () {
if (earliestDate && date(blogpost).search(earliestDate) === -1) {
return false;
}
if (!earliestDate) {
if (title(blogpost).replace(whitespace, '') === 'WeeklyReview') {
earliestDate = date(blogpost);
}
}
return true;
};
if (valid()) {
blogposts[index] = $(blogpost).children('h1,h2').text();
return;
}
return false;
});
Much better, now the code is a little more descriptive about what it's doing or trying to do. Some comments may also help but this is good for now.
Also, I realized I could print out the posts in chronological order via a simple reversal of the array. Yay!
So, getting the link should be as simple as
blogpost.children('a').attr('href');
Is it really that easy?
Nope, getting a bunch of undefined values. Must be missing something. Let's check the documentation.
Hmmm....
Maybe find will do what I want?
blogpost.find('a').attr('href');
It works! Even if there are multiple links inside a div post, the attr function will only return the value of the first one. Even so, I figure being more explicit would be better for the code in the long run. Though, that itself doesn't matter because this is prototype code that I will throw away soon, but still, practice makes better.
if (valid()) {
blogposts[index] = (
$(blogpost).children('h1,h2').text()
+ $(blogpost).find('a').attr('href')
);
return;
}
This code spits out:
$ node blogpost.js ../public/diary/index.html
Plan Document 03/30/15 plan_document_150330.html
UA Game Dev Club Meeting 03/30/15 gamedevclub_150330.html
Weekly Review 03/30/15 weekly_review_150330.html
End of Day Review 03/30/15 end_of_day_review_150330.html
Plan Document 03/30/15 log_150330.html
Plan Document 03/31/15 plan_document_150331.html
Personal System Iterate: Weekly Review Init 03/31/15 personal_system_iterate_weekly_review_init_150331.html
End of Day Routine 03/31/15 end_of_day_routine_150331.html
End of Day Review 03/31/15 end_of_day_review_150331.html
Log 03/31/15 log_150331.html
Plan Document 04/01/15 plan_document_150401.html
Personal System Iterate: Weekly Review Init 04/01/15 personal_system_iterate_weekly_review_init_150401.html
Log 04/01/15 log_150401.html
Plan Document 04/02/15 plan_document_150402.html
Personal System Iterate: Weekly Review Init 04/02/15 personal_system_iterate_weekly_review_init_150402.html
Log 04/01/15 log_150402.html
Plan Document 04/03/15 plan_document_150403.html
And that's all the time I have for today.
Plan Document
04/03/15
| To Do Today | ||
|---|---|---|
| Daily | Personal System Iterate: Weekly Review Init | |
| Daily | Blog Post Writing | |
| Daily | Personal System Iterate: Weekly Review Init | |
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
Log
04/01/15
| To Do Today | ||
|---|---|---|
|
Daily
Skipped |
Personal System Iterate: Weekly Review Init | |
| Daily |
|
|
| Daily | Personal System Iterate: Weekly Review Init | X |
| Skip |
End of Day Routine
End of Day Review |
|
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
Personal System Iterate: Weekly Review Init
04/02/15
Last time I grabbed all my blogposts into an array and got the length of the array. This time, I want to do something a bit more complicated; I want to reduce the blogposts to the ones since my last weekly review.
Now, part of me thinks this is one of those things I should do synchronously, but I want to apply this ability to more than just a list of posts between points in time. However, I also want to keep the chronological order for each blog post that triggers correctly.
Hmmm.... Let's make a thing that does the thing and think about better construction after.
So... I don't know jQuery syntax very well. This is something I need to think about carefully.
This is something I need to research, actually.
And yet I still managed to hack something together that is slowly approximating what I want to do!
$ = cheerio.load(data, {
normalizeWhitespace: true
});
blogposts = [];
$('.blogpost').each(function (index) {
var that = this,
validPost = function () {
if (date && $(that).children("h2").text().search(date) === -1) {
return false;
}
if (!date) {
if ($(that).children("h1").text().replace(/\ /g,'') === "WeeklyReview") {
date = $(that).children("h2").text();
}
}
return true;
};
if (validPost()) {
return blogposts[index] = $(this).children("h1,h2").text();
}
return false;
});
console.log(blogposts.join('\n'));
This code outputs:
$ node blogpost.js ../public/diary/index.html
Plan Document 04/01/15
Log 04/01/15
Personal System Iterate: Weekly Review Init 04/01/15
Plan Document 04/01/15
Log 03/31/15
End of Day Review 03/31/15
End of Day Routine 03/31/15
Personal System Iterate: Weekly Review Init 03/31/15
Plan Document 03/31/15
Plan Document 03/30/15
End of Day Review 03/30/15
Weekly Review 03/30/15
UA Game Dev Club Meeting 03/30/15
Plan Document 03/30/15
Which is the title and date of each diary post of each day up until and including the day I wrote a post with a weekly review title.
Format it so it's html that links to the post refenced, and that's exactly what I want.
Next time?
Plan Document
04/02/15
| To Do Today | ||
|---|---|---|
| Daily | Personal System Iterate: Weekly Review Init | |
| Daily | Blog Post Writing | |
| Daily | Personal System Iterate: Weekly Review Init | |
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
Log
04/01/15
| To Do Today | ||
|---|---|---|
|
Daily
Skipped |
Morning Routine | |
|
Daily
Skipped |
Personal System Iterate: Weekly Review Init | |
| Daily |
|
X |
| Daily | Personal System Iterate: Weekly Review Init | X |
| Skipped |
End of Day Routine
End of Day Review |
|
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
Personal System Iterate: Weekly Review Init
04/01/15
Let's continue where I left off and feed in an html file as a commandline argument.
/*jslint node: true */
(function () {
"use strict";
var args = process.argv.slice(2),
fs = require('fs'),
cheerio = require('cheerio'),
$,
usage;
usage = function () {
console.log("Need a single input HTML file to read.");
};
if (args.length !== 1) {
return usage();
}
fs.readFile(args[0], "utf-8", function (err, data) {
if (err) {
return usage();
}
$ = cheerio.load(data);
console.log($.html());
});
}());
Running this on my homepage's index.html file spits out... my homepage's html.
From here, I think I should play a bit. Could I count the number of blogposts in my blog area?
fs.readFile(args[0], "utf-8", function (err, data) {
if (err) {
return usage();
}
$ = cheerio.load(data);
console.log($('.blogpost').length);
});
And running it gets me?
$ node blogpost.js public/blog/index.html
239
Only 239? I figured it'd be more by now. How many did I have at the beginning of the year?
Internal Distraction: Checking blog post from beginning of the year.
I had 150 blogposts at the end of last year according to my last post of last year (interesting, it seems my css link for that post is an abosolute path, still got some stuff to fix there).
So, I'm pretty close to 90 blogposts for this year, which considering my average of one per day, I feel confident that my little script there works.
Nice.
And that's all the time I have for today.
Plan Document
04/01/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
| Daily | Personal System Iterate: Weekly Review Init | |
| Daily | Blog Post Writing | |
| Daily | Personal System Iterate: Weekly Review Init | |
|
End of Day Routine
End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
Log
03/31/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X X |
| Daily | Personal System Iterate: Weekly Review Init | |
| Daily |
|
X |
| Daily | Personal System Iterate: Weekly Review Init | X X |
|
End of Day Routine
End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
End of Day Review
03/31/15
I don't do enough everyday to do a review everyday. I'll do a review when my plan for the day changes. Tomorrow's plan will be the same as today's.
Personal System Iterate: Weekly Review Init
03/31/15
Okay, system iterating. This pomodoro's foucs?
Weekly Review Template Generation
Basically, I want a thing that'll link to all my blog posts and automate as much as is reasonable. I write a lot of posts in a week, even for my home system. Being able to automatically link to all of them, and setup a place for commentary in my weekly review will actually save a significant amount of time.
Further, such a script could be modified to get other posts and stuff, which could be useful for various reasons (collecting all my vim posts and tagging them, for example).
So, how should I do this? I downloaded a node library called cheerio that gives me jQuery functionality on server-side html. Let's use that.
The cheerio that I npm install'd has a readme.md with the following useful code:
/*jslint node: true */
var cheerio = require('cheerio'),
$ = cheerio.load('<h2 class="title">Hello world</h2>');
Okay, from here let's feed in an html file as a commandline argument....
I guess that's next time.
Plan Document
03/31/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
| Daily | Personal System Iterate: Weekly Review Init | |
| Daily | Blog Post Writing | |
| Daily | Personal System Iterate: Weekly Review Init | |
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Maintenance | Fix broken links on website | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Distractions | ||
Plan Document
03/30/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | X X X |
| Daily |
|
X |
| Smash Practice Development | ||
| Daily |
|
X |
|
Maintenance
Weekly |
Weekly Review | X X |
| Daily | Review: Hire With Your Head | |
| End of Day Routine | X | |
| End of Day Review | X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 3 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down)
Wii Mod (Break It Down) |
10 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Distractions | ||
End of Day Review
03/30/15
So, I'm falling a bit behind on system review stuff. I'm making note of it, though, and doing it on purpose. I'm doing it on purpose to take serious note of my current organizational system and what tools I could employ or develop to make the whole process more efficient.
One such thing that definitely needs some helper tools is my weekly review. The content I create weekly is increasing every week, even at home, and it's hard to review it and make note of everything and organize everything, especially considering the system is still in its early, first rough-draft stages.
I need to make a plan based on my past weekly reviews, and see if I can conquer this thing in a more effective manner that still gets all the value I've gotten every weekly review. Even this one, which was cut way short and didn't do much, was still valuable I think.
Useful tools to develop:
-
Auto generate list of posts to review
- It could be since the last weekly review
- Random other posts could also be inserted
More than just tools though, I just need some basic lists to help remind me of all the places I keep stuff, and why I keep it in those separate places. I finally added a list of places I keep action items in my weekly review, but why I have separate lists could also be valuable. Why an action is in a tickler vs. in email vs. in bookmarks vs. in activity inventory vs. calendar vs. etc. are all things I need to have well-defined.
Really, it all boils down to context and where it is useful to have an action and why. Simple as that. The physical tickler is good for physical actions that don't require a computer. A digital tickler is good for things I can only act on sporadically, and infrequent reminders are useful. An activity inventory are actions related to my current priorities. Someday/Maybe (needs to be implemented) are projects that are not actually planned. Long-term (needs to be implemented) are things that need to be boiled down into activitiy inventory items.
What this post is getting at is that my system needs to be reevaluated and its design iterated such that I do a better job at life. Don't get me wrong, it's powerful and useful now, and will continue to be if I keep using it as it is now, but it can be much more powerful if I scale it to handle considerably more complexity and responsibilitiy.
And so that's what I'm going to focus on for this week.
Planning Tomorrow
Mostly the same, but every spare pomodoro goes to iterating my system and, at the same time, catching up on my weekly review. The planned blog post will still happen, though it'll probably focus on my system as well.
That's good enough for now. Let's do this!
Weekly Review
03/30/15
My weekly review instructions can now be found here. The diary post is now commentary on the review, and it will also make note of any changes I decide to make to the guideline page itself. For example, I realize I never go through my bookmarks during the weekly review. There's a lot of good content on both my Firefox and my Chrome, and it would also be useful to merge the two together fairly regularly. So, I'll add that now.
Process Your Notes
Capture Notebook
- Everday training plan
-
vnc prototype blogpost - Mr. Money Moustache
- npm version rules
My everyday training plan is a blogpost idea that talks about what my blog has become, and how I'll apply lessons learned from it to other things over the long run, maybe. Adding it to my blog inprogress area.
vnc prototype blogpost is... something that isn't even ready to be an empty draft in my inprogress area. Striking it out for now.
Mr. Money Moustache was a site recommended by a good friend, Stephan. It's something I feel I encountered before, but I'd like to revisit it. Adding it to my browser actions list.
Having remade my findReplace node script, I became curious about what the standard convention was for versions on npm projects. I'm still unclear about it. I have found some resources on it, though, so it'll be a good blog post at some point.
Diary Posts of the Week
My last weekly review was on 03/23, so let's catch up on everything from there! Hmmm.... At work I made a script that grabs all the posts since the last week for me and prepares headers with links to the posts to insert into this post....
Worth doing at home, too? Took a good chunk out of my review, which is why I didn't finish the work review. Eh, screw it, this week is now officially "Work on my pomodoro system" week. No review writing, and maybe even the blog posts will focus on it.
So, I'm going to skip the rest of the review, incur some weekly review technical debt, and work towards tools that make this valuable system more efficient to use. Hopefully, these efforts are a great success.
UA Game Dev Club Meeting
03/30/15
Announcements
Game night this Friday? Same weekend as Spring Fling. No one cares, let's have Game Night! Need to ask if anyone else is using the IEEE room. We need to find out.
Officer elections happening soon:
-
President
- Organizer of meetings and talks
-
Vice-President
- Does presidential work delegated to her from president
-
Treasurer
- Planner of GDC and gatherer of funding (for GDC)
-
Community Outreach
-
Network the club!
- In classes
- At other clubs
- Outside the U of A
-
Network the club!
Digital Painting
Brainstorming
Ideas:
- Underwater Christmas with stringrays
- Flooded northpole
- Santa vs. Atlantis
Research: Gathering Good Reference Material
Really learn about the shapes and anatomy of what you want to include in your drawing.
The Process
Foreground elements darker than the background elements.
Coloring in the Christmas reef.
God rays can be saved until the end.
Interesting shapes important.
Composition important.
Horrizon position important.
Light/dark important. Got to have a good value structure to be able to see what's going on in the drawing. Good means of separating individual aspects of the value. Cheating here is okay. Called "value composition".
Color Blocking
- Choose base colors
- Put them in generally the right area
Painting
- Pick colors off the canvas and start painting on top
- "Magical" step
- Tends to be mysterious to non-artists
- Actually very straightfoward when you're familiar with art
- Catch mistakes early
- Don't be afraid to erase
Back to Underwater Christmas Painting
Art techniques make sense after a while.
Got lost in watching the painting and asking questions.
I got to get better at keeping notes.
Plan Document
03/30/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
|
Maintenance
Weekly |
Weekly Review | |
| Daily | Review, Memorize, Communicate | |
| Smash Practice Development | ||
| Daily | Blog Post Writing | |
| Daily | Review: Hire With Your Head | |
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 3 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down)
Wii Mod (Break It Down) |
10 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Distractions | ||
End of Day Review
03/29/15
All right, I want to properly put my tickler items into my plans each day. Also, I will be back to planning my day and doing pomodoro stuff regularly. This past weekend I was exhausted and doing a lot of stuff, so I kinda let my plan fall by the wayside both Saturday night and Sunday morning.
Let's go over each ticklet item and
| Tickler Items (03/30) | ||
|---|---|---|
| Memorize |
|
|
| [03/31] | Timesheet Check | |
| Call Cox about increased bill | ||
| Text Greg about hanging out | ||
| [04/05] | Here Document | |
| Memorize |
|
|
| Memorize |
|
|
| Put Away Laundry | ||
| [04/03] |
Xerocraft
Daft Punk Costume Raspberry Pi build Attempt to fix Macbooks |
|
| [May] | Dawn of Discover Game | |
| [May] | What's something you wish was being worked on, or was available, but no one seems to be prioritizing right now? | |
| [May] | Code School/Pluralsight 10-Day Trail? | |
| [May] | Lang-8 Blogpost (Weekly) | |
| Clean under oven, dish washer, fridge | ||
| Clean kitty litter (alternate days) | ||
| Clean my computer | ||
| Clean pet feeding area (alternate weeks) | ||
| Clean toilets, sinks, shower/bathtub | ||
| [May] | Drawing on the Right Side of the Brain | |
| [May] | Reread Learn You a Haskell for Great Good! (Actually write Haskell Code this time) | |
| [May] | Livio's C++ Visual Studio Game | |
| [May] | Commodore 128 play with | |
| Clear out notebook | ||
| Report progress on past week | ||
| Weekly Review | ||
| Shave your face | ||
| Call Doctor | ||
| [04/05 | Mortgage Insurance Research | |
| Put up blinds on kitchen window |
So, a bunch of those items shouldn't be tickler items. They should be Someday/Maybe or project items. They are in my tickler from when I abused the tickler as my only system of telling myself what to do. I need to fix that, but for now I'll throw most of the items that aren't ticklers and not things that need to be done ASAP to May. Maybe during my weekly review I'll review this list and think about how I want to do these things.
So, I need to plan tomorrow. Tomorrow will be busy, and I don't really know the plan yet, but let's try to plan some pomodoros anyways.
Oh, yeah, that's right, I remade my find/replace node script. It is now setup such that I won't be able to feed in the parent directory and replace every single character with a whole file's worth of contents. RegExp feed-in is esacped for now. Maybe I'll change my mind, but I don't think so. It's really just an exercise in node filesystem manipulation, anyways.
Plan for the Day
My first major thing to tackle is my weekly review. This may be the first time I devote time to it at home. Got to reread my past week of posts and think about what I want to focus on and why. At least one pomodoro should be assigned to developing deadlines again. That's something I haven't given any priority.
Other than that, I'm just going to go with a normal plan for the day. Let's see what happens!
Log
03/28/15
| To Do Today | ||
|---|---|---|
| Building Plan | ---- X | |
|
|
- V X X | |
|
|
X | |
| Crafty Code Insert Into Impress.js Presentation | ||
| Daily | Blog Post Writing | |
| Daily | Spaced Repetition | |
| Daily | Javascript Development | |
| End of Day Review | ||
| End of Day Routine | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Distractions | ||
| External | Someone asking why I'm staying around | |
| External | Other person asking if everybody went home. | |
| External | Everyone has a cow, man | |
| External | Explaining that I'm doing pomodoro stuff |
Development Tools Improvement: Vim Setup
03/28/15
I don't know if I enjoy the direction of my hacking vim to make my code and text typing. Trying to make it cleaner makes it look worse almost, and also makes it all take much longer than simply recording my keystrokes.
It's definitely going through some growing pains and I'm going to have to work through them.
Plan Document
03/28/15
| To Do Today | ||
|---|---|---|
| Building Plan | ---- | |
| Impress.js: The Beginning Draft | ||
| Development Tools Improvement: Vim Setup | ||
| Crafty Code Insert Into Impress.js Presentation | ||
| Daily | Blog Post Writing | |
| Daily | Spaced Repetition | |
| Daily | Javascript Development | |
| End of Day Review | ||
| End of Day Routine | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Distractions | ||
| External | Someone asking why I'm staying around | |
| External | Other person asking if everybody went home. | |
| External | Everyone has a cow, man | |
| External | Explaining that I'm doing pomodoro stuff |
Building Plan
03/28/15
Okay, so yesterday's home pomodoro stuff mostly didn't happen. I mean, I got my blog in but other than that I didn't plan my day or adhere to any kind of plan.
And now, at 01:00 on 03/28, I will make a 9-hour plan of doing cool things. Yeah!
The normal rate is 1.25 pomodoros per hour, so let's go for 12 pomodoros, and have an ideal plan of 1.6 pomodoros per hour. 14 total pomodoros? Yeah, okay.
The first pomodoro is this plan. There will be no morning routine this time.
External Distraction: Someone asking why I'm staying around
Now, I could do spaced repetition and stuff. Let's make that an ideal pomodoro.
External Distraction: Other person asking if everybody went home.
The first thing I want to devote most of my time to is making my beginning game-making game draft in impress.js. Then, I'll devote a pomodoro to local vimscript setup.
External Distraction: Everyone has a cow, man
Once I got my initial draft of impress.js, I want to insert actual game code in there, and this time I want a Crafty game inserted in.
External Distraction: Explaining that I'm doing pomodoro stuff
End of Day Routine
03/27/15
Put away all food in the kitchen.
Nasal spray.
Camera setup.
Process email items.
Publish blog post of the day.
Clear out backpack:
- Tickler folder
- Dirty laundry
- Lunch dishes
- Items recently put in
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Push local chromebook setup to server.
Log
03/26/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
| Daily |
|
X |
| Daily |
|
X |
|
End of Day Routine
Pack for Game Jam Weekend |
X | |
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions | ||
Review
03/27/15
Cowardly choosing sleep over a proper review here.
12-hour day wasn't the most efficient if I go by pomodoro-rate. However, the rate could have also been affected by general talking and my ability to be distracted today well before significant hours were put in. And it was a lot of good talking.
Bus ride home was fast so slow-going review writing got even less time today. I think I'll have to accept falling behind a bit while I find my way with this first review.
Packed for game jam, more or less. I might come home Saturday, or, rather, I will, so I don't need to worry too much. I like the theme, though I might not make anything along it as I can't properly compete and as such this is a great excuse to tackle any game idea I want to (I have several ideas). I'll bring Game Dev Cookbook for reference, as well as a few other things.
Excited for the weekend and what it might bring. Hoping I'm not too sleep-deprived over the course of it.
Plan Document
03/26/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
| Daily | Blog Post Writing | |
| Daily | Review: Hire With Your Head | |
| Pack for Game Jam Weekend | ||
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions | ||
Plan Document
03/26/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
| Daily | Blog Post Writing | |
| Daily | Review: Hire With Your Head | |
| Pack for Game Jam Weekend | ||
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Distractions | ||
End of Day Routine
03/25/15
Drink big glass of water. Take Allegra.
Put away all food in the kitchen.
Nasal spray.
Camera setup.
Process email items.
Publish blog post of the day.
Brush teeth.
Clear out backpack:
- Tickler folder
- Dirty laundry
- Lunch dishes
- Items recently put in
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Push local chromebook setup to server.
Log
03/25/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X X |
| Daily | Spaced Repetition | |
| Smash Practice Development | ||
| Daily |
|
X |
| Daily |
|
X |
|
UA Game Dev Club Email |
X | |
|
|
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Research | MEAN/node.js jobs google | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Distractions | ||
Review
03/25/15
So, today I failed to follow the plan I made yesterday, but I still approximated it, and got my normal pomodoros in. Which, you know, is decent progress. Work was also a close approximation of what I planned, even with two hours less than I originally wanted.
Tomorrow and Friday will be busy days at work. Even if I could work ideally, it would probably be better to just get the extra hours in at work so I can more easily make the Game Jam on time. Tomorrow, however, I need to do a little bit of packing for Game Jam on Friday, as I will go from work to the U of A.
So, that means tomorrow needs a pomodoro towards that once I get home. Not too much work, just a few changes of clothes and maybe some snacks.
All done.
Let's do some thinking on my home system now. I like that I've moved a good chunk to the end of my day, makes it so I can have faster morning when I need to. And now that I'm moving more to the end of my day, it makes sense to have a larger amount of end-of-day routine tasks. Some of them should have been there anyways: tickler organization, empty my backpack. Improving my starting and ending routines are going to be very valuable to a fully productive day.
Ending a day right makes starting the next day right easier, and starting the day right helps me focus on what I find important.
All right, let's publish my items for today!
Plan Document
03/25/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
| Daily | Spaced Repetition | |
| Smash Practice Development | ||
| Daily | Blog Post Writing | |
| Daily | Javascript Development | |
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Research | MEAN/node.js jobs google | 1 |
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Distractions | ||
End of Day Routine
03/24/15
Drink big glass of water. Take Allegra.
Put away all food in the kitchen.
Nasal spray.
Process email items.
Publish blog post of the day.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Push local chromebook setup to server.
Log
03/24/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X X |
| Daily | Building Plan | |
| Daily | Spaced Repetition | |
| Smash Practice Development | ||
| Daily |
|
X |
| Daily |
|
X |
|
|
- X | |
|
Email Sam Ramirez game stuff (See private area for email address) |
V | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 3 |
| Distractions | ||
| External | Rosse talking to me |
Review
03/24/15
Today was a really good work day, but again a minimal out-of-work day. I published my blog post, fixed some stuff with my blog RSS, and did some more review writing.
External Distraction: Rosse talking to me
Work was really, really good, though, and it motivates me to do really well at home, I think. Review writing is going to end up being much slower, I have to accept that. I might fall behind in my reading goals, but it'll be worth it for higher quality reviews and higher quality understanding and/or participation of the material I am reading.
Tomorrow, instead of review writing, I will do Javascript stuff. I will jump from thing to thing until I get stuck, and put clear notes on what I was getting stuck on. Hopefully, I can get to finishing a lot of good stuff. Game stuff, web site stuff, file-manipulating scripts, database stuff, personal productivity stuff, chrome extension stuff. Alternating days between reading (or, right now, writing reviews) and working on software projects will be good. If I can manage my time such that I do both everyday, all the better.
So, tomorrow—well, first let's fix the template document. The way I do things is a little different now. Also, some things should be ideal pomodoros, things I do if the day is going well at that point. Spaced repetition and Smash practice are things I aspire to, but they aren't priorities by any measure of the word. Not right now.
Okay, I'm going to try a new thing where I only keep relevant things in the Activity Inventory, and otherwise the template activity inventory is where I'll store everything until that become too unwieldy and then I'll iterate further.
Tomorrow's limited plan is: short morning routine, bus-ride blogging, bus-ride javascripting, end of day stuff. I got a long day of work tomorrow so this is realistic. Ideally, I can fit in more quality morning routine stuff, a spaced-repetition pomodoro, and do my first attempt at setting up my home Smash-station.
I think that's good for now. I could finish up this pomodoro talking about what I need to do with my system, and that could be really valuable, but I'm going to sleep late enough as it is, so I'll just void this pomodoro and call it a night.
Morning Routine
03/24/15
Start pomodoro.
Get dressed.
Comb hair and tie back.
Pack backpack with clothes.
Bathroom.
Brush teeth, floss, and rinse with listerine.
Refill water.
Feed dogs.
Refill cat's water. Feed cat.
Take out trash.
Do dishes.
Check ripeness of fruits and veggies:
- Avacados
- Tomatoes
- Spinach
Process tickler.
Pack up for work. Pack clothes, pack lunch.
Close/open necessary doors.
Plan Document
03/24/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
| Daily | Building Plan | |
| Daily | Spaced Repetition | |
| Smash Practice Development | ||
| Daily | Blog Post Writing | |
| Daily | Review: Hire With Your Head | |
|
End of Day Routine
Email Sam Ramirez game stuff (See private area for email address) |
||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 3 |
| Distractions | ||
Log
03/23/15
| To Do Today | ||
|---|---|---|
|
|
X | |
| Daily |
|
X |
|
|
X X X | |
|
|
||
|
|
||
| UA Game Dev Javascript Talk Prep or Dryrun | ||
|
|
X | |
|
|
X X X | |
| Daily |
|
X |
| End of Day Routine | X | |
| End of Day Review | X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Review
03/23/15
Today was pretty productive, but still unfocused. There's a significant lack of control I have outside of work. At work, I've gained a serious amount of control, but at home, it just isn't there. It may just be something I have to work at.
I did a good talk at Game Dev today. A huge part of that were the prep pomodoros I managed to do. It also makes me want to get more serious into presenting my ideas to an audience.
Presenting today showed me the power of getting good at starting from scratch again. Yeah, yeah, get good at finishing, but that's advice for people who keep starting but never finishing. It's not that I've only practice the beginning and never got good at ending, it's that I'm inexperienced overall.
It's like I'm trying to run a hundred miles and I don't realize I should probably stop when I'm sleeping on the pavement. It's probably why blogging is one of the few things that is getting consistent work from me, I start a new blog post almost everyday.
So, I'm going to rewrite node scripts regularly until I get really familiar with node and javascript stuff. I will attempt to do something similar with Crafty.
But first I need to catch up on review writing. Let's plan for tomorrow right now.
Let's do a basic plan with review development on the bus ride home and see how well I do.
End of Day Routine
03/23/15
Drink big glass of water. Take Allegra.
Put away all food in the kitchen.
Nasal spray.
Camera setup.
Process email items.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Push local chromebook setup to server.
Weekly Review
03/23/15
The Weekly Review is the time to
- Gather and process all your "stuff."
- Review your system.
- Update your lists.
- Get clean, clear, current, and complete.
Very simply, the Weekly Review is whatever you need to do to get your head empty again. It's going through the five phases of workflow management—collecting, processing, organizing, and reviewing all your outstanding involvements—until you can honestly say, "I absolutely know right now everything I'm not doing but could be doing if I decided to."
From a nitty-gritty, practical standpoint, here is the drill that can get you there:
Process Your Notes Review capture notebook and blog posts and personal diary items. Also review any journal entries, meeting notes, or miscellaneous notes scribbled on notebook paper. List action items, projects, waiting-fors, calendar events, and someday/maybes, as appropriate. File any reference notes and materials. Stage your "Read/Review" material. Be ruthless with yourself, processing all notes and thoughts relative to interactions, projects, new initatives, and input that have come your way since your last download, and purging those not needed.
Loose Papers Pull out all miscellaneous scraps of paper, business cards, receipts, and so on that have crept into the crevices of your desk, clothing, and accessories. Put it all into your in-basket for processing.
Previous Calendar Data Review past calendar dates in detail for remaining action items, reference information, and so on, and transfer that data into the active system. Be able to archive your last week's calendar with nothing left uncaptured.
Upcoming Calendar Events and Deadlines Review current deadlines. Update and add new deadlines. Look at future calendar events (long- and short-term). Capture actions about arrangements and preparations for any upcoming events.
Empty Your Head Put in writing (in appropriate categories) any new projects, action items, waiting-fors, someday/maybes, and so forth that you haven't yet captured.
Review "Projects" (and Larger Outcome) Lists Evaluate the status of projects, goals, and outcomes one by one, ensuring that at least one current kick-start action for each is in your system.
Review "Next Actions" Lists Mark off completed actions. Review for reminders of further action steps to capture.
Review "Waiting For" List Record appropriate actions for any needed follow-up. Check off received items.
Review Any Relevant Checklists Is there anything you haven't done that you need to do?
Review "Someday/Maybe" List Check fo any projects that may have become active and transfer them to "Projects." Delete items no longer of interest.
Review "Pending" and Support Files Browse through all work-in-progress support material to trigger new actions, completions, and waiting-fors.
Be Creative and Courageous Are there any new, wonderful, hare-brained, creative, thought-provoking, risk-taking ideas you ccan add to your system.
"Incompletion Triggers" List
Professional
- Projects started, not completed
- Projects that need to be started
-
Commitments/promises to others
- Boss/partners
- Collegues
- Subordinates
- Other people in organization
-
"Outside" people
- Customers
- Other organizations
- Professionals
-
Communications to make/get
-
Internal/External
-
Initiate or respond to:
- Phone calls
- Voice-mail
- Pages
- Faxes
- Letters
- Memos
-
Initiate or respond to:
-
Internal/External
-
Other writing to finish/submit
- Reports
- Evaluations/reviews
- Proposals
- Articles
- Promotional materials
- Manuals/instructions
- Rewrites and edits
- Meetings that need to be set/requested
- Who needs to know about what decisions?
- Significant read/review
-
Financial
- Cash flow
- Statistics
- Budgets
- Forecasts/projections
- P&Ls
- Balance sheet
- Credit line
-
Planning/organizing
- Formal planning (goals, targets, objectives)
- Current projects (next stages)
- Upcoming projects
- Business/marketing plans
- Organizational initiatives
- Upcoming events
- Meetings
- Presentations
- Organizational structuring
- Changes in facilities
- Installation of new systems/equipment
- Travel
-
Banks
- Receivables
- Payables
- Petty cash
-
Adminstration
- Legal issues
- Insurance
- Personnel
- Policies/procedures
-
Customers
- Internal
- External
- Marketing
- Promotion
-
Sales
- Customer service
-
Systems
- Phones
- Computers
- Office equipment
- Other equipment
- Utilities
- Filing
-
Storage
- Inventories
- Supplies
-
Office/site
- Office organization
- Furniture
- Decorations
-
Waiting for...
- Information
- Delegated tasks/projects
- Completions critical to projects
-
Replies to:
- Letters
- Memos
- Calls
- Proposals
- Requisitions
- Reimbursements
- Petty cash
- Insurance
- Ordered items
- Items being repaired
- Tickets
- Decisions of others
-
Professional development
- Training/seminars
- Things to learn
- Things to look up
-
Skill to practice/learn especially re:
- computers
- Tape/video training
- Resumes
- Outside education
- Research—need to find out about...
- Professional wardrobe
Personal
- Projects started, not completed
- Projects that need to be started
-
Commitments/promises to others
- Spouse
- Children
- Family
- Friends
- Professionals
- Borrowed items
-
Projects: other organizations
- Service
- Civic
- Volunteer
-
Communications to make/get
- Family
- Friends
- Professional
-
Initiate or respond to:
- Phone calls
- Letters
- Cards
-
Upcoming events
- Special occasions
- Birthdays
- Anniversaries
- Weddings
- Graduations
- Holidays
- Travel
- Weekend trips
- Vacations
- Social events
- Cultural events
- Sporting events
-
R&D—things to do
- Places to go
- People to meet/invite
- Local attractions
-
Administration
-
Financial
- Bills
- Banks
- Investments
- Loans
- Taxes
- Insurance
- Legal affairs
- Filing
-
Financial
-
Waiting for...
- Mail order
- Repair
- Reimbursements
- Loaned items
- Medical data
- RSVPs
-
Home/household
- Landlords
-
Property ownership
- Legal
- Real estate
- Zoning
- Taxes
- Builders/contractors
- Heating/air-conditioning
- Plumbing
- Electricity
- Roofing
- Landscape
- Driveway
- Walls/floors/ceiling
- Decoration
- Furniture
- Utilities
- Appliances
- Lightbulbs/wiring
- Kitchen things
- Washer/dryer/vacuum
- Areas to organize/clean
- TV
- DVD
- Music/CDs/tapes/mp3s
- Cameras/film/video
- Phones
- Answering machine
- Sports equipment
- Clesets/clothes
- Garage/storage
- Vehicle repair/mainteance
- Tools
- Luggage
- Pets
-
Computers
- Software
- Hardware
- Connections
- CD-ROM
- Flashdrives
- SD cards
- Email/Internet
-
Health care
- Doctors
- Dentists
- Specialists
- Thearpists
-
Hobbies
- Coding
- Games
- Game design
- Drawing
- Books/records/tapes/disks
-
Errands
- Hardware store
- Drugstore
- Market
- Bank
- Cleaner
- Stationer
-
Community
- Neighborhood
- Schools
- Local government
- Civic issues
Review Commentary
Catpure Notebook
Lots of good stuff in my capture notebook that are now in my reading bookmarks area on chrome. Mostly node and/or javascript related.
Blog Reading
I have established that my brain is female.
I like my post about designing a good review. If it ever actually leads to a good written review or two I should share it a bit, maybe.
Deadlines aren't going to do me any good if I don't devote more pomodoros per day/week to extra-curricular work.
Lots of game-related posts this past week. I think I may be back to my game-focused cycle of productivity.
Getting into vim at work has led to some decent vim posts, as well.
And then some blog posts on storytelling ideas.
I almost feel like there's a good flow and even a kinda theme to this week's blog posts. Games, Vim, and editing anime story-telling with my personal preferences. Yeah, it really feels like there's something deeper there that connects it all.
Hmmm.... Do I want to explore this further? I have no idea. Maybe it will naturally come back into form.
Diary Reading
Lots of sporadic thoughts. I might need to do my home system without any distractions, and when I'm actually more awake (aka, now is an example of me diary posting while both distracted and tired).
I should read plan documents and logs more often.
Loose Papers
Clearing out my receipts.
Budget stuff is something I need to work on, for sure.
Empty Your Head
I'm keeping stuff outta there pretty consistently, I feel. Blogging everyday is probably helping with that.
Review Projects
Haven't gotten much anywhere on my projects. I should work on that.
Next Actions
I should work on having a proper "next actions" list. Currently, projects and next actions are kinda mixed together.
Waiting For
No real waiting lists. I should work on it.
Skipping the Rest
I'm glad I did this, but I'm not going to finish this proper this week. The next weekly review will go better.
UA Game Dev Javascript Talk Prep
03/23/15
So, I want to talk about HTML5 Game Devopment.
Why HTML5?
Most everyone interacts with a browser everyday. That browser delivers content through HTML, CSS, and JavaScript. Aka, HTML5. I mean, if it's older it might not be compatible with some of the things I'm talking about, but for our purposes newer is definitely good enough to reach a lot of people with a compatible platform.
So, I think it'd be a good language to be good at prototyping in. There are various prototyping languages out there that can be played on a browser one-way-or-another, but this gets right at the source, and HTML5 is reaching that point where it isn't quite so painful to develop in it directly anymore.
So, I'm going to use this thing called JSFiddle. It's kinda like an IDE for HTML5, and I feel like that's better than showing you how I currently develop, which is a setup more tailored to me and does lots of magical things not really relevant to this talk.
I may resort to my magical ways, but that's only because I like typing that way. I'll copy-paste stuff into JSFiddle.
An Minimal Viable Product
Who here doesn't know what a minimal viable product is?
A minimal viable product is a prototype designed to get at the heart of whatever it is you're trying to make, and seeing if there's real value there.
So, here's a thing I made that is almost an MVP:
Let me switch to a JSFiddle's version of this.
Plan Document
03/23/15
| To Do Today | ||
|---|---|---|
| Game Dev Game Jam Invitation Talk Prep | X | |
| Daily | Building Plan | |
| UA Game Dev Javascript Talk Prep | ||
| UA Game Dev Emails | ||
| UA Game Dev Javascript Talk Dryrun | ||
| UA Game Dev Javascript Talk Prep or Dryrun | ||
| UA Game Dev 127B Game Jam Invite Prep | ||
| Weekly Review | ||
| Daily | Blog Post Writing | |
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Building Plan
03/23/15
Okay, starting this a bit late. I should prepare for my talk a bit, email some—
External Voiding Pomodoro Distraction: Dragonball Z Abridged stuff
What I need to do:
- Prepare for Game Dev talk
-
Email officers about
- sign up sheet
- directions to building and room on UA Game Dev blogpost
- Facebook post
- Email CSC 335 teacher about talking up the Game Jam tomorrow
The next pomodoro should be prepping for the talk. Then I can do both emails for Game Dev stuff in one pomodoro.
I want to do a weekly review at some point.
External Distraction: Asking if I'll be here
I guess I could stand to write good directions for how to get to the IEEE room for the Game Jam. I can do that for the email pomodoro.
Let's go ahead and do a pomodoro-by-pomodoro breakdown of what I want to do.
UA Game Dev Javascript Talk Prep
I need to review what I'll be showing, and where I want to take the talk from there. I might want to show a couple of the games I've worked on, and maybe do a quick blank page to something working demo.
I should also do a practice run, which itself would be a pomodoro, as the talk needs to take about a half-hour. So, I should prep for the talk, do a practice run, take notes during that run about what I need to do, and then maybe do another practice run or prep pomodoro.
UA Game Dev Emails
Need to send emails to officers about class I went to, feedback I got from Mercer, and also email I will send to the CSC 335 teacher.
Officer email will be:
- Where do I put the list of names I got from signup sheet
- Can we add directions to the building/room for the Game Jam post
- Should we do a proper Facebook post?
- If no one else can get to CSC 335, I'll go, here's the email I plan on sending
Teacher email should just be a slightly modified version of the email I sent Mercer.
Is the Plan Good?
I think this plan should work for today. I should've made the plan much sooner, but eh, not all days will be perfect. Let's add a pomodoro prepping for 127A, I only got one minute for the execution of that, I should make it count.
Okay, now we're good.
Game Dev Game Jam Invitation Talk Prep
03/23/15
All right, I need to prepare what I'm going to say in the classes to talk up Game Jam. I have an HDMI cable, and there's a computer in the class, I'm sure, so I might show off the game made during last semester's game jam.
The Script
Hello, I'm Rory Ksionda, and I'm here to talk about an event the UA Game Dev club is hosting this Friday. It's called a Game Jam. It's a 42-hour event, open to all, in which to come, form a team, and make a game according a theme announced at the beginning of the jam.
There is basically only one rule: don't bring an already made game. That's more or less why there's a theme announced at the beginning, but the theme need only be loosely applied, and in many cases is a vague or abstract theme.
No experience necessary, expected, or required to participate in Game Jam. When you RSVP, and I hope you RSVP, it'll even ask for your experience and/or what you want to do, and an option there is "I'm here to learn something!" So, it's completely normal to use the game jam to introduce yourself to anything you're interested in.
Also, food and snacks will be provided at the jam. We usually try and have a breakfast/lunch/dinner sort've available at hours when those meals would be appropriate.
The club has hosted a game jam every semester for a couple years now, I think, and I've gone to the last two. Both have been a blast, and both have been great learning, teaching, and friendship-building experiences for me. The first game jam the theme was flowers and I made a game in python with two other people. Neither had experience in python, and both contributed a lot of working code to the game. We ended up making a kinda tactical RPG where flowers fought rabbits.
Last semester, the theme was " in Wonderland", and I made a game in javascript with two other people. I had very little experience with javascript. Neither did one of my other team mates. We ended up providing a lot of the code, and I ended discovering I actually really like javascript, and got more interested in web-dev stuff in general.
Here's our game from last semester's game jam. Show Game
There should be a sign-up sheet going around. If you're interested in coming to game jam, please sign up and we'll send you more information, or come and grab a flyer that has the game jam details on it.
Also, if you're interested in general game development stuff, the club has a meeting every Monday at 5:30 p.m. in ECE room 105. We have a meeting tonight, and there'll be two half-hour talks: one about game prototyping in Roblox, and one about javascript game development (that'll be me).
Any quick questions before I let the teacher have his class back?
End of Day Routine
03/22/15
Drink big glass of water. Take Allegra.
Put away all food in the kitchen.
Nasal spray.
Camera setup.
Process email items.
Publish blog post of the day.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Push local chromebook setup to server.
Log
03/22/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | X |
| Daily | Blog Post Writing | X |
|
|
X | |
| Weekly Review | ||
| Daily | Review: Hire With Your Head | |
|
End of Day Review |
X | |
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Review
03/22/15
Today did not go according to last night's plan at all, but it still kinda approximated it? I still need to do my weekly review, though, I skipped that today.
I'll try to plan for tomorrow tomorrow. Too tired today. Too much to do tomorrow to let tired me plan it, either.
Game Dev Club Prep
03/22/15
All right, I need to plan for which classes I'm going to crash tomorrow to talk about the UA Game Dev Club and the upcoming game jam.
Classes of interest from other officers:
-
CS C 127A
- Meets at 4 p.m.
-
CS C 127B
- Meets at 3:30 p.m.
-
CS C 170B
- Meets 10 a.m.
-
CS C 245 -
CS C 252
- Doesn't meet on Mondays
-
CS C 335
- Doesn't meet on Mondays
-
CS C 345 -
CS C 352
I have emailed the club and figured out a basic plan.
Morning Routine
03/22/15
Start pomodoro.
Take shower.
Get dressed.
Comb hair and tie back.
Bathroom.
Brush teeth, floss, and rinse with listerine.
Refill water.
Feed dogs.
Refill cat's water. Feed cat.
Take out trash.
Take dogs for walk.
Fill jar with milk.
Camera setup.
Process tickler.
Process inbox.
Process email items.
Review activity inventory.
Build plan for day.
Pack up for work. Pack clothes, pack lunch.
Close/open necessary doors.
Plan Document
03/22/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
| Daily | Blog Post Writing | |
| Game Dev Club Prep | ||
| Weekly Review | ||
| Daily | Review: Hire With Your Head | |
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
End of Day Routine
03/21/15
Drink big glass of water. Take Allegra.
Nasal spray.
Camera setup.
Process email items.
Publish blog post of the day.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Push local chromebook setup to server.
Log
03/21/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | X X |
| Daily | Building Plan | X |
| Daily | Blog Post Writing | X |
| End of Day Routine | X | |
| End of Day Review | X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
| External | Game Grumps | |
| External | Game Grumps |
Review
03/21/15
So, I discovered a fun webcomic today, Stephan. It's called The Gamer, and it starts out exactly as I like it and then goes into more standard anime-esque fare, which is also very enjoyable.
I mention this because I spent 2.5 hours of what could've been productive work time on reading it online. I don't really regret it, but I wish I had more control over this sort of consumption.
External Distraction: Setting up game grumps.
I'm going to try forcing my sleep schedule sporadically. Sometimes it works, but relying on it constantly builds my resistance to it. So, tomorrow, to manage a super busy day, I have set an alarm for four hours from now. I'm hoping it will all work out.
So, let's plan my pomodoros for tomorrow.
External Distraction: Game Grumps
Oh, yeah, weekly review. That'll be the main plan for tomorrow, plus blog post and book review writing. I want to work on javascript stuff some more soon, and I have an idea for a chrome extension I want to write (pomodoro-related, actually). I also want to just work regularly on proper project stuff soon.
I had more ideas, but I can't remember them now. I don't think I captured them properly, either. Oh, yeah, I need to prep for Game Dev Club class crashing and stuff.
Extra time will have to go to cooking and dinner prep. Planned stuff needs to be done before 2:30 (expect for end of day review).
Plan Document
03/21/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | X X |
| Daily | Building Plan | |
| Daily | Blog Post Writing | |
| End of Day Routine | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Building Plan
03/21/15
So, I haven't been taking the building of my plans or the reviews of my days very seriously outside of work. Part of that is that I haven't been devoting as many pomodoros as I would like per day to personal projects. The only things I've been managing to do is write my book review on Hire With Your Head and write my daily blog posts.
It doesn't help that my daily blog posts are getting harder to write. More time-consuming as my well of easy thinking dries up and I need to go deeper. I mean, there's still plenty of easy blog posts to write, I'm just not so easily satisfied by them.
And the review is also going to be a lot of work. I'm writing plenty of content, but as that content gets written, I realize I want the very structure of the entire review to be different. I think it's better to get everything sorta written down first, and then organize, but it's tough to fight the me that wants to restructure now.
Anyways, today I'm taking this plan seriously, making it my bus ride pomodoro, and letting blog post writing be the bus ride home. I'll try to devote a considerable amount of pomodoros to the book review tomorrow and Monday.
I will also take my end of day review a bit more seriously, restarting my habit of thinking what I need to improve on, coming up with rough strats to do those things, and then going over what I want to accomplish the next day, and how early I need to wake up to do that.
I might make my end of day stuff two pomodoros, and even build tomorrow's plan document during the end of day review. Maybe with a plan I can work towards a ritual that makes me wake up early enough to do the things I want to do.
Anyways, today's plan: two morning pomodoros (already done), a building plan pomodoro (inprogress), a blog writing pomodoro, and two end of day pomodoros.
My work system is going really well, but my home system is still incredibly inefficient. I don't really know how to solve the problem, but part of it is waking up. A part of me thinks that will fix itself once I start running again, but I can't be sure. Just like I need to work on my middle day lag at work, I need to work on starting the day right at home.
Morning Routine
03/21/15
Start pomodoro.
Get dressed.
Comb hair and tie back.
Pack backpack with clothes.
Bathroom.
Brush teeth, floss, and rinse with listerine.
Refill water.
Feed dogs.
Refill cat's water. Feed cat.
Take out trash.
Take dogs for walk.
Do dishes.
Camera setup.
Check ripeness of fruits and veggies:
- Avacados
- Tomatoes
- Spinach
Process tickler.
Process inbox.
Process email items.
Review activity inventory.
Build plan for day.
Pack up for work. Pack clothes, pack lunch.
Close/open necessary doors.
End of Day Routine
03/20/15
Publish blog post of the day.
Drink big glass of water. Take Allegra.
Nasal spray.
Process email items.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Push local chromebook setup to server.
Log
03/20/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X |
| Daily |
Blog Post Writing |
|
|
|
XX | |
| Daily | Review: Hire With Your Head | |
|
End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Review
03/20/15
Hooray for vim macros! I love 'em. I love 'em so much already that the blog post I wrote about them could have been three, kinda, but I made it one, and it took me a good three pomodoros.
I should probably save my macros into my vim.html area.
Today could've gone better.
Plan Document
03/20/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X |
| Daily |
Building Plan
Blog Post Writing |
|
| Daily | Review: Hire With Your Head | |
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 3 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Morning Routine
03/20/15
Start pomodoro.
Get dressed.
Comb hair and tie back.
Pack backpack with clothes.
Bathroom.
Brush teeth, floss, and rinse with listerine.
Refill water.
Feed dogs.
Refill cat's water. Feed cat.
Shave.
Fill jar with milk.
Camera setup.
Process tickler.
Process inbox.
Process email items.
Review activity inventory.
Build plan for day.
Pack up for work. Pack clothes, pack lunch.
Close/open necessary doors.
End of Day Routine
03/19/15
Drink big glass of water. Take Allegra.
Put away all food in the kitchen.
Nasal spray.
Camera setup.
Process email items.
Publish blog post of the day.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Push local chromebook setup to server.
Log
03/19/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X |
| Daily |
Blog Post Writing |
X |
| Daily |
|
X |
|
End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Review
03/19/15
Review writing was a bit forced today. I'm trying to ignore editor me and just write through my idea index. I mean, I note what editor me will want to do when I get to editing. I have a feeling I'll basically rewrite the review when I edit it (well, I'll use a lot of my writing, but I'll reorganize it significantly and have to clean it up a lot).
Today I learned about vim macros and now I know my life is going to get better. Now, to copy my post into my index area I just
So satisfying. Also, saves me a lot of time now, as I write quite a few of these posts per day. It's also making me think of next steps with smarter posting.
TucsonJS Meetup
03/19/15
The talk today is "Functional JavaScript". The slides are available and basically the complete talk.
Continuation Passing Style: it's the way you feed in a callback such that things executed asynchronously.
This javascript talk is talking a lot about Haskell.
Concepts to grok:
- Continuation Passing Style
- Declarativeness
- Exhaustiveness
- Specification
- Monads (again)
- Promises
- Immutability
- Applicatives
Monads are a contract.
Slides are here.
Plan Document
03/19/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
| Daily |
Building Plan
Blog Post Writing |
|
| Daily | Review: Hire With Your Head | |
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Morning Routine
03/19/15
Bathroom.
Start pomodoro.
Get dressed.
Comb hair and tie back.
Pack backpack with clothes.
Brush teeth, floss, and rinse with listerine.
Refill water.
Feed dogs.
Refill cat's water. Feed cat.
Camera setup.
Process tickler.
Process email items.
Review activity inventory.
Build plan for day.
End of Day Routine
03/18/15
Drink big glass of water. Take Allegra.
Nasal spray.
Camera setup.
Process email items.
Publish blog post of the day.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Push local chromebook setup to server.
Log
03/18/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X X |
| Daily |
Blog Post Writing |
X |
| Daily |
|
X |
|
End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Review
03/18/15
So, really, there's not much to say in this end-of-day reviews until I start actually waking up when I first wake up and start doing more per day. I'm writing blog posts everyday still, on the bus ride to work. These last two days I did my planning on the bus as well, because the plan is the same: morning routine, build plan, write blog post, write review.
This gives me a tiny bit less time to write blog posts, which actually may be a problem now that I'm scrapping the bottom of the barrel for short posts I find valuable. I'm going to need to do some serious work to fill my well of short-but-personally-valuable posts back up.
Really, it's just a matter of having Internet access for a few blog post pomodoros. Meaning the bus ride to work should be something else, probably node website building (though, I need to do some research there, too).
Though, I think I'll never quite run out of short posts. They're teasers for long-posts I want to do but probably won't.
- Frozen shouldn't have had a villain
- The Maze Runner would make a great game
- Death Note fan fiction idea
- Etc.
So, I'll be fine. Further, I am working on better, longer content everyday as well now, and will be as long as I'm writing reviews, which in all honesty is probably going to last past the end of this month, but I'm okay with that. I think I'll get a lot from these reviews, and that's what I get for reading such good books.
Looking over my deadlines, I should probably buy the chip to mod my Gamecube early April. I should also add buying tickets to visit cousin to my deadlined things, too. Actually, that should be defaulted into my todo today plan that's how soon it should be done.
Anyways, what today's review boils down to, I want to do more, that I'm making time for anything is pretty awesome, but I need to wake up earlier so I can work on more things (namely: stuff I can consider accomplishments that I would put on a resume and stuff).
Otherwise, I'm liking this system and I'm liking the constant reflection. It still allows me to do things, and also reflect on the things I'm doing. I just need to carve out some more time per day, and also carve out significantly more weekend time, to do these things.
I'll work with the time I give myself for as long as I need to, though, and if necessary I will prioritize other things other than reviews and reading and maybe even blog posts if it means working on accomplishments proper.
I will also focus on deadlines, making more of them, and trying to meet them or at least renegotiating them when neessary.
Plan Document
03/18/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X X |
| Daily |
Building Plan
Blog Post Writing |
|
| Daily | Review: Hire With Your Head | |
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 4 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Morning Routine
03/18/15
Bathroom.
Feed dogs.
Start pomodoro.
Get dressed.
Comb hair and tie back.
Pack backpack with clothes.
Brush teeth, floss, and rinse with listerine.
Refill water.
Refill cat's water. Feed cat.
Take dogs for walk.
Do dishes.
Shave.
Clean kitty litter.
Process tickler.
Process email items.
Review activity inventory.
Build plan for day.
Pack up for work. Pack clothes, pack lunch.
Close/open necessary doors.
Log
03/17/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X |
| Daily |
Blog Post Writing |
X |
| Daily |
|
X |
|
End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 5 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Review
03/17/15
Still not waking up early enough to do work, but the work I got done on my review was pretty good. I decided to do a blog post on my deadline plans, as I felt it was a good enough thing to blog about, and it's good to keep the blog up to date on what I'm doing at a higher level than my in-depth diary. Let's me summarize where I'm at, and then dig deeper at my thinking of the time by switching to my diary around that time.
Otherwise, doing my minimal pomodoros per day, and hopefully I'll start doing better than that soon.
End of Day Routine
03/17/15
Drink big glass of water. Take Allegra.
Put away all food in the kitchen.
Nasal spray.
Publish blog post of the day.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Push local chromebook setup to server.
Plan Document
03/17/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X |
| Daily |
Building Plan
Blog Post Writing |
|
| Daily | Review: Hire With Your Head | |
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Do Soon | File a Police Report on Stolen Wallet | 1 |
| Do Soon |
Email Sam Ramirez game stuff
(See private area for email address) |
|
|
Maintenance
Weekly |
Weekly Review: Deadline Development | 1 |
|
Short-term
Writing Due 03/21 |
Review: Hire With Your Head | 5 |
|
Short-term
Writing Due 03/24 |
Review: Javascript the Good Parts | 7 |
|
Short-term
Writing Due 03/31 |
Review: A Whole New Engineer | 7 |
|
Short-term
Software Due 03/31 |
Blog Running on Node (Break it down) | 8 |
|
Short-term
Software |
Recreate "Node.js in Flames" article | 4 |
|
Short-term
Hardware Due 04/30 |
Raspberry Pi Tutorial (Break It Down) | 10 |
|
Short-term
Hardware Due 04/30 |
Gamecube Mod (Break It Down) | 10 |
|
Short-term
Hardware |
Broken Macbooks Take Apart (Break It Down) | 10 |
|
Long-term
Software |
Work on Livio's C++ Game Project (Break It Down) | 40 |
| Long-term | Build Micromouse (Break It Down) | 40 |
| Long-term | Practice Melee (Break It Down) | 40 |
| Maintenance | Fix broken links on website | 1 |
| Social | Call Ian | |
| Social | Call Aunt Audrey | |
| Research | MEAN/node.js jobs google | 1 |
| Someday/Maybe | Lups (Latin for Sheep): Stealth game where a wolf kills sheep | |
| Someday/Maybe | Food fetish horror game | |
|
Amazon
Someday/Maybe |
Buy adjustable laptop table | |
|
Research
Someday/Maybe |
Google Dev emacs support | |
|
Research
Someday/Maybe |
IDE Stats Lookup | |
| Someday/Maybe |
Sandman Song Parody Develop
"Do you see those notes on the screen? They're here to show you how I'm gonna sing" |
|
| Abstract Goal | Chrome Extension Pomodoro Plan | ??? |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Abstract Goal | Vim Exploration | ??? |
| Abstract Goal | Python Portfolio Item (Make Into Work Item) | ??? |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Abstract Goal | Learn more about Trac | ??? |
| Abstract Goal | Learn more about Linux piping | ??? |
| Abstract Goal | V8 C++ Training | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Reference |
Babuska's address was 26 Labreche Dr. North Bay, ONT P1A3PS |
|
| Fabulous | Pretty Pink Toenails | |
| Distractions | ||
Morning Routine
03/17/15
Start pomodoro.
Get dressed.
Comb hair and tie back.
Pack backpack with clothes.
Bathroom.
Brush teeth, floss, and rinse with listerine.
Refill water.
Feed dogs.
Refill cat's water. Feed cat.
Take out trash.
Take dogs for walk.
Do dishes.
Camera setup.
Process tickler.
Build plan for day.
Pack up for work. Pack clothes, pack lunch.
Log
03/16/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X X |
| Daily |
|
X |
|
|
X X X | |
|
|
X | |
|
|
X | |
| Daily | Blog Post Writing | |
| Daily | Review: Hire With Your Head | |
| Web Site Development (Break It Down) | ||
|
End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 6 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Fix broken links on website | 1 | |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Distractions | ||
| External | Food-colored water properties |
Review
03/16/15
I did a bit of a poorly-executed weekly review. Defintely have a way to go before I'm doing them properly, but what I'm doing now is definitely better than nothing and motivates me to do it better each week. The foundation set by last week allowed for me to get more out of this week's review without nearly as much effort. I think the foundation added this week may help me do more next week, too. I'll also get better at it, allowing me to do more work.
External Distraction: Food-colored water properties
I could be better at marking my distractions. It's something I'll work on.
I've organized my activity inventory and added some deadlines. I'll try to keep them in mind while I work towards some real accomplishments.
I'm hoping to get some things done that I feel I can really brag about.
End of Day Routine
03/16/15
Nasal spray.
Camera setup.
Publish blog post of the day.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Push local chromebook setup to server.
Weekly Review
03/16/15
The Weekly Review is the time to
- Gather and process all your "stuff."
- Review your system.
- Update your lists.
- Get clean, clear, current, and complete.
Very simply, the Weekly Review is whatever you need to do to get your head empty again. It's going through the five phases of workflow management—collecting, processing, organizing, and reviewing all your outstanding involvements—until you can honestly say, "I absolutely know right now everything I'm not doing but could be doing if I decided to."
From a nitty-gritty, practical standpoint, here is the drill that can get you there:
Process Your Notes Review capture notebook and blog posts and personal diary items. Also review any journal entries, meeting notes, or miscellaneous notes scribbled on notebook paper. List action items, projects, waiting-fors, calendar events, and someday/maybes, as appropriate. File any reference notes and materials. Stage your "Read/Review" material. Be ruthless with yourself, processing all notes and thoughts relative to interactions, projects, new initatives, and input that have come your way since your last download, and purging those not needed.
Loose Papers Pull out all miscellaneous scraps of paper, business cards, receipts, and so on that have crept into the crevices of your desk, clothing, and accessories. Put it all into your in-basket for processing.
Previous Calendar Data Review past calendar dates in detail for remaining action items, reference information, and so on, and transfer that data into the active system. Be able to archive your last week's calendar with nothing left uncaptured.
Upcoming Calendar Events and Deadlines Review current deadlines. Update and add new deadlines. Look at future calendar events (long- and short-term). Capture actions about arrangements and preparations for any upcoming events.
Empty Your Head Put in writing (in appropriate categories) any new projects, action items, waiting-fors, someday/maybes, and so forth that you haven't yet captured.
Review "Projects" (and Larger Outcome) Lists Evaluate the status of projects, goals, and outcomes one by one, ensuring that at least one current kick-start action for each is in your system.
Review "Next Actions" Lists Mark off completed actions. Review for reminders of further action steps to capture.
Review "Waiting For" List Record appropriate actions for any needed follow-up. Check off received items.
Review Any Relevant Checklists Is there anything you haven't done that you need to do?
Review "Someday/Maybe" List Check fo any projects that may have become active and transfer them to "Projects." Delete items no longer of interest.
Review "Pending" and Support Files Browse through all work-in-progress support material to trigger new actions, completions, and waiting-fors.
Be Creative and Courageous Are there any new, wonderful, hare-brained, creative, thought-provoking, risk-taking ideas you ccan add to your system.
"Incompletion Triggers" List
Professional
- Projects started, not completed
- Projects that need to be started
-
Commitments/promises to others
- Boss/partners
- Collegues
- Subordinates
- Other people in organization
-
"Outside" people
- Customers
- Other organizations
- Professionals
-
Communications to make/get
-
Internal/External
-
Initiate or respond to:
- Phone calls
- Voice-mail
- Pages
- Faxes
- Letters
- Memos
-
Initiate or respond to:
-
Internal/External
-
Other writing to finish/submit
- Reports
- Evaluations/reviews
- Proposals
- Articles
- Promotional materials
- Manuals/instructions
- Rewrites and edits
- Meetings that need to be set/requested
- Who needs to know about what decisions?
- Significant read/review
-
Financial
- Cash flow
- Statistics
- Budgets
- Forecasts/projections
- P&Ls
- Balance sheet
- Credit line
-
Planning/organizing
- Formal planning (goals, targets, objectives)
- Current projects (next stages)
- Upcoming projects
- Business/marketing plans
- Organizational initiatives
- Upcoming events
- Meetings
- Presentations
- Organizational structuring
- Changes in facilities
- Installation of new systems/equipment
- Travel
-
Banks
- Receivables
- Payables
- Petty cash
-
Adminstration
- Legal issues
- Insurance
- Personnel
- Policies/procedures
-
Customers
- Internal
- External
- Marketing
- Promotion
-
Sales
- Customer service
-
Systems
- Phones
- Computers
- Office equipment
- Other equipment
- Utilities
- Filing
-
Storage
- Inventories
- Supplies
-
Office/site
- Office organization
- Furniture
- Decorations
-
Waiting for...
- Information
- Delegated tasks/projects
- Completions critical to projects
-
Replies to:
- Letters
- Memos
- Calls
- Proposals
- Requisitions
- Reimbursements
- Petty cash
- Insurance
- Ordered items
- Items being repaired
- Tickets
- Decisions of others
-
Professional development
- Training/seminars
- Things to learn
- Things to look up
-
Skill to practice/learn especially re:
- computers
- Tape/video training
- Resumes
- Outside education
- Research—need to find out about...
- Professional wardrobe
Personal
- Projects started, not completed
- Projects that need to be started
-
Commitments/promises to others
- Spouse
- Children
- Family
- Friends
- Professionals
- Borrowed items
-
Projects: other organizations
- Service
- Civic
- Volunteer
-
Communications to make/get
- Family
- Friends
- Professional
-
Initiate or respond to:
- Phone calls
- Letters
- Cards
-
Upcoming events
- Special occasions
- Birthdays
- Anniversaries
- Weddings
- Graduations
- Holidays
- Travel
- Weekend trips
- Vacations
- Social events
- Cultural events
- Sporting events
-
R&D—things to do
- Places to go
- People to meet/invite
- Local attractions
-
Administration
-
Financial
- Bills
- Banks
- Investments
- Loans
- Taxes
- Insurance
- Legal affairs
- Filing
-
Financial
-
Waiting for...
- Mail order
- Repair
- Reimbursements
- Loaned items
- Medical data
- RSVPs
-
Home/household
- Landlords
-
Property ownership
- Legal
- Real estate
- Zoning
- Taxes
- Builders/contractors
- Heating/air-conditioning
- Plumbing
- Electricity
- Roofing
- Landscape
- Driveway
- Walls/floors/ceiling
- Decoration
- Furniture
- Utilities
- Appliances
- Lightbulbs/wiring
- Kitchen things
- Washer/dryer/vacuum
- Areas to organize/clean
- TV
- DVD
- Music/CDs/tapes/mp3s
- Cameras/film/video
- Phones
- Answering machine
- Sports equipment
- Clesets/clothes
- Garage/storage
- Vehicle repair/mainteance
- Tools
- Luggage
- Pets
-
Computers
- Software
- Hardware
- Connections
- CD-ROM
- Flashdrives
- SD cards
- Email/Internet
-
Health care
- Doctors
- Dentists
- Specialists
- Thearpists
-
Hobbies
- Coding
- Games
- Game design
- Drawing
- Books/records/tapes/disks
-
Errands
- Hardware store
- Drugstore
- Market
- Bank
- Cleaner
- Stationer
-
Community
- Neighborhood
- Schools
- Local government
- Civic issues
Review Commentary
Digitizing Capture Notebook
A month's worth of notes in my little notebook didn't take too long to capture, surprisingly. I put most stuff in my activity inventory, giving me more reason to reconsider the structure and nature of that section of my daily plan document.
Blog Post Rereading
This week's blog posts were okay. Nothing great. An average of one typo per post is pretty bad. I should probably read through my blog posts browser-side before publishing them from now on. Also, a couple broken links here and there (hopefully I have systems in place to prevent that now).
Diary Post Rereading
Momentarily revisited my click-platformer game last week. I wanted to devote at least one pomodoro per week towards game stuff. I guess that needs to be captured better, as I will have gone a whole week without a game dev pomodoro. This is also related to deadline stuff. I need to plan deadlines so I can know when it's appropriate to switch tasks. I believe this is the best way to accomplish goal- or accomplishment-oriented demonstrations of my abilities (adding to my activity inventory).
My sleep schedule hasn't stabilized yet. I haven't been perfect at going to sleep at the same time, so I'll just keep working on that.
Making sure I'm working on what I want to work on, the many things, is a theme of the week, and I need to try out deadlines to actually accomplish things.
This week isn't quite as enlightening as last week. Perhaps I'm not reading my documents as carefully.
Deadline Setups
This'll be my "rest of the weekly review" this week. Weekly review items will be added weeky-by-week as it proves useful. Activity inventory is actually organized. Let's see if that helps anything.
Plan Document
03/16/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X X |
| Daily | Building Plan | |
| Weekly Review: Notes, Blog, Diary Processing | ||
| Weekly Review: Email Processing | ||
| Weekly Review: The Other Stuff | ||
| Daily | Blog Post Writing | |
| Daily | Review: Hire With Your Head | |
| Web Site Development (Break It Down) | ||
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 5 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Fix broken links on website | 1 | |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Distractions | ||
Building Plan
03/16/15
Okay, main goal of day: weekly review. Key part of that weekly review: clear out capture notebook. A nice thing to do with this weekly review would be to develop deadlines for certain goals. Start cultivating the capability to set and make deadlines. This is something that can be a part of my calendar review.
Deadlines helped me juggle items better in school, so I'm hoping they'll help me do that now, too. There are a great variety of things I want to do, that I don't make time for, because I keep getting distracted by one or two things (website stuff and blogging, mostly). Those are good things, and I'm doing okay work there, but with deadlines I'll have more focus on what I'm trying to do, and clearer success/failures. Something that I'm not really doing with my home system, yet. I set aside time to work on stuff and work on that stuff, but crossing the item off my list is kinda dishonest when I didn't define what finishing actually was.
That's something I need to fix.
So, I'm devoting four pomodoros to weekly review stuff. Two to processing my notebook, blog posts, and diary items; one to processing email; and one to processing all the other stuff my template guides me through.
Then I got blog post writing and review writing to do. After I finish one blog post, I may devote the rest of the blog post pomodoro to writing the review. Then I'll have my end of day review.
I may be able to put more pomodoros in. The rest of my pomodoro items should be devoted to website and/or webapp development.
I think I'm done planning for the day. I didn't explictly plan to make deadlines for the various goals I have, but it is in my weekly review template now, so hopefully I'll get to that by the final pomodoro of the weekly review. Otherwise, I'll make note of it such that I get to it next week, at least.
Morning Routine
03/16/15
Start pomodoro.
Get dressed.
Comb hair and tie back.
Drink big glass of water. Take Allegra.
Refill water.
Brush teeth, floss, and rinse with listerine.
Do dishes.
Cook breakfast.
Process tickler.
Process inbox.
Review activity inventory.
Build plan for day.
Pack up for work. Pack clothes, pack lunch.
Close/open necessary doors.
Log
03/15/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X X |
| Daily |
Building Plan |
X |
|
|
X X | |
|
End of Day Routine End of Day Review |
- X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 5 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 7 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Fix broken links on website | 1 | |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Distractions | ||
| External | Rosse asking for Target receipt |
Review
03/15/15
So, today was about fixing my local chromebook website setup. I have four places where a repo will live: my local setup, my local bare git repo, my server's bare repo, and my server's setup (which is what most people see on my browser).
External Distraction: Rosse asking for Target receipt
I have not yet rewritten the node scripts to run my chromebook site setup locally as a server. So for now I'm using python's SimpleHTTPServer. So, it's kinda like how my work setup is, which is pretty neat, in its own way.
Oh, well, it's something I'll be working on in the coming weeks. I should probably start making deadlines for the goals I'm making. It'll be a way for me to properly work towards the many things I want to work on, and start cultivating a skill of meeting long-term deadlines.
Tomorrow I want to do a weekly review. I still haven't done a proper home one, so that's my single goal for tomorrow.
End of Day Routine
03/15/15
Put away all food in the kitchen.
Nasal spray.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Plan Document
03/15/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | |
| Daily |
Morning Routine Building Plan |
|
| Chromebook Local Website Setup | ||
| Daily | Review: Hire With Your Head | |
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 5 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 7 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Fix broken links on website | 1 | |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Distractions | ||
Building Plan
03/15/15
Making this a quick part of my morning routine today. I'm going to focus on rebuilding my local chromebook website setup today. No blog post building or review writing until I'm back on track. I'm ahead on blogs so far, so it should be fine.
Morning Routine
03/15/15
Start pomodoro.
Bathroom.
Feed dogs.
Refill cat's water. Feed cat.
Get dressed.
Comb hair and tie back.
Pack backpack with clothes.
Refill water.
Brush teeth, floss, and rinse with listerine.
Do dishes.
Cook breakfast.
Drink big glass of water. Take Allegra.
Shave.
Process tickler.
Process inbox.
Review activity inventory.
Build plan for day.
Pack up for work. Pack clothes, pack lunch.
Close/open necessary doors.
Log
03/14/15
| To Do Today | ||
|---|---|---|
| Daily |
|
X |
|
|
X | |
|
End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 5 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Fix broken links on website | 1 | |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Distractions | ||
End of Day Routine
03/14/15
Put away all food in the kitchen.
Nasal spray.
Camera setup.
Publish blog post of the day.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Review
03/14/15
Today went really well. Except for, you know, almost deleting all of the progress I had made locally but hadn't pushed to my server. I lost the code I was making towards a web-app getting things done thing (it was just a todo list so far), and a kanji study-tool (again, nothing big). I lost all the scripts I had made to cleanup my site, but considering they're the ones that did this damage, good riddance.
I thought I had lost content I had written today for the diary, but luckily my local diary was still open and up-to-date containing all content that was deleted the day before. Hooray for luck!
I only lost stuff I wanted to redo anyways. That stuff was prototype code at best, and prototype code is at its best when it proves what it needed to prove and is thrown away.
My review of Hire With Your Head is coming along nicely, and prepping for it made a decent blog post wherein I think about the design of a good review. Expect that for the post on 03/16/15.
Recovery
03/14/15
I lost my building plan document that I wrote yesterday and today. Yesterday's, I think, was short, and not worth remembering, but today had some stuff I'd like to try to remember.
It's okay that I'm not doing things at the rate I think I'll be able to eventually. It's okay that my sleep schedule isn't perfect. It's something I can continue to work on. I'm improving, I can feel it, I can see it, and with my pomodoro logs I can quantify it. I simply need to keep doing the exercises necessary to build the capabilities I want to have, and I'm doing that. Not as much or as often or as completely as I want, but I'm getting better and I'm figuring it out.
Work to improve, but do not punish imperfection. The punishment does not help with improvement.
Plan Document
03/14/15
| To Do Today | ||
|---|---|---|
| Daily | Building Plan | |
| Review: Hire With Your Head | ||
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 5 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Fix broken links on website | 1 | |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Distractions | ||
Building Plan
03/14/15
So, planning on the bus because I slept in a lot. Moving work to tomorrow so I can celebrate White Day with my girlfriend (White Day is Valentine's Day, but the girls are expected to give gifts to the boys, whereas Valentine's Day is when the boys give gifts to the girls, it's an East Asia thing).
Pomodoros today will probably be super limited. This plan, a blog post sessions, and an end-of-day review is all I'll probably get to. Though, I might make the blog post pomodoro more review writing. I have some extra blog posts waiting to be published. I just need to add some links to them and they should be publish ready.
Yeah, review pomodoro works better for today.
Monday, I'll need to do my weekly review proper at home. Tomorrow, hopefully, I can wake up early enough to do some pomodoros before work. I think it's going to happen eventually. And it'll happen more regularly eventually. I just need to keep going to sleep early until I wake up early. It's not something I can rush or willpower through. It's something that will have to emerge from improving my habits that affect me waking up early.
Productivity will really start exploding when that happens, so I get a little impatient, but I just need to remind myself, it's not something I can just do, it's something I need to work on, to develop a capability of by doing things that strengthen my ability to wake up early and be productive more often.
The same thing goes for pomodoro weekends. I woul love to have work-level productive days on the weekend, but again it's not something that I can just decide to do. It's a habit I have to build, and a thing I have to plan. And one day of the weekend will probably go to other things. That's just reality, I'll plan social events and I won't be able to do work-level pomodoros those days.
But, I am improving, I can see the improvement in my better work-ethic alone, but I can also see myself doing more pomodoros on average little-by-little, and the quality of the pomodoros are also increasing little-by-little.
I'm still excited about this system, and pretty soon I'll hit the 21-day milestone where I can safely say it's an embedded habit.
Log
03/13/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | X X |
| Daily |
Building Plan Morning Routine |
X |
| Daily | Blog Post Writing | X |
| Daily | Review: Hire With Your Head | X |
|
End of Day Routine End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 6 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Fix broken links on website | 1 | |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Distractions | ||
Review
03/13/15
Today was pretty good. Did the pomodoros I planned, though, I didn't plan as many as I would like. I need to wake up earlier and make sure to do the daily things I want to do. Hopefully that starts tomorrow.
The blog posts are starting to feel better, I think. I don't know if the content is actually improving, but I've been working with the system I write them in and I feel it allows for better content creation in the same time frame. I am also consistently reviewing my inprogress area, which has a lot of empty files with descriptive names for inspiration. You remember Opening Up, Stephan? Well, I have a part two buried in my inprogress that I just kinda abandoned until now.
It's something I'm more likely to revisit now.
Blog post writing is going well enough that I'm running out of content I want to write that I don't need to do research for. Though, thankfully, I'm working on quality review blog posts. The Hire With Your Head review is going really well, I think, and it's only one pomodoro in. I'm hoping for something really spectacular.
Tomorrow, I want to get Melee setup for practicability, do my spaced repetition, and then all my usual stuff.
Stuff isn't perfect, but I'm constantly reviewing my system, and there's a consistent improvement that's visible, even with the small timeframe considered.
End of Day Routine
03/13/15
Put away all food in the kitchen.
Nasal spray.
Camera setup.
Publish blog post of the day.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Morning Routine
03/13/15
Bathroom.
Feed dogs.
Start pomodoro.
Get dressed.
Comb hair and tie back.
Drink big glass of water. Take Allegra.
Brush teeth, floss, and rinse with listerine.
Refill water.
Refill cat's water. Feed cat.
Clean kitty litter.
Do dishes.
Fill jar with milk.
Cook breakfast.
Process tickler.
Review activity inventory.
Build plan for day.
Pack up for work. Pack clothes.
Close/open necessary doors.
Plan Document
03/13/15
| To Do Today | ||
|---|---|---|
| Daily | Morning Routine | X X |
| Daily |
Building Plan Morning Routine |
|
| Daily | Blog Post Writing | |
| Daily | Review: Hire With Your Head | |
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 6 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Fix broken links on website | 1 | |
| Abstract Goal | Idea Index Markup Thoughs | ??? |
| Pomodoro Guideline | Review Created Test and Code Changes | 3 |
| Abstract Goal | Build Pomodoro Guidelines | ??? |
| Distractions | ||
Building Plan
03/13/15
Okay, so today, instead of reading, I will be writing reviews. I'll be doing that enough that I should change my template to reflect it. I'd like to make time for Smash and extra pomodoros today, but I got to get to work in time for a meeting, and don't want to push my luck.
I should make sure to file a police report for my stolen wallet tomorrow. I've really put that off too long as is.
Log
03/12/15
| To Do Today | ||
|---|---|---|
|
|
X X X | |
|
|
- | |
| Blog Post Writing | X | |
| Reading | X | |
| Meta | End of Day Review | |
| End of Day Routine | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 7 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Fix broken links on website | 1 | |
| Distractions | ||
| Internal |
Cutting Building Plan short due to time constraints Voiding pomodoro |
|
Review
03/12/15
Here I am at the bus stop. Really tired. Smash may be too late in the day for me. Eh, I won't go too often. Probably not the best idea to go today, though, as I'm still in the middle of stabilizing my sleep schedule. Also, I got a meeting to make tomorrow morning. Which reminds me, I should set an alarm for that.
Done.
So, today went all right. I didn't get to nearly any of the pomodoros I planned at work, but that's because I failed to properly consider a meeting that I looked at right on my calendar. I mean, I actually looked and didn't consider it in my plan building which occurred almost right after.
Perhaps my building plan routine items shouldn't be integrated into my daily routine. Maybe I should have a routine that I follow for building my plans as well. Something to consider if this is a pattern that continues.
Personal pomodoros also went all right. I finished my book as planned and finished my blog post and started working on another one. I have started building a review structure plan in hopes of designing writing high-quality, multiple-reader-types review. That will be the first of the "review" posts. It should be out soon.
At work, for things I think I'll find myself doing somewhat regularly, I'm going to try to have a pomodoro prediction guideline for. So, for instance, doing a code review with a peer should take three pomorodos:
-
Review code myself to
- Rubber duck review code and catch things I can by myself
- Plan presentation strategy to peer
- Review test to peer
- Review functionality changes of tested code to peer
I'd like to attempt similiar things for everything I do. It should really help improve my predictative capabilities. Right now it's something I keep in my Activity Inventory, but it'll probably be revised come this weekly review where I try to rethink the whole setup there.
I think it's time to take Smash practice seriously. Make a training routine and do some deliberate practice of various concepts, setups, and problem-areas.
So, it's time to setup modded, netplay Melee on my desktop and really get into it. This isn't something I have time for this weekend, so once my sleep schedule stabilizes next week (as I feel it will), I'll devote a few morning pomodoros to the setup.
Plan Document
03/12/15
| To Do Today | ||
|---|---|---|
|
|
X X X | |
| Building Plan | ||
| Blog Post Writing | ||
| Reading | ||
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 7 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Fix broken links on website | 1 | |
| Distractions | ||
Building Plan
03/12/15
Part of this pomodoro will be walking to the bus today, I think. I mean, I don't have much to plan, and I've been thinking about my system a lot. I woke up slightly later than I figured I would, so I have less time than I wanted. No site work for me today. Especially since I want to go to the Smash tournament tonight.
After today I should start putting in pomodoros to those reviews I have in my activity log, and that's pretty exciting, I think. I'm hoping seven pomodoros is plenty for each book review.
During my weekly review I'll try to break down some of those less well-defined activities and really get an idea of what I want to do. I should also find some node and/or C++ open-source projects I find interesting, so I can start getting feedback on my craft from other experts and/or hobbyists.
It's been about two weeks of using this system and it's both going strong and still being regularly iterated upon. I'm still really excited and optimistic about this system going forward. I think I'm going to be doing great things with it.
Morning Routine
03/12/15
Start pomodoro.
Get dressed.
Comb hair and tie back.
Drink big glass of water. Take Allegra.
Bathroom.
Brush teeth, floss, and rinse with listerine.
Refill water.
Feed dogs.
Refill cat's water. Feed cat.
Take out trash.
Take dogs for walk.
Do dishes.
Shave.
Cook breakfast.
Process tickler.
Review activity inventory.
Build plan for day.
Log
03/11/15
| To Do Today | ||
|---|---|---|
|
Building Plan |
X X | |
|
|
X | |
|
|
X | |
|
End of Day Review |
'- X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 7 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Distractions | ||
| Internal | Update morning routine | |
| External | Rosse wants me to give Daysha a treat |
Review
03/11/15
External Distraction: Rosse wants me to give Daysha a treat
So, today was okay. I want to start quantifying types of pomodoros, and work towards better work, I think. At first, I thought I wasn't doing good growth stuff, but I think that, actually, I do plenty of growth stuff, but I don't use projects to solidify and internalize that growth.
One thing I need to do, to get feedback from others, is start contributing to open-source and/or some sort of voluntary team project. Work gives feedback, but I need that at home. Really help build my craft.
I've added to my inprogress blog area to help remind me to actually put links in. I seem to forget regularly and just publish posts without proper links. It's something I should probably fix when I properly transition my blog over to node and database stuff (adding to Activity Inventory).
At work, I've decided that improving on the Activity Inventory setup is something I should devote some weekly review time towards. I think the same is true for the home setup.
I think sleep schedule stuff will be coming under control soon, but I'll have to have some more days going to bed early to properly assess that belief.
Tomorrow, if I wake up with enough time, I want to spend work pomodoros on making my site a repository saved on my server. There's some minor problems to overcome, so I think it'll take a whole pomodoro. A git repo will make keeping my local area and the server area synced much easier, and will just be smart as I start making signficant changes to my site.
Other than that, tomorrow's a work day, so the regularly planned items would also be good (spaced repetition, blog post, etc.). Oh, yeah, almost done with Hire With Your Head, and after that reading pomodoros for the rest of the month will be devoted to writing good reviews for the books I've read so far this year. Which is almost one week per book for a review, so I'm hoping I'll make some quality reviews.
End of Day Routine
03/11/15
Nasal spray.
Publish blog post of the day.
Internal Distraction: Update morning routine
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Plan Document
03/11/15
| To Do Today | ||
|---|---|---|
|
Morning Routine Building Plan |
X | |
| Blog Post Writing | ||
| Reading | ||
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 7 | |
| Abstract Goal | Vim Exploration | ??? |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools (Break It Down) | ??? |
| Distractions | ||
Building Plan
03/11/15
So, I slept in this morning, and as such am shortening my morning routine by three pomodoros. To do this, I cut out walking the dogs, spaced repetition, and had a bowl of cereal for breakfast. The morning routine spilled over into a second pomodoro still, but building my plan for the day is kinda a part of the routine, so I'm doing that for the last fifteen minutes of it.
I'm not going to beat myself up for sleeping in today. I woke up for a bit around 5 a.m., and decided to sleep more. I feel myself slowly getting more comfortable waking up early and staying up, so I'm going to let the progress continue at a pace that makes me comfortable.
Also, sleeping in feels wonderful sometimes. I managed to make each activity item in my pomodoro plan (aka each row) have a class that will describe what it is. I'm thinking four categories: growth, work, meta, and maintenance. I suppose they aren't mutally exclusive, but I'm thinking I'll focus on labeling them based off of what they most are.
The idea is to learn how much of my day goes to maintenance, work, growth, and meta. Maintenance is just keeping everything at a functional level. Work is the creation of something real and useful that I can point at and say I made. Growth is personal improvement that may be a bit more abstract in nature. Meta is iteration on this very system to make it better.
Growth without work is probably hollow. Work without growth is repetitive, and I'm not efficiently learning new skills. Maintenance needs to happen so I can grow and work without worry. Meta needs to happen such that this system better facilliates all of it.
Oh, yeah, this post is supposed to be about my plan. Two pomodoros for the morning ritual, a bus pomodoro for blogging, a bus pomodoro for reading, and a final pomodoro for end of day ritual and review.
I slept too much to do much else. But I have a feeling I'm improving on that axis. It may be that oversleeping is an every other day thing now instead of a daily one.
Anyways, I should finish getting ready for work.
Morning Routine
03/11/15
Start pomodoro.
Get dressed.
Comb hair and tie back.
Drink big glass of water.
Bathroom.
Brush teeth, floss, and rinse with listerine.
Refill water.
Feed dogs.
Refill cat's water. Feed cat.
Process tickler.
Process inbox.
Review activity inventory.
Build plan for day.
Log
03/10/15
| To Do Today | ||
|---|---|---|
| Morning Routine | X X X | |
| Building Plan | X | |
| Spaced Repetition | X | |
| Blog Post Writing | X | |
| Reading | X | |
|
End of Day Routine End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 7 | |
| Abstract Goal | Vim Exploration | ??? |
|
Install site-blocker Block all the distraction sites |
1 | |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools | ??? |
| Distractions | ||
Review
03/10/15
So, today went according to pomodoro plan, but not according to plan plan. Spaced-repetition will clearly take some catching up. I think one pomodoro per day is enough to eventually catch up, but I'm hoping I'll eventually be back on track.
I've been thinking that I need to track how many pomodoros are going towards direct work and how many go towards maintenance. The ones going towards work need to be divied up correctly towards a good percentage of personal projects and growth-driven (probably open-source) work. I'm thinking 20% growth-driven work would be good. As high as 50% might be acceptable.
So, I need to add some sort of mark to pomodoros to label them as either maintenance, projects, and/or growth (adding to activity inventory).
End of Day Routine
03/10/15
Put away all food in the kitchen.
Nasal spray.
Camera setup.
Publish blog post of the day.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Plan Document
03/10/15
| To Do Today | ||
|---|---|---|
| Morning Routine | X X X | |
| Building Plan | ||
| Spaced Repetition | ||
| Blog Post Writing | ||
| Reading | ||
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 7 | |
| Abstract Goal | Vim Exploration | ??? |
|
Install site-blocker Block all the distraction sites |
1 | |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools | ??? |
| Distractions | ||
Building Plan
03/10/15
So, I woke up really early this morning! 4 a.m.
And I feel like I still don't have enough time to do what I want to do, which is just the bare minimum today. Three pomodoros for a morning routine, and then a pomodoro for planning, and then a pomodoro for spaced repetition. I mean, I'm going to do it, but I thought, what with waking up at 4 a.m., that I would have time for even more. Which would be great, considering I'm really far behind on my spaced repetition and wouldn't mind doing two pomodoros today to help catch up.
Oh, well.
Okay, I think I may be able to make my calendar plan right now, as well. After this pomodoro it'll be 6:40, and after the spaced repetition pomodoro it'll be around 7:10. The closest bus to leave after that is 7:14, but I won't make that one, so 7:34 it is.
Calendar updated.
Let's go through my tickler items. (This needs to be a part of my morning routine.)
Morning Routine
03/10/15
Start pomodoro.
Get dressed.
Comb hair and tie back.
Drink big glass of water.
Brush teeth, floss, and rinse with listerine.
Refill water.
Feed dogs.
Refill cat's water. Feed cat.
Take dogs for walk.
Do dishes.
Fill jar with milk.
Leave back door slightly open.
Camera setup.
Cook breakfast.
Build plan for day.
Log
03/09/15
| To Do Today | ||
|---|---|---|
| Morning Routine | X X X | |
| Building Plan | X | |
| Local Site Setup | X | |
| Blog Post Writing | X | |
| Weekly Review | X X X X | |
| Revisiting Click-Platformer Code | X | |
| Abstract | Web Site Stuff | |
| Abstract | Game Dev Stuff | |
| Abstract | Game Dev Stuff | |
| Abstract | Web Site Stuff | |
|
End of Day Routine End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 7 | |
| Abstract Goal | Vim Exploration | ??? |
|
Install site-blocker Block all the distraction sites |
1 | |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools | ??? |
| Distractions | ||
Review
03/09/15
So, today I went to the U of A and did my weekly review. I also managed to put a pomodoro towards game stuff (reviewing my old mvp and thinking on my next moves) and one pomodoro towards my site (it's finally properly mirrored with my site's setup).
I'm liking my general progress with javascript-oriented goals. I'm thinking my habits towards growth here are hitting a good stride. Game dev stuff needs more consistency, of course, but personal website momentum is starting to feel strong.
I need to start finding priority for C++ growth. And also hardware or any kind of actual building experience. I love watching code affect physical things. I need to work at being better at it.
Tomorrow, I just want to focus on a good morning routine, spaced-repetition, and getting to work on time. If I can do more than that, I'd be ecstatic. Blog post on way to work. Reading on way home. End of day review.
If I got time, I'm going to switch between development on site and working on a new iteration of click-platformer code (I'm abandoning the old code as a good prototype).
End of Day Routine
03/09/15
Put away all food in the kitchen.
Nasal spray.
Publish blog post of the day.
Brush teeth.
End of day review diary post:
- What did you do today?
- What's actually pretty good?
- What needs improvement?
- What do you want to achieve tomorrow?
Revisiting Click-Platformer Code
03/09/15
So, I kinda abandoned game dev stuff for a while there. I'm thinking I should try to give it a half-hour a week at least. So, for this week's half-hour, I am just reviewing the code I already have.
But before I dive into the code, I should play what I have again to remember.
So, I got a redtangle and some falling cherry blossoms (pink squares). I can jump up at any point, but can't jump down. I got a floor that stops falling and walls that stop x-velocity.
Some emergent properties of this are: wall-jumping, cherry-blossoms bunching up on the floor, interesting jump mechanics.
So I guess some next steps from here could be:
- "Jumping" down
-
Cherry-blossoms that pile ontop of each other
- (currently they fall past each other and all land on top of the floor)
- An interesting start screen menu
At first, before writing, I was thinking it was obvious to focus on the "jumping" down mechanic. But really, I think any of these could be valuable to do next. As such, I will pick the one that interests me the most: an interesting start screen menu.
I think any further thinking here could be done in a blog post I had reserved for this milestone a long, long time ago.
Game Dev Notes
03/09/15
Game Jam is at March 27-29th.
Short GDC talk about how awesome it was:
- Modular AI
- Oculus Rift is awesome
- Go to GDC next year!
Today's talk, by Patrick A Wilkening, about player agency.
Choice, meaningful choice, narrative choice.
Examples so far: Mark of the Ninja and Walking Dead.
Timing adds urgency.
Why is talk about choice important? Player agency. That's the feeling of making a choice in a game. Agency is one of the most important aspects of games. No other medium really provides this feature.
What makes a good choice?
- Not black and white
- Trade-offs
- Incomparables
- No right answer
Avoid "choice by calculation". Don't go too far in the other extreme and provide complete incomparables. Otherwise, players will fall into their camp and not choose outside it, and thus they don't have meaningful choices.
For more on this thought, see the excellent Magic: the Gathering player profiles Timmy, Johnny, and Spike.
Branching:
- Open
- Closed
Open-branching requires a lot of content. Closed-branching requires good or clever writing.
Concept: Illusion of Choice. Provides the feeling of agency for the player while using minimal development resources.
Spec Ops: the Line example. You have a choice of who lives and dies for whatever reason. There's hidden options even! End result is the same, more-or-less, but the choice is important to the player.
When the illusion breaks. If consequence is poorly executed, then the player is frustrated at lack of real agency.
A good way to present a choice is to present a morally ambiguous choice. The problem: the majority of players choose the good options in the game, as players ignore the incentives to be evil.
Discussions ensued: being good is usually a better reward. FTL properly rewards "evil" decisions.
Studies show two-thirds of players go straight-good.
Perhaps a result of consequences of player action in the actual game.
How to make good-vs-evil a more 50/50 split?
Beyond: Two Souls has a good split?
Spec Ops: the Line has a good split on good-vs-bad decisions. The mob scene. Shoot them! Shoot them! Super-selfish vs. doing bad things for the sake of doing bad things.
Made real-life sim thing of the U.S. Senate. Having kids going over the merits of the compromise of 1851 (slavery compromise). How do you make kid's role-play as pro-slavery? How do you get them into that state of mind? Make them act out of self-interest, not think about the evils of the act.
Bringing all the ideas of choice together....
All the concepts of choice working together can really provide a powerful experience.
End of talk.
Questions/Comments
- Less balance of good vs. evil in the second Mass Effect
- FTL is good at forcing bad decisions
- Final Fantasy XIII: You Don't Like Hallways?
- Quick decisions make them less meaningful
- Too many decisions, even meaningful ones, numb the player
- Quick Magic vs. Hearthstone talk
Weekly Review
03/09/15
The Weekly Review is the time to
- Gather and process all your "stuff."
- Review your system.
- Update your lists.
- Get clean, clear, current, and complete.
Very simply, the Weekly Review is whatever you need to do to get your head empty again. It's going through the five phases of workflow management—collecting, processing, organizing, and reviewing all your outstanding involvements—until you can honestly say, "I absolutely know right now everything I'm not doing but could be doing if I decided to."
From a nitty-gritty, practical standpoint, here is the drill that can get you there:
Loose Papers Pull out all miscellaneous scraps of paper, business cards, receipts, and so on that have crept into the crevices of your desk, clothing, and accessories. Put it all into your in-basket for processing.
Process Your Notes Review any journal entries, meeting notes, or miscellaneous notes scribbled on notebook paper. List action items, projects, waiting-fors, calendar events, and someday/maybes, as appropriate. File any reference notes and materials. Stage your "Read/Review" material. Be ruthless with yourself, processing all notes and thoughts relative to interactions, projects, new initatives, and input that have come your way since your last download, and purging those not needed.
Previous Calendar Data Review past calendar dates in detail for remaining action items, reference information, and so on, and transfer that data into the active system. Be able to archive your last week's calendar with nothing left uncaptured.
Upcoming Calendar Look at future calendar events (long- and short-term). Capture actions about arrangements and preparations for any upcoming events.
Empty Your Head Put in writing (in appropriate categories) any new projects, action items, waiting-fors, someday/maybes, and so forth that you haven't yet captured.
Review "Projects" (and Larger Outcome) Lists Evaluate the status of projects, goals, and outcomes one by one, ensuring that at least one current kick-start action for each is in your system.
Review "Next Actions" Lists Mark off completed actions. Review for reminders of further action steps to capture.
Review "Waiting For" List Record appropriate actions for any needed follow-up. Check off received items.
Review Any Relevant Checklists Is there anything you haven't done that you need to do?
Review "Someday/Maybe" List Check fo any projects that may have become active and transfer them to "Projects." Delete items no longer of interest.
Review "Pending" and Support Files Browse through all work-in-progress support material to trigger new actions, completions, and waiting-fors.
Be Creative and Courageous Are there any new, wonderful, hare-brained, creative, thought-provoking, risk-taking ideas you ccan add to your system.
"Incompletion Triggers" List
Professional
- Projects started, not completed
- Projects that need to be started
-
Commitments/promises to others
- Boss/partners
- Collegues
- Subordinates
- Other people in organization
-
"Outside" people
- Customers
- Other organizations
- Professionals
-
Communications to make/get
-
Internal/External
-
Initiate or respond to:
- Phone calls
- Voice-mail
- Pages
- Faxes
- Letters
- Memos
-
Initiate or respond to:
-
Internal/External
-
Other writing to finish/submit
- Reports
- Evaluations/reviews
- Proposals
- Articles
- Promotional materials
- Manuals/instructions
- Rewrites and edits
- Meetings that need to be set/requested
- Who needs to know about what decisions?
- Significant read/review
-
Financial
- Cash flow
- Statistics
- Budgets
- Forecasts/projections
- P&Ls
- Balance sheet
- Credit line
-
Planning/organizing
- Formal planning (goals, targets, objectives)
- Current projects (next stages)
- Upcoming projects
- Business/marketing plans
- Organizational initiatives
- Upcoming events
- Meetings
- Presentations
- Organizational structuring
- Changes in facilities
- Installation of new systems/equipment
- Travel
-
Banks
- Receivables
- Payables
- Petty cash
-
Adminstration
- Legal issues
- Insurance
- Personnel
- Policies/procedures
-
Customers
- Internal
- External
- Marketing
- Promotion
-
Sales
- Customer service
-
Systems
- Phones
- Computers
- Office equipment
- Other equipment
- Utilities
- Filing
-
Storage
- Inventories
- Supplies
-
Office/site
- Office organization
- Furniture
- Decorations
-
Waiting for...
- Information
- Delegated tasks/projects
- Completions critical to projects
-
Replies to:
- Letters
- Memos
- Calls
- Proposals
- Requisitions
- Reimbursements
- Petty cash
- Insurance
- Ordered items
- Items being repaired
- Tickets
- Decisions of others
-
Professional development
- Training/seminars
- Things to learn
- Things to look up
-
Skill to practice/learn especially re:
- computers
- Tape/video training
- Resumes
- Outside education
- Research—need to find out about...
- Professional wardrobe
Personal
- Projects started, not completed
- Projects that need to be started
-
Commitments/promises to others
- Spouse
- Children
- Family
- Friends
- Professionals
- Borrowed items
-
Projects: other organizations
- Service
- Civic
- Volunteer
-
Communications to make/get
- Family
- Friends
- Professional
-
Initiate or respond to:
- Phone calls
- Letters
- Cards
-
Upcoming events
- Special occasions
- Birthdays
- Anniversaries
- Weddings
- Graduations
- Holidays
- Travel
- Weekend trips
- Vacations
- Social events
- Cultural events
- Sporting events
-
R&D—things to do
- Places to go
- People to meet/invite
- Local attractions
-
Administration
-
Financial
- Bills
- Banks
- Investments
- Loans
- Taxes
- Insurance
- Legal affairs
- Filing
-
Financial
-
Waiting for...
- Mail order
- Repair
- Reimbursements
- Loaned items
- Medical data
- RSVPs
-
Home/household
- Landlords
-
Property ownership
- Legal
- Real estate
- Zoning
- Taxes
- Builders/contractors
- Heating/air-conditioning
- Plumbing
- Electricity
- Roofing
- Landscape
- Driveway
- Walls/floors/ceiling
- Decoration
- Furniture
- Utilities
- Appliances
- Lightbulbs/wiring
- Kitchen things
- Washer/dryer/vacuum
- Areas to organize/clean
- TV
- DVD
- Music/CDs/tapes/mp3s
- Cameras/film/video
- Phones
- Answering machine
- Sports equipment
- Clesets/clothes
- Garage/storage
- Vehicle repair/mainteance
- Tools
- Luggage
- Pets
-
Computers
- Software
- Hardware
- Connections
- CD-ROM
- Flashdrives
- SD cards
- Email/Internet
-
Health care
- Doctors
- Dentists
- Specialists
- Thearpists
-
Hobbies
- Coding
- Games
- Game design
- Drawing
- Books/records/tapes/disks
-
Errands
- Hardware store
- Drugstore
- Market
- Bank
- Cleaner
- Stationer
-
Community
- Neighborhood
- Schools
- Local government
- Civic issues
Review Commentary
Okay, so here goes my first personal weekly review using this system. Which, in all honesty, probably makes it my first real weekly review. I was never quite as good as I would have liked at the weekly review thing.
I can't really process much loose papers, because I'm doing this at the U of A (I meant to do this yesterday at home, but bad habits got in the way). I can, however, get all manner of loose papers and stuff out of my wallet and backpack.
I actually do have some loose papers I need to deal with in my backpack. I need to get in the habit of flipping through my big journal more often.
I got various receipts in my wallet, which means I should probably do a review of my budget using my Mint account. Good, good, good.
Processing my notes actually takes a while, as it means processing these diary entries, which can be quite time-consuming. I mean, it's more time-consuming at work because I make more of them at work, but when I get good at doing these at home, it'll be a good move to push this part back as far as possible.
Wait, actually, maybe that's backwards. This part's pretty important, but long, so I should probably do it first so that it actually gets done. Yeah, do it first. Even before the loose papers thing. I'll fix the template for future iterations of this review.
All right, let's read through my diary posts for the past week, starting on Monday the 2nd. Oh, I didn't have anything written that day, Tuesday the 3rd, then.
I regularly mention planning my next day during my end of day review. I'm beginning to think I should have some guidelines to read over before starting my end-of-day review so I remember what I want to write about and can choose to skip certain themes if I so desire. Considering I've developed the habit of doing my end-of-day routine first, I can put that stuff in there.
Oh, yeah, spaced repetition. I need to add that into my daily planning proper. Or else it'll just fall away into something I don't do anymore.
Diary posts read. I suppose I should also read my blog posts for the week. Forgot to actually link to something with my "intent is not magic" link. Maybe at some point I'll go back and fix all those non-existant links. I actually like a lot of my posts this week. Maybe I should start tweeting more of my posts or something. It's something that should probably be a part of my site development thinking at least.
I should probably work on using my calendar more consistently and for more set-in-stone event stuff.
Head feels pretty empty.
Projects will be something I put off until next weekly review.
Next actions will be something I focus on next week.
Not waiting for anything, as far as I can remember. Well, nothing I feel the need to track.
No checklists that need checking, I think.
Someday/Maybe needs to wait until next week.
I don't really have pending or support files right now.
I'm already creative and courageous!
Triggers list can wait until next week. I mean, I wrote it all down, and anything triggered was captured during, or it can wait until next week.
Weekly review done. I think I'll just void this extra pomodoro, and take a good break before the Game Dev Club meeting.
First Weekly Review
03/09/15
From Getting Things Done:
The Weekly Review is the time to
- Gather and process all your "stuff."
- Review your system.
- Update your lists.
- Get clean, clear, current, and complete.
[....]
Very simply, the Weekly Review is whatever you need to do to get your head empty again. It's going through the five phases of workflow management—collecting, processing, organizing, and reviewing all your outstanding involvements—until you can honestly say, "I absolutely know right now everything I'm not doing but could be doing if I decided to."
From a nitty-gritty, practical standpoint, here is the drill that can get you there:
Loose Papers Pull out all miscellaneous scraps of paper, business cards, receipts, and so on that have crept into the crevices of your desk, clothing, and accessories. Put it all into your in-basket for processing.
Process Your Notes Review any journal entries, meeting notes, or miscellaneous notes scribbled on notebook paper. List action items, projects, waiting-fors, calendar events, and someday/maybes, as appropriate. File any reference notes and materials. Stage your "Read/Review" material. Be ruthless with yourself, processing all notes and thoughts relative to interactions, projects, new initatives, and input that have come your way since your last download, and purging those not needed.
Previous Calendar Data Review past calendar dates in detail for remaining action items, reference information, and so on, and transfer that data into the active system. Be able to archive your last week's calendar with nothing left uncaptured.
Upcoming Calendar Look at future calendar events (long- and short-term). Capture actions about arrangements and preparations for any upcoming events.
Empty Your Head Put in writing (in appropriate categories) any new projects, action items, waiting-fors, someday/maybes, and so forth that you haven't yet captured.
Review "Projects" (and Larger Outcome) Lists Evaluate the status of projects, goals, and outcomes one by one, ensuring that at least one current kick-start action for each is in your system.
Review "Next Actions" Lists Mark off completed actions. Review for reminders of further action steps to capture.
Review "Waiting For" List Record appropriate actions for any needed follow-up. Check off received items.
Review Any Relevant Checklists Is there anything you haven't done that you need to do?
Review "Someday/Maybe" List Check fo any projects that may have become active and transfer them to "Projects." Delete items no longer of interest.
Review "Pending" and Support Files Browse through all work-in-progress support material to trigger new actions, completions, and waiting-fors.
Be Creative and Courageous Are there any new, wonderful, hare-brained, creative, thought-provoking, risk-taking ideas you ccan add to your system.
[....]
"Incompletion Triggers" List
Professional
- Projects started, not completed
- Projects that need to be started
-
Commitments/promises to others
- Boss/partners
- Collegues
- Subordinates
- Other people in organization
-
"Outside" people
- Customers
- Other organizations
- Professionals
-
Communications to make/get
-
Internal/External
-
Initiate or respond to:
- Phone calls
- Voice-mail
- Pages
- Faxes
- Letters
- Memos
-
Initiate or respond to:
-
Internal/External
-
Other writing to finish/submit
- Reports
- Evaluations/reviews
- Proposals
- Articles
- Promotional materials
- Manuals/instructions
- Rewrites and edits
- Meetings that need to be set/requested
- Who needs to know about what decisions?
- Significant read/review
-
Financial
- Cash flow
- Statistics
- Budgets
- Forecasts/projections
- P&Ls
- Balance sheet
- Credit line
-
Planning/organizing
- Formal planning (goals, targets, objectives)
- Current projects (next stages)
- Upcoming projects
- Business/marketing plans
- Organizational initiatives
- Upcoming events
- Meetings
- Presentations
- Organizational structuring
- Changes in facilities
- Installation of new systems/equipment
- Travel
-
Banks
- Receivables
- Payables
- Petty cash
-
Adminstration
- Legal issues
- Insurance
- Personnel
- Policies/procedures
-
Customers
- Internal
- External
- Marketing
- Promotion
-
Sales
- Customer service
-
Systems
- Phones
- Computers
- Office equipment
- Other equipment
- Utilities
- Filing
-
Storage
- Inventories
- Supplies
-
Office/site
- Office organization
- Furniture
- Decorations
-
Waiting for...
- Information
- Delegated tasks/projects
- Completions critical to projects
-
Replies to:
- Letters
- Memos
- Calls
- Proposals
- Requisitions
- Reimbursements
- Petty cash
- Insurance
- Ordered items
- Items being repaired
- Tickets
- Decisions of others
-
Professional development
- Training/seminars
- Things to learn
- Things to look up
-
Skill to practice/learn especially re:
- computers
- Tape/video training
- Resumes
- Outside education
- Research—need to find out about...
- Professional wardrobe
Personal
- Projects started, not completed
- Projects that need to be started
-
Commitments/promises to others
- Spouse
- Children
- Family
- Friends
- Professionals
- Borrowed items
-
Projects: other organizations
- Service
- Civic
- Volunteer
-
Communications to make/get
- Family
- Friends
- Professional
-
Initiate or respond to:
- Phone calls
- Letters
- Cards
-
Upcoming events
- Special occasions
- Birthdays
- Anniversaries
- Weddings
- Graduations
- Holidays
- Travel
- Weekend trips
- Vacations
- Social events
- Cultural events
- Sporting events
-
R&D—things to do
- Places to go
- People to meet/invite
- Local attractions
-
Administration
-
Financial
- Bills
- Banks
- Investments
- Loans
- Taxes
- Insurance
- Legal affairs
- Filing
-
Financial
-
Waiting for...
- Mail order
- Repair
- Reimbursements
- Loaned items
- Medical data
- RSVPs
-
Home/household
- Landlords
-
Property ownership
- Legal
- Real estate
- Zoning
- Taxes
- Builders/contractors
- Heating/air-conditioning
- Plumbing
- Electricity
- Roofing
- Landscape
- Driveway
- Walls/floors/ceiling
- Decoration
- Furniture
- Utilities
- Appliances
- Lightbulbs/wiring
- Kitchen things
- Washer/dryer/vacuum
- Areas to organize/clean
- TV
- [DVD]
- Music/CDs/tapes[/mp3s]
- Cameras/film[/video]
- Phones
- Answering machine
- Sports equipment
- Clesets/clothes
- Garage/storage
- Vehicle repair/mainteance
- Tools
- Luggage
- Pets
-
Computers
- Software
- Hardware
- Connections
- CD-ROM
- [Flashdrives]
- [SD cards]
- Email/Internet
-
Health care
- Doctors
- Dentists
- Specialists
- [Thearpists]
-
Hobbies
- Coding
- Games
- Game design
- Drawing
- Books/records/tapes/disks
-
Errands
- Hardware store
- Drugstore
- Market
- Bank
- Cleaner
- Stationer
-
Community
- Neighborhood
- Schools
- Local government
- Civic issues
Okay, so this will be a part of my weekly review template. A thing to read over before starting my review proper. Or, something to read while going through my review. I've tried inserted notes inbetween instructions, but that was messy and not the easiest thing to read, so I'll add commentary after the instructions as a whole.
And so my first personal weekly review using this sytem beings.
Plan Document
03/09/15
| To Do Today | ||
|---|---|---|
| Morning Routine | X X X | |
| Building Plan | ||
| Blog Post Writing | ||
| Weekly Review | ||
| Abstract | Game Dev Stuff | |
| Abstract | Web Site Stuff | |
| Abstract | Game Dev Stuff | |
| Abstract | Web Site Stuff | |
| Abstract | Game Dev Stuff | |
| Abstract | Web Site Stuff | |
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Review: Javascript the Good Parts | 7 | |
| Review: A Whole New Engineer | 7 | |
| Review: Hire With Your Head | 7 | |
| Abstract Goal | Vim Exploration | ??? |
|
Install site-blocker Block all the distraction sites |
1 | |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools | ??? |
| Distractions | ||
Building Plan
03/09/15
Okay! Starting off the day later than I anticipated, but I'm doing pomodoros! I started off with the morning routine instead of planning, which I think works best. I also am making all aspects of the routine a part of the pomodoro plan, which includes walking dogs and general other things. This took three pomodoros today, so it'll probabaly always take that long.
So, I won't get to proper planning until I'm done with three pomodoros. Meaning, I won't get to pomodoros I care about until I'm already four pomodoros in. But, I suppose that is the cost of being on top of my day-to-days.
Today is a U of A day. I don't know the best way to plan for these days yet, and how I execute these days will be in a lot flux. However, I think I should at least do one pomodoro towards game dev stuff every Monday, as at the U of A I'll be doing Game Dev Club stuff.
I'd like to work on web site stuff, too.
Oh, yeah, really important, I need to do a weekly review. That'll be the rest of my planned pomodoros for today, I think. Maybe I'll add some ideal ones, though. I'll just alternate between game stuff and web site stuff.
Morning Routine
03/09/15
Start pomodoro.
Get dressed.
Comb hair and tie back.
Bathroom.
Brush teeth, floss, and rinse with listerine.
Refill water.
Feed dogs.
Refill cat's water. Feed cat.
Take dogs for walk.
Do dishes.
Shave.
Clean kitty litter.
External Distraction: HBO Now lauching exclusively with Apple.
Camera setup.
Drink big glass of water.
Cook breakfast.
Log
03/08/15
| To Do Today | ||
|---|---|---|
| Building Plan | X | |
| Node Scripting | X | |
| Blog Post Writing | X | |
|
End of Day Routine End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Abstract Goal | Vim Exploration | ??? |
|
Install site-blocker Block all the distraction sites |
1 | |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools | ??? |
| Distractions | ||
Review
03/08/15
So, I think I learned today to not try to do a pomodoro with distractions going on in the background. In all honesty, the distraction (Sabrina the Teenage Witch) didn't stop me from working what I was working on. I'm not sure how much it even slowed me down, even. It did, however, let me ignore the pomodoro ringing, and I ended up working on node scripts for a couple hours.
It's okay for me to be productive outside of pomodoro time, it's just not okay for me to neglect productive pomodoro time in favor of that. So, pomodoro time should be a time to get down and focus on whatever thing my plan says to focus on, and to make sure I either adhere to the plan or knowingly alter it.
And that's what I learned today.
Anyways, today had way fewer pomodoros than I would have liked for a weekend day, but I did have various committments that wouldn't really work as pomodoro items.
The next pomodoro will go better.
I'm glad I'm actually fitting in blog pomodoros. It would be so easy for me to just stop once I finished my blog post, but I find myself writing beyond that. Hopefully this will lead to higher quality posts in the long run. Though maybe it'll just lead to me producing more posts, as when I finish, I move onto a new post, I don't polish my current one. Maybe I should focus on the one blog post sometimes....
Actually, I have a few blog posts on the back-burner that would be good for polish and refinement. Perhaps when I finish early, and/or when I already have a post lined up for the day, and I'm not particularly inspired to write something else, I'll focus on just that.
Though, thinking about blog posts, I'm reminded that I'm super neglecting my book reviews. Not counting the reviews I still need to catch up on from last year, I need to write reviews for the books I've read so far this year:
Which really just means I need to actually plan them into my pomdoro time, I think. When I finish Hire With Your Head, I lug them around in their respective order and instead of reading, will write the reviews proper (adding to activity inventory).
Tomorrow, I need to do my weekly review. I can't let it slip further or I simply won't do it, and I might miss a lot of personal notes I left myself that weren't properly tracked by my still rather-incomplete system.
End of Day Routine
03/08/15
Put away all food in the kitchen.
Nasal spray.
Camera setup.
Brush teeth.
End of day review diary post.
Plan Document
03/08/15
| To Do Today | ||
|---|---|---|
| Building Plan | ||
| Node Scripting | ||
| Blog Post Writing | ||
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| Abstract Goal | Vim Exploration | ??? |
|
Install site-blocker Block all the distraction sites |
1 | |
| File a Police Report on Stolen Wallet | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Abstract Goal | Learn to Use More Development Tools | ??? |
| Distractions | ||
Building Plan
03/08/15
So, I didn't have much time to be productive today, but I'll still try for the three basic pomodoros: building a plan, writing a blog post, and an end of day review.
This would be a good time to move my diary to my local chromebook area.
Changed my mind, going to add a pomodoro for local site stuff.
Ended up working way too far past a single pomodoro, without starting new pomodoro. And now it's late, but I still got my blog and end of day pomodoro....
The next pomodoro will go better.
End of Day Routine
03/07/15
Put away all food in the kitchen.
Nasal spray.
Camera setup.
Publish blog post of the day.
End of day review diary post.
Brush teeth.
Review
03/07/15
Today was a really good work day. It even let me do some good thinking about my home system and what I could do to improve my personal habits. I've reemployed site-blocker as a result. I managed to write a good blog post about just that, even. I also wrote the beginnings of two other blog posts exploring my own philosophy regarding systems and words.
I have resolved to explore vim more. I've made it a secondary goal now that I type much more each day with these diary posts. Just today I've already developed a habit out of actually using vim registers, and also made capital E go into insert mode at the end of a word and capital B go into insert mode at the beginning of a word. But I think explicit pomodoro time will be very powerful. Especially since it will leave a documentation trail. I'm pretty excited about this.
I am considering experimentation with other editors and actual IDEs, as well. Though, I don't know what IDE I can really use on a chromebook, so I might not go much farther than consideration. I believe using other methods could unlock perspective and inspire me to improve my vim toolset.
The weekly review went really well at work, so I'll be making time for that tomorrow. In fact, it may be the main thing I make pomodoro time for, as I got other plans to adhere to. If work's review is any indication, the review is going to take at least 4 pomodoros. And that's if I allow myself to put stuff off until next week (which I probably will).
So, yeah, that'll have to be my only real plan tomorrow. Hopefully, Sundays will get more than just reviews and chores once this system proves itself as a proper habit.
Plan
03/07/15
| To Do Today | ||
|---|---|---|
|
|
X | |
|
|
X | |
|
|
X | |
|
End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
|
Install site-blocker Block all the distraction sites |
1 | |
| File a Police Report on Stolen Wallet, | 1 | |
| Distractions |
Building Plan
03/07/15
Today's going to need to be a little light on planned activities, I'm afraid. I ended up waking up and wasting my time browsing the Internet instead of starting a pomodoro right away. I really need to make the first thing I do in the morning be starting my plan for the day pomodoro. It really helps hit home how little time I have in the day. It would even convince me to dedicate my entertainment, non-pomodoro time to something more fun than mere Internet browsing.
And this is something I know from experience. I need to return to that experience.
Anyways, only three pomodoros for me today: this plan, blog post writing, and my end-of-day review. Otherwise, it's work pomodoros or cooking or higher-quality entertainment (higher-quality than Internet browsing, anyways).
A better template plan might be of use to me. I have building plan, daily routine, and end-of-day review/routine hard-coded into my template at work, and it's of great value to me.
I really need to figure out how to develop the discipline to start the day off right again. I remember enjoying it so much, so why am I having such difficulty building the habit again? I guess my brain is just resistent to real work vs. laziness.
I guess it's something I need to keep trying at, and I need to keep analyzing to see what I'm doing that is reinforcing poor habits and neglecting the cultivation fo good habits. It may just be as simple as me currently having a habit of surfing the web as soon as I open my laptop beginning the day, and I may need some trigger to stop that habit to start a new habit.
Maybe it's time to have site-blocker installed again. Not permantly, mind you, just until I stop attempting to go to reddit or youtube first thing and instead start my pomodoro and start building my plan for the day each morning.
End of Day Log
03/06/15
| To Do Today | ||
|---|---|---|
|
|
X | |
|
|
X | |
|
|
X | |
|
|
X | |
| Spaced Repetition | ||
|
End of Day Review |
- X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| File a Police Report on Stolen Wallet, | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Distractions |
End of Day Review
03/06/15
I did not get to spaced repetition as planned. Otherwise, I managed to make pomodoro-time for all the stuff I wanted to do today. I'm a bit more distractable today than usual, but I suppose that happens. The next pomodoro will be better.
So, I'm thinking I can rotate the things I want to work on per day. Today was web site stuff, tomorrow can be C++ stuff (Livio's game, maybe). Sunday can be Melee training routine development.
We'll see. Limited pomodoros mean limited time to work on stuff. Sunday and Monday should have many more pomodoros, so I'll think about what to do there. I may want to focus on web site stuff during work days and rotate what weekend items I work on.
I definitely need to work on how seriously I take the pomodoro at work. I need to take distractions like the one I just dealt with seriously....
External distraction: Rosse needs help with camera setup.
I need to start pomodoros over if the distraction is too prolonged, and I need to seriously focus on my focus. I need to tell the people in my life that they need to wait until I am done with my pomodoro, and I need to go someplace private if that's impossible.
But, I mean, I'm still doing really good work, I'm just trying for constructive criticism with my end of day review.
End of Day Routine
03/06/15
Put away all food in the kitchen.
Nasal spray.
Camera setup.
Brush teeth.
Publish blog post of the day.
End of day review diary post.
Site: Browse Bar Modification Script Iterate
03/06/15
Okay, so, I've missed a few things when it comes to making all my local links within this site relative. There's my homepage style.css, and also these diary posts' browsebars are not fixed like my blog has been.
Now I'm thinking about how I can make my fixLocalPathnames.js script to find all links that target ksionda.me, and then make them relative to where the file exists. Could I make it so relative links are identified, too?
Ooooooooooh! I didn't know that you can link to things from the perspective of the homepage. Instead of starting with ".", just start with "/". This should've been obvious to linux friendly me, but for some reason it didn't even occur to me. This will greatly solve many of my problems.
Code changes have been made. Still have a long way to go, though.
Morning Plan Document
03/06/15
| To Do Today | ||
|---|---|---|
| Planning | ||
| Blog post | ||
| Website development | ||
| Reading | ||
| Spaced Repetition | ||
|
End of Day Routine End of Day Review |
||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| File a Police Report on Stolen Wallet, | 1 | |
| Website Iteration (Break It Down) | 8 | |
| Work on Livio's C++ Game Project (Break It Down) | 8 | |
| Recreate "Node.js in Flames" article | 4 | |
| Python Portfolio Item (Make Into Work Item) | ??? | |
| Broken Macbooks Take Apart (Break It Down) | 10 | |
| Gamecube Mod (Break It Down) | 10 | |
| Raspberry Pi Tutorial (Break It Down) | 10 | |
| Build Micromouse (Break It Down) | 40 | |
| Practice Melee (Break It Down) | 40 | |
| Distractions |
Building Morning Plan
03/06/15
So, I didn't wake up as early as I planned. Meant to wake up at 6, work up at 8. Even worse, I used waking up late as an excuse to basically do nothing this morning. The bus ride to work is supposed to be for blogging, but I'm using it for planning, because I didn't plan yet.
Good news, though, is that I put in extra hours yesterday, so I can put in fewer today. So I will still attempt six pomodoros outside of work today.
Okay, so I'll blog on the way back home. When I get home I'll work on website development for one pomodoro. Then I'll read for a pomodoro. Then I'll do spaced repetition for a pomodoro. Then my end-of-day review.
I should get home around six and be done around eight thirty. I think I'll wind down after that doing whatever, and then go to sleep.
What did I write in yesterday's end-of-day review?
Oh, yeah, making accomplishments to show what I'm capable of. Let's make some activity items for my inventory that will go towards exactly that.
And I made vague mentions of hardware skills I want to develop, let's write some stuff about that, too.
All right, general ideas written down. The next, most important thing is to actually make time for these things and put them in my pomodoro plans at some time.
End of Day Log
03/05/15
| To Do Today | ||
|---|---|---|
| Building Pomodoro Plan | X | |
| Blog Writing | X | |
| Reading | X | |
|
End of Day Routine End of Day Review |
X | |
| Unplanned & Urgent | ||
| Activity Inventory | ||
| File a Police Report on Stolen Wallet, | 1 | |
| Distractions |
End of Day Review
03/05/15
I stayed at work too long today. Though, work quality was pretty decent, so I suppose it's all good.
I managed to make a plan today! I managed to follow today's plan! Reading on the bus ride home wasn't as good as usual, but that's probably because tired.
I got some good feedback for ideas for my system today. I'll try to implement them. One of those things is to plan the next day during my end-of-day review. Considering my blog post today was about fixing my sleep schedule, and one of my strategies is trying to motivate morning me to wake up, this seems like an especially good idea to try for my home system.
So, I need one hour of non-pomodoro time in the morning to do non-pomodoro work: walk dogs, do misc non-morning routine stuff, etc. Other than that, I would like to devote two pomodoros to non-morning planning/routine stuff. I would also like to leave for work before 9.
Meaning, I want to wake up 3 hours before nine, at least. So, I need to wake up at 6. If I wake up before 6, and can say that I slept at all, I should stay awake to punish sleeping me for waking up before I should have.
Oh, also, morning routine me managed to make my pomodoro log an actual html table. Yeah! I'm already digging the look of it at work and see no reason I won't at home.
Blog wirting went well, but I didn't finish two posts like the other day. It's okay though, the second post required thinking on what to do with my site.
Speaking about my site, and developer productivity in general. I want to start matching my perceived skills with portfolio-level achievements. I think I got enough javascript understanding to say I'm "good" at it, but I got nothing to point at as an example of my abilities. Maybe I'm still really bad at javascript.
Same kinda goes for python, html/css, and even C/C++. Though, my C/C++ isn't "good", I just think I'm functional.
I want to be good at:
- Javascript
- C++
-
Profiling
- Time
- Memory
- Flame charts? (There was an article I read a while back called Node.js in Flames
- Bugs
- Python (to a lesser extent)
Being good means doing good. Doing good starts with doing at all. I'm making progress on a personal productivity system, and even javascript/html/css with my site. I need to make specific projects for things I want to be good at, and specific exercises too, or stop pretending that I'm trying to be good at them in the first place.
This doesn't even take into account hardware stuff I want to learn. I have a lot of work to do, and I need to actually plan for it proper.
Which is why setting aside time to do stuff is so important. Which is why avoiding time sinks like reddit and general web surfing is so important.
I can do it! I believe! I can be good enough to get paid doing freelance stuff! Let's figure that out, too!
Anyways, that's a good enough review for today. Let's do my end of day routine.
Morning Plan Document
03/05/15
| To Do Today | ||
|---|---|---|
| Building Pomodoro Plan | ||
| Blog Writing | ||
| Reading | ||
| End of Day Review | ||
| Unplanned & Urgent | ||
| Activity Inventory | ||
| File a Police Report on Stolen Wallet, | 1 | |
| Distractions |
Building Pomodoro Plan
03/05/15
So, I went ahead and quickly transformed my planning template into the html table form I made at work. I haven't made the css styling for it yet, but I'll get to it eventually and it should just work.
So, I can do this pomodoro, two bus pomodoros, and an end-of-day review pomodoro. I think that's all I got for non-work pomodoros.
The first bus pomodoro will be blog writing, and the second will be reading.
I didn't need to plan too much, so I went ahead and styled the pomodoro log table. Looking pretty gewd.
End of Day Review
03/04/15
So, again I didn't make a proper plan for the day outside of work. I really need to devote time in the morning to that, so that I can properly review what went wrong and what went right.
I already had an extra blog post lying around, so I decided to not bring my laptop with me on the bus ride to work. Both bus pomodoros were devoted to reading and I did a pretty good job of that.
Work started off slow but ended up going really well. I'm still only managing a mere 1 pomodoro per hour, and only 2 pomodoros for the day were directly about assigned work, but that I'm now tracking that sort of stuff really makes me happy.
Which again is why I want to do that for productivity outside of work. I may need to plan my productivity at the end of the day (like, right now for instance) instead of the morning. Maybe that would help motivate me for waking up properly early in the morning.
I definitely need to fix my sleep schedule and my productivity habits outside of work. Hell, my freetime habits could use some improvement, too. Playing games > reading book > watching TV > Internet browsing. Higher quality play could allow for higher-quality work, or maybe even the devotion of more time to work.
External distraction: Rosse needs me to open something.
I mean, that was defintely what occurred over a year ago, when I successfully managed to replace habits I didn't like with habits I would prefer. Speaking of my once very-productive times, I realize now that that was when I was really trying pomodoro stuff. So here's hoping I unlock great self-discipline and various other awesome, happiness-causing things.
External distraction: Chat from Steven.
At work, I managed to revamp my pomodoro tracking log into html tables. I like the end result, and there isn't much extra work, so I think I'll redo the changes for the at-home system. But that'll be some other day than today. I might even translate it directly at work. There was some stuff that might be hard to repeat with identical results.
Overall, I'm building good, productive habits here, with good documentation to boot.
End of Day Routine
03/04/15
Nasal spray.
Camera setup.
Look at Mint budget stuff.
Email family member.
Brush teeth.
End of day review blog post.
End of Day Review
03/03/15
So, I'm still sick, but I think doing an end-of-day review is still worthwhile. Also, I forgot to do my tickler this morning. Let's do that now.
Nothing in my tickler. Nice. Lots of stuff in my inbox, not so nice. I'll make some time tomorrow to deal with that, I think.
So, today I got confirmation that my wallet was stolen. They charged my corporate card. I never even used that card, ever. I may have not even activated it.
I really need to file a police report. (Added to activity inventory).
I failed to make a plan for today. That's something I'll try to do tomorrow. Maybe I'll even make my template a proper HTML table.
I'm going to go ahead and cut this pomodoro short. I got a headache and I'm tired and I'm not even properly tracking this today.
The next pomodoro will be better.
End of Day Log
02/23/15
To Do Today
- , Building Morning Routine Template,
-
,
Bus Blog writing, X -
,
Bus Book reading, X -
,
End of Day Review, X
Activity Inventory
- , ,
Unplanned and Urgent
- , ,
End of Day Review
02/23/15
I did the things I set out to do. I had more time to do stuff because my work is cool, but I didn't really do more stuff, because my wallet was lost/stolen.
Today has been an emotional rollercoaster.
I really like using the bus as a pomodoro. I've tried to use the time waiting for the bus as a pomodoro, but there really wasn't much time spent waiting for the bus. So I won't do that in the future. Also, it is way to bright at the bus stop to do anything on this laptop, lesson learned.
Anyways, my work is great. Seriously, I love it. I mean, not perfect, but a system is there to really try to work with what I don't find perfect. To improve it, and by doing so, improve myself. Also, there's lots of room for just pure self-improvement. That's nice. Benefits are also just freaking great.
I'm getting five days off for my Babuska's... passing. You know, I think stronger words, but writing them is harder. Saying them is sometimes fine, but it seems if I say them in the right combination I lose control.
In any case, I'm realizing more and more that those five days are so freaking necessary. Especially now that I have a missing wallet. I really need to renew my identification. Errr... you know, have an ID card that fits in my wallet (already got a new wallet).
A lot of good is coming out of me losing my wallet. I mean, the bad way outweighs the good, but it's all stuff that should heal in time, and most of it is replaceable, and the stuff that isn't can be replaced with new memories and traditions.
But, I mean, I'm finally cleaning out my wallet, to make an obvious pro. I also cancelled some credit cards I was never using anyways. I'm getting most cards I replaced for no charge. I cancelled AAA (did you know they give partial refunds? Basically however much of the year you're cancelling). I'm going to get a driver's license with my current address (which may well be a long-term address). I have a stronger excuse, though it may now be harder, to go through the steps to get better Canadian identification (maybe even a Canadian passport).
Oh, crap.... How easy is it to steal my Canadian identity? I think I had my Canadian social in there.... I need to figure that out, probably. I'll have to ask some people, maybe.
Really hoping it shows up in lost and found tomorrow.
Anyways, pomodoro stuff is mostly fine. Still got some stuff to polish out, but it'll come with time and days where I have a clearer head. A good end of day routine document, as well as a good start of day routine, will also probably greatly help me find a rhythm.
Oh, yeah, this morning did not go as productively as it could have. Lost a lot of time to watching Youtube (did you know the Goku vs. Freeza full fight is 4 hours total? Damn).
Pomodoro is indivisible, and I have ten minutes left.... Might as well work on one of my routines. On one hand, I feel a good morning routine will be best to develop first. On the other hand, I feel only morning me, and I mean just woke up morning me, should write, follow, and edit that routine. He knows what works and what doesn't for him.
Though maybe a rough draft will help him out, too.
Actually, some thinking on what my end of day routine should be, and when it should be for that matter, might do me good. Right now, for instance, I feel like I may be too tired to take any kind of end of day chores seriously. The only thing I know I will do is put away food and brush my teeth.
Both of which I have somehow forgotten until after I got into bed, and leaving bed really is such a pain. Yeah, let's make an end of day routine that I hopefully start referring to before getting into bed.
Blogging Brainstorming
02/23/15
It's one of those rare days where I don't know what I want to write about. I have a bunch of work-in-progress posts, but I feel I need to do some extracurricular work before I can really feel comfortable writing them further.
Thinking about my last post, Responsibility of Poverty, maybe I should continue down that thought. One thing that's been bothering me....
Time to switch to the blog file.
Not a great blog post, but it is exploring something in words that I've only ever attempted before in abstract thought.
Now, I shouldn't have made that diary note. Now I don't remember what blog post I was just inspired to make.... Damn. I should have written down the idea first.
Oh, yeah, considerations of tone.
Morning Plan Document
02/23/15
To Do Today
- , Building Morning Routine Template,
- , Bus Blog writing,
- , Bus Book reading,
- , End of Day Review,
Activity Inventory
- , ,
Unplanned and Urgent
- , ,
Final Log
02/22/15
To Do Today
- , Pomodoro Setup and Planning, X- X
- , Bus "Pomodoro" Blog Post, X
- , Bus "Pomodoro" Reading, X
- , End of day checklist development/execution -X
Activity Inventory
- , ,
Unplanned and Urgent
- , Check text message,
Distractions
- Received text message
- Dog itching ears
End of Day Review
02/22/15
Today was mostly work-focused, but I still got four pomodoros in towards the home system (I'm counting the one I'm spending doing this review, Stephan).
External Distraction: Dog itching ears
Let's take a look at the my logs for the day.
I wrote a good post on how I'm going to implement the pomodoro technique. I believe I already translated that to a proper blog post.
Yes, I have. I'll publish that right now.
Done. I also wrote another blog post today. Nice. I'll publish that one tomorrow, unless something more topical gets written before then. Maybe I should start publishing my posts right when the day begins instead of shortly before or even after the day has ended.
Maybe I should publish "tomorrow's" post now, and thus start that pattern now.
Yeah, let's do it.
Done. Cool. Now I'm like those cool kids who update at midnight or whatever. Eventually I'll have a tool that does this for me, Stephan, I swear.
Treating bus trips as pomodoros really helped my focus on the bus. It is what allowed me to write two blog posts on the way to work. It also really helped me focus on the reading on the way home.
Both mornings and end of day planning were also supposed to build my tutorial/instruction template, but I haven't really put too much effort into the morning one, and the evening one might not get any time. I'll need to devote a proper pomodoro to each when I have some real free-time (maybe next weekend?).
Well, this review is basically done, I'll publish my diary posts for today and work a bit on my end-of-day instruction set.
Huh, my pomodoro logs are formatting all wrong.... All the more reason to learn to use HTML tables, I guess.
Morning Plan Document
02/22/15
To Do Today
- , Pomodoro Setup and Planning, X-
- , Bus "Pomodoro" Blog Post,
- , Bus "Pomodoro" Reading,
- , Bus "Pomodoro" Reading,
- , End of day checklist development/execution
Activity Inventory
- , ,
Unplanned and Urgent
- , Check text message,
Distractions
- Received text message
Building Plan Document
02/22/15
All right, so I'm building my plan document for today.
I can't really plan much outside of work.
External Disctraction: Received text message
Got a lot of work to do today, after all. I have decided to count bus time as "Bus 'Pomodoros'". Those pomodoros end when the bus arrives at my destination. Gives me two more pomodoros to work with per work day, which is good.
And I'll try to have an end-of-day pomodoro for when I get home. It'll probably be very valuable to build that habit. Really wind down proper without forgetting anything.
Anyways, right now I need to check my tickler items for today.
The only thing I need to address today is my Cox bill. Really, I can put that off, too, but I might as well.... Why is Cox charging me four extra dollars this month? Let's put this off until tomorrow, so that I have time to call them or something.
I'm also going to put off clearing out my inbox. Hopefully soon I'll have a good morning routine instruction template that I can follow closely and get into a good ritual for keeping this stuff maintained. Right now, I don't have time and I need to go to work soon.
Tickler stuff done.
Still got some time, maybe I'll start building my morning routine now.
End of pomodoro.
Unfinished, but off to a good start.
Implementing Pomodoro with my Blog
02/22/15
So, yesterday, at work... actually, wait, things started going into motion a bit earlier than that.
So, a little over a year ago, along with being recommended Getting Things Done and Code Complete I was also given a copy of a document detailing the Pomodoro Technique. I read it, I liked the ideas therein, I attempted it, I didn't like some things about it, I abandoned it on my quest to find my own way of doing things.
Two days ago, at work, I decided to write a work blog post on the private work network detailing what I was doing while I was doing it. It went really well, and made me really excited to do it again yesterday.
So, yesterday, at work I was off to a slow start. At some point, I pulled out my tickler items, and one of the items I had set aside for that Saturday was to reread the Pomodoro technique. In all honesty, this had been a weekend tickler item for a while, I would just keep sending it a week into the future and go about my day.
Yesterday, I decided, "Okay, let's do this." And so I read it. Again, I liked the ideas therein. Some stuff really spoke to me that I think before I didn't appreciate so much. A year of attempting to be better at time management really improves one's perspective.
Reading the document, and having that experience of a half-hour blog post of productivity the day before, something clicked in my brain: Why don't I track my pomodoros via blog posts?
It actually makes a lot of sense. I've been doing daily posts pretty regularly, with few slip ups, for a long while now. It is the way I document my life right now. I've gotten pretty decent at it, and fallen into a good rhythm. Also, doing this helps me push me further to developing good web design and development habits, and will help me build presentable, if informal, documentation habits of important work I do.
Mixing my habit of blogging with a productivity and time-management strategy also just makes sense. I can force my wandering, many-voice thoughts into clear, coherent instructions, follow those instructions, and also know when it's okay to stop, take a break, and resume my admittedly enjoyable wandering-mind state.
Yesterday felt like a great start. I quickly hashed up HTML pomodoro log documents, cleared through a lot of built-up notes, and managed to put a good half-hour towards proper work goals.
I'm really excited about this setup. Everything really feels powerful. Which is why I'm copying the setup the best I can at home bascially immediately. This is a significant and powerful strategy, and this is the first diary post towards executing it regularly.
(I also like this well enough that I'll make it a blog post, too. I may make some edits or something, though. Add a link to this diary area and stuff.)