Archive for the ‘Computing’ Category

I’m faster than computers

Apparently. So my bank statement comes out on the 13th of the month. Without being prompted by an email, I picked up my paperless statement on the 15th. Now this morning, on the 18th, I got an email that it was available. Why does it take five days for them to email me about it? Just to make sure I wasn’t missing something, I checked on the website again, and no, all that’s there is exactly what I downloaded three days ago.

Thanks for the email reminders?

Address Book

All I asked for was a decent standalone address book program for my computer. Apparently that request is too complicated. I’ve spent the past hour (and plenty of time previously) scouring the Internet for any signs of a good address book program.

Basically, what I want is a database where I can store names of people, contact information, notes of previous discussions or meetings, and if applicable, a picture of them and/or their business card. Oh yeah–and it has to be offline. Right, so apparently most programs figure that you don’t need any information pertaining to people besides their contact information, but that’s not what I want out of an address book (or perhaps more properly, a Rolodex, sans trademarked connotations).

Apparently SeaMonkey has a pretty good one, but I’m not interested in installing a browser, etc just for the address book feature tacked onto its email client. If I used SeaMonkey I’m sure I’d like it, but I’m really not in the market for changing my browser, even if it’s kind of the same thing.

Apparently Linux has a few pretty good ones, too, but they aren’t Windows-compatible. And it appears as though SourceForge doesn’t really have anything good, for once. Half of their address books are PHP/MySQL solutions, and I really don’t think I want to be running five web daemons in the background just so I can use my address book.

I know that Windows has one, but I don’t like it for several reasons: first, it doesn’t satisfy my objectives; second, it’s designed to be integrated with other Microsoft communication products like Outlook (Express) and NetMeeting; third, its close proximity to my operating system makes me uncomfortable, especially because it has long been the target of worms, etc, seeing as it’s a treasure trove of email addresses. I know this is a bit hypocritical of a guy who often goes without antivirus software, but I just don’t tend to like the peripheral features of Windows like that. (NB: I actually have an antivirus now.)

Long story short, I can’t find a damn address book for my computer, and I’m going to start merging contact information into OpenNote until somebody gives me a better idea, because I really need somewhere to put it. I’m not sure this is going to be very successful, but it’s honestly the best idea I’ve got, besides writing one myself. Further updates may follow.

Software Fest!

For posterity and any interested parties, here is what I have installed on my computer so far, and perhaps some rationale behind each choice. Time to open up Add or Remove Programs and see what’s there… (I’m skipping preinstalled drivers, etc.)

7-Zip: It’s the best compression software I have found so far, works with practically every format, is free, and goes a LOT faster than Windows’ built-in shell decompression.

ActivePerl: I program in Perl. I need a copy of Perl.

Adobe Flash Player 9: I use the Internet. ‘Nuff said.

CutePDF Writer: Virtual PDF printers are really nice. They’re good when you don’t want a physical copy of something, but you need to capture a program’s output for some reason or another. Good for saving things for digital posterity.

Foxit Reader: I’ve mentioned this on my blog before. The best PDF software I’ve used. Vastly superior to Adobe Reader: it’s fast, small, and loads instantly.

Frets on Fire: A free Guitar Hero clone for computer. I need to improve my skillz so I can take on Nick. ;-)

Launchy: Great software that Jonah introduced me to. I can access any program or song on my computer (or more: it’s fully customizable) by hitting Ctrl+Space, typing in a few letters of its name, and hitting Enter. It’s really easy, and makes the Start Menu practically obsolete.

MS Office Enterprise 2007: I was warned against Office 2007, but decided to try it out anyway. (The first non-free software on this list, it’s actually a legal copy! IU has a group licensing agreement or something; I could download it right from their website.) I rather like Office 2007. The interface is drastically changed (no menus! just buttons!) but they did a great job of maintaining keyboard shortcuts. Beware, though, they have changed their default file format. Save in compatibility mode if you want people using Office 97-2003 to be able to read your files without a plugin. Oh, also, I rather like OneNote as an organization tool for all my random notes-to-self and data. But more on that some other time.

Mozilla Firefox: Because I use the Internet, and IE is terrible. I upgraded to IE 7, which I do think is a big step up from IE 6, but I still love me some Firefox. Plus, I get to use my favorite extensions, like BugMeNot and FireFTP. I haven’t installed my gesture extension, because I still don’t have a notebook mouse, so I’m only using the touchpad and clit mouse (not my term, xkcd’s).

Mp3tag: While I kinda prefer Winamp for actually changing tags, Mp3tag is a small program that’s good at what I use it for, which is primarily mass-renaming mp3 files to conform to their tags.

Pidgin: Because Pidgin (the IM client formerly known as Gaim) is the best IM client I’ve used. It’s full of features, but still manages to feel pretty slim and easy to use.

QuickTime: See “Adobe Flash Player.”

Ruckus Player: At orientation, they suggested that we use our free subscriptions to Ruckus to download music. It has a library most the size of iTunes’s (but not as big…) and downloads songs right to your computer. The downside is that it downloads WMAs with DRM on them. However, there are programs that can strip PlaysForSure DRM from WMA files. I mean, err, I didn’t say anything!

SciTE: I don’t like programming in big IDEs, but for things like Perl, I like having some basic syntax highlighting to catch silly mistakes. SciTE is a really small free lexing engine with a pretty good interface for editing scripts. Perl highlighting is built in, as are most languages anybody uses, and even a few they don’t. SciTE is the best syntax highlighter I’ve come across, and I’m sticking with it.

Steam/HL1 Anthology: Because I want to keep my copies of Half Life, Half Life: Blue Shift, and Half Life: Opposing Force. Steam ain’t that bad, really, and I did get a (legal!) copy of the HL1 Anthology for $5.

Winamp: Because it’s the best music player I’ve found. I like its library management, and I can’t live without global shortcuts.

Well, there you have it, folks! Top software that Carlo needs for maximizing productivity! (OK, maybe HL1 isn’t for “maximizing productivity,” but most of it is!) Plus, it shows you don’t need to pirate software to have lots of great software for free! The only non-free things on that list are Office and Half Life, and I have legitimate copies of both. If you see anything on the list above that sounds interesting, I encourage you to check it out; everything there is really great software, and vastly superior to the usual substitutes (Pidgin over AIM, Firefox over IE, Foxit over Adobe). So enjoy, and until next time, keep on softwarin’!

On Tinkering with Computers

I manage to mess up a lot of things when I tinker with my own computers. The nice thing is that I somehow manage to figure out how to fix them again.

On that note, I’ve been securing Windows on my laptop; does anyone have any suggestions?

WordPress 2.10

I’ve upgraded to WordPress 2.10. It’s definitely worth the upgrade, if you’re a WordPress user. The interface looks a little different, and there are lots of new features, like auto-saving posts.

PartitionMagic is Magic

I just resized my running NTFS partition in five seconds from within Windows XP! How is that possible!?

No more Chicago kernel!

I’m reformatting my hard drive and installing WinXP and Ubuntu! No more Win98SE Chicago kernel for meeee! (It’s mainly been laziness and conservatism that has kept me on it; finally it’s too much to bear.) Wish me good luck…hopefully my computer will be functioning again by tonight! Well, installing OSs isn’t that difficult…it’s the drivers that will get you.

Y’know, for all the bad rap that Microsoft gets, a lot of its work is pretty good. The problem is that their software works too hard at being program- and user-friendly. I’d elaborate but I’m going to be rather busy for the next several hours. Perhaps I’ll continue at some later date.

Thanks again to Patrick for lending me a nice big external hard drive on which I have backed up all my files.

Firefox 2.0

Well, I’ve installed Firefox 2.0. I recommend that Firefox users upgrade: it incorporates a lot of useful changes.

First of all, some developer-level stuff has changed in the browser. JavaScript 1.7 is supported and SVG capabilities have been increased.

The user would be more likely to notice the new visual theme. Each tab has its own close button (a longstanding gripe of many users), and mouse rollovers are acknowledged by the interface buttons.

I like the new Web Feeds capabilities. They allow reading feeds with Google or other feed aggregators instead of Firefox. I also especially like the menu that houses “Recently closed tabs” — I always wish I didn’t just close that tab. Novice users might appreciate the anti-phishing feature. Most obvious, however, is the automatic spell-checker that underlines misspelled words as you type in web forms. Other features have been improved as well, like the Add-ons managing system.

Bottom line: Same old Firefox, but better. If you already have Firefox, upgrade. If you don’t, now’s as good as ever to join the club.

CGI: Dangerous Waters Ahead

Attention, Web 2: with infinite power comes infinite liability.

If you don’t properly untaint your CGI variables, I can launch an XSS attack on you really easily. I just input <script language=”javascript” /> for one of your fields, and I can run JS via your website. In fact, I can completely change your website’s appearance and functionality (or get your cookies), thanks to DOM manipulation.

Setting character limits on forms isn’t much of a help, because I can GET or POST whatever the heck I want. You have to trust the client’s HTTP headers, which don’t have to be what the browser would normally serve. In fact, with Perl’s LWP, I can send you arbitrary headers. (Firefox even has a built-in hidden feature to change the User-Agent string.)

Basically, you should escape any suspicious characters. < and > are definite no-gos, and & and might be suspicious as well. Run some regexps to convert them into HTML entities. Be sure to turn on taint checking (#!/usr/bin/perl -T) so it’s actually enforced.

It’s even worse when you run SQL statements. SQL injection is awful because I can DROP your table from the database instantly, instead of the innocuous INSERT you wanted. and are prime culprits. Better yet, just use the quoting feature built into Perl’s DBI. Pass inputs in execute() rather than concatenating them in your prepare() statement.

Above all, I hope you never concatenate user input to the console! (rm -r *) Of course, some major websites forget to protect against SQL injection. Occasionally I find a URL ending in ?id=5 that returns a database error if you delete the 5. (Yes, this is REALLY BAD NEWS.)

Until next time, may you never SELECT * FROM table WHERE id=’$querystring’.

LiveGraphics3D

http://www.carloangiuli.com/graphics

LiveGraphics3D is an awesome Java applet that allows real-time rotation of 3D objects in a web browser. I have written this Perl/HTML wrapper to make it usable for anyone, not just people who can figure out how to run Java classes. A much better explanation and a whole bunch of graphics can be found at the URL above.

If you have some graph you’re just dying to see, but you don’t have Mathematica, you can leave a comment here and I’ll put it up for you. I’m nice like that.