Lolrus.org
This is a header that goes on every page.How Overpriced is Apple Hardware? (part 1)
July 24, 2008 at 10:20 PM | categories: Uncategorized | CommentWhen buying an Apple product, everybody knows there's a "style tax" that you're paying for the logo, and the operating system.
But how much is style worth to you?
I'll start off with what I'm not going to compare, because it's hard to do an apples to apples comparison (no pun intended).
- Mac Pros - They're quite good. They're well made, have great, enterprise quality hardware, and compared to Dell or HP workstations, they're really not that pricey. Try seeing what the CPUs cost on newegg. That being said, the upgrades are overprices for them, and buying more drives or RAM aftermarket makes a lot of sense.
- iMacs - Ok, I think they're a bit overpriced, but I can't really do a fair comparison because it's hard to put a pricetag on the convenience they offer, and they're pretty slick.
- iP.*s - There isn't better out there because I think other manufactuers have realized they can't really compete (possibly excluding iPhones).
- Mac Mini - Yes, they're overpriced, but the same as the iMacs, there isn't a fair comparison.
I used a first generation MBP at a previous job for about 6 months. Overall, I really enjoyed it, aside from it getting a bit toasty (which Apple/Intel fixed with the C2D), and the MagSafe almost starting on fire (which Apple replaced even though it was out of warranty). I find Leopard to pretty great operating system, and most of the software I use either has an OS X version or equivalent. MacPorts is a lifesaver as well.
The system I will compare the MBP to is the 14.1" AND 15.4" Lenovo T61. I'm also quite familiar with these systems because I use a T61 every day. Let's assume I configure the 14.1" with Windows Vista, and the 15.4" with SUSE Linux (Lenovo pre-installs it).
Let's get the subjective comparison out of the way:
- Build Quality - Honestly, I think this one is a tie. Sure, ThinkPads aren't the same as they used to be (when IBM made them), but they're still built like tanks. MBPs are pretty good too.
- Screen Hinges - This is a strong win for the ThinkPad. If I lift my T61 up by the top of the screen, it actually stays at a 90 degree angle with the base. The hinges are really tight and have no wobble at all even on airplanes and the CalTrain. Even my 3 year old T43's hinge is still tight. MBP's hinges aren't awful but they're still a bit wobbly. Flying isn't the best thing.
- Options - I'm not going to compare this feature by feature, but I'd have to say MBP wins as far as bells and whistles go. The useless Thinklight doesn't even come close to the lit keyboard, and the automatic screen dimming is pretty nice. I do like how you can get a battery to put in your optical drive bay for the thinkpads though.
- Docking Station - Obviously, the ThinkPad wins. There isn't one for the MBPs. I feel if one is often on the go, but works in the office too and doesn't have a desktop, docking stations are a must. I know I don't want to plug in ethernet, vga, 3 USB devices, headphones, power, etc. every time I sit down at the office.
- Software - This is a tie to me. I'd say windows would win, but I don't want to start an argument and this is way too subjective for me.
- Size Feel - By this, I mean: How cumbersome does the notebook feel? Loser #1: 15.4" ThinkPad. It's a beast. It's thick and heavy. Loser #2: MBP. It's not as bad as the big ThinkPad, but it feels heavy and it's not as portable as I prefer. Winner: 14.1" ThinkPad. Even though it might weigh a bit more (I need to check) than the MBP, it feels significantly smaller, and this makes it a bit more portable.
- Resolution - I like high resolutions. I'm not old yet. The MBP doesn't suffer from a low res. The 15.4" T61p I use might actually be too high of a resolution (until software figures out how to deal with scaling their fonts and images properly). It's resolution is 1920x1200. It is more pixels than a 1080p hdtv! 1440x900 on the 14.1" is a pretty good pixel density for me. It's the same resolution as the MBP, but on a smaller screen. I'd say the winner of this one is personal preference.
- Input Devices - There's a lot of haters on the TrackPoint (you know, the little red nipple pointing device on ThinkPads), but it's pretty good once you get used to it. Also, it has a middle button. For me, ThinkPad is the winner. I suppose if you wouldn't use it anyway, the ThinkPad has two mouse buttons, so that's easier than the two finger tap with the MacBook Pro touchpad. Touchpads cramp my hands. I will admit I did like the two finger drag scroll for the MBP.
- Style - MBP of course. It's Apple. People will think you have lots of money and listen to good music. I'm still waiting for the matte black to be retro.
One caveat is that the ThinkPads video cards are less powerful than the MBPs (and not configurable). The 15.4" with Linux has integrated graphics and the 14.1" has a NVS 140 128mb.
| MBP | 14.1" T61 | 15.4" T61 (W/ Linux) | |
| CPU | 2.4GHz Intel Core 2 Duo | Intel® Core™ 2 Duo processor T8300 (2.4GHz 800MHz 3MBL2) | Intel® Core™ 2 Duo processor T8300 (2.4GHz 800MHz 3MBL2) |
| Disk Capacity | 200gb | 250gb | 250gb |
| Disk Speed | 5400rpm | 5400rpm | 5400rpm |
| Memory | 2gb | 2gb | 2gb |
| Video Card | nVIDIA GeForce 8600GT 256mb | nVIDIA Quadro NVS 140M 128mb | Intel GMA X3100 GM965 |
| Cost | $1999.00 | $1,177.60 | $1,068.40 |
If I were purchasing a new notebook for myself on my current salary it's a no-brainer to get a ThinkPad. If I had a choice on which one I'd get for free or from work, then the decision would be tougher because it's not directly out of pocket. I'd get an X300 probably, but I'll save my rants about the MacBook Air for another time.
For part 2 (if I ever get around to it), I will compare specs at the same prices... How good of a ThinkPad that can be had for $1999.
What's new?
May 08, 2008 at 12:11 AM | categories: Uncategorized | CommentLots. Since the last time I posted, I got a full-time job, moved to California with a bunch of CSHers, and still haven't graduated.
I started at a company called Truviso in April. Basically, we have a product based off of PostgreSQL that allows our software to process copious amounts of aggregate data on the fly and have it ready when you need it. I'm working on the engine in C and it's good times. It's so nice not having to deal with writing web apps or desktop apps for once. I really like working for a smallish start-up on a product I believe in. It's also nice living a mile away from work.
I'm also working on an independent study to implement HDR tone mapping in Quartz composer (it uses GLSL). It's an implementation of iCAM06. It's pretty fun when Quartz doesn't crash. HDR imaging is pretty awesome and the results it produces are great. Doing it in Quartz composer/GLSL is pretty awesome because it offloads the processing onto the GPU so you can play around with it realtime. It also allows you to visualize the whole flow of the image easily.
Speaking of imaging, I'm pretty uninspired as far as photography. I haven't really shot anything meaningful since '06 in the desert. I'm not sure if it's lack of time, ambition, or whatnot. Perhaps I was just jaded in the desert and nothing will compare as far as natural beauty goes. I need to go back. I mean the last time I took some photos that were even acceptable to me was about 6 months ago in Germany. And that happened once. I've taken about 300 digital photos in the last year. Shot maybe 1 or 2 rolls of 120 (and didn't even get aroudn to processing them). Maybe 3 sheets of 4x5s too (and haven't processed them either). Compare that to my 3 weeks in the desert. I shot over 1500 digital photos, 20 or so rolls of 120, 50+ sheets of 4x5, and I loved doing it. I don't know what happened.
If I told myself I was going to shoot some 4x5s this weekend I would probably just walk around with 20lbs of gear for 3 hours, and take maybe 1 or 2 shots so I didn't feel like a complete waste of time then go home. I'd probably never get around to processing the film. Maybe I need to fidn interest in some other subject matters, or maybe I just need a new thing to do.
Sorry for the rant. Anyways I'll post links to the HDR mapping stuff once I get it working.
Cometd and me
February 08, 2008 at 09:01 PM | categories: Uncategorized | CommentI kind of go on tangents when I do personal projects. First my goal was to make a poker game for bots to play... then somehow it diverged to making an ajax client.... somehow it diverged after that to use comet/cometd to do it... and then finally I decided to rewrite the cometd-twisted for my own evil.
Basically, for games and such, the bayeux protocol is a good place to start, but all the publish/subscribe stuff is superfluous. I basically just wanted to use the heart of the protocol and the ability to use the existing JavaScript libraries.
I think what I did is pretty cool. Basically, I made it so when a client connects it spawns a new client class. Then when they subscribe to a channel it makes a ChannelSubscription class. The messages are routed through this. Each ChannelSubscription behaves as a logical connection to the client such as a Protocol class with Twisted would. In fact, there's about 3 lines of difference between my TCP layer for my poker client and my comet layer now. It's pretty cool.
I set it up so that authentication and such would happen one level on top of the Bayeux protocol to allow for more customizations. It doesn't matter whether or not they connect.
I have half of an ajax poker client written for my server with this, but it's basically just a proof of concept that this works. I think I'm going to write a blackjack server too to allow for easier testing, and a better demo for when there aren't people to play against. It's simpler, and I already have most of the code done in Ruby from a long time ago... I just need to port it over Python.
Anywho... I'm calling my cometd server ucommet. Why? I couldn't think of anything better.
The source is here for all the stuff (you want ucommet.py and possibly tabled.tac to see how it's used)
you can do a "svn co http://svn.lolrus.org/dpoker/trunk dpoker" to get my poker tree.
You'll need twisted.web2. If you have twisted 2.5, actually might have to get the SVN version. The apt-get seemed to get a working version for me in Ubuntu, but on my Gentoo server it was a whole different story :(.
I'm going to be in Prague with some friends for the next three days (my last days in Europe before I come home). Then once I get back to the states, I'm going out to Cali for a day or two for an interview. It's been too long since I've had a burrito or a double-double. So what this means is I probably won't have time to work on this for the next week or two.
Better Keyword Search for Wikipedia in Firefox
February 06, 2008 at 02:12 PM | categories: Uncategorized | CommentIf you're not aware of the "Add Keyword for this Search" try going to google and right-click on the search box, and click "Add Keyword for this Search" and just put a keyword as "test" for now. Now, hit ctrl+l (or cmd+l on a Mac) and enter "test election" and it will take you to a search page as if you searched google for "election." Basically, you can do this with any search box. It's really great, actually. I much prefer this method to the search box because I only like using one hotkey.
Anyways, since I frequent Wikipedia a lot, I have one set up for Wikipedia. Unfortunately, Wikipedia isn't all that good at catching your typos or knowing where you really want to go like Google does.
Solution: Set up a quicksearch to use google's are you feeling lucky to search wikipedia.org. Here's how you do it:
- Go to Bookmarks->Organize Bookmarks
- Create new bookmark
- Add a name and appropriate keyword (I chose "wiki" for mine)
- For the location use:
http://www.google.com/search?hl=en&q=site%3Awikipedia.org+%s&btnI=745
dPoker Progress
February 03, 2008 at 09:09 AM | categories: Uncategorized | Comment
So most of my finals here are done. I have a week before head out to Prague for a few days before flying back to the U.S. I think I'm going to put on about 10 pounds the first week I am back because I miss all the delicious food.
This means I might get my dPoker server working. I have a bit of the Twisted stuff in place. I'm currently working on the gameflow logic right now and trying to engineer a good abstraction for it. Right now I am just doing a TCP implementation, but since the whole protocol is in JSON it should be easy for me to make an HTTP thing for it too, and be able to hook up to JS. I'm thinking perhaps a widget? I'll keep y'all posted.
simplejson vs. python-cjson
January 25, 2008 at 10:28 AM | categories: Uncategorized | CommentI needed a package that decodes JSON into dictionaries/lists etc. I've used simplejson in the past and it's worked fairly well. I came across another package today that claims to be at least a hundred times faster than the other JSON implementations for python called cjson. I was a bit skeptical because simplejson has C extensions too.
I decided to run some quick benchmarks. The code I ran can be found here.
benchmark data:
processor: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
x86_64 Linux.
simplejson 1.7.3 (I assume the c extensions are enabled because I used emerge to get it)
python-cjson 1.0.5
Python 2.5.1
simplejson results:
% time ./simplejsonbench.py
./simplejsonbench.py 38.97s user 0.00s system 99% cpu 38.968 total
% time ./simplejsonbench.py
./simplejsonbench.py 39.17s user 0.01s system 99% cpu 39.187 total
cjson results:
% time ./cjsonbenchmark.py
./cjsonbenchmark.py 0.77s user 0.01s system 99% cpu 0.784 total
% time ./cjsonbenchmark.py
./cjsonbenchmark.py 0.77s user 0.03s system 100% cpu 0.794 total
simplejson average: 39.07s cjson average: 0.77s
verdict: cjson 50.74x faster in this benchmark
I'd run more, but I don't really think I have to. Simplejson actually seems to have a more robust interface than cjson, and is more portable because it doesn't require a C compiler.
The cjson website has some other numbers that measure actual measured throughput of cjson vs. simplejson. The versions of simplejson is older, and it states there's no C extensions compiled in.
Website Stats
January 25, 2008 at 12:21 AM | categories: Uncategorized | CommentMy blog gets very little traffic. Actually, about 60% of it is people searching for the word "lolrus", coming here, and being quickly disappointed then leaving right away. I've been using awstats for a long time now, and recently just tried Google Analytics. Google Analytics is soooo much more intuitive to use than awstats. It also seems to have less noise in the data. For example, /wp-admin is shown as one of the top things visited in awstats. I don't really care how many times I visit /wp-admin. Google Analytics filters that out. It's interface is pretty slick too.
Aside from that, the job hunt continues. Have a phone interview tomorrow. I'm hoping to find a job before spring quarter starts so I can concentrate on my studies and finish on a good note. It's going to be a rough quarter. I'm pretty psyched though because I'm probably doing an independent study implementing the iCAM image appearance model in Quartz Composer.
New Project: dPoker
January 24, 2008 at 09:58 AM | categories: Uncategorized | CommentI started a new project a few days ago. It's one I've been pondering over for a long time, and it's about time I did something about it. I'm bad at naming projects, so I chose dPoker, the d is for donkey. Donkeys are cool either in poker, on waffles, or on waffles on VT200s in Sysprog class. Basically, the core of the project is just a poker server. It's purpose is for bots to play, compete, and learn, not really humans. Of course, humans will be able to play too, once somebody writes a client. I have a few friends interested in working on this too, but I need to get a proof of concept together first.
I set up a trac for it here.
Here's a few technologies I'll be using and design decisions (for the proof of concept at least) and why:
- The server will be written in Python.
- it's relatively fast and small in memory (compared to Ruby)
- good libraries
- readable
- native thread support
- I find it fun to write
- Probably using Twisted framework.
- It seems nice and supports a variety of protocols.
- Eventually want to make a javascript client
- Don't want to reinvent the wheel
- SQLAlchemy for data logging and account
- I really like it
- Sadly, there's no recent updates to Asynchronous wrappers for for like a year, so I will probably have to roll my own :(.
Me or a friend will write a JS or even a flash client so people can easily play over the internet against bots or each other. I'd still have to work out a way to get people to try instead of going all-in all the time, but I think this would be important to add a bit of supervised learning to the mix and see how these bots evolve.
Never Seen This One Before
November 17, 2007 at 03:14 PM | categories: Uncategorized | Comment
...randomly in all my terminals
Message from syslogd@loltop at Sat Nov 17 20:07:51 2007 ...
loltop kernel: [123903.232000] Disabling IRQ #18
And now sound won't work.
Berlin 'n Stuff
November 04, 2007 at 06:56 AM | categories: Uncategorized | CommentThe first day of BarCampBerlin was interesting. There's a ton of bloggers, a ton of non-technical people, but that's cool. A few people came to my session on Pylons, but stuff broke, so maybe they shouldn't have :). I tried to emphasise the awesomeness of SQLAlchemy, which is what the people that came were mainly interested in.
Partying in Berlin is crazy... Clubs don't close at 2:00 AM like in the states, but that's when the party starts. And the techno is amazing. I was dancing until 6:00 today... and then I had to wake up at 9:00. So tired. I'm pissed at the hostel I stayed at too... they didn't have lockers.
Lates.
« Previous Page -- Next Page »