Using pv to view the progress of dd

If you use dd for any kind of copying you’ll know how it’s not exactly forthcoming with information and it’s hard to tell if it’s doing anything.

Some versions of dd have a status=progress parameter that will output progress information. Sadly this doesn’t exist on the native MacOS version.

An alternative way of showing progress information is to use pv (or pipe viewer).

First install it with brew:

brew install pv

Then wedge pv between reading from the dd source and writing to the dd output.

For example, you might write a Raspberry Pi image to an SD card with:

dd if=retropie.img of=/dev/rdisk4

Using pv you break this into the input and output parts and put pv in the middle:

dd if=retropie.img | pv | dd of=/dev/rdisk4

Sudo needs to be added to both calls to dd:

sudo dd if=retropie.img | pv | sudo dd of=/dev/rdisk4

Telling pv how much data you are transferring allows it to provide better information, and you can do this with the -s flag. In this instance the amount of data is the size of the input image, so:

sudo dd if=retropie.img | pv -s `stat -f%s retropie.img` | sudo dd of=/dev/rdisk4

And what is the result of this? You get to see the progress! Useful if you’re transferring a large amount of data.

pv.jpg

Yarn

There’s another new toy from Facebook, this time called Yarn. Here’s how it went for me:

  1. Installed yarn with brew install yarn
  2. Typed yarn in my project directory
  3. Waited a while
  4. Committed changes to git

All very easy. I’ve not yet experienced any of the benefits of yarn, but that’s probably just a question of time.

virtio_net virtio0 ens3: renamed from eth0

So while fumbling about on my VPS I somehow managed to disable all networking. Using the VPS console I noticed this in /var/log/syslog:

virtio_net virtio0 ens3: renamed from eth0

That doesn’t sound good. Sure enough, trying:

ifup eth0

Returned:

Failed to bring up eth0

Certainly explains the lack of network.

After some digging about on the net I edited /etc/network/interfaces and changed all eth0 references to ens3. A quick reboot and everything is back in action.

I don’t know if it will revert back to eth0, or if this is the right action to take, but so far so good.


A follow-up note. After upgrading the kernel on my VPS I had to revert the above change as the device had gone back to eth0.

A Blog’s Weight

As a blog gets older it seems to become harder to publish anything new.

This may be a perception issue. In all likelihood it may just be my issue.

As you collect followers and likes you are more aware of your audience. You find yourself filtering ideas to appeal to this audience. What was once an easy process slows down.

Eventually you are mired in considerations and the blog seizes up. The effort required to write is more than you want to spend.

Is this photo good enough?

Is this topic interesting enough?

Are my witticisms in bad taste or make any sense?

Do I know what I’m talking about?

Is this insightful?

Do I want my colleagues to see this?

The blog’s weight becomes too much.

This is not specific to a blog and applies to other services. My attempts to use Facebook were aborted from the start as I’d somehow gathered a collection of friends, family, and colleagues, and just didn’t want to publish anything to all of them at the same time.

Anyway, new blog, new posts.