Thursday, December 5, 2013

Book Review #13


Book #13 Successful Time Management for Dummies
Disk Zeller

The first thing I noted is that this is the "Portable Edition", whatever that means. Apparently there are more specific information on the full-size version, but as long as this is good, then I don't need the full size version, do I? The good news is, this is good, and I don't need the full size version. The bad news is, there remains some personalizations or customizations necessary. However, the basic ideas listed here are sound and is an excellent place to start.

The first chapter, although extremely brief, does touch all the bases needed to be covered. That's good. Too often, writers would wax poetics on how time management would save the day. I don't like that. Just tell me what I need to know, and we'll go from there!

The second chapter is the obligatory chapter about valuing your time. This is important. Too often, people are too focused on the dollars, but not the hours spent in getting those dollars. This, here, is a form of Return-Of-Investment calculation necessary in order to put a value of your time, and once you have successfully put a value to your time blocks, it's time to prioritize them. That's chapter 3. I really appreciate how this little book is organized! The book mentioned how difficult it is to adhere to the set schedule. The good news is, a little productivity goes a long way.

Let's put it this way. Supposed that you are only productive 20% per day. If you managed to increase productivity only by 10%, then you just increased your productivity by 50%! Of course, you get diminishing returns, but that only happens if you have some kind of schedule to begin with. If you haven't, then a little can go a long way, and this book tells you that. That makes me so happy! Truly, these are the most important points that you can make in teaching time management.

The author stumbles here with Chapter 4: Organizing your workspace. Although he recognized the difficulties of properly managing his workspace, the system that he presents is the old "Process a paper only once", which is the boon of professional organizers anywhere, and the doom of non-professional organizers everywhere. That is, the system is easier to say, that it is to do. There is nothing wrong in trying to achieve the ideal, but this is where personalization can work wonders for you. In my case, not only my work is varied (just look at this blog!), but also some of them requires some sizable materials. In the end, I put the filing cabinet next to boxes of projects, one box per project. It looks ugly, but it works. So, yes, read the chapter and follow it the best you can, but don't be afraid to personalize it to suit you.

Chapter 5 outlines various strategies for organizing your files. Just like Chapter 4, the information presented here is old-school. Well, as old school as new electronic gadgets can be. The importance of backup (safety redundancy) is missing, though. I know for certain that electronics can break, and papers can be eaten by your dog, so back up in as many places as possible. Make sure to restore the backups and check periodically. Also make sure that everything is sync. Personal note: The best device for organization is the old Palm Pilot/Handspring device. I'd be carrying it if I didn't run out of pockets!

Chapter 6 goes back to form, discussing the relevant issues is dealing with obstacles. This treatment is in fine form. It's obvious that the author speaks from experience, instead of rehashing old ideas. I'm happy to see it here.

Chapter 7 is the big deal for me. Procrastination. Over time, I managed to set up what I call "Productive Procrastination". That's not this chapter. This chapter deals with different solutions to get over procrastination. Although I'd probably fail with these methods, these are good methods to try nevertheless. Who knows? You may be better at it that I am. The information here is concise, useful, and comprehensive.

The rest of the book deals with little things that trips you, and little things that helps you. I find that the information presented here is perfect for the size of the book, and will gladly recommend this book to anyone who needs a little help organizing their time.

Tuesday, December 3, 2013

Raspberry Pi Journal #39


Portable Webcam Hardware - hardware+os


Okay, so we know that the webcam project works in Raspberry Pi. The next step is to bring out the portability of the device. So, we'll be making a portable Deer Camera project. Which is basically just a box with a camera on it. Because we're using Raspberry Pi, we can have all the features we want. So here's the shopping list:

Raspberry Pi B : $40
Case : $9
16 GB SD card: $12
ASUS N150 Wifi: $20

Total: $81.

Add webcam for $10, and battery pack for $50, and we'd have spent about $140 total. The battery pack is really the expensive option, and I'm sure the more creative among you can get it cheaper. I'm just using the common iphone charger. Which turns out to be a mistake. I don't have a solution for this yet, but one potential solution that you can consider would be to get a 12V car battery, hook it up with cigarrete lighter to phone charger, and into the raspberry pi. We still need lights to see, but I'm leaving it out for now.

I'm thinking that the Raspberry Pi model A would be better. However, this being my first experiment, I decided to keep it simple and simply copy the OS from my desktop computer. It works! So, the next step is to create a copy from scratch and install it SSH way. Big problems.

First, format a 16 GB SD card and copy NOOBS into it. Assemble the hardware. I'm pilfering the HDMI, keyboard, mouse, and power supply from my desktop Raspberry Pi for setting it up. Booting NOOBS over it, I'm setting it up this way:


  1. GUI off
  2. SSH on
  3. Set locale+keyboard
  4. set wpa_cli
  5. set hostname


Pull out keyboard. Reboot. SSH into it. So far so good. Half hour since I first started. I assembled the hardware already. Here is the final desired setup:




Problem. There is no connection to the network. Obviously, the /etc/network/interfaces is faulty. All attempts to fix it failed. I look for instructions. All instructions involved putting in a GUI in order to set it up. I frantically searched for instruction to set up the network without GUI. Couldn't find it. So, 2 hours later, I'm back to square one, and booted up the GUI version. It works no problem.

Sigh. Since I'm being stubborn, I want to know what action items behind the scenes are necessary in order to put up the network via CLI interface, instead of GUI interface. So, I remove everything. And after a long and arduous search on the internet, with a good deal of experimentation on my own, I finally came up with this:


  1. wpa_cli (starts in interactive mode)
  2. -scan (wait until WPA-AP-AVAILABLE)
  3. -scan_result
  4. -add_network (returns network#)
  5. -set_network 0 ssid "MyNetworkName"
  6. -set_network 0 psk "password"
  7. -enable network 0
  8. -save_config


Once you quit, you do these commands (instruction from the internet, I don't understand this):


  • iwconfig
  • sudo ifdown wlan0
  • sudo ifup wlan0
  • ip addr


So, those are the commands that comes from instruction gleamed from the internet. Don't ask. I don't know the answer.

Reboot into SSH. Success! Well, not really (Siiiiiigh!!!). I ran into the message "Remote Host ID has changed". Something about man-in-the-middle attack. So, back into the last set up. Erase all keys. Reboot into SSH. Success, finally.

So now I have a Wifi and webcam into both USB plugs, and everything is just peachy. Time to install the software


  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get motion mplayer fswebcam


We want to do it real quick to see if the set up works:


  • fswebcam -r 640x480 sample.jpg -D 15 -fps 1


check it


  • fswebcam 0l 1 --save pic%a%S.jpg
  • rsync webcampi:/home/pi/pic*.jpg


After entering the password, I downloaded the file into the desktop pi, and use gpicview to see it. Success!

Phew. Finally done.

Next step, we need to configure motion software so the server daemon would be running at reboot. But that's topic for another time.

Monday, December 2, 2013

Cooking Journal #15


FoodSaver

I usually buy my food by bulk. Of course, I need to save them for a long time. I like to wrap them for long storage in the freezer. The best kind would be FoodSaver vacuum bagger. Admittedly, it's a little bit over kill for freezing chicken.



The bag I use is split in the middle for portioning. It's just a long piece of plastic, so you can cut it however long you want. If you want to make a bag, you need to seal it. Use the seal button on the left.



My regular portion is a leg and a thigh. I put in a spoonful of Teriyaki sauce for marination. Just a little. You don't want too much liquid to drip in the device.



Then it's a simple matter of Vac and Seal.



And store in the refrigerator for some marinating time.



The truth is, you don't need the fancy vacuum machine. A simple cling wrap works just as well, cheaper and more convenient to boot. The wrapping quality isn't as good, so use the meat quickly.



Frying them takes some time. It all depends on the thickness of the meat. The leg will cook in about half-hour and a thigh slightly longer than that. No need to bread the chicken. It's good as-is.






Saturday, November 30, 2013

Nintendo Journal #15


Pull up exercise



Pull up bar, or chin up bar. I've always wanted one, but too cheap to buy one. Until I run into this on a Thrift store. Five bucks. Sold. I've been using it everytime I pass this hallway. Only about three pull ups everytime. I'm doing it not by repetition, but by duration. So, I'd better loading up on protein, because apparently, I'm not as good as I was before.

3 weeks into it, and I notice my upper body shape is solid! So it does work. No miracles, but for five bucks, I'm not complaining!

Friday, November 29, 2013

Petit Computer Journal #27

Boolean Operator Division

Have you ever wondered just how difficult it is to do division using nothing but NOT,AND,OR,XOR? Well, so do I. It turns out I also need ADD,SUB, and CMP. Also, Shift command. Still, these are easily within the domain of any assembly language programming.


  1. CLS
  2. A=RND(255):B=RND(15)
  3. ?A,B
  4. C=0:D=128:E=B*D
  5. FOR I=1 TO 8
  6. IF A-E>=0 THEN A=A-E:C=C+D
  7. ?A,B,C,D,E
  8. D=D/2:E=E/2
  9. NEXT I
  10. ?C,A
  11. FOR I=0 TO 8
  12. VSYNC 1:I=BTRIG():NEXT
  13. GOTO @DIV2


A contains the number to be divided. B contains the number that divides. This computes C=A/B and A=A%B. A pretty nifty code that fits single screen challenge. Notice, that you can also do it this way (untested) on line 6:


  1. A=A-E:IF A<0 THEN A=A+E ELSE C=C+D

This way, due to the calculation in Assembly language where the register holds the resulting value of the calculation.



Thursday, November 28, 2013

Book Review #12


Book #12 Simply Tai chi
Graham Bryant and Lorraine James

This is such a simple book that I got from a package. I believe it comes with DVD, although apparently I misplaced it. The good point is that it is clear, touches all the relevant points, and has good illustrations. The bad point is that the information presented is incomplete.

Half the book is dedicated for warming up and preparation. This is good. Most Tai Chi books just skipped between history and the forms. The activities here definitely helps in relaxation, necessary to do Tai Chi properly. The second half is dedicated to the forms, and here it fails. Not only there are only a pitiful few forms presented, but there is no sense of coherence. As this is personal, but I want to see feet weight distribution diagram to make it complete. There is no feet weight distribution diagram, nor there is some kind of directional marker. With the photograph shot at different angles, this can be confusing.

The book certainly simplifies Tai Chi so that it is accessible for everybody, and it certainly looks like fun. But I have to consider this to be an introduction to Tai Chi, as opposed to full formed Tai Chi.

Tuesday, November 26, 2013

Raspberry Pi Journal 38


Sync 


A little quickie here. One fine day, the Foundation Website features a tip of the day that says "sudo sync".

Well, that's strange. sync command does not require sudo, does it? And it does not. In fact, if you run it as sudo, not only the OS will login as super user before executing the command, it will also write to a log file after executing the command, hence, invalidating the write buffer. So, when you use a sync command, just type sync. Don't use sudo in front of it.

Another thing to worry about is whether or not it's safe to pull the card immediately after you issue the sync command. Turns out, it used to be not. An old version was set up as asynchronous, which is a fancy way to say that it runs as a background task. Therefore, you get the shell prompt immediately even though it hasn't finished executing. So that's bad.

The good news is that sync command cannot be doubled up. So, if you execute two sync command in a row, the second one must wait for the first one to finish. The solution is simple: run it twice!


  • sync; sync


And you should be fine.

One more thing. When you shutdown the device, do you need to use sync? Common sense says no. However, I always do. Better to be overly safe too many times, than a mishap happens once. Do you need to run it twice? No, you don't. The shutdown/halt command issues its own sync command, so you only need to do it once.


  • sync; sudo halt


And that should do it.