Archive for the 'Science/Tech' Category
Odds and Ends
Not much in particular I want to talk about…just dealing with various things that have been happening recently.
I got a new video card recently – a GeForce 8800GTS 512MB from EVGA. It was a bit of a pain getting it into my case…it’s pretty much the same length as my motherboard, so it was a pretty snug fit (it’s nestled right up against my SATA connectors). Performance-wise, though, it’s a dream. I get anti-aliasing in Mass Effect now (as well as a much better frame rate), and games like Half-Life 2 Episode Two that would chug a bit on my old card now run smooth as butter.
Of course, as luck would have it, the same week I decide to upgrade, nVidia drops the 9800GTX to $200, and ATI comes out with brand new cards that keep up pretty well with nVidia’s current offerings. Such are the travails of the PC gamer :p
In the meantime, work has been…not really as interesting as it could be. After the problems we had on the site a few weeks ago, my team has dropped what we were working on before and has been working full steam on mitigation measures. This is kind of annoying for me since I was just getting my first taste of real software engineering(requirements gathering, writing technical specs, getting them reviewed, the whole lot) when this happened. I can’t complain too much though – the site is what keeps us running, and we’re beholden to the customers to make sure it stays up.
(And if you’re still waiting for me to tell you what actually happened…forget it. I like my job too much to risk it like that. If you must know something, get our official position from Jeff Bezos’ radio interview on KUOW this past week)
Speaking of work, in a couple of weeks, I’ll have spent a year at Amazon.com. I might have been in India by this point had it not been for the interim regulation that lets me stay here until my work visa starts on October 1st. Still, one year…what a year it’s been. There have been low points, but the good has outweighed the bad by a significant margin.
I really should do a proper retrospective before I forget.
In the shorter term, though, I was thinking of watching a movie this weekend since I don’t really have anything better to do, and the release of a Pixar movie is always reason to celebrate. Both Wall-E and Get Smart are looking like good candidates for my dollar…any recommendations?
A big news story I’ve been following recently is Bill Gates’ departure from Microsoft. I can’t help but wonder what will become of the company after his departure…Microsoft is hardly the powerhouse it used to be back in the 90s, and has ceded a lot of ground this decade. I found a vitriolic blog post from a (now former) stockholder, who has used the occasion of Gates’ departure to dump all his Microsoft stock. It makes for very interesting reading.
Given the occasion, I’m wondering if I should pick up Microsoft 2.0 by ZDNet’s Mary Jo Foley. I’m in the mood for some insight on where the world’s largest software company is going, and where it might be going wrong.
Speaking of Microsoft, I’m actually writing this blog post in Microsoft Windows Live Writer. Aside from the cumbersome name, it’s a really nice blog client that works with a wide variety of blog sites and services. Very cool, and easily the most impressive thing I’ve seen out of Windows Live so far.
On a final note, the Jun Senoue remix of Lee Brotherton’s Dreams of an Absolution is currently stuck in my head. Yes, I know it’s from the horrendous next-gen Sonic the Hedgehog – but this is one of the (very) few good things about that game. The others being the instrumental version of His World and this cutscene from Shadow’s story.
I sense my last.fm profile looks pretty messed up right now…
1 commentTake back the Web on Tuesday
As you can see, I’ve added a banner to the right for Firefox Download Day 2008. The occasion? Firefox 3 is finally being released. Technically it’s been out there for months now (I’ve been using it since the second beta version) but this marks the completion of development.
The primary focus of the Firefox devs for 3.0 has been improving performance – a new memory manager has been put in, and many of the outstanding memory leaks from 2.0 have been fixed. In addition we now have Acid2 compliance (not a really big deal in the larger scheme of things, but an important psychological milestone) as well as a spiffy new UI (which conforms better to the OS Firefox is running on), and a new feature called the “Awesomebar” which really deserves the name. There’s a nice video outlining some of the new features in Firefox 3 here (Flash required).
The Mozilla folks are trying to get as many people to download it on Tuesday as possible to set a Guiness World Record, so if you already use Firefox 2, or are looking to switch, be sure to pledge your support!
6 commentsThis is seriously impressive
A full 3D engine, with dynamic lighting, textures, bump mapping…written in Flash.
I remember reading a while back that Quake II had successfully been ported to Java, 8 years after its initial release (although it still required you to have the game data files on your hard disk, naturally). Some time afterwards, id software announced that it was working on a version of Quake III Arena you could play in your browser. I was skeptical about it at the time (and the fact that the game actually launches from your browser but runs as its own executable appeared to have borne out my skepticism), but given this particularly impressive tech demo, it may be entirely possible to achieve.
Granted, the graphics are barely up to the standard of 1998, and those textures are rather blurry, but they’ve got to start somewhere.
No commentsTouching is good
Bill Gates and He Who Flings Chairs apparently just gave a brief demo of some of the new features that will be in the successor to Windows Vista.
Click here for a summary at Engadget.
Apparently the biggest two things are that:
- Microsoft has borrowed the OS X dock (or something similar) for Windows 7 and
- Multi-touch (based on their upcoming Surface technology) apparently plays a significant role in the OS
That’s right – multi-touch, aka that technology which the iPhone brought to the mainstream last year. A desktop OS driven by multi-touch definitely sounds interesting, but it’ll require dedicated hardware. Still, Surface is probably the most interesting thing that’s come out of Microsoft in a long time, so I’m genuinely curious as to how they’ll integrate it into a standard desktop OS. In addition, I doubt this will supplant mice and keyboards as input devices – I’m not sure I want to be typing my e-mail by tapping on a touch screen, or aiming my rockets with touch gestures.
Still – interesting developments, worth keeping an eye on.
No commentsThe scaling question
I’ve mentioned before that scaling performance in PC games to lower-end systems is very important. Upon reading Sheba’s post on the same subject, I thought it would be apt to pen down some facts on why scaling is a hard problem, and my thoughts on why more developers don’t do it.
As always, I’ll try and keep technical details to a minimum.
2 commentsDoug Lombardi thinks Crytek are a bunch of idiots
Well, no, he doesn’t. But at least this snippet from this interview with him from Shacknews suggests that he thinks that sane system requirements are entirely a developers’ responsibility:
Shack: Does the responsibility lie somewhat with the hardware manufacturers to market their products in a reasonable way, or is it up to the developers to set sane requirements?
Doug Lombardi: Oh I think it’s totally the fault of the developers. Totally the fault of the developers. I mean the graphics guys, their job to keep pushing the envelope, and as they push the envelope, move the lower-end cards down to a nice price point, so that there’s always this evolution that’s happening. If you’re a hot rod type of guy, and you want to spend $400 on the latest thing, you want to have a smoking machine, and when Left 4 Dead comes out you want to run it at its highest resolution with killer framerates, and call your buddies over for a beer and make them all drool over your system, awesome. But if you’re just a guy who wants a decent PC for less than a thousand bucks, and wants to be able to run games on it, there should be a card out there that runs games at a decent famerate and decent fluidity. Then it’s on us to write for both of those guys.
It’s a business decision, really. Too often I think the development side of things runs the house. People say, “Oh, we’ve got to target those high-end core gamers. We have the best graphics, sweetest screenshots, and we’ll get more press, and we’ll win.” Okay, well, you’ll win in the pre-launch phase. Then when the game comes out, and 60-70% of the people who don’t have that sweet machine–maybe even higher numbers, maybe 80% don’t have that sweet machine–well you just cut off your ability to sell to all of those guys.
You know, it’s hard to be able to have games that scale, and to write performance on the high end, and write performance on the bottom end, but you know, winning in any industry means some hard work, and there’s a certain level of hard work that developers have to take responsibility for. And when you see games that do that, where they have solid gameplay, and they scale well across machines, usually those games do well.
Nothing much I can disagree with there, really. Writing an engine that doesn’t scale to lesser systems and then whining that no-one is buying your game is kind of asking to be laughed at.
On a side note, I downloaded the Painkiller demo yesterday (after watching Yahtzee’s review, obviously) and gave it a whirl. It definitely reminds me of Serious Sam a whole lot; it features a ridiculous number of enemies with rather stupid AI who try to basically gangbang you, while you run backwards firing your weapon furiously. The graphics are definitely very nice for 2004 (although I think Half-Life 2 and Far Cry probably outdo it considerably). If anything in the level moves, you pretty much need to shoot it.
Oh, and the gun that shoots shurikens and lightning? It’s awesome.
3 commentsThe answer to the programming problem I posted
Well, AN answer, at any rate. Click through if you want to see it, but hold off if you want to try it out for yourself.
No commentsRiddle me this
The goal is to write a function in C that, given a null-terminated string, prints it in reverse (You don’t have to return the reversed string – just print it). However, there are a few restrictions:
- You can’t create any local variables (apart from function arguments)
- The only library function you can use is printf()
- You can’t use any other language constructs (no if…else, no loops of any kind, no goto, etc)
- Any subroutines you create must also abide by rules 1, 2 and 3
This is apparently entirely possible. My C is rusty at best, but I’ll be giving it a shot on my newly-formatted Linux laptop (which I have christened ‘Potato’ for some bizarre reason).
A hint that may or may not be useful: think about what printf() returns.
On a side note, my friend’s suggested solution was pretty hilarious; he suggested using a format-string exploit in printf() to point the instruction pointer at an arbitrary location in memory, which he would have filled up at an earlier point with assembly instructions (again using printf()). The assembly code then prints the string in reverse with no regard to the rules (since it isn’t technically C). He hadn’t gotten it to work, but I’m pretty sure that it would, given enough time.
Said friend is leaving Amazon to work for Microsoft in a few weeks, by the way, which makes me wonder what sort of software he might write there.
On an even more hilarious note, as a result of the above ‘solution’, the discussion quickly turned into one about whether or not C’s printf() function is in fact Turing-complete.
EDIT 2008/05/21, 2045 PDT: Solved it! Although the basic idea for the solution came frome one of my teammates…
Time to take the plunge?
This test by ExtremeTech appears to suggest that Windows Vista has finally reached performance parity with XP as far as gaming goes. Another interesting note – Ars Technica has also started recommending Windows Vista (with Service Pack 1) as the operating system of choice in their monthly system guides.
Is it time to bite the bullet and upgrade to Vista? Perhaps along with a nice DX10 graphics card like an nVidia GeForce 9600GT, or an 8800GT…
Vista tends to get a bad rap from a lot of people, but it does have a lot of good features that Windows has been needing for a while (user access control, a composited window manager, integrated desktop search, lots of under-the-cover kernel improvements). The main thing keeping me from upgrading was the possibility that my games (the only real reason I keep Windows on my hard disk) would take a performance hit.
It does sound like a lot of things were changed just for the sake of changing things (like the location of Control Panel apps) which may be a problem when switching initially, but other than that it doesn’t sound like there’s much of a barrier to me upgrading any more.
Can any Vista users (who also use their PCs for gaming) comment?
9 commentsIn need of some Band-aid
Or, should I say, broadband-aid. :P
*gets things thrown at him*
Ars Technica has been doing a lot of articles about the state of US broadband lately (here’s their latest one). I’ve ranted before about how lame the so-called ‘broadband’ in the US is (the fastest connection I can get in my area is 1.5 Megabits per second, and I live in an urban area), but another thing that this problem has reminded me about is the importance of regulation in free markets.
After the stagflation of the 1970s, most of the Western nations spent the ’80s and ’90s in a fit of deregulation, ostensibly to improve market efficiency. Deregulation is good in certain cases (most people seem to point to the airline industry as one badly in need of it, and post-deregulation one could certainly make the case that – post-9/11 shenanigans notwithstanding – the budget airline space has really taken off).
However, claiming that deregulation is universally good is misguided. People who make such claims (I’m pretty sure we all know who they are) ignore one of the important lessons of basic economics: that markets are not infallible. Market failure is inevitable most of the time, and government regulation is needed to mitigate the effects of market failure. Some of these problems have market based solutions – the success of cap-and-trade initiatives in dealing with emissions certainly demonstrates this – but even these need to be regulated so that the supply of permits is kept in check.
Regular telecom companies are subject to this kind of regulation (which is why infrastructure owners are required to act as common carriers), but broadband companies aren’t, resulting in a de facto monopoly or duopoly for broadband services in most areas. Less competition almost always results in higher prices – and that is more or less the situation the US is in now compared with most other advanced industrial nations.
If you ever need to shoot down market fundamentalists, the situation of broadband is as good an argument as any.
No comments