Welcome to RocketMonkeys.com!

This is my personal site, where I store my rants, pictures, and movie reviews. Have a look around, register and leave comments.
-James

Show: all [rants] movies pictures

Page: Previous << 0 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 >> Next

Neat Little Project - GMail IMAP syncer

Posted by james on Sept. 23, 2011

Problem: there are multiple people that handle incoming emails. They need to coordinate responses, so that any one person can receive & respond to any of the incoming email. They need to be able to see each other's responses to make sure they don't duplicate responses. Also, they should be able to use their existing email (gmail) accounts, and not have to log into a separate specific account.

So in this example, we have our own business with 2 employees. Both need to be able to see the incoming emails and respond to them.

1) They could use a generic email address to send/receive, like some businesses do. The emails are forwarded to both of them. Then they can both receive incoming email.

2) They could BCC the other on *every* outgoing email. This would allow the other to see all outgoing messages, but is very inconvenient and really easy to forget (even just one).

3) They could use a separate email account solely for this, but that's also very inconvenient.

Solution - a program that logs into both accounts, searches for specific messages, and ensures they exist on both accounts. We can use IMAP for this. The benefit is that this takes care of not only incoming emails, but outgoing as well. Also, both employees can have their own email addresses (which is always a plus, since recipients know who they're talking to). And the employees can just read & respond to emails as they normally do, without needing to remember to BCC anything. Also, with separate email accounts they can mark items as read when *they* read it, whereas on a shared account it would be marked read when either of them read it.

The program itself is relatively simple in theory:
-Log into both accounts via IMAP
-Search for messages matching a certain criteria: "from @domain.com or to: @domain.com since [some date in the past]"
-Find list of messages on each server that are not on the other
-Copy the messages from one server to the other

The most complicated part of this is working around the limitations of the IMAP protocol. Namely, that there are ID's, UID's, Message ID's, etc.

ID - this is a folder (mailbox) -specific number that changes as messages are deleted/added. Very transient & unreliable. It is part of the IMAP protocol.

UID - this is a folder-specific number that does not change. It is part of the IMAP protocol.

Message ID - this is a message-specific ID that identifies the message, no matter where it lives. It is not account specific. We can treat this as a global UID, since it works across accounts as well. This is part of the email message headers, and is not part of IMAP.

The biggest problem is that most IMAP functions return IDs or UIDs, but not MessageIds. That makes sense, since MessageIds are not IMAP. However, that means the process is more like this:

-Search for messages matching the criteria (returns a list of UIDs)
-Convert that list of UIDs into MessageIds
-Search for MessageIds on the other server (returns a list of UIDs)
-Convert *those* UIDs into MessageIds
-That list to the original server's list to give a list of MessageIds that need to be copied
-Convert this list of MessageIds back into UIDs on server1 so we have a list of messages to copy
-Finally, copy the actual content of the messages from server1 to server2

Really, it's an inefficient bunch of converting UIDs <-> MessageIds, but it works. It'd be nice if all IMAP was based off MessageIds, but those are two separate protocols so it makes sense that they'd be incompatible. And the decoupling of IMAP and email headers means we don't have to update every email server on the planet in order to add another header. So it's annoying, but at least we're not in lowest-common-denominator land.

Keyboard Roundup: Filco Brown, Filco Red, and Realforce Topre

Posted by james on Sept. 1, 2011

I got my first mechanical keyboard years ago on a whim. I had been on the hunt for a better keyboard for years, and prior to this my favorite had been a non-mechanical Dell Quietkey. I ended up getting a Filco FKB104/EB direct from Japan (thanks my abroad friends) and loved it. It has cherry MX brown switches - non-clicky (ie. no noise), tactile (has a slight bump when pressing down). It's relatively quiet, very nice to use, and is a great all around keyboard.

Recently I've been wanting to try more, so I started looking. Then I ended up buying 3 new keyboards, one after the other, and here I sit now with 4 mechanical keyboards on my desk. First off - I used to be a very heavy typer. My typing on the Filco brown board was very loud since I would bottom out quite often. This created a lot of noise and is not ideal, but when I'm typing fast and not relaxing this is what happens. I've since become a lighter typer, but still not great.

Here's a roundup of what I've experienced.

Filco FKB104/EB (Cherry MX Brown)
This is my original mechanical keyboard. It's great - not too loud, has a slight tactile bump, and is very well built. This has been my main keyboard for years. The keys are very satin texture, barely noticeable, but after a few years the keys have worn down quite a bit. The print is rubbing off some keys, and they're all shiny and my fingers get stuck on them (I tend to glide my fingers across keys).

Das Keyboard Ultimate S (Cherry MX Blue, blank keys)
I thought I wanted MX blue switches. They're clicky (make noise), which gives great physical and audible feedback. However, they take quite a bit of force to press compared to the browns, and are way too loud. I used to think that bottoming-out on my browns board made noise. That is *nothing* compared to the noise from the blue switches. My wife vetoed this one - our baby needs to nap during the day, and this keyboard is not nap-friendly. Other than the feel, the keys were good (average texture), the build was decent, the shiny/glossy keyboard body is awful (*why* do they do this? Such an awful idea for something that you'll be touching all day long). The shape is annoyingly, but that's minor. The USB hub is nice.

Realforce 103UB variable-weight (Topre capacitive switches, black-on-black keys)
This was the most expensive keyboard on my list (at around $270 new). I got a good deal, so decided to try it out. The switches are so strange - they're rubber dome with a small spring inside. So basically they're rubber dome. The variable weight is noticeable - the pinky keys are much lighter than the center keys. They take a bit of force to start, then the resistance just drops out and your finger hits the board hard. There is almost no noise, but it ended up hurting my fingers. I had to adjust quite a bit to try to hit the keys reliably while not jamming my fingers into the board all the time. Not a very comfortable board at first. It's gotten better as time goes on, but it still seems to slow me down. However, this keyboard has the most amazing key texture (very rough, like formica/laminate), the best looks (black printing on black keys... just barely noticeable), and the feel of the keys is addictive. When I first sit down to type, they're very neat feeling and inviting. Then after a while it gets annoying.

Filco FKBN104MR/EB2 (Cherry MX red w/ PBT black engraved keys)
This is the opposite direction of the rest - instead of more feedback (like the MX blues) or firm feel (like the Topre's), this one is linear. There is no click, no bump, just a straight smooth push. No feedback whatsoever. During my search I thought linears were such an awful idea - who didn't want feedback? But after trying the others, I realized that I prioritized light switches over feedback, and that the feedback really didn't help as much as I thought. This one is almost too light - noticeably lighter than the browns board (maybe due to the lack of tactile bump). The stock keys I'm sure are the same as all Filco's stock keys. But the PBT black engraved keys that I also got - amazing! Almost the same feel as the Realforce's keys, which is amazing. They're very slippery, which for me is good. The engraving is very visible (which could be good or bad), but I can't feel them while typing (which is good). And being PBT hopefully they'll hold up much longer than ABS does (all other keys mentioned are ABS).

Winner - TBD. Will have to test these out a bit more.

Battle: LA

Posted by james on Aug. 26, 2011

I've wanted to see this one since I first saw the preview. I'm a real sucker for alien-takeover movies. And for a kick, I watched this one through Amazon Video-on-Demand. I wanted to rent through redbox for $1, but it's never really $1 - I always forget or am not able to return the movie the next day, so it ends up being a $2 or $3 rental. Factor in the time it takes to drive in town & return the DVD, and it becomes hard to justify a cheap rental vs. just renting instantly from Amazon. I think I'm a convert - I'd rather rent online for more than drive for a cheap deal.

Onto the movie. I'd seen just above-average reviews, so I tempered my expectations a bit. I was expecting big budget special effects, perhaps some new/neat filming & perspective on alien invasions, and some bad characters & campy acting. I was not disappointed.

First off, the perspective is fun. Usually these films try to show 3+ characters' points of view - the military second in command, the scientist-type that ends up being useful in the end, and the know-nothing everyman. This time the film mainly followed the military guy and eschewed the others. That helps. It also skipped the massive buildup of "no it cant be aliens" and then "oh my god it's aliens" and then "let's save the world". Those segments are all there, but the buildup and disbelief part is thankfully shortened. We know how people react when aliens come. We don't need to see the hippy welcoming them with doves and then getting blown away. Just skip to the fighting.

Aaron Eckhart is an interesting choice for the reluctant commander with a dark past. He's not really dark. He may be too much of a boy scout for this one. There's also a bit too much batman-voice in this one (has he been smoking the past 3 years to get ready for this role?). But in all, he does alright and doesn't get in the way too much. And wait... is that Michelle Rodriguez in the tough-girl pilot/soldier role? How novel!

The first part of the movie picks up quickly and reminds me a lot of Black Hawk Down - lots of close-quarters fighting, crazy overwhelming action, and just frantic all over. The middle is lame - lots of pep talk, transparent and lacking conflict resolution, and lame inspirational speeches. They should have tightened it down to a few cliche sentences and moved on (ie. complete fluff), or gone for something more real & meaningful (ie. skip the inspiration altogether, go for real human drama). Unfortunately we end up with too much fluff that slows down the film and adds nothing. They could have just skipped this part altogether. Then again, that may have ruined the director's plan to use every alien-invasion cliche known to man.

The latter half is mostly satisfying. Overall, this film goes by the book. You know almost exactly what to expect every step along the way. This film is all about the formula. There are a few notable omissions (no romantic connection, no multiple point-of-views, no comic relief) that make this movie better. But there's nothing really new or unique here. Just solid big-budget slightly better-than-average alient invasion film. Good enough to watch and enjoy. Good enough even for a sequel, assuming everyone expects and the director delivers the exact same formula (more guns, more ships, same plot line).


Page: Previous << 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 >> Next