Blog moved

Dear reader, this blog has moved to


USB hardware smackdown

Continuing in the vein of my USB 3.0 benchmarks, I’d like to compare the USB 2.0 controller on my Samsung Chronos Series 7 NP700Z3A laptop (purchased in 2012) and my HP Compaq dc7900 CMT desktop (purchased in 2009).

My two flash drives for testing are the SanDisk Cruzer Red, for USB 2.0, and the Kingston DataTraveler 111, for USB 3.0.

For both machines, I ran Ubuntu 12.04.3 amd64 desktop edition, and used Disk Utility (3.0.2) to perform a read-write benchmark.

Samsung Chronos Series 7 NP700Z3A

Average and maximum read rate for a read-write benchmark on the Samsung laptop
Device and port Maximum Read Rate (MB/s) Average Read Rate (MB/s)
Cruzer in USB 2 port 23.1 22.6
DataTraveler in USB 2 port 33.8 30.3

HP Compaq dc7900 CMT

Average and maximum read rate for a read-write benchmark on the HP desktop
Device and port Maximum Read Rate (MB/s) Average Read Rate (MB/s)
Cruzer in USB 2 port 24.8 24.3
DataTraveler in USB 2 port 40.5 39.4

My conclusion is that the HP desktop has a faster USB 2 controller than the Samsung by 7 MB/s or so, but this is only evident when comparing performance of the Kingston.

Some USB 3.0 benchmarks

After transferring large amounts of data and working with hard drives a lot, it interests me to compare the performance of USB 2.0 and USB 3.0. I have one of each of these ports on my Samsung laptop.

In March 2013, I bought a Kingston DataTraveler 111 8GB, and I wanted to compare it to another flash drive, the SanDisk Cruzer Red 4GB, which I purchased in August 2012. The Kingston is a USB 3.0 flash drive, whereas the Cruzer only supports USB 2.0. The tool I used to compare these two was HD Tune, which is free for read-only benchmarks.

Read benchmarks for USB flash drives
Using the USB 2.0 port Using the USB 3.0 port
SanDisk Cruzer Red Kingston DataTraveler 111 SanDisk Cruzer Red Kingston DataTraveler 111
Transfer Rate: Minimum (MB/sec) 19.0 25.4 20.7 60.4
Transfer Rate: Maximum (MB/sec) 29.7 29.6 29.2 72.2
Transfer Rate: Average (MB/sec) 27.7 26.4 28.3 64.8
Access Time (ms) 0.8 1.0 0.5 0.7

According to Wikipedia’s page on USB, the maximum transfer rate of a USB 2.0 link is 35 MB/s, and we see this port reaching very near that, with maximum transfer rates of 29.6 and 29.7. Without doing multiple trials of any of these experiments, we can see that the Kingston DataTraveler is obviously much faster at reads over a USB 3.0 port than the SanDisk Cruzer on either port. However, the comparative write performance of either of these drives remains to be seen.

Sidenote: My pet peeve about USB ports is that (1) laptop manufacturers place them too close together, and (2) USB flash drive manufacturers make flash drives that take up a large profile. The result is you can only fit one flash drive at a time on the USB ports that have been packed too close together.

A theology of government surveillance (part 1)

As I navigate the modern world, I am presented with a bewildering array of technology options. Not only that, but I find that governments are increasingly interested in recording what I do. Hopefully, for now they will find nothing worth acting on in what they have found. Still, I find it all too easy to fall into fear in the face of the unknown. Who is reading this blog post? What will a government agency do with the information they find in my cell phone text messages?

In the face of this fear, I need to remind myself that God is sovereign. He is seeking his glory by giving grace toward undeserving humans through the death and resurrection of Jesus Christ. As I am a follower of Jesus, I am interested in trusting in him and finding out what the Bible has to say about security.

A Christian view of technology

Other writers have addressed a Christian view of technology. This past year I read (or rather listened to) Tim Challies’ book, The Next Story: Life and Faith after the Digital Explosion. The quantity of information available to us through digital means presents new challenges for those who wish to obey God. Some problems include a redefinition of truth and authority, the distraction brought on by technology, and communication becoming an idol in our lives. The information that technology allows us to so easily store and transmit is not neutral! Rather it has implications for how we live our lives.

God’s attributes

The attributes of God that seem most relevant to our discussion are the “omni” attributes, which come from a prefix meaning all.

  • God is omnipotent. That is, he is able to do all his holy will. This is also called God’s sovereignty.
  • God is omniscient. God fully knows himself and all actual and possible things.
  • God is omnipresent. God has no size or shape and is present in all places with his entire being.
  • God is eternal. God has always existed, having no beginning and no end, and experiencing no succession of moments.

Source: Tim Challies, Visual Theology – The Attributes of God

What is security and privacy?

My brief definition of security is that I want access to my data, and I don’t want others to. My data, or my information, includes files on my computer, digital information about my phone calls, information about my web browsing habits, books that I am interested in, and pictures of me at the beach. I want access to my data with little hassle, that is I don’t want to bother with too many USB drives or too many passwords and complex security measures. But when it comes to others accessing my data, I really only want those I trust to have access to specific things.

The government might want access to some information about me in order to keep me safer. For example, the police might know that my phone number is tied to my address in order to respond to a 911 call. My bank legally needs to know some contact information, because, after all, it is my money they are holding. I willingly provide this information to them when I open an account.

Privacy, secrecy, and confidentiality are related words that also apply to this situation. I’m using these terms loosely as synonyms for security as I’ve defined it above.

What is the role of government?

Let every person be subject to the governing authorities. For there is no authority except from God, and those that exist have been instituted by God.  Therefore whoever resists the authorities resists what God has appointed, and those who resist will incur judgment.  For rulers are not a terror to good conduct, but to bad. Would you have no fear of the one who is in authority? Then do what is good, and you will receive his approval,  for he is God’s servant for your good. But if you do wrong, be afraid, for he does not bear the sword in vain. For he is the servant of God, an avenger who carries out God’s wrath on the wrongdoer.  Therefore one must be in subjection, not only to avoid God’s wrath but also for the sake of conscience.
(Romans 13:1-5 ESV)

After laying out “the depth of the riches and wisdom and knowledge of God” (11:33) in his plan for salvation, Paul turns to moral exhortations. The Christians in Rome are to “be subject to the governing authorities” (verse 1). For them, that meant being subject to a government that was sometimes hostile toward them.

But in a broader sense, this passage from Romans describes a basic duty of government. Government should rule its subjects with justice. In the words of verse 3, government should punish those who do bad and not those who do good. In the Old Testament, God set up a special system of government over his people, the Israelites. He gave them laws and a system for enforcing those laws.

There several ways to connect this with a modern nation like the United States. First, we have a law, that murder is illegal. The system for enforcing that law in my city is the police department. If a dead body is found somewhere, there’s probably going to be a murder investigation. If the police can find out who did it, then this individual will be brought to justice. Law enforcement should be adept at fingerprints, footprints, and all kinds of crime scene evidence in order to catch criminals.

Digital technology creates more possibilities for crime and more ways for law enforcement to catch criminals. For example, the murderer could have revealed his plans in an online chat room a few days before the dead body was found. There are also online crimes, such as phishing and stealing people’s credit card information. Law enforcement should be adept at technology in order to catch these criminals as well.

A sidenote: Isn’t it interesting that we enforce a law against murder mainly by punishing people after they have already committed murder. This is because we can’t predict the future, and we are limited in our ability to prevent people from doing bad things. In Minority Report, the police had the ability to predict when and where and who would commit a murder, but this led to some interesting side effects. God, of course, is omniscient, and because he is eternal, he knows the future.

More to come…

In part 2 I’ll write some thoughts on passages of the Bible about spies, surveillance, and God’s power.

More GnuCash tips

I’m continuing to learn more about GnuCash in order to use it more effectively.

Make the display a little less cluttered by removing the horizontal and vertical lines from the register view. Edit -> Preferences dialog, then the Register tab. Note the two checkboxes, Draw horizontal lines between rows, and Draw vertical lines between columns. Before:

with lines


without lines

Transaction filtering

I’ve found this to be helpful when looking at a reimbursements account. I mark a reimbursement as cleared once I’ve received the money back from the company. Sometimes the reimbursements get cleared out of order because I have submitted them out of order. Then, when I submit my next reimbursement, I use transaction filtering to narrow down the display to just the un-submitted reimbursements.

How to filter transactions: View -> Filter By… Click the Status tab.

My beef with the summary bar

The summary bar appears above the status bar and includes information pertaining to the currently opened tab. On the main accounts page, it shows the grand total of all assets as well as the profit. The profit is calculated by subtracting YTD expenses from YTD income. Therefore, it gives a rough idea of how much money I’ve saved so far this year. However, I find this idea a bit misleading.

For example, it is August 2013. Lets say I will save $100 a month this year, by spending less than I earn each month. This is a monthly profit of $100, so at the end of the year, my profit would show $1200. However, let’s say that since April of 2009, I’ve been saving up to buy a car, and it will cost $5000. At the beginning of 2013, I had $4200 in my accumulation, and now in August, my accumulation fund has reached maturity. I buy the car for $5000. Suddenly the summary bar reports a profit of $-4200, whereas before it said $800. This is a little disconcerting.

In summary (pun intended) the summary bar’s profit calculation is not helpful for personal finance since it doesn’t help you know if you’ve stayed on budget. However, for other Tabs or Pages, such as stock accounts, the summary bar provides useful information, such as the current value of the shares held. So I wish there was an option to disable the profit calculation from showing, but keep the other useful information visible.

Advanced money tracking with GnuCash

In my last post, I wrote a review of GnuCash. Today I’d like to explain some things I’ve learned to track using this financial software.


When I receive a new statement, I first save the PDF to my hard drive. (Hard drive encryption mitigates some of the risk of having all those statements sitting on your hard drive.) Then I reconcile that particular account.

Adjustment account

The adjustment account is an expense account used to keep cash assets accurate. Cash transactions are hard to track, and sometimes my amount of cash on hand does not match the amount recorded in GnuCash. I periodically record this difference as an “Adjustment” expense.

Tax withholding

In the US, taxes get withheld from paychecks throughout the year. This tax withholding can be tracked in GnuCash. Each time you receive a pay check (or pay stub), create a split transaction. The gross wage is entered as income. This income will be split between several assets: some income goes to the tax withholding asset, and some income goes to the checking account (net pay).

When it comes time to pay taxes, the money in your tax withholding asset is used to pay your taxes. The taxes actually paid are an expense. There are two scenarios, and each can be covered by a split transaction:

  1. Your taxes are less than the amount withheld.
  2. Your taxes are more than the amount withheld.

Here’s an example for situation number 1:


Multiple currencies

Peter Selinger has an excellent discussion of some of the general challenges of multiple currency accounting. The crux of the matter is: Under File-> Properties, go to the Accounts tab, and check “Use Trading Accounts.” This feature doesn’t have a lot of documentation, but it gets the job done.


When you spend money on a reimbursable expense, you aren’t really spending your own money. You are eventually going to receive that money back, so to you it is an asset. (Not a very liquid asset.) See GnuCash Guide: Chapter 16.

Salary advance

When you receive a salary advance, you receive money you technically haven’t earned yet. This is a liability. You enter the salary advance as a credit to the checking account and a debit to the liability account. When future paychecks come that are reduced (because the company is using them to pay down your salary advance), you can also track this. Enter the paycheck as income, but instead of crediting your checking account, credit the salary advance liability.

Reimbursement advance

A reimbursement advance is money your company gives you to spend for a specific purpose. If you don’t spend it for that purpose, they will eventually need to make you pay that money, e.g. by lowering later paychecks. When you receive a reimbursement advance, you debit that liability and credit your checking account. You continue to record reimbursements by debiting one of your liquid assets and crediting the reimbursement asset. When you submit a reimbursement to clear the advance, you debit the reimbursement asset and credit the reimbursement liability instead of your checking account.

GnuCash: A Review

GnuCash is a tool for tracking your money that works on Windows, Linux, and Mac OS X. GnuCash has powerful features for tracking assets, liabilities, income, and expenses. Using GnuCash has helped me learn some more advanced accounting terms and concepts, such as double-entry accounting. I’m not going to explain those concepts here, as the GnuCash guide does a good job. Be sure to read both the help and the guide.

I plan to use GnuCash for many years to come. As my finances become more complicated, and my assets grow, by God’s grace, I need a tool to help me track my money. I’ve heard of other people tracking their money on spreadsheets, and I realize that if I did that, I would spend too much time trying to tweak the formulas. GnuCash has excellent data entry and reporting, saving me from writing these myself.

I consider GnuCash a compelling alternative to online finance tools, such as Mint, because it keeps my data secure on my personal computer. Of course, this raises its own risks, since there are many ways an adversary could access your data on your own computer. Still, I am more comfortable with these risks then the unknown risks of trusting the cloud.

Advantages of GnuCash

  • Using it will teach accounting concepts.
  • Register entry has powerful autocomplete and keyboard shortcuts.
  • Importing account transactions in QFX format automatically determines whether the data needs to be used to add a new transaction, or to reconcile an existing transaction.
  • The reconciliation window allows you to keep your accounts in sync with bank statements.
  • Included reports give a good overview of income and expenses.

Areas to improve

  • I wish color coding affected the accounts in the account list view, not just the color of their tab. Since I’ve heavily customized my accounts, the account list view can get longer than on screenful. Color coding would help me quickly spot a particular account.

Things still to learn

  • How to use the price editor for multiple currencies in an effective way.

Features I haven’t used

  • Budgets.
  • Recurring transactions. If I enter it manually, it reminds me that I am spending that money.

7 Habits: A Summary (part 2)

Habits 4-6: Paradigms of interdependence

  • The Emotional Bank Account describes the amount of trust that has been built up in a relationship. Interdependent relationships depend on the status of this bank account.

Habit 4: Think win/win

  • Win/win sees life as cooperative, not competitive. It is a way to reach decisions that are better than compromises.
  • There are other paradigms for making decisions (e.g. win/lose). Sometimes we are scripted with these paradigms, but we can change these scripts. (See habits 1-3)

Habit 5: Seek first to understand, then to be understood

  • We tend to listen autobiographically. We try to relate what the person is saying to our own experience. We should listen to their story before trying to clearly communicate our own story.
  • Listen to both content and feeling of what the other person is saying.

Habit 6: Synergize

  • Value the differences. Your motive for valuing the differences is that they will lead to creative win/win solutions.
  • One example of a difference: logical vs. creative thinking (right-brain vs. left brain)

Habit 7: Sharpen the saw

  • Sharpening the saw increases your personal PC (your ability to produce results)
  • Four dimensions of renewal: physical, spiritual, mental (these relate to habits 1-3, your ability to be independent); relational (this relates to habits 4-6, your ability to be interdependent)

7 Habits: A Summary (part 1)

The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change
Stephen R. Covey
2004, Free Press

Introduction: The 7 habits are based on the following principles

  • P/PC Balance: P is production (the results of your work), PC is production capacity (your ability to produce results). If you neglect PC, you will never get P.
  • Maturity continuum: People grow from dependence to independence to interdependence. Interdependence is the idea that independent people come together to cooperate and create something greater.
  • The first three habits will bring growth in independence, and the second three habits will bring growth in interdependence.

Habit 1: Be proactive

  • You can choose how you respond to situations around you.
  • You may respond based on a script, that is, how you responded in the past, e.g. based on child hood experiences of pain. However, you can rewrite that script.
  • People who aren’t proactive complain about their circle of concern.Proactive people intentionally expand their circle of influence.
  • Habit 1 is personal vision. The vision is that you can proactively write a new script, no longer reacting to your past or other people.

Habit 2: Begin with the end in mind

  • Write a personal mission statement that governs your day to day decisions.
  • Leadership vs. management: Leadership is doing the right things (things that correspond with a goal or vision). Management is doing things efficiently. It is possible to be doing the wrong thing very efficiently. e.g. hacking your way through the jungle, but you find out you have been going the wrong direction.
  • Habit 2 is personal leadership. Your mission statement ensures you are doing the right things.
  • When writing your mission statement, ask: what is my life centered on.

Habit 3: Put first things first

  • Urgent vs. important. Many people live their life doing the urgent things, assuming that they will do the important things. This leads to burn out, and you will miss important things that are not urgent (e.g. relationships with people, spiritual growth)
  • Planning your schedule on a weekly basis will help fit in important things that aren’t urgent. Does your time management tool allow you to test agenda items against your mission statement?
  • Delegation is important in managing your own schedule. Gofer delegation gives the person a lot of instructions, but doesn’t build their PC. Stewardship delegation allows them the freedom to choose how they will complete the task.
  • Habit 3 is personal management. That is, effectively doing the things that, in habit 2, you determined are the right things to do.

Some personal examples

It’s easy to see the principle of P/PC Balance at work. One example is getting enough rest. When I rest, I am working on my production capability. If I am always producing and never resting, eventually I will be forced to rest. Another example is purchasing a new tool. When I bought a new laptop, it increased my production capability for working on school projects.

Personal leadership is the idea of making sure you spend your time doing the right things. You write a mission statement and choose a set of principles to live by. I wrote the role of a computer scientist when thinking about principles to live by.