Brad posted his OS X software inventory the other day. Instead of repeating or adding to his list I’m going to keep an account of things I’m still looking for on my Mac:

  • A good MP3 Alarm clock – something like iClock (-cruft) + PowerManager (but working w/ Panther)
  • Menubar reorderer – on my 12″PB especially, my menubar runs out of space awful quick. I’d be nice to have an app that could reorder the items (on start and dynamically)
  • CSS/JS editor – granted there’s no JS IDE around anywhere really, but for CSS, TopStyle is so much better than anything over anything available for the Mac that it’s sort of ridiculous

One newly discovered very cool program: Scenario – an app that runs Applescripts on certain system events. I wonder if there’s an easy way to generalize this.

DrunkenBlog: The Squandered G5 – a worthwhile read, with some good points. Some things I’d add:

  • I personally like the yearly OS updates, I think it’s generated enormous amounts of good buzz/excitement (especially as the competition continues to stagnate/remain inadequate), but it is annoying that 1/4 of my programs get broken w/ each upgrade, and at least half of them end up either dropping support or needing to release separate versions for each flavor – in the long run, Appleneeds to start either standardizing APIs/handling backward compatibility or face larger developer/user backlash
  • Lack of any G5 speed bumps probably hurts Apple credibility/mindshare even moreso than lack of Rev B (outside of the Mac community). Also, Apple has really dropped the ball on the low-end. It’s a wasteland. (a cheap headless box would sell like gangbusters I would suspect, and maybe even help w/ international adoption)
  • Lack of drive expandibility is probably the biggest reason I haven’t requested a G5 at work (lack of VirtualPC hurts too)
  • My Rev A 12″PB has been running like shit lately, especially w/ how the fan is now on all the time thanks to the latest 10.3 updates. I’d get a new G5 PB in a heartbeat

I was reading Andre’s running notes on GMail and thought I’d toss in a few bones.

  • leonard@gmail.com was taken and lhl@gmail.com wasn’t allowed. viagra@gmail.com was available, but I wussed out: randomfoo@gmail.com
  • HTML Tidy Online is useful for reading the code. Line/breaks and spacing are removed from the source. The content is also gzipped. I wonder how much space they actually save from white space compression. If they’re running through a compressor, why not better (single letter) variable names and such?
  • On page load, there’s an immediate check for document.all; also if you’re using IE, you need 5+ and XmlHttp support
  • OK, now we’re getting into the meat of it. Yes, there is namespace compression going on. There’s a frameset w/ an action frame and a display window. Within that are divs and iframes. I’ll do a full dissection when I actually have time. (Err that might not be for a while. Off the top of the head for the next two weeks: 2 papers, a class final project, 2 work projects, a AAA priority freelance project, MSR design project, getting car fixed, wrist looked at)
  • The suggestion that Google is using JS as ‘anti-spidering’ method seems pretty silly to me. Both Python and Perl have SpiderMonkey modules. That being said, obviously I’m really happy about a good DHTML interface for a webapp.

Jason’s been collecting GMail reviews if you want actually useful/insightful comments.

Matt just posted about his recent Adventures in being a bandwidthaholic and made good points. Towards the end, he talks about solving the distributed bandwith problem, and for legal files, there is a sort of a solution already in the form of FreeCache. Here’s how it works:

freecache diagram

This is pretty nifty because it’s completely transparent to the end user, and it beats regular proxying because it still makes a HEAD request to the original source which allows them to track popularity and for FreeCache to update changed content and dump removed content.

That being said, the current ‘cache client’ is less than ideal for those who have bandwidth they want to contribute. Here are some features that I think should be added (also, hopefully the redirector software is open-sourced eventually).

  • flexible bandwidth account rules – I think this is the biggest strike against Freecache currently. Most people are willing to contribute bandwidth, but need to make sure that they stay under x amount of quota. This *could* be done w/ mod_throttle, but it’d be better if it didn’t have to be since there are probably a lot more people that would be willing to throw a set and forget script on their server than try to customize their server for this (and it’d be pretty trivial to program naive bandwidth accounting)
  • domain/url [regex] white/black-listing, grouping – this would probably be the second biggest win — I think a lot of people would want to contribute for only specific sites, groups. Combined w/ the bandwidth accounting, at the simplest level: I am willing to cache x amount for community site 1, and y amount for everything else, and I never want to cache stuff for z. The central redirector has to handle the heavy lifting anyway, so what’s one more thing to take care of?
  • connection limiting, bandwidth shaping – this is sort of a subcategory of point 1 — but it’d be hard to do (well the connection limiting not so much so, but the bandwidth shaping definitely), lets save that for version 2
  • distributed discovery – you could seed the list and then have the caching clients do their own rule parsing and redirection. In fact you could do all kinds of offloading for distribution. Err, congratulations, you’ve just built a server to server P2P network.

I have some other ideas about what would be neat for mirroring systems, but those aren’t as useful to the net-at-large.

  • Apache::Quota – This module provides flexible transfer quotas for all or part of a site. Additionally, limiting may be for the site as a whole, on a per-client IP basis, or based on some other criterion you choose.
  • Net::Shaper – Net::Shaper can be used to implement a point-to-point TCP tunnel that limits bandwidth.
  • Apaches::Traffic – This module tracks the total number of hits and bytes transferred per day by the Apache web server, on a per-user basis. This allows for real-time statistics without having to parse the log files.
  • Dynamic iptables bandwidth management

I think that the past couple months of insane hours have really been catching up with me. My productivity/efficiency has been way down the past couple of days, and I’ve found myself being tired a lot and having a hard time focusing. Pretty weird feeling like not only your brain being stuck in 2nd gear, but the that the clutch is slipping.