I am not a regular reader of Jackie Goldstein's blog, but I make sure to catch up every now and then; today I encountered an interesting post in which he discusses a long-overdue improvement to ADO.NET: the ability to specify a batch size
for a DataAdapter.Update statement. One of the stupidest shortcomings
of ADO.NET 1.0 and 1.1 was that it would make a round-trip for each
changed row, which in the case of large updates or over high-latency
networks results in horrible performance.
Apparently ADO.NET 2.0 includes the ability to specifiy the batch
size, however there are some things worth knowing about this behaviour
(specifically, less commands issued to the database do not necessarily
equate less round-trips on the network; also, as Jackey puts it,
"creating batches of different commands every time would wreak havoc on
the query plan cache." Jackie goes on to link to a post in Pablo Castro's (the ADO.NET Program Manager) blog, which explains these issues in a little more detail.
An interesting read, certainly.
First, if you're up for a decent laugh, go ahead and read A Gamers' Manifesto
You may have noticed the odd discrepency between this post's title and
that article's; it's intentional - I do not presume to represent the
gamer crowd as a whole, and for several very good reasons:
- I'm about as mainstream as the guy next door who never
seems to shave, or shower, or do anything other than moan and
occasionally groan something that sounds oddly like
"braaaaaaaaaaaaaaaains." I certainly enjoy an occasional hit as much as
the next guy (UT2k4 anyone?),
but other than that I'm definitely not your run-of-the-mill Israeli
gamer. For one, I actually buy my games, which appears to be a
particular oddity that even my absolutely closest friends can't fathom.
Second, I often play older games (sometimes on their native platforms)
because I enjoy them and do not mind their being old or technically
outdated. Third, I consistently despise games heralded as breakthroughs
by many of my peers; and lastly, I find myself playing less and less
games and wondering why, exactly, that is. I used to play practically
every game out there; there are few games from the '90s I haven't
played extensively or at least taken for a spin.
- Gamers, even intelligent ones, look for different things in different games. I openly declare the original Doom
to be one of the greatest games I've ever played. It's certainly
mindless, quite repetitive and lacks any manner of story or plot. It
doesn't matter. I've spent countless hours (must be about over a month
in total) playing this particular title because it was so thoroughly
satisfying. In recent years, however, I've heard people blaming Doom
for starting a "dangerous trend in computer gaming" of mindless action
games with no plot. Hate to break this to you: mindless action games
were out there way before Doom (the arguably first computer game ever,
Space War, was one). Besides, mindless action is definitely good for
the soul. Still, it doesn't stop me from enjoying the more thought-inducing genres, which only goes to prove my point: people (especially gamers) enjoy things differently.
That said, I have several comments about A Gamers' Manifesto. Let's go by the numbers:
- I agree with the gist of the thing (tough, smart AI), but not
with the particular example. Doom III was meant to retain Doom's
simple, mind-numbing but gratifying gameplay, and does so extremely well.
Playing Doom III was a religious experience for me: everything I loved
about Doom - the suspense, the heaps of enemies, the challenging
gameplay, the gameplay mechanics - is there. Giving the Lost
Souls a proper AI would be like giving George W. Bush brains; it's
great in theory, but it probably won't make the world a better place.
- With this I cannot possibly diagree. Games have been getting less
and less diverse for years, and the studios that create the few
exceptions usually get financially whacked: where are Bullfrog and
Lionhead Studios these days? Do you recall the financial fiasco that
befell DreamWorks' completely revolutionary The Neverhood, or the lackluster sales of the completely original Loom?
Customers are obviously responsible, but it's also a result of the
astounding costs involved in creating a top title these days. Twenty
years ago you could've been a 15-year old mashing on his C64 and be
pretty well off, but nowadays you need heaps of people and money to
create even an astoundingly bad title like Chrome.
I firmly believe, however, that tools will get progressively better,
allowing less people to make more detailed, more immersive games in
less time and effort; it's just a question of time. When that happens,
the ball will be in our (the gamers') hand again: will we buy the
creative titles? Will we reward creative persons and game studios? Time
- This is an interesting throwback to the time when the in-game
graphics were so bad you had to tantalize your customers' imagination
with interesting background stories, or beautifully drawn imagery on
the packaging (recall Defender
for the Atari 2600?). I think concept art has its place, but it's not
good enough. Screenshots don't cut it nowadays either; I distinctly
recall being thoroughly unimpressed with the Doom 3 screenshots and
mesmerized by Half Life 2's, and Doom 3 turned out to be the more
graphically impressive of the two (HL2 is no slouch, though!).
- The image made me laugh my ass off, and though I do not play
adult games I find myself more than a little disturbed by the analogy
(which is closer to reality than I originally thought.)
- It should come as no surprise that men do not know how to cater to women.
I'm a guy, I do not presume to understand women, and wouldn't know the
first thing about what they'd be looking for in a computer game. My
immediate thoughts are "something cute," which is the exact stereotype
and which only goes to show that game designers are probably equally in
- I couldn't possibly agree more. Save points are OUT, quicksave is
IN. Still, I'd like to add that having quicksave/load available is no
excuse for poor gameplay, and actually having to use it every few
minutes equals shitty gameplay (Half Life again).
- Finally someone put it into words. Loading screens are bad, however
I'll add that while I would definitely prefer not having to wait at
all, as long as I'm kept waiting at least make it worthwhile. Half Life
2 had 30+ second loading times per 2-10 minutes of gameplay
(reminiscent of the first game), while Doom 3 would take the same time
to load an area you would play anywhere between 15 and 60 minutes,
which is much more acceptable.
- Woah, I'm glad I'm not a football fan.
- If I had a nickle for every time a bug in a game forced me out of
the "obvious" game space and into an invisible barrier, I would be one
rich monkey. Too bad I don't.
- YES! This is the one thing that's been driving me insane
these last few years. Artifically linear gameplay was one of the things
that annoyed me most about both Max Payne, Half Life 2 and even Painkiller;
it drives me insane not to be able to walk into a room or a corridor
"just because." Half Life 2's electronic barriers were better in that
respect, but certainly not the solution. God damnit, if you want to
trap me in a long corridor, at least don't pretend there are locked
rooms and find some more reasonable way to make it plausible.
- The voice acting and cinematics comments are spot-on. Prince of Persia: The Sands of Time
is a classic example of this; it could've been one of the best games of
2003 had it not been for astoundingly bad voice acting ("I saw my
father turn to sand!") and horrible camera controls.
- While I agree with the authors' frustration, I can't see any other
solution. Some of their comments are certinaly acceptable (particularly
the RPG triggers), but for example I consider ammo starvation much less
an issue than most of my fellow gamers: although I haven't played
Resident Evil for the GameCube, many single-player first person
shooters - Doom 3 and Serious Sam
for example - require (at least in their higher difficult settings)
careful expenditure of ammunition. I consider this part of the
challenge, not an artificial way to inflate difficulty. That I reserve
to just throwing 50% or 100% more monsters at you in the higher
difficulty setting, as is done in most games. I think it's a lot more
challenging to have to use the lesser weaponry where possible against
tougher monsters so you have enough ammo for the big guys. As for
instant-faliure levels, I have two words for you: Half, and Life.
- I completely disagree. There should be the option to unlock
everything, but starting with low-class weaponry is part of the FPS
tradition (as well as a direct cause-and-effect for gameplay), and
unlocking content (or upgrading your car) is a huge part of the fun for
certain types of games. Remedy's excellent Death Rally, or the astounding 2D shooter Tyrian, would be a great deal less fun if you could just start with the toughest ship.
- Oh, I don't know. I love crates.
- I'm increasingly worried about intellectual property issues, in
particular software and concept-based patents. I was not aware of the
effect patents have on gaming, so this is something of an eye-opener
for me. I'll be sure to keep updated on this subject.
- For that matter, stop with the multiplayer bullshit. I don't
particularly like multiplayer, and would definitely prefer to pay less
for most games and just not get the multiplayer capabilities.
- Again, I'm not sure I agree. As long as you have a DVD drive and
MPEG-decoding capabilities, since the console is stuck in your living
room connected to your TV anyway it might as well play DVDs. Or audio
CDs. But I'd rather the other, nonnatural features (PC-oriented
features) be left out of the initial product, and either added later or
just left to 3rd parties. It's obvious that Microsoft and Sony want
their respective platforms to be the centerpiece of the living room,
but I'm not interested in paying for it since I'm not going to be using
- I don't play any massively multiplayer games, so I'm not very familiar with the subject - but I don't like the sound of it.
- Unlike most people I don't have issues with jumping puzzles in first person shooters, providing the controls are adequate.
That is part of the problem, a lot of games did that really, very badly
(again Half Life comes to mind) but a lot of others did it just fine -
proof of that is that I do not recall jumping puzzles that did not
suck, and I've played a lot more FPSs than I can recall jumping
puzzles. (Did that make any sense?)
- Buggre that for a larke. (tm)
That said, I much prefer PC gaming to console gaming; I do not get
along well with the incresingly complicated controllers (still stuck in
the D-pad+A/B buttons era), I hate the low resolution and crappy
displays (good televisions are getting cheaper, but still prohibitively
expensive) and the whole set up doesn't work for me. However, I must
face the harsh reality: I spent the equaivalent of $1500 on my last
machine (sans monitor!), and after 1.5 years I can already feel the
hardware getting dated. Gaming PCs are ridiculously expensive and
short-lived. I'll probably spend the money for my next two PCs on a
next-gen platform and a really great HDTV-capable display and be done
Apparently the GAIM 1.3.0 installer contains a really odd, bizarre or
whatnot GTK+ runtime. Anyways I've installed the Glade 2.6.7 RC-1 GTK+
) and it works like a charm.
I've been slowly but steadily moving to open-source platforms over the
last few months. There are many reasons why and I won't bore you with
the details; suffice to say that most of the major open-source projects
are at worst almost as good as their commercial counterparts, free,
cool and, from a developer
perspective, there's always the option of tinkering.
Here's a selection of some of the more prominent open source programs I
- Mozilla Firefox - the quintessential open-source project, which is lately getting even more spotlight than Linux itself. It has all the
features you can hope for, is much faster than Internet Explorer, far
better in the usability department (tabbed browsing, better download
manager etc.) and is even compatible with about 90% bidi (Hebrew)
websites. I've been using this since Firebird 0.5 (thanks, Ilya!) and
it kicks mundo ass.
- OpenOffice.org - the Microsoft Office replacement that's actually better than Office itself (well, at least Impress and Writer are). A localized version in Hebrew can be found here.
- SpamBayes - open source bayesian filter, with Outlook plug-in. Fast and robust.
- FileZilla - great FTP client and server (on par with
CuteFTP and BulletProof). Windows-only, though.
- The Gimp - photo editor. Not perfect, but as close to Photoshop as it gets without paying mundo bucks, and it's actually pretty damned good.
- 7-Zip - excellent compression tool, with command line as well GUI options, a full library and support for most popular compression formats.
- VideoLan Player - impressive open-source player and codec library. Self-contained and works great.
- JetBrains Omea Reader Pro - excellent news aggregator with a huge number of features I don't generally use (among other things, it synchronizes with Outlook to let you access notes and contacts, it has a newsgroup reader, and more). It's fast, stable and simply good, and best of all - it's about to be released as open source software.
- Notepad++ - terrific editor with syntax highlighting. It simply works.
- ffdshow - a terrific DirectShow/VFW codec pack, including
XViD, DiVX and MPEG-4 video decompression filters. Great quality and
performance. Make sure to Google for the latest build.
- Development tools:
- Eclipse - an extremely
impressive, full-featured IDE which gives Visual Studio a run for
- The Regulator/Regulazy - Roy Osherove's as-yet irreplacable tools for developing regular expressions (particularly with .NET).
- WireShark (formerly Ethereal) - the de-facto packet capture and analysis utility. One of the best debugging tools known to man.
- Cygwin - Posix environment for Windows, with GNU tools and everything. I'm not much of a UNIX guy, but this has proved invaluable in more than one case.
- NUnit - the most popular unit testing framework for .NET. Make sure to check out TestDriven.net (unless you use ReSharper, in which case the built in runner should suffice).
- log4net - Logging framework for .NET. Absolute must-have.
- Good tools I sometimes use:
- Audacity - solid waveform editor
- VirtualDubMod - best-of-breed DirectShow-based processors. I use this to encode, transcode and edit AVI files.
- DOSBox - an open-source DOS virtual machine, emulating slower
machines as well as several audio cards. Great for running old games,
although not perfect.
My open source wishlist includes:
- A proper, open source Norton Commander clone. Currently the best
software in this category is, in my opinion, Total Commander, which
has two major deficiencies: it doesn't support unicode, and it's
commercial. Midnight Commander is Linux-only, text only and just
doesn't cut it.
This is where I'll keep links on a permanent basis. I reckon I'll
update this list from time to time, as my interests (and the structural
integrity of the internet) change.
- Useful stuff
- DodgeIt - Excellent replacement for Mailinator; free, no-setup e-mail box that you can put anywhere to avoid spam and e-mail bots.
- MobyGames - the most complete repository for computer game-related information on the planet
- AnandTech - one the oldest and most reliable sources for hardware reviews, tutorials and guides (and nowadays software and other stuff).
- Tom's Hardware
- another one of the oldest websites around (I've been reading it
steadily since 1998), and still an excellent source of in-depth
- Penny Arcade - the quintessential webcomic, a must for any gamer.
- bash.org - Collection of various quotes from e-mails and IM/IRC chats. Hysterical.
- VGames' webcomic - Hebrew gamer's webcomic that made me laugh my ass off.
Apparently you can't readily sniff IP packets looped back to localhost
in Windows (examples can be found here
). MicroOLAP (with their PSSDK
) and Tamos's CommView
both claim to be able to sniff localhost traffic under Windows, however
these are commercial products that cost mundo bucks.
Does anyone know a free/opensource tool that can do this? With Linux
(and most UNIX-derivatives) it's a simple question of tcpdump -i lo
, depending on the system), figures it'll be that much more
difficult in Windows...
So it took me a couple of years instead of a couple of hours. I'm lazy,
I know. Sue me. Well at least I got of my arse and actually did
something, although it's (currently) not much...
So what's to find in this 'ere spot on the 'net?
- Development links, advise, rants and tidbits
- I'll bore you to death with what I consider to be good, bad or just plain stupid
- Various kinds of generic thoughts about movies, music, history etc.
Hopefully you may be able to find something interesting or useful here; that's the plan, anyway. Enjoy your stay!