Archive for the 'Uncategorized' Category

Q: Should I install Linux?

Thursday, January 10th, 2008

Here are some thoughts that I wrote up as a follow-up to a conversation with Josh.

More and more of what people do on computers is moving online, which eases the transition to Linux. Two programs that are still nice to have on the desktop are Rhapsody and Quicken. Unfortunately, these programs aren’t available in Linux.

I think Rhapsody has an online player that’s so-so.

GnuCash is the best accounting software I’ve found for Linux. It’s more accounting software than help-joe-with-his-money software. I’m pretty sure it’s available on Windows as well if you want to demo it. You can import Quicken data.

I’m a big fan of what works. Every time I use Windows, I want to defenestrate the computer within 5 minutes. It works for a lot of people though, which is great. So I don’t go around recommending Linux to everyone.

If someone is a power user in Windows, I don’t recommend Linux. They can get everything done that they need to and I think it’s really important to have people around who can help the non-power users with their computer. If they really want to use Linux, that’s great too.

If someone is interested in Linux, I’m comfortable recommending it to them as their full time operating system as long as they have someone around to help occasionally. That’s usually me.

I definitely recommend Linux for computers that are old and getting bogged down. Windows just does that over time. So if you have an old Windows computer, have lost the recovery disk, don’t want to spend any money, and can get by without all of the Windows only software, Linux is a really great option. I use Ubuntu Linux and it has some really fantastic features. I should make or find a screencast of some of the things I like about it. (You mean, in Windows you actually have to put a CD into your computer and go through a 10 minute install program just to be able to edit documents? How old-fashioned.)

Jon and Claire have Ubuntu installed on their laptops. Justin uses Fedora Linux.

Block Tower

Sunday, December 23rd, 2007

A number of years ago, my dad made a set of blocks out of high quality maple 1×3s.

Blocks

Today my brother Ben and I made a tower out of these blocks–18 levels high, 16 blocks per level.

Finished Tower

We took the tower down one block at a time, taking a picture of it each time. I reversed the list of images and then turned it into a video. It looks like the tower is going up, but we “filmed” it, stop motion style, in reverse. More pictures on Flickr.

What I read on the web

Monday, September 17th, 2007

An Introduction.

Someone asked what I read online, so I figured I’d just write it up here. The full list can be found on del.icio.us (tagged blogroll).

  1. Jon Udell
  2. Jon has a lot of interesting things to say about technology and the internet in general. Here are a couple highlights.

    Hosted Lifebits Scenaris
    The Blurred Line Between Personal Information Management and Publishing
    Social Networks Then and Now

  3. Jeff Atwood
  4. Jeff is a recent addition to my reading list. He writes about stuff that I’m interested in as a programmer. It’s generally pretty accessible though.

    Computer Workstation Ergonomics
    Classic Computer Science Puzzles
    You’re Probably Storing Passwords Incorrectly

  5. Rashmi Sinha
  6. Rashmi talks about cognition on the web.

    A Cognitive Analysis of Tagging

    Looking through her posts, that’s the only thing I can find to recommend to a broad audience. Look through and see if you find anything interesting.

  7. A List Apart
  8. A List Apart just has a lot of good stuff to say about web design.

    Reviving Anorexic Writing
    Never User a Warning
    Better Writing through design

  9. Brian Oberkirch
  10. Another recent addition. He writes about the social web. I like what he writes as I continue to think about the future of the People of Praise on the web.

    Designing Portable Social Networks
    Designing for Hackability

Slashdot is worth looking at at least once.

These two guys are worth reading and are excellent writers.
Joel Spolsky
Paul Graham

The #1 Paul Graham essay I recommend people read: Beating the Averages

Holding a Program in One’s Head
Stuff
A Plan for Spam

I like cars

Wednesday, April 18th, 2007

I like cars a lot. I don’t plan on ever owning a very nice car, but I appreciate well made cars. It turns out that tonight was the night for cars. It wasn’t the first time I’ve seen interesting cars in San Francisco. We see Porsche’s left and right. BMW’s too. Tonight’s excitement started with the Maserati Quattroporte Executive GT. If that wasn’t enough, we then saw a Bentley Continental. To top it all off, we walked by a Maybach 57S. For those gentle readers unfamiliar with these three cars, the price tags are roughly $122000, $169000 and $377000, respectively.

Update: Looks like we also so a Lamborghini Gallardo as well. And I got a couple pictures.

Web 2.0 Expo

Thursday, April 12th, 2007

I’m going to San Francisco tomorrow! I’ve never really been West, so I’m excited. I’ll be attending the Web 2.0 Expo with David and Jennifer for work. I’ll be there for ten days: Friday till the following Sunday. Expect reports and pictures!

Oh wait, I just committed myself to update…

JavaScript

Thursday, January 25th, 2007

I just watched the first part of Douglas Crockford’s presentation “The JavaScript Programming Language,” available over at the Yahoo! User Interface blog. I’ve done a bit of JavaScript programming, but I’ve already learned a couple things I didn’t know before.

Doug recommends O’Reilly’s Javascript: The Definitive Guide with the praise, “I can say without fear that it is the least bad of a very large class of very, very bad books.” I’ll keep that in mind if I’m ever shopping for a JavaScript book.

The equals (==) and not-equals (!=) operators don’t behave as I expect them to. They do type coercion. So, 42 == 42 is true, as I expect, but "42" == 42 is also true, because JavaScript makes them the same type first. I think I’m going to start using === and !== instead, which behave as I expect ("42" === 42 is false, while 42 === 42 is true).

If you’ve ever user a language with C style syntax, you’ve probably used logical-and (&&) and logical-or (||). You can still do that in JavaScript, but the way it’s done is interesting. For A && B, if both A and B evaluate to true, then A && B evaluates to true. Here’s how JavaScript does that: If A is true, A && B evaluates to B. If A is false, A && B evaluates to A. It’s short circuit logic. If A is false, B isn’t even evaluated. You can think of && as the guard operator. A && B is then read: A guards B. With the guard operator,

if (A) {
  result = B;
} else {
  result = A;
}

can be written as, result = A && B.

The logical-or operator (||) is similar. As usual, A || B evaluates to true if either A or B is true, or if both of them are true. The way it’s calculated in JavaScript, A || B evaluates to A if A evaluates to true and B if A evaluates to false. So || can be thought of as the default operator. It defaults to A, but falls back to B if A is false. So,

if (A) {
  result = A
} else {
  result = B
}

can be written as: result = A || B.

And this is just funny: the typeof() function will give me the type of an object (i.e. typeof(42) is “number”). Using typeof(), we can see what type NaN (Not a Number) is. typeof(NaN) –> “number”. Not a number…is a number.

As a side note, Python treats and and or this way as well.

And moving into the very arcane, you can use this to simulate the C-style ternary operator in Python. In C/C++/Java/JavaScript: result = test?A:B. In Python: result = test and A or B.

OpenID

Friday, January 12th, 2007

This is exciting. I just set up an OpenID identity with MyOpenID and set up josterpi.com to delegate. As soon as I can find a suitable Wordpress plugin and the time to install it, I’ll set it up here.

Simon Willison has a very nice screencast about OpenID.

Now I just need to find a place to use my fancy new OpenID…

reviewbuffer tag

Monday, December 4th, 2006

It seems I’m always bumping into potentially interested websites which I don’t have time to look over because I’m busy working on something else. Till recently, I’ve been keeping these sites open in a trusty firefox tab. This works pretty well, except that 1) over time, I end up with 30 tabs open, and 2) they’re sitting right there every time I’m looking at firefox saying “look at me! Look at me!” which is distracting. So, I’ve started tagging them reviewbuffer till I have the time to review them and see what, if any, tags I should use.

Another thing I’ve been thinking about doing is starting a linklog. Like I said, I’ve been using del.icio.us a lot more in recent weeks. A lot of of the stuff I tag is is for personal or work use, but sometimes I just run in cool stuff. The plan is to tag all of that cool stuff linklog.

Screen space

Friday, November 10th, 2006

I recently read Edward Tufte’s book Visual Explanations which I thoroughly enjoyed. I think I may go through it again, take notes, and post them. Given the visual nature of the book, that would hardly do it justice, but oh well.

One thing that he pointed out is that computer interfaces often squeeze the content in navigation, tools and borders. As thought I’d see how much space I was actually using and if I could increase it.

Let’s see what Firefox looks like:
firefox-before

The status bar is 30 pixels high. The top section is 115 pixels. Crunch the numbers [1] and you’ll find that Google is taking up only 81% of my screen. Of course, the information presented (such as the title, status information and url) is helpful, but let’s see if I can make better usage of my screen real estate:
firefox-after

By using small icons and removing the web developer tool bar (which I dearly love), I’ve increased the space that web pages use to 86% [2]. I’ve also removed a couple of the buttons that I don’t use and added the little gear button, which makes the web developer tool bar visible for those times I’m using it.

[1] My screen resolution is 1024×768 = 786,432 pixels. The status bar is 30 pixels high, running the full length of the screen, and the top bar is 115 pixels. So, (1024 x (30 + 115)) / 786,432 = 0.81

[2] I still have the status bar, but this time the top bar is 80 pixels high. Substitute 80 in for 115 in [1] and you get about 0.86

Comments!

Friday, November 10th, 2006

So I have comments on my blog now. Thanks y’all. When I set wordpress up, I told it to let me screen all of the comments first and set it up to email me when I got new comments. Turns out there was a little miscommunication. I was waiting for the emails to come in and wordpress was waiting for me to approve the comments so it could email me (you know, to let me know that I just approved a comment). In the process, I discovered what people mean by comment spam. I approved the six posts from people I know and marked the 160 junk comments. Blech.