Showing posts with label automata. Show all posts
Showing posts with label automata. Show all posts

Thursday, October 10, 2013

At least my phone is newer?


Like many of us computer nerds, my mom's generally used hand-me-down computers. Her "desktop" machine-- which I put in quotes because my mom's "office" (most of us would say it looks a good bit like a "living room" or a "den") has never had a desk in it-- anyhow, her "desktop" is my seven year old Macbook Pro. When she saw my Macbook Air a few years back, though, she realized that it would be so much nicer for travel (which is why I have it) and would work quite well for taking on a cruise-- so she didn't wait for me to have one to hand down and bought herself a brand new machine. (Which is good, because she'd still be waiting.) 

But even though it's a much newer machine, it's a bit small for every-day use-- oddly enough, I think it's a "laptop" that wants to be used on a desk so you can get your eyeballs closer to it. So even though my old Macbook Pro is starting to develop some overheating issues, it won't make a good stand-in for the desktop. So now she's looking at buying a new 15" laptop for the house.

This means that my mom, who up 'til recently used almost entirely hand-me-downs for computing, will have both a newer "desktop" and a newer travel machine than I have. 


That in itself is strange to me, but that's only what lead me to the weird part. Sure, part of the reason for this is that her use cases no longer look like mine-- I've no use in my life for a full-sized laptop, so the machine on my desk in my office is an actual desktop, and she's got nowhere to put an actual desktop (or I'd've shipped her a keyboard, mouse, and monitor to attach to the Air already).

But most of it-- and the strange part-- is that I've had no real reasons to upgrade, so I've got nothing to hand down anyhow.


My desktop machine is a "Late 2009" model iMac that I bought in early 2010, which means I've owned the machine for three and a half years now and the design is pushing four years old. I've never owned a computer this long. I'm a technology enthusiast-- I always seem to want better and faster. Sure, I've made a few upgrades along the way, some of which aren't exactly what Apple intended-- she's got more RAM than Apple would have sold her with brand new and she's got a Fusion drive setup even though those only came out last year-- but it's still a four year old machine that keeps up with everything I want to do-- handily. In fact, for the bulk of what I do, the machine's overkill. Every so often I throw bigger problems at it-- crunch a video, spin up a virtual machine, maybe both at once, but it keeps up just fine.

It wasn't all that long ago that a nerd like me couldn't even contemplate sitting in front of a four-year-old machine and not be itching to upgrade. Software designers keep coming up with new ideas, and those ideas need more processor power. They take more memory. A machine from a few years ago may not have been able to handle more than 4 gigabytes of memory. They didn't have multi-core processors with virtualization extensions to make virtual machines run smoothly. 

...and maybe some cookies while we're at it...
Now, part of that is that I'm not interested in speed for speed's sake. I don't care what the benchmark says. I tend to group computational problems into four categories: "finishes pretty much instantly", "get coffee", "go out for lunch", and "runs overnight." It's rare-- even back when I was upgrading computers every year or two-- that a hardware upgrade pushes a problem from one category to the next faster one. What pushes me to upgrade is when things that were in the "finishes pretty much instantly" category start to get into a realm between finishing instantly and wandering upstairs to pour another mug of joe. 

Sure, I've upgraded a few parts along the way-- and they're pretty hefty upgrades, but it wasn't long ago that the CPU simply wouldn't have been able to keep up. I had usually replaced every component in a computer, with the possible exception of the chassis and power supply, by the time two years had come around. Twice that, and I still feel no need to upgrade.

I can only assume that software engineers aren't holding up their end of the arrangement. 

Sunday, September 8, 2013

It's twenty years ago, all over again.

Well, it's not yet twenty years ago, but soon it will be. 

I loved computer games back then. I wasn't necessarily any good at them, but I sure did love a good computer game, particularly a good computer-based role playing game. I'm not sure where I found time to play them (honestly, mostly, I didn't... I missed a lot of the really good ones of the era), but technology had come along to where games were well beyond anything we'd ever seen before. Sound cards allowed real voices, VGA graphics finally allowed us PC folks to enjoy the sorts of visuals that Amiga owners had been enjoying all along-- and graphics accelerators made 'em even better, renderable in real-time. Possibly most importantly, the CD-ROM allowed more detail to be placed in larger worlds without having to ship a paper crate full of floppy disks. And the games were great fun. 

About ten years ago, games changed again: Consoles caught up with what a decent gaming computer could do. The relatively low resolution of a television screen meant they could build a console that could push around enough polygons to keep up with a mid-range PC for the same price as just the PC's graphics card. CPUs had advanced to where even the cheapest CPU could handle just about any game if the heavy lifting was handed off to the graphics processor. Computer game manufacturers saw a new market for their wares, and soon, most PC games were designed to be ported to consoles. Many of the biggest titles were cross-platform, available both on your desk at the computer and in your living room on the console.

Consoles had a huge benefit: Since the whole console cost about what just a decent graphics card on the PC might run you, they're much, much more common. They're cheap and ubiquitous, and they made the market for these titles much, much bigger, easily justifying the expense of making a game portable to them. They brought gaming to a lot of people who otherwise wouldn't have spent the money on a computer. They kept the computer gaming world afloat; the rising budgets involved with making huge detailed worlds was offset by the much, much larger number of units that you can sell. 

[Warning: Digression begins here.]
A three-headed PC with dedicated racing hardware

Consoles, however, have a few major differences compared to a gaming PC.  I've already mentioned one-- they're relatively low-resolution compared to what you can do with a dedicated gaming PC. Most modern televisions top out at 1920x1080. Common computer monitors are in that neighborhood, but they're available in 2560x1440 and larger. What's more, you can plug more than one of those monitors into a PC, where consoles stick you with just one. Consoles also are generally viewed from across the room, instead of a few feet away on the desk, so what resolution you have isn't as useful.

An example of how this is important is the relatively recent game Dragon Age: Origins. Text displayed on the screen was in a nice, calligraphy looking font. It looked like something you might find a scribe illuminating in a medieval text, which fit in quite well with the swords-and-sorcery setting. This was a problem on a console: Gamers couldn't read the font with all its serifs from across the room-- and there was a lot of it. The game world had a large amount of historical detail presented as if you were reading about it in a book or on a scroll. In the sequel, all text was in Helvetica, and there was much less of it. Don't get me wrong-- I like Helvetica. It's fine for my blog, for example. It doesn't, however, fit so well with the game world. The inability to easily read text also removed much of the history from the game world, which left the game feeling much less epic and sweeping and world-changing than the original.


Consoles are also generally controlled by a game pad. Some other peripherals are available, like racing wheels and flight joysticks, but not nearly to the same extent as custom hardware can be found for PCs. Due to the programmable nature of a PC, you're not limited to the hardware drivers that ship with the console or on your game disc. You can get a little attitude indicator display-- or go nuts and get a full control panel, including the same parts they use in a throttle quadrant in a real 737. You can go even more nuts than that. Even if you're not going nuts, though, every computer out there has a keyboard and a mouse. A keyboard is an awful lot of switches that can control an awful lot of things.

Now, I don't want this to sound like an anti-console rant. Consoles brought huge money to computer games-- and probably kept them alive. Without the ability to sell games to hordes of gamers who couldn't (or simply didn't want to!) buy a gaming PC, only a select few companies would have survived-- and even with that ability, many didn't.  Consoles are important, and there's a reason they've relegated PC-only gaming to something of a niche market.

[End digression. We now return you to your regularly scheduled blog post, already in progress.]

It turns out that many game developers missed the PC model of development, but any time they pitched a PC game that couldn't be done on a console for whatever reason, the idea was shot down-- it costs millions of dollars to make an A-list title, and if you can't sell it on consoles, it's a lot tougher to feel like that multi-million dollar bet is a reasonable investment. 

And then along came crowd-sourced funding mechanisms like Kickstarter. The idea is to go to the community and basically ask for money to complete the game in advance. They also have higher levels of funding for more perks-- perhaps you'll get a digital copy of the basic game for $30, but $45 would get you a soundtrack CD, $100 might get you the sorts of trinkets that would come in the "Collector's Edition" of the game. 

With this sort of mechanism, they can go further-- they can set up things like if you want to spend $1000, you can get your name in the game or perhaps your face in the game as a character. Sometimes they go nuts with five-figure backing levels that might get the backer a chance to meet the development team. 

The most fascinating thing about it to me, though, is the view into the game development process. Periodically, all the backers get an email with what's going on-- how the art is created, how level design happens, how characters are created. You see over time how concept art from early stages gets modified into what's closer to what will be in the game. From my perspective, this stuff is really, really cool.

I'm pretty geeked about what those developers are planning. 


The first one I ran across was Brian Fargo's project to make a sequel to Wasteland, a game his team originally released in 1988 (okay, so perhaps it's 25 years ago all over again.) I'm looking forward to going back to this version of the world after a nuclear apocalypse, and looking forward to the modern visuals that modern computing allows us. The story they told in the original was great, and I expect as good from the follow-on. They crowdsourced almost 3 million dollars to start work on the game, which they expect to release next month.


The same group has already started on the next thing in the pipeline, a follow-on to Planescape: Torment called Torment: Tides of Numenara. The original game is, unfortunately, one of the ones I managed to miss back in the day, but it consistently got good reviews, so I'm looking forward to the follow-on. I'm even kind of hoping I get around to playing the original one day-- I believe it's one of the ones Good Old Games has recently released.  Numenara  raised $4 million in crowd-sourced funding, and inXile expects to ship it in December of 2014. 


Many of the folks from Black Isle (the game studio that did Baldur's Gate and the original Planescape: Torment) have reformed at Obsidian Entertainment. After releasing a number of excellent games (including Fallout: New Vegas, a follow-on to the Fallout games they did at Black Isle), their crowdsourced project is currently called Project Eternity. This one will be a swords-and-sorcery sort of game, and their plans look huge. They crowdsourced just shy of $4 million in funding, and intend to release Project Eternity (though I don't know if that's the name they're going with) in April of 2014.


In 1990, the game most of my dormitory floor was playing was Wing Commander, which was a space dogfight simulation game that included a story that changed based on how you did in the missions you flew-- beat up on the Kilrathi on this mission, and you're that much closer to winning the war, but when they rout your in another mission, your war just got that much harder.  Wing Commander spawned a number of sequels, but then the guy who created it, Chris Roberts, decided he needed a break. When he decided to return, crowdsourced funding gave him a way to build the game he wanted to build. This project is Squadron 42 and Star Citizen. Both will use the same engine and art assets and backstory. Squadron 42 is a single-player game like the Wing Commander series, which then follows on into Star Citizen, which is a massively multiplayer online game in the same universe. It's generated a whopping $18 million in funding, and intends to ship in November of 2014.

I recently downloaded the first technology demo of Star Citizen, and I was surprised: They didn't just render the outside of the ship. The inside is also designed such that instead of clicking on something and poof, you're magically now inside the ship, in the demo you click something and the hatch opens, and you move into and about the ship as if you'd move into and about any other environment-- no cut-scene, no loading screen to transport you to a new zone within the game. It seems like such a small thing, to be able to step inside your starship that you're about to fly, to walk up to the cockpit, and sit down, but I don't think anybody's ever managed to do it before. 

The good news is that there's not that many people wanting to make the sorts of games I loved 20-25 years ago. I'm already so far behind on games I want to play I'll probably not actually get around to playing these four before the decade is out...

Tuesday, May 7, 2013

Craftsmanship? Design?



The other day's rambling about the built-in seating at Louis' Lunch got me to thinking about the phrase, "They just don't build 'em like they used to."

In meatspace, I can understand how this phrase came about. It's easy enough to look out at the world and see plenty of objects out there that still exist where, if they were built today, the odds would be against them at that age. My house was built in 1871, but still holds up pretty well. I'm not sure the house I used to live in, built in 2004, will still be standing in 2145. It's even more prevalent overseas; there are roads and aqueducts that date back to the Roman era-- but yet, the new bus station in Montgomery County has an expected life of a mere fifty years. Assuming they actually fix the concrete they poured, but that's beside the point.



Outbuildings at Dover Castle have held up reasonably well.
When it comes to actual gadgetry, the "automata" I reference in the blog title, it feels the other way around. It feels like they now build 'em so much better than they used to. I recall in the mid 1980s that it was highly recommended that we quit playing with our Intellivision when the chassis got warm; the electronics inside would get the outside warm to the touch in about an hour. But today,  would't think twice about firing up a modern console and burning the entire afternoon. Well, I suppose I would, but it would be because I never seem to have a whole afternoon to play these days. Back in those 1980s, many people wouldn't buy power windows on a car simply because it was "one more thing that can go wrong"-- but these days, it's hard to find a car that doesn't have them. The hardware's gotten robust enough that it doesn't break often enough that people care. A vacuum tube had a mean time between failures of 5,000 hours. Now we have integrated circuits that have failure rates 100 times better than that.

And strangely enough, it's been for entirely opposite reasons. In the early days of building stuff, there was less engineering knowledge. Certainly, there existed architects, but design was nowhere near an exact science and was likely to change even for reasons that had nothing to do with the logistics of building-- the dome on St. Peter's Basilica, for example, went through different designs because as they got around to building the place to where the dome could go on, the architects in question-- and the popes who hired them-- died. But even looking past that, we find that piers that hold up the dome are bigger than the designs called for. The dome in Michelangelo's final plans was ovoid, and was supposed to be taller than the hemispherical dome we see today. Somewhere along the way, the craftsmen who actually built the thing made some adjustments. The basilica was "built to last"-- we never seem to say "designed to last." 

Now, admittedly, looking at the world, there's also a selection bias at hand. We have thousand year old buildings standing and we look at them and think, "Wow, they must've built 'em really well back then." We think the same thing when we see a fifty-year-old classic car on the street. But all we truly know is they built _that one_ really well back then. For every eleventh century castle that still stands, there's probably a dozen that have had their component stones turned into a succession of other structures over the intervening decades.

Designing toward an intended service life is what seems to have changed most everyday objects and is what's leading us to say that they don't make 'em like they used to. We don't build houses out of 3x7" timbers, we use cheap 2x4s. We shave material off a design to make it cheaper to make (or ship!)  even though it might mean the end user will have to replace the part at some point. Engineering and design have given us the ability to design toward goals other than robustness.

Gadgetry, on the other hand, exists in large part because of that engineering and design. One simply can't hand-build a memory device with billions and billions of transistors that makes postage stamps look brobdingnagian by comparison. Design work towards adding features, increasing speed, and reducing power draw are all welcomed.  We don't have to worry so much about the robustness of a design, though, because it'll be obsolete before the year is out.

Software's wound up in an interesting space where we put so much effort into a design and a process, but our implementation winds up not necessarily being top-notch; it's rushed, and the product gets out the door riddled with bugs. It's not that there aren't excellent crafters of code out there; there are. But we've stepped so far away from valuing robustness that other concerns matter more, like being first to market. Perhaps part of it is that we feel we can fix the problems after we ship, as well.

Once upon a time, software was hand-crafted as well, and it was, legend has it, notably more robust. It seems that in fifty or so years, the software industry has matched up with five hundred years of the transition from craftsmanship to design in meatspace.


And now to the actual point of all this rambling: I wonder if there's ever going to be much point in going back? Certainly, there's no cramming millennia of  engineering advances back into the genie lamp, but is there ever a point where robustness becomes a more important design goal again? Is there a point to designing an object with what's effectively an "unlimited" service life?  Given our knowledge of things, could we even do so?  We now know enough about natural disasters that we build things to withstand the "hundred year earthquake" or the "fifty year flood"-- how would we design a structure to handle "any forseeable natural disaster"? Will we ever once again "build 'em the way we used to"?
With the rise of 3-D printing, I can certainly see a world where we no longer head to a local store to buy small objects, we instead buy a design for 'em and print one off at the house. Will that change the way we design things and bring back robustness as a design goal?