Think About It - Flight Of The Conchords
20100723
Busy-ish.
Just for those keeping tabs on this place: I'm not quite dead yet, just busy woodworking and thinking about issues.
20100625
Some stuff literally hurts on sight.
Between Twilight and Harry Potter, it's a tough call which is working harder on grooming kids to Olympic levels of brat-ness.
On a related note, I saw New Moon about 4h ago, and my brain still aches… I fear permanent scarring.
On a related note, I saw New Moon about 4h ago, and my brain still aches… I fear permanent scarring.
20100502
20100422
Legal dress code.
After a couple trial runs at city level, Belgium is about to pass a law forbidding the public display of full-head veil in public spaces, and Frogland is next in line — according to the local ruling clique.
What strikes me as fairly dumb in both cases is the pretense under which such laws are pushed through, namely under the guise of protecting women and their humane dignity from oppressive traditions, when it's plain as day the real target here is militant Islam, perceived by some in both countries as a mounting peril for the local culture, and that rubs me the wrong way, as a matter of principle.
See, I'm a sucker for consistency, in game design or in public affairs, and despite my personal understanding of religion as a mental disorder, I can live with the fact constitutionally secular countries such as France or Belgium recognize freedom of faith, and even their endorsing religions to an extent, as long as it's under a principle of equal treatment.
And that's where I see some issues with the dress code laws…
- Not all Muslim women routinely wear a face-covering veil, but almost all women who wear those (and insist on not removing it in public places) happen to be Muslim. As such, these laws effectively target and punish people on the basis of their religious affiliation, which both in Belgium and France should be impossible under their respective constitutions.
- The second argument is public safety, as in wearing a face-covering dress allows one to conceal his or her identity in public and therefore could be instrumental in the perpetration of criminal offenses, encouraged by the increased odds of getting away with it. This may have held at least shallow water, if not for the fact campaigning for those laws clearly revolved around the Muslim veil as topical item, so it's a serious case of 'too little, too late'.
- The third point, the one the French supporters of this bill plan to hammer on to get it passed into law is the preservation of 'humane dignity' on behalf of the poor, oppressed burqa-girls (although what you mostly — and seldom — see in France is simple niqāb), and this angle qualifies as Broken, For Real™. This last one warrants a bit of elaborating…
The 'humanist' argument hinges on the assumption women don't choose to wear a niqāb and are — explicitely or implicitly — coerced in doing so by mysoginistic and machist traditions imposed upon them by men in their families and communities. Furthermore, it posits forbidding the cloth will liberate these women and allow them to connect in a 'normal' way with society and with their inner feminist self, thus sapping the foothold Islamic bigots have gained in our precious secular democracies.

Right. This is going to end well, I'm sure.
- If niqāb-wearing women are indeed victimized by their community and can't stand up to the pressure they're under to dress as told, they aren't guilty of anything and shouldn't be punished for it. Good luck finding a way to establish causality and fine the husband because of the wife's dress code — although this would probably be more effective and could be good fun. Fail.
- Regardless, helpless-by-definition women (in this context) won't grow a pair because the law says so, so they'll simply stay at home or pay the fines (less likely), with a direct result of alienating them further for lack of opportunity to connect with 'normal' society (which seems to be the purported end goal here). Re-fail.
- Conversely, if they actually are making a choice in how they dress and express their religious beliefs, then they aren't victimized, and thus there's no legal basis to oppose their behavior, (insofar as it doesn't cause explicit harm to others) unless one purposefully intents on persecuting Muslims, which — as pointed earlier — should prove unconstitutional in either France or Belgium. Triple fail.
Either the 'human rights' proponents of the niqāb ban are right, and these women really are hapless victims, or they're wrong, and the burqa is a matter of personal choice and religious expression… in any case the proposed bill is a non-sequitur.
My 2 eurocents ? Handle religions for what they are: a mental condition ranging from a harmless quirk of personality to a serious psychosis, depending on the severity of the delusional state, and treat it as such.
Get the patients professional help, don't feed their neurosis by encouraging it, and when necessary, take the usual steps to protect them and society — starting with screening out overcompensating midgets lacking a super-ego *before* they get into presidential office.
For a different take, here's what the hive-mind has to say on the issue.
My euro-tip: for consistency's sake, if we must harass and fine women to protect them from humiliating themselves as a result of peer pressure, can we outlaw boob enhancements first ? At least there is evidence of bodily harm, there.
***
20100419
Food for thought.
It just occurred to me that in the matter of credit attribution as to where we — as a species — are today, too much is given to our fabled neo-cortex, while way too little recognition goes to our palate and digestive tract's prowess.
So here it is: our gut smarts are underrated.
To clarify, I'm not about to go all redneck on you, and argue the case that guts know better than brains as a rule (even though it may happen sometimes), and I'll leave truthiness to whom it belongs: comedians, teabaggers and choking-on-pretzels ex-POTUS.
So here it is: our gut smarts are underrated.
To clarify, I'm not about to go all redneck on you, and argue the case that guts know better than brains as a rule (even though it may happen sometimes), and I'll leave truthiness to whom it belongs: comedians, teabaggers and choking-on-pretzels ex-POTUS.
Instead, I'll go out on a limb, as per standard protocol here, and tentatively argue: our guts play an under-appreciated yet decisive part in the historical making of our brains, both as a facilitating agent and enabling device.
*
Consider this: we humans come omnivores as a standard issue, and tend to embrace it unless constrained to a less diverse diet imposed by circumstances or personal/cultural biases. At face value, our gut would deserve praise if only for its ability to use almost anything we stumble upon for fuel — on the omnivore's radar, anything that is or was alive once could be dinner.
We partly owe to our guts to have survived and thrived in a variety of environments that non omnivorous species can only dream of, but I'd wage that's only half of it…
Opposable thumbs are cool, for sure, but they're of limited relevance if all you do is twiddle them: how and to what end you put those to work is what's key.
Our brains are a spectacular learning machine, a difference and inference engine that can find patterns in a chaotic wealth of information, derive meaning and build narratives or concepts to organize the universe, with us as its focal point.
As it seems obvious a direct relation exists, between the diversity of experiences and stimuli we're exposed to and the opportunities we get to make new and smarter inferences, anything that helps us survive and explore new horizons is increasing our odds to have a eureka! moment, or its intuitive, less conceptual equivalent.
And just like our opposable thumbs, our guts enable us to explore and experience more, not only by keeping us fueled and clanking beyond the point where the Duracell rabbit would finally stop, but by providing us with the means to experience more. Non-omnivorous animals don't get the chance to try much of the gastronomical aspects of pleasure and discomfort, simply eat whatever limited selection of food they trust to process without falling sick, and won't even think about ordering off the menu, even when it sucks — ask any panda how they feel about their last meal(s) for a very fucked up perspective on this.
And just like our opposable thumbs, our guts enable us to explore and experience more, not only by keeping us fueled and clanking beyond the point where the Duracell rabbit would finally stop, but by providing us with the means to experience more. Non-omnivorous animals don't get the chance to try much of the gastronomical aspects of pleasure and discomfort, simply eat whatever limited selection of food they trust to process without falling sick, and won't even think about ordering off the menu, even when it sucks — ask any panda how they feel about their last meal(s) for a very fucked up perspective on this.
*
Long story short, being able to process diverse foods extends our biotopical reach and our ability to move around, yet also broadens our mental horizons and sense of aesthetics. Diversity of tastes, textures, shapes and colors all give our brain those little jolts that once in a while may spark a new and interesting connection, even though we may not always realize it at the time, and the same goes for those different landscapes, climates and environments we would never have dreamed of, had our omnivorous bowels not kept us alive through there.
Thus, I suggest you make today (which is whenever you happen to read these lines) your personal Gut Recognition Day and celebrate GRD by thinking hard about how much we owe our intestines for coping with our whims as they do, be thankful for that, and vow never to deny your guts their rightful part by ensuring you don't eat the same grub every day from now on, if you can afford it.
Thus, I suggest you make today (which is whenever you happen to read these lines) your personal Gut Recognition Day and celebrate GRD by thinking hard about how much we owe our intestines for coping with our whims as they do, be thankful for that, and vow never to deny your guts their rightful part by ensuring you don't eat the same grub every day from now on, if you can afford it.
Your neo-corticoïdal bowels thank you in advance.
***
20100228
20100222
CloudGaming
Cloud computing moves the computation and rendering entirely server side, albeit in some high-level, abstract fashion, where the server-side capacity is managed as an utility rather than as a finite asset.
This leaves the client with a fairly dumb terminal shaped like a smartphone, HDTV set or pretty much anything that can display a video feed received through a broadband connection (wired or air), and send out standard user input (key commands, motion sensor data, possibly voice and video in some applications) back to the cloud.
In a nutshell, it lifts most of hardware and software requirements currently associated with 3D gaming from the user end, thus enabling a myriad of cheap, everyday devices to perform suitably as HD gaming platforms.
On the server side, the high-concept tends to favor decoupling server ownership from operation and usage, and to move computing and rendering power towards a model akin to that of bandwidth brokering. Game operators are expected to rent both processing and rendering power by the metric ton just as they would rent bandwidth to serve the resulting video feeds to the end users' client devices.
Contrary to the console platforms, which by nature are subject to vendor lock-in, cloud-based gaming should allow developers to code for whichever suitable software environment they choose, as the server software is meant to be loaded seamlessly, on demand, onto the rented hardware.
On the business side of things, this is obviously an attractive proposition. Game operators will be able to serve a nearly limitless user base with a single core product version: cross-developing for different platforms will no longer be useful, and only minor resources will be devoted to maintaining compatibility, mostly on the interface side of things, to accommodate the variety of typical gaming devices (display layouts, standard inputs and such).
From a game developer standpoint this is a wet dream, with all the benefits of console development (well-known, controlled hardware/software environment) but none of the drawbacks (no vendor lock-in, unlimited processing and rendering power scaling gracefully on the fly), provided suitable business models are found to share the burden and the revenue associated with the server architecture.
Applied to R-POWs, cloud computing promises even more goodness by tackling, or at least mitigating, the infamous reverse-economies of scale that currently apply to customer support.
The more sophisticated and popular the game, the more diverse and complex the overall hardware and software client base becomes, and the more likely users will run third party 'helper' software alongside the game client. As a result, technical support gets proportionally costlier as the user base grows and as time goes by and the variety of more-or-less recent configurations to support increases.
A despotic control over the gaming platform, insulated from user interference, translates in enormous savings on technical support and a proportional increase in customer satisfaction — by way of less dissatisfaction.
Here be other entries tagged with CloudGaming.
This leaves the client with a fairly dumb terminal shaped like a smartphone, HDTV set or pretty much anything that can display a video feed received through a broadband connection (wired or air), and send out standard user input (key commands, motion sensor data, possibly voice and video in some applications) back to the cloud.
In a nutshell, it lifts most of hardware and software requirements currently associated with 3D gaming from the user end, thus enabling a myriad of cheap, everyday devices to perform suitably as HD gaming platforms.
On the server side, the high-concept tends to favor decoupling server ownership from operation and usage, and to move computing and rendering power towards a model akin to that of bandwidth brokering. Game operators are expected to rent both processing and rendering power by the metric ton just as they would rent bandwidth to serve the resulting video feeds to the end users' client devices.
Contrary to the console platforms, which by nature are subject to vendor lock-in, cloud-based gaming should allow developers to code for whichever suitable software environment they choose, as the server software is meant to be loaded seamlessly, on demand, onto the rented hardware.
On the business side of things, this is obviously an attractive proposition. Game operators will be able to serve a nearly limitless user base with a single core product version: cross-developing for different platforms will no longer be useful, and only minor resources will be devoted to maintaining compatibility, mostly on the interface side of things, to accommodate the variety of typical gaming devices (display layouts, standard inputs and such).
From a game developer standpoint this is a wet dream, with all the benefits of console development (well-known, controlled hardware/software environment) but none of the drawbacks (no vendor lock-in, unlimited processing and rendering power scaling gracefully on the fly), provided suitable business models are found to share the burden and the revenue associated with the server architecture.
***
Applied to R-POWs, cloud computing promises even more goodness by tackling, or at least mitigating, the infamous reverse-economies of scale that currently apply to customer support.
The more sophisticated and popular the game, the more diverse and complex the overall hardware and software client base becomes, and the more likely users will run third party 'helper' software alongside the game client. As a result, technical support gets proportionally costlier as the user base grows and as time goes by and the variety of more-or-less recent configurations to support increases.
A despotic control over the gaming platform, insulated from user interference, translates in enormous savings on technical support and a proportional increase in customer satisfaction — by way of less dissatisfaction.
***
Here be other entries tagged with CloudGaming.
- Head in the cloud, and beyond. Of the visual and simulationist goodness potentially unleashed in the cloud.
20091231
Co-Optimus
I was talking about coop-centric gamedesign (and specifically AI) yesterday, and I forgot to link to this interesting topical website — linked by Chris M. Park's blog, also very much worth reading, for that and more.
Merry '10, people, this will be an interesting year, in the Chinese and any other sense, I reckon.
20091230
Coop vs AI
An emerging trend in the world of strategy/tactical games of late is the focus on coop multiplayer vs AI, as opposed to the more traditional use of AI as a stand-in for an absentee 'real' opponent.
While not entirely new, this is an interesting development, and one of the many subtle ways in which the wargames (as a broad category/genre) are finally getting payback from the adventure/action/RPGs that have shamelessly 'borrowed' from strategy games forever, without giving back much love until recently.
***
While other genres have evolved spectacularly over time, thanks to genre fusion/bending and cross-pollination, strategy games have known few significant changes since the emergence of RTS:
at core, most strategy games tend to fall in either of two categories: computerized renditions of boardgame-styled designs, or mildly brainy action games sitting in a fancy simulated environment, with eyecandy added to taste.
The reason for that is simple: strategy and wargames are traditionally and by nature thought of as 'versus' games, yet current AI do thoroughly suck at emulating a 'real player' opponent.
Thus the tried and true solutions to make the AI look good boil down to either very solid game mechanics that even a seriously retarded bot can't screw up, or relatively simple game design (that an AI can handle, with cheats if needed) fleshed out by a rich enough simulated environment to overload the cognitive capacity of the human player and create the illusion of lifelikeness.
As a result, designing for single or multi player(s) has often been perceived as an either/or choice: a good single-player campaign usually will hinge on RPG-like scripting, crafty level design, extensive playtesting, with some storytelling and cutscenes thrown in to thicken the sauce, while the multiplayer PvP mode requires solid boardgame-like game mechanics to work — it's really tricky to do both at once and well enough in a single game.
***
Luckily, other game genres bring a comparatively lateral-thinking answer to this dilemma: cooperative multiplayer.
As hinted above, this is a counter-intuitive option for strategy and wargames, and although coop mode has been present in the multiplayer options of many a RTS in he past, it generally has been there for the sole sake of exhaustiveness, and rarely if ever been a defining feature of any srs bzs strategy game until recently…
Just to be clear, I'm talking about coop vs computer here, not team-based PvP, which is indeed cooperative too and can spice PvP quite a bit, but is still PvP at core and is not an essentially different play mode from FFA PvP, mechanics-wise.
Coop vs AI (CVA) comes from CRPGs (notably MMOGs) and action-adventure genres, which have been struggling for a long time to reconcile their single-player heritage with the commonly accepted wisdom (and now built-in expectation) that multiplayer adds value to a game. In those genres, Coop gameplay is a fairly obvious way to go about bringing more than one player on the same boat, and is also a welcome answer to the seemingly insurmountable problem of Artificial Stupidity of henchmen and other computer-driven teammates in RPGs and action-adventure titles.
***
Applied to strategy games, the eureka moment of going CVA involves putting the genre on its head: the common ancestors of all wargames are about two guys sitting on chairs across a table and duking it out over a board and tokens — at face value, making it about two guys helping each other to beat the crap out of a machine is more of a leap than a stretch — but in hindsight, CVA looks just as elegant and obvious applied to strategy games as to CRPG.
CVA works best when freed from the preconception that the AI's there to substitute an absentee human opponent, which AIs are notoriously bad at.
Dropping the Turing-test idiot ball and instead embracing a PvE-centric design approach allows to build a game that can be equally interesting in solo and multiplayer mode, as the game mechanics no longer need to cover for Artificial Stupidity. It's certainly extra work over just bolting more seats on a single-player game, but it's definitely the easier path (compared to faking human intelligence with scripts) to get something worth playing.
Coop doesn't mean the challenge, tension and sense of accomplishment have to be diminished, either : the human factor and drama fuel can be just as strong when players try to work together rather than intently butt heads, and a CVA design can still be spiced up with multiple coops competing against both the AI and each other, as long as the AI is clearly defined as the primary threat/target.
The brilliant (despite disputable looks) 2009 poster child for that approach is probably AI War — go check it out now if you haven't yet.
…and if you want to know more about the AI in this particular design, here's a good and thorough writeup series.
***
20091229
20091130
Head in the cloud, and beyond.
There's a lot going on vis a vis cloud computing these days, and it has been occupying a good share of my time lately, especially considering what it can do for the future of R-POW gaming…
I was so busy trying to wrap my mind around its potential from an infrastructure and business standpoint, how it could inform game design practices and tie with other pink unicorns like augmented reality and AI/AGI, I missed the obvious… frickin' gorgeous games.

Minesweeper on Windows™
R-POW, in their various MMO* incarnations to date have been plagued with the general curse of blandness at best, ugliness at worst, with a few notable exceptions such as EVE online and World of Warcraft, which have managed to make for reasonably good looking games by banking either on a hardcore g4m3rZ userbase with matching rigs, or on insane talent and production value, respectively.
Cloud-based gaming, by moving the computing power out of the end-user field, not only brings hardware requirements down (all you need is a decent display hooked up to broadband — read any HDTV-capable appliance), it opens the possibility to code games with previously unreel hardware reqs that would have reduced the potential market to the niche of very special nerds operating liquid-nitrogen-cooled gaming clusters, purpose-built for one title.
Incidentally, such systems exist, they're called military-grade training simulator platforms, and for some reason it's an approach that never made it big in the consumer market — I blame the terrible dress-code and hairdos, personally.
Moving on…
Cloud computing doesn't just hold the potential to bring down development and operating costs of R-POW, to let studios finally make a buck by steering clear off parasitic publishers & retailers, or to open the way for easy licensing and high-quality indie games by allowing costs to scale up gracefully with user base growth. The biggest change may yet come from the fact games will no longer be defined by the limitations of the end-user hardware. People (and designers) will be able to make decisions based on what they need/want, rather than what the target PC or console can handle.
No longer forced to design and code within the confines of 5 years old consoles or $600 office/family PC, game makers will be able to trust the platform to glitchlessly churn out the latest in rendering algorithms, and may even gain access to on-the-fly throttling to beef up the simulation engine to meet the demands of a climactic scene.
Movie-level visuals, plus solid simulation engine, massively multiplayer, always on, from your smartphone to your wide-screen TV… now we're getting somewhere.
***
20091129
Apple in bed with BigPharma™ companies ?
Here, get a tinfoil hat so I can talk to you safely, and hang on, you're in for a treat…
Apple has figured a new way not to honor AppleCare warranties on their very expensive hardware — preexisting conditions.
If your machine has been taken out of its original shipping box, or at any time since purchase otherwise ventured outside of a clean room and into contaminated environment, a.k.a RealWorld™, Apple will not service it under AppleCare, because frankly, you brought it on yourself by daring to, you know, use the computer, instead of setting it on display in your personal gallery's sealed, bulletproof shrine, with Colorsync-matched gentle UV-free lighting.

Apple computer used as intended.
This should only come as a mild surprise, considering the high standards of customer service Apple is known for, and how Apple service reps are encouraged to deny warranty claims on the slightest pretext (one Apple service center employee explained me how he's been briefed on the not-so-subtle art of tripping 'submersion sensors' to turn warranty-covered faults into revenue-generating after-sale servicing).
The recent stories about second-hand smoke as a warranty-voiding 'clause' however, show Apple reaching to a new level of creative callousness that warrants notice.
Here's the reasoning: Apple is not refusing to service the machines that show (?) signs of having been exposed to tobacco smoke out of a misplaced sense of anti-smoking righteousness or — perish the thought — as a flimsy excuse to save costs at the expense of the customer, oh no… it's doing so because it can't in good conscience expose its employees and service reps to bio-hazards…
Here's the reasoning: Apple is not refusing to service the machines that show (?) signs of having been exposed to tobacco smoke out of a misplaced sense of anti-smoking righteousness or — perish the thought — as a flimsy excuse to save costs at the expense of the customer, oh no… it's doing so because it can't in good conscience expose its employees and service reps to bio-hazards…
What would you want Apple to do ? Knowingly poison techs by feeding them your toxic waste, you monster !?
I wish I was making this up, but no: apparently it is part of the standard service procedure that Applecare techs are required to lick every part of your machine chassis to clean it up thoroughly before re-assembling it — which also implies part of the training for Applecare servicing certification centers on learning how to lick one's way around the aforementioned moisture sensors.
Leveraging imaginary health-hazards to shift the blame on the customer for its ailments and therefore deny coverage, while painting ghastly pictures of alternative protection systems faintly reminds me of something in recent US news, but I can't quite put my finger on it right now… nevermind, it'll come back.
Leveraging imaginary health-hazards to shift the blame on the customer for its ailments and therefore deny coverage, while painting ghastly pictures of alternative protection systems faintly reminds me of something in recent US news, but I can't quite put my finger on it right now… nevermind, it'll come back.
Not to be insensitive to the ordeal of career Steve worshipers with an oral fetish for delicious machined aluminum alloys, but I'm starting to wonder if Apple seriously means to end the hackintosh excursion, or if they're just pretending to, for the sake of maintaining their image of batshit-insane control freaks, while really plotting to push their users into switching to cheap knockoffs ?
If your machine must be disposable — by virtue of being more expensive to maintain than replace — do you really want to shell the extra 30% Apple-brand tax on it ?
I didn't think so.
20091127
20091124
Story of my life.
Either I'm getting complacent and easier to please (which would be subtly ironic, given the link below), or I'm on a roll for finding stuff worth reading, lately.
In this case, and for my sake, worth re-reading at least once a week until it sinks in.
In this case, and for my sake, worth re-reading at least once a week until it sinks in.
20091123
Another bullseye.
You may remember I mentioned Eschaton Online a few days ago.
Turns out Gnostic Labs seems very much dead, but unless I fell prey to an eerie case of fortuitous homonymy, I believe I've picked the scent of one Jake Cannel, once of the Eschaton Online team, who's nowaday focusing on computer graphics, on the western US coast.
As it happens, he blogs, like anyone with access to tap water is required to nowadays — seemingly by law — yet to the difference of most, it's definitely worth reading, at least if you're into his kind of stuff.
This, especially, about the evolution of gaming platforms and how it could impact development practices is at once well-written and spot on, imnsho.
Not much more to say right now, although I poked a company that's working on the kitchenware version of that idea, roughly… I'll get back to that if/when I get word from them.
20091122
Getting there.
The rapture of the nerds is on us, or close by, according to Itamar Arel, who gave an interview last month to Sander Olson. Read it there.
The skinny is Dr Arel believes we're just a decade away from the first proto-human artificial intelligence, roughly baby-stupid (or smart, depending on your personal bias), and from that point on, there's no stopping the singularity from happening within the next few minutes.
Meanwhile, I'm being clever trying to figure ways for MMO* to suck less… Considering the likelihood of success on that front, I suspect it will be a relief to be ended by our mechanical overlords.
Yay.
The skinny is Dr Arel believes we're just a decade away from the first proto-human artificial intelligence, roughly baby-stupid (or smart, depending on your personal bias), and from that point on, there's no stopping the singularity from happening within the next few minutes.
Meanwhile, I'm being clever trying to figure ways for MMO* to suck less… Considering the likelihood of success on that front, I suspect it will be a relief to be ended by our mechanical overlords.
Yay.
20091121
How the MMO* production model is broken.
Not spanking new, not illuminating (because of the next proposition), this entry by Scott Jennings summarizes so neatly a bunch of points I subscribe to, I figured I'd just link it here for future reference — at least until one of the younguns educates me on shared bookmarking or somesuch.
In the meantime…
In the meantime…
And don't miss the comments, Lum's readership is half the goodness.
20091119
The meaning of PvP.
…meanwhile, on the other blog.
I usually try to keep things separate between my EVE-specific rants and musings, and the broader design issues I discuss here. The last two downtime fillers on EVE is broken obviously relate to EVE, but really are what I believe to be generally valid observation about the nature of the relationship between carebear-type players in R-POW and the PvP playstyle(s).
If you're interested in pop-psychology applied to PvP, you may want to check at least the first entry: it was a bit of a shocker even for me as I drafted it (obviously, odds are I'm not the first to have this specific eureka! moment).
Today's filler is a bit more EVE-centric, but I reckon anyone with a passing familiarity with the subject in other R-POW can work their way around the spacenerd-flavored rocks easily enough to keep it legible.
ttfn, time for coffee.
Subscribe to:
Posts (Atom)
