PlayStation 3
Eric Hodel | Wed, 16 Apr 2008 09:11:50 GMT
I like my PlayStation 3. I bought it in November when my PS2 was dying of a hacking cough because it couldn’t read disks. I thought the PS3 was alright then, it didn’t make horrible noises and it let me check the Blu-Ray box on Netflix.
I’m semi-disappointed that the PS3 DVD player lost the L3/R3 buttons that subtitles and audio settings that the PS2 had. Now I have to bring up the onscreen menu to turn on and off the subtitle tracks in case I missed or misheard some dialogue.
Since I bought my PS3, the software updates have improved it into a decent console. The PS2 Hitman games now all work on the 80GB (which I bought) and the store was fixed so it isn’t totally stupid for the majority of its users.
The pricing on the store’s downloadable content is reasonable. I’ve bought PixelJunk Monsters, a tower-defense game, flOw, a game where you eat stuff by using the motion-sensors in the controller, Lemmings and PAIN, a physics game that involves slingshotting a character into stuff and watching them scream. Lemmings is slightly handicapped by the PS3 controller, but I really like PixelJunk Monsters and flOw, I’ve certainly gotten my $10 of enjoyment out of them. PAIN is too hard to unlock and doesn’t have enough single-player content to keep my interest.
The most recent PS3 update replaced the old store with a brand new one that’s faster to navigate, unless you want to look at something. It downloads item images as you navigate and doesn’t cache them between runs which is annoying. The new store now knows which demos you’ve downloaded which is a really nice feature, though.
The DualShock 3 controller is much nicer than the SIXAXIS, by both being slightly heavier and having slightly stiffer buttons. Compared to the PS2 controller, the vibration doesn’t seem as powerful and the motors seem noisier. (I’m not sure, as my PS2 is in pieces and I doubt I can keep it alive long enough to start a game.)
The one extra thing I bought for the PS3 is the NYKO Blu-Wave remote so I could control the PS3 with my universal remote (which doesn’t speak Bluetooth) through the Blu-Wave’s USB IR dongle. The remote can be found on Amazon for under $20.
Graphing Spam
Eric Hodel | Mon, 24 Dec 2007 11:49:00 GMT
For fun I decided to chart various statistics from my mail server’s logs. I ended up with these charts using John Barnette’s GChart, some regular expressions, and cron.
The details of parsing out the data from the log files and setting up a crontab is boring, so I’ll spare you that.
Using GChart is really cool and easy. Here’s what I used to generate the Amavis Statistics chart, the others are all nearly the same, just different labels and titles.
def graph_amavis(data)
# These are the labels and colors I'm using
labels = %w[Banned Spam Spammy Bad\ Header Clean]
colors = %w[000000 ff0000 ff7f00 ffff00 00ff00]
max = data.map { |vals| vals.max }.max
# Since axis labels aren't yet supported by the API in 0.2.0, I use :extras
extras = { 'chxt' => 'r', 'chxl' => "0:|#{axis_labels max}" }
chart = GChart.line :title => 'Amavis Statistics', :data => data,
:labels => labels, :colors => colors, :extras => extras
chart_path = File.join File.dirname(@file), 'amavis_statistics.png'
chart.size = '750x400'# can't be > 300,000 pixels
chart.write chart_path
end
That’s it! One minor gotcha I had was that I needed to transpose the data set after reading it in because it wasn’t in the right order for GChart to consume it, but with Array#transpose, it’s just an extra method call before graphing.
Also, I wrote this simple utility function to calculate some good-enough axis labels:
def axis_labels(max)
axis_labels = []
0.upto 10 do |i| axis_labels << (max * 0.1 * i).to_i end
axis_labels.join '|'
end
The values aren’t prettily chosen, but they work well enough.
WTF: The Mythical Business Layer
Eric Hodel | Fri, 28 Sep 2007 07:11:43 GMT
Worse Than Failure made a post a few days ago about, among other things, built-in complexity, especially where its unnecessary and unsuited for getting things done.
Just look at the dreadful specs we’re given to work with:
When a Sale is Cleared, only Managers with Void Approval and Executives may issue a Cancellation Request. If the Propagation Status for the Transferable Receivable is not Pending and the Expense Allocation Type is Reversible, the Cancellation Request is issued for Processing; otherwise, it is issued for Approval.I’m sure those of you who managed to make it through that spec did not have visions of IF-ELSE code blocks swirling through your head. I’ll bet some of you, without even seeing the rest of specs, excitedly envisioned a CancelationWorkflowProvider that inherited from the abstract RequestWorkflowProvider and implemented the IPermissionRequired, IPropogationStatusRequired, and IExpenseAllocationTypeRequired interfaces, and was powered by the all-encompassing WorkflowManager. Why? Because that’s so much more challenging than writing a simple IF-ELSE code block.
—The Mythical Business Layer via Worse Than Failure
While the post focuses on the “business layer” of an application, it is applicable to any development. There’s no need to write that extra library! Start with the core of you want to do, and grow, then refactor, then grow again. Reuse what already exists unless it can’t be molded to your will. If your application code gets too big pull a library out. Don’t write the library up-front, you don’t need it and you won’t need it.
Finding Random Reading
Eric Hodel | Mon, 20 Aug 2007 03:13:43 GMT
I’m really missing what reddit used to give me, which was things I liked to read that I didn’t know I wanted to read on the front page. Now reddit is full of dups and political stuff I don’t care about. It also has a recomendation feature never worked for me, I couldn’t tell the difference between it and the home page.
Google News solves the dup problem but has too much stuff I don’t care about. Sometimes it makes me laugh, but it still doesn’t tell me what to read, or even what I probably will like.
The recommendation service I love is Netflix’s, I’ve rated over 350 movies now and it is spookily good at picking movies I like. For example 11:14 has a silly-sounding plot summary:
Five seemingly random story lines intersect at precisely 11:14 p.m. in this innovative drama-thriller written and directed by newbie filmmaker Greg Marcks. Even though they’re strangers, Buzzy, Mark, Cheri, Jac and Eddie will become a part of one another’s lives—even if it kills them.
I forgot why I added it to my queue. When it arrived I thought it would be silly, but I really enjoyed it, and that wasn’t the first movie I’ve experienced this with. Also, it tells me to watch things like Afro Samurai and Tinker, Tailor, Soldier, Spy that I would never hear about or know about otherwise.
What I really want is Netflix for for my random web reading. I don’t care about what’s popular, I care about what is well-written and interesting. Does this kind of thing exist yet?
Until then, I think I’m going to switch to clicking wikipedia’s Random article button when I get bored.
Vacation!
Eric Hodel | Wed, 01 Aug 2007 19:18:10 GMT
Yesterday was my last day working for Lime Spot, so now I’m on vacation for the month of August.
Most of my time is going to be spent working on various bits of software, like adding the automatic platform selection to RubyGems and getting it ready for inclusion in ruby 1.9, cleaning up some RDoc and ruby documentation tickets and going through the rest of my open tracker items on RubyForge.
But today, its time to watch the Simpsons movie, then Taxi Driver!
New Blog Design
Eric Hodel | Sun, 29 Jul 2007 04:02:43 GMT
I got this awesome new design from Jordan Isip, fellow Seattle Ruby Brigade member in exchange for some help on his DailyCaption project. Any lack of awesome is purely my incompetence at applying it.
Incidentally, Jordan is thinking about looking for some work. He’s primarily interested in front-end/UI work, but is a good RoR programmer as well, and a quick learner. Check out LunchFilter for an example of his work.
Later that month: healing
Eric Hodel | Sun, 31 Dec 2006 09:09:47 GMT
Why the Lucky Stiff posts a year in review for 2006:
April – Canada on Rails. DHH says the F-word. And flips the crowd off or something. It’s a pretty serious deal. Later that month: healing.
Takahashi Method
Eric Hodel | Tue, 04 Jul 2006 07:16:00 GMT
M. Edward (Ed) Borasky wrote: > Pawel Szymczykowski wrote: > > On 7/3/06, James Britt wrote: > > > Thanks for pointing this out. I recall when this was > > > first suggested, and I'm glad it just faded away. > > > > Pfft.. what are the kids all suposed to go out and get > > tattoos of then? > > Celtic symbols. No, Japanese characters. That way yo can use the Takahashi method to give a presentation simply by removing your clothing!
—Daniel Berger, ruby-talk 200090
Keyboard Cleaning
Eric Hodel | Sat, 01 Jul 2006 05:31:25 GMT
I spilled a bit of Henry Weinhard’s Orange Cream Gourmet Soda onto my Powerbook’s keyboard and had sticky tab, shift and q keys. After sufficient annoyance I searched google for how to remove the key caps so I could keep them from sticking when I let go of the key. This guy who did a dvorak conversion of his G4 Powerbooks had the pictures I wanted, they demonstrated that the key caps should pop right off without breaking. Instead of his fancy key-puller tool I just used a 1/8 Craftsman flat-head screwdriver to pry up the edge of the key cap. I pried off the bottom, but it may be better to take the tops of first due to the construction of the riser.
For the q and a keys were hard to reattach to once I took them off because the scissors riser came apart. I had to remove both pieces of the riser, snap the two pieces back together then re-attach it to the keyboard. I used the screwdriver to help guide riser parts back together. One part has posts that fit inside the other, so I used some careful pressure to guide them together. The key-cap should snap down easily after the riser is correctly installed.
RubyConf Lightning Talks?
Eric Hodel | Wed, 28 Jun 2006 19:45:58 GMT
My secret sources tell me that due to the overwhelming success of RailsConf’s lightning talks there just might be lightning talks at RubyConf 2006.
Well dblack...
Older posts: 1 2

Articles