Scripture uses many metaphors for describing what it means to be a Christian. Preachers and writers add others of their own. I thought it’d be encouraging to collect a list of these metaphors. Continue reading
Moving from Python 2.7 to 3.x is covered in much more detail here. This list is just a list of items I’m checking as I make the switch. It’s somewhat reflective of my own coding style and is meant more as a checklist for myself than anything, but if it helps you, great!
raise, Execption "Message"to
from module import xto
from .module import x, if
moduleis a relative import and not on the PYTHONPATH. If I’m importing the entire module, it’s now
from . import module.
- Anywhere there is integer division being used, change it from
- If I use the result of
range(...)as a list, explicitly convert it to a list, e.g.,
Of course, no book is perfect (and so I have my quibbles with the two books below), but here are the two career-advice books I’m telling my students and anyone else they need to read!
Designing Your Life, by Bill Burnett and Dave Evans (Knopf, 2016): Ostensibly, this book is about utilizing product design principles such as brainstorming, prototyping, etc. to help you plan your life. And it is. But, in my mind, the two greatest things about this book is (1) it tells you how to get unstuck, if you don’t know what to do for a career, and (2) it tells you how to do networking that enables you to figure out what to do and to find a position to enable you to do that kind of work. And, perhaps best of all, it tells you exactly how to go about getting unstuck, do networking, and the other tasks that Burnett and Evans describe. Unlike other books where the advice is so general as to be anodyne—”reach out to your network,” “come up with a list of options”—the authors tell you what kind of table or chart to create, what to write in one kind of email versus another, etc.
The Two-Hour Job Search, by Steve Dalton (Ten Speed Press, 2012): Simple, step-by-step, and specific advice on how to use informational interviewing to efficiently and effectively find a job, including the vast majority of jobs which are never advertised. The “Two-Hour” in the title is no gimmick. Dalton shows you how to focus your job search so it’s productive rather than random shots in the dark. And, like the Burnett and Evans book, Dalton tells you exactly what to do: what emails to write, when to write the follow-up, etc. (H/T to Michael Kimball-Bryant for the recommendation!)
In short, I wish I had read these two books when I started my career! Whether you’re just starting out on your career or are an old hand, you’ll gain skills and a system to come up with and find the career for you!
(Btw, no one gave me a copy of these books to read. I borrowed either the paper or audiobook I read/listened to from my local library. The cover images are from Amazon, with cropping. Last update of the post: December 1, 2017.)
Students in introductory programming courses sometimes feel, “What’s the use in commenting? The important part is getting the program to run.” Some students also feel, “Adding too many comments clutters the code.” As a result, there’s a tendency to avoid commenting or to do the minimum required.
Commenting, however, is a vital part of programming, as commenting is what makes your code useful to others (including yourself a month later). If you don’t comment your code, no one else can pick up your code and understand it. Think of it this way. If a company hires you to write some code and you leave the company after writing it, if you didn’t comment your code, how will your replacement understand what you did? And if your replacement has to rewrite your code because no one can understand it, didn’t your company just waste its money on your salary? As a result, no software development company will let someone contribute code that is poorly documented.
That being said, I admit you can overcomment. Especially when we’re first learning how to comment, we will tend to provide more details than are necessary. Still, if you’re just starting to learn how to program, I’d encourage you to overcomment rather than undercomment. At this stage, you need to get into the habit of writing comments. At this stage, the only way to do so is to write more than less. As you gain more experience in programming, you’ll get a better sense of what needs to be included and what doesn’t. But you can’t get to that stage if you scrimp on commenting now.
It’s like learning to write essays. As a second-grader, when your teacher asked you to write about your favorite pet or what you did over Spring Break, they didn’t say, “make sure you only use active voice and be as concise as possible.” No, they just wanted you to write as much as you could. Only later in school did your teachers say, “be concise, etc.” The same thing is true with comments. At this point, you need to create the habit of commenting, even if you don’t want to and feel it’s a waste of time. Describe what goes into a method, what comes out, the state of the program going in, the state coming out, and what gets changed and how. If you feel you’re saying too much, that’s okay. Later on, you’ll learn about what to leave out.
I was a guest last night at the 2017 UW Literary Voices event, an evening of food, socializing, plugging my environmental ethics book, and fundraising for the UW Libraries. After the event, I was thinking about why is it that of all the academic units in a university, it seems to me that it’s the librarians that are the most fun to be around?
Don’t get me wrong, I have a lot of fun with my colleagues from every discipline, but there’s something about the librarians that’s special. Here’s my hypothesis: Contrary to conventional wisdom, librarians do not focus only on storing and preserving books (which they do do) but also on enabling access to books (and other resources). Thus, their discipline is focused on engaging with the other disciplines to help those disciplines do research and teaching. By its nature, librarianship as a discipline is outward facing whereas the other academic disciplines are generally inward facing (e.g., focused on their own research questions). And, in today’s world where disciplinary silos are ever more rigid, libraries play a critical role in bringing together the ultimate knowledge resource to help us solve common problems: people.
In this post, I’m going to give you advice that I am nearly sure you will ignore. The reason I know this is because most people I’ve given this advice to, I’m nearly sure, ignored it. I doubly know this because it took me years—nay, maybe over a decade—for me to start listening to this advice. So, believe me, I won’t be offended if you ignore this advice. Continue reading
I’ve been trying to do an rsync copy from a remote machine (Mac 10.6.x) to my local machine (Ubuntu 12.04.x). I’ve been doing dry runs (
-n option) using something similar to this:
rsync -ani [email protected]:/Users/username1/Dropbox/ /home/username2/Dropbox/
(I’ve changed the hostname and usernames to be generic.) Continue reading
Every now and then I record a video using my Flip and want to make it available to family and friends on my Gallery site. The conventional Flip export formats, and Quicktime Player export formats, however, don’t seem to work for me. I’ve found a workaround using iMovie HD that retains decent resolution:
- Start a new iMovie HD project.
- Import the video into iMovie HD (File -> Import).
- Drag the imported clip into the video timeline.
- Select File -> Export.
- Select Quicktime, then Expert Settings.
- After clicking Share, when the dialog box comes up, select Use: Broadband – High. This will give the following settings: H.264 compression, High quality, 150 key frame rate, 672 kbits/sec bitrate, 480×360 dimensions.
- Click OK. That’s it!
I recently made my first YouTube video using my Dell Vostro V13 laptop running Ubuntu GNU/Linux. It wasn’t that hard to do, but I thought I’d just write a quick post describing what I did; I had to do a little sleuthing on the Internet to find out what settings to use in order to get it to work on YouTube. Continue reading
I recently bought a Dell Vostro V13 laptop and installed Ubuntu Linux 10.10 (64-bit) on it. Along the way, I ran into a few problems, and thought others might benefit from hearing about my experience. Continue reading