Linden Labs seeks second life in Sansar

“Rydell had a theory about virtual real estate. The smaller and cheaper the physical site of a given operations, the bigger and cheesier the website. According to this theory, Selwyn F.X. Tong, notary public, of Kowloon, was probably operating out of a rolled-up newspaper.”

William Gibson, All Tomorrow’s Parties

Wheeling around Second Life a couple weeks ago, I noticed that the majority of the love that Linden Labs once put into the virtual world had migrated to the company’s latest project – Sansar. And then I discovered it was in open beta testing. Time to make an avatar…


After selecting a flavor of hipster dipshit from a short list of preconfigured beardless children, I started jumping into a few sims … er, “Experiences.” Sansar is being built with the idea that it will be experienced on a VR headset plugged into bleeding edge hardware. I toured it on a 1050p monitor with a GTX 1050 Ti and an Xbox controller. Your mileage may vary.

Overall, Sansar is impressive in a very limited way. Linden did away with many of the conceits that weighed the Second Life experience down, such as the idea of a cohesive world, crazy freedom of movement, instantaneous transportation to half-loaded sims, prim-based graphics, “land” purchasing, and … a “second” life with ridiculous character names.

With it’s thumbnail-based browser, discreet sims, and default user spaces, Sansar borrows a lot from the now-defunct Playstation Home. It’s no surprise to see Home veteran Loot appearing on Sansar celebrating the 50-year anniversary of the Apollo moon landings with two of the best showcase sims I’ve seen on the platform:

With a healthy dose of imagination on my limited setup, this is where I can see Sansar truly shining. A VR-focused virtual world with easy development tools really could bring virtual museums and even virtual “real” places into the eyeballs of students or disabled individuals who would not otherwise be able to experience them. The Egyptian tombs rendered with near photorealistic quality by Linden Labs also highlights this potential:

The demos and experiments available on the service today strongly highlight Sansar’s far more modern rendering potential for fantasy spaces and impossible architecture:

But, never fear, thanks to a very accessible personal space customization interface, Second Life’s shitpost aesthetic is still alive and well:

There are no robo-strippers or sex balls littering the landscape just yet. Sansar’s scripting is pretty rudimentary, mostly consisting of objects that can play audio and visual media or teleport you to other parts of an experience or another experience entirely.

And there are bugs. Oh, the bugs. Experiences frequently fail to load. The game controller setup reverses the X axis on the camera stick, and there is no option to change that. I’ve seen fare share of crashes.

But, overall, Sansar appears to be avoiding mistakes of the past and trying to create the virtual world of the, hopefully, VR-powered future.

Categories: Reviews | Leave a comment

Second Life: A decade under the influence

It has been five years since I “rezzed” into Second Life. It’s no coincidence that those years of absence coincided with the arrival of my nearly 5 year old daughter. I took a whirl this weekend to test out how well my GTX 1050 Ti fares against the 14-year-old virtual world’s notoriously punishing environments.

waves_001I had to resolve a weird objection by Second Life to the nature of my nVidia driver install. It kept telling me that the driver was out of date. What it really meant is that it doesn’t like how GeForce Experience handles drivers, and it wants you to do a direct install. I have never seen anything like this, and none of the other games on my system had this problem. GFE gets a lot of hate from min-maxing enthusiast gamers, but I haven’t noticed it causing any noticeable problems, and it saves me from doing a lot of slider noodling myself. SL is just nuts.

The driver issue was just one of the many signs of neglect that I saw around Second Life. Popular sims that are promoted by Linden Labs on the Second Life web site are refusing to load. The sound drops out on a regular basis. I’ve seen 3 desktop crashes and one spectacular hard crash within 24 hours. The mesh character models look much better, but they hammer the sims’ throughput and slow loading times dramatically. Most of the background textures still look like hell.

Ruth Moabite_002The reason for Linden Labs’ neglect is its new virtual reality project. It’s too busy readying its followup to the decade-old virtual world with something called Sansar – a platform looking to finally, really, no kidding, actually, without a doubt, create Neal Stephenson’s Metaverse. Well, I certainly hope they take my advice.

I’m actually impressed that Second Life is still around and still pulling in a publicly stated 900,000 active users. In its defense, there is really nothing else like it out there. The ripoff OpenSim community is still operating on an ancient implementation of the software; Playstation Home has disappeared; and everything that isn’t a fantasy RPG or a kiddie chat room has pretty much shut down. Second Life can still draw a few dozen people to a sim on good nights, and a lot of the whoring and griefing/trolling that marked its early life has moved on to other platforms. It’s still a pretty freaky place, though, and you shouldn’t let the kids wander around unsupervised.

After watching Second Life’s progression for more than a decade, it’s a shame that the property has been so badly mismanaged and doesn’t enjoy continuing developer love. The last stable release of the official client was in January. Perhaps development will return to the platform once Linden Labs remembers that virtual reality setups are still $500-600 a pop.


Categories: Commentary | Tags: , , , , , | 1 Comment

I’m trying really hard to like No Man’s Sky 1.3

275850_screenshots_20170816202802_1Really hard.

I’m doing the base building quests. I now have a dune buggy. I rehabilitated an old, crashed hauler. I’m even kinda trying to find Atlas.

But I’m not really enjoying it.

For having an infinite galaxy to explore, there is still very little to see in No Man’s Sky, and that’s a problem for a game about exploration. The animals and plants that I’ve found are all pretty samey. The environments look better than they did on the three dozen or so planets that I’ve explored. Every once in a while you come up on a different kind of space station or a weird new monolith to click at, but there’s still very little life to the game. The planets seem to have been previously inhabited, but all of the structures appear to be isolated and expeditionary in nature. No abandoned towns or even inhabited ones.



And then there are the weird limitations. Everything is a brick wall. I wanted to explore an ancient ruin. The game put the structure at the bottom of a sinkhole on a world so cold and windy that I couldn’t last 30 seconds outside the cockpit. I found a lush, verdant, temperate world full of sea to explore, but I could not find a shelter to shift my base to. I found new animal and tried to name it. The profanity filter rejected the word “bipedal.”

Everything you might want to do is gated with a ridiculous time sink. Want to buy a freighter and collect different spaceships? You’re going to need about 100 times the currency you are likely to have on hand. Want to jump from system to system and just explore? Prepare to grind a LOT of resources and craft a lot of fiddly stuff. Want to follow one of the game’s two main quests? Fetch time!

275850_screenshots_20170816203006_1Lots of things are deeply affected by the procedural generation of your part of the galaxy. I have tripped over no fewer than three crashed freighters and have been following their log story like is was some kind of regular feature. My friend, who has played this game since launch, has yet to see one. I recently attempted a timed quest given to me by the exocraft engineer to go find a signal 6 minutes across the map. After 5 minutes of driving across rubble and watching the camera shake like a GoPro, I fell into a hidden sinkhole and couldn’t get the dune buggy back out. Rage quit.

My four year old has become invested in my struggle, though. “Daddy, I hope you find enough iron or whatever.”


Categories: Misc. | Leave a comment

Just Cause 3 does not need story missions

225540_screenshots_20170729160709_1When I first played Grand Theft Auto III nearly 15 years ago, the open world concept was a revelation. The mini map full of icons was an open invitation to nonlinear mayhem. The emergent gameplay from primitive AIs reacting with hostility, terror, or even suicide attempts to your antisocial behavior brought a whole new concept to an industry full of on-rails experiences.

A decade and a half later, Ubisoft has boiled the GTA formula down to a thick, viscous syrup that is just pours all over whatever open world its massive teams build. The concept is played out. It’s ripe for revision. Nintendo’s first real stab at the genre has brought the beloved Zelda IP and survivalist elements to the mix. I see it as a high grain refinement of the idea.

Just Cause 3 is something else entirely. The series has been steadily iterating on its cartoonish physics and pyroclastic style – much like how the Saints Row series steadily cranked up the derangement of its social commentary – and I think the third entry has achieved something close to perfection. Example:

In a single half hour play session, attacked a small military base at night and easily took control of it and its attack chopper. I used the attack chopper to rain rockets down on a larger military base. When the base finally shot me down, I bailed into the water, hotly pursued by enemy choppers. Swimming and hookshotting, I hurled myself into a cliff cave, trying to escape. There, I discovered an enemy patrol boat, which I hijacked. I motored into the cave, trying to escape the choppers, who followed me inside. I quickly discovered that the cave was actually a tunnel, and another, larger patrol boat blocked the exit. I plowed my stolen boat directly into the blockade, jumping and floating away on a parachute as one of the pursuing choppers exploded into the boat wreckage with a gasoline fireball that lit up the night. I hookshotted my way up a cliff, dodging missile fire from the remaining chopper. I stole a small car and fled to a nearby town controlled by my rebel faction. I then hid in the police station while my NPC allies wrecked my remaining pursuers.

None of this was scripted. None of this was part of a sanctioned story mission. However, it was some of the most thrilling gameplay I’ve experienced in an open world game in years. JC3 is full of stuff like this. The game is littered with locations full of bright, red targets just daring you to start a rampage and dodge the fallout. The game even helps you out by radioing in support choppers and other units.

There’s not a whole lot new here. Territory control, crazy mayhem, vast world with lots to do? All been done before. But JC3 tones down the limitations and difficulty level, encouraging you to Fuck Shit Up with impunity, and cranking up the consequences just enough to keep you moving. You can always easily escape for a breather if you like, so there’s never the frustration of almost completing an objective and then getting stuffed at the last second…

… unless you take on a story mission. God, what a downer. Why do developers all think they have to be Naughty Dog? Just Cause 3 doesn’t need some kind of hokey story-driven “action” plot. It makes its own stories with its crazy engine and its broad mandate of “See that? Fuck it up!” Too often, the missions state an objective and then pull a “surprise, now you have to do this ridiculous shit” twist. They have decent checkpoints, they aren’t too hard, and they don’t seem to gate your progress in any significant way. But they’re completely unnecessary.

The time spent on developing these sad attempts at drama could have been put toward inserting triggered drama into the town and military base capture missions. I would love to be locked into a firefight with a town patrol only to have Mario (JC3 Mario, not Nintendo Mario) wheel up in a sports car and take me on a wild goose chase past the destructible objects I’d so far missed. Seemingly serendipitous events would have far more emotional impact in this setting than a mandatory slog through lame cinematic mimicry.

Categories: Reviews | Tags: | Leave a comment

Linux gaming just had another Icarus moment, but all is not lost

ubuntu icarusComputer gaming isn’t a cheap hobby. You can buy $300 consoles, but you subsidize them with $60 games. You can buy cheap games on Steam, but you need expensive Intel CPUs, nVidia GPUs, and a Windows license if you want the full experience. If you have several children, this gets very pricey very quickly.

For the past few years, many parents I know have let their children game on cheap tablets. However, mobile game makers have responded by turning their games into open-ended casinos peddled by walled garden stores. This too becomes expensive when junior starts betting real money on digital items.

There was a glimmer of hope on the horizon. Ubuntu was, until this week, hard at work bringing their popular Linux distribution to phones and tablets. This, taken with the development of the powerful new open-source Vulcan API and decent chips from AMD, threatened to strike a round of blows against the WinVidIntel lock on PC gaming. Imagine a powerful ARM tablet or mini computer running Ubuntu and decent Linux ports of cheap, popular, pay-once PC games.

Yeah, that’s not going to happen now … at least not yet. Ubuntu has given up trying to make Ubuntu work on a form factor dominated by manufacturers who jealously guard their integrated software stores on their devices.

Ubuntu has also given up trying to convince a Linux development community full of cantankerous graybeards that trying to recreate the ultimate Windows XP desktop is no longer the primary goal of moving Linux into the future. Don’t get me wrong. I love Linux Mint. But I’m a dying breed of mouse/keyboard user. The future of computer gaming and productivity is largely going to happen on small form factor hardware with touch screen interface. The death of Ubuntu Unity is a blow to that future.

Linux has always been a chicken/egg problem. Until Ubuntu and Red Hat came along, it was a support and user interface nightmare with constant niggling problems. But there was demand in the corporate space for a free, open source operating system that could break the Windows lock. The future of touchscreen Linux likely won’t blossom until those same corporate forces demand a break of the Google/Apple lock. Once chip makers realize that they don’t need Google and Apple’s software to make their products sell, you will see them more readily cooperate with Ubuntu (or another distro) to get Linux hardware drivers working.

Unfortunately, that will all happen about the time that my grandchildren are all plugged into some proprietary virtual reality interface.

Categories: Commentary | Tags: , , , , , | Leave a comment

nVidia’s GTX 1050 Ti: The perfect graphics card for indie gamers

You wouldn’t know it from looking at screen shots, but Abzu will eat your integrated graphics alive. Don’t let the simple textures fool you. It murdered my AMD A8 laptop and my Core i5 6400 desktop at the lowly resolution of 720p and showed absolutely no remorse. Chalk it up to the gorgeous lighting effects, tons of swimming creatures or even lack of optimization. Didn’t matter. When Matt Nava makes a game, you play the game. If you can’t play the game; you find a way.

abzu 1

What followed my bitter disappointment was a search for a cheapish, low wattage graphics card that could drive a 1080p screen at the standard of a Playstation 4 or Xbox One.

[For those who want to future-proof themselves for the onset of games optimized for the PS4 Pro and the Xbox One Scorpio, ignore this article and go buy an AMD RX 480 or a nVidia GTX 1060 and a power supply. For those who would just like Firewatch to run at more than 20fps, read on.]

The GTX 1050 Ti is the (current) ultimate in low-wattage cards for pre-built systems. It draws 75 watts straight off the board, requiring neither a six-pin connector adapter nor a beefed up power supply to safely kick your system in the pants. It costs less than $150, and it runs cool as a cucumber. No additional case fan required.

Performance-wise, don’t expect miracles. It will blaze through popular online games, such as Overwatch, Counterstrike: Global Offensive, League of Legends, or DOTA 2 at 1080p without breaking a sweat. However, it’s going to sputter a bit on ultra settings in AAA games, even older ones. I threw it against Assassin’s Creed: Black Flag and watched the screen counter range from 40 down to 15.

However, over in indieland, there are a lot of titles that play rather well with the card. Both Everybody’s Gone to the Rapture and The Vanishing of Ethan Carter choked my integrated systems on low settings, but the 1050 Ti held its own on high/ultra with only a bit of screen tear and stuttering. A Story About My Uncle was all buttah smooth, only screen tearing in wide open stages. Dear Esther: Landmark Edition benefited immensely. Submerged looked like a completely different game as the lighting effects exploded across the water.

And Abzu. Damn, that’s just a stunning game. The 1050 Ti poured it onto the screen with no turbulence. Seriously, don’t wait for a stupid sale like I did. Go buy it and play it now.

abzu 2


Categories: Reviews | Tags: , , | Leave a comment

Firewatch and video gamey melodrama

20170212110142_1It’s disappointing that, even as Generation X moves steadily into middle age, the games designed to appeal to the First Video Game Generation are still saddled with the campy, melodramatic conventions of comic books, B movies, and television.

Other than Kentucky Route Zero, Portal and possibly Dear Esther, there isn’t much to recommend in the interactive experience category if one is a well-read, well-watched adult with little ingrained patience for complex control schemes and video gamey tropes.

I was really getting into Firewatch. There was some interesting meat there. Two strangers, separated by space, getting to know each other over the radio, possibly the subject of an unethical study, lonely, rough backstories full of mistakes and regret, good characterization, decent voice acting…

20170312111208_1And then suddenly there was all this pseudo-thriller drammuh – property destruction, violence, missing teenage girls, a dead kid, a survivalist loner, and a bunch of strained emotive voice acting that sounded like two people trying desperately to overcome constipation.

Why is it that video game audiences demand Big, Dumb Thrill Rides? Firewatch could have been a really interesting, branching, gorgeous love story. Instead, it had to hang on to a rickety scaffold of Dramatic Conflict to sell itself to the perpetually bored, adrenaline junkie crowd and the games reviewers who pander to them.

I found the “thrilling” aspects of Firewatch to be a distracting annoyance from the gorgeous scenery and budding friendship of Henry and Delilah. The title’s insistence on inventing stuff for the player to DO, spoiled character building and a setting that should have been allowed to just BE.

20170312105818_1In the end, I was just pushing through the actiony, fetchy, double backy bits of the experience in the vain hope that there might be some kind of emotional payoff for the two main characters. There was, kinda. I appreciate that Firewatch did not conclude with a dramatic uniting of the characters, even going so far as to not show what Delilah looked like. I liked that both characters shared many intense moments, but then separated to return to the lives from which they fled. That’s a very adult ending, but their relationship could have been developed a bit more to give the ending more punch.

I’m really don’t mean to dog on Firewatch. I asks a fair price for a very polished few hours of time. It pushes the art of the possible further into adult territory for interactive experiences. It’s the fact that it comes so close to greatness that makes it a bitter disappointment for those searching for something that isn’t shootybang idiocy.

Categories: Misc. | 1 Comment

Stardew Valley is a (slow) walk down memory lane

Stardew Valley is basically a retro-pixel ripoff of Harvest Moon, a game series I’ve always wanted to love, but always bounced off within hours.

“Ripoff” is harsh. Maybe it’s more of a love letter? A really cloying love letter that makes you queasy when you read it years later with the benefit of maturity and hindsight?

I’ll be fair: Stardew Valley eliminated the “ticking time bomb” element of Harvest Moon that always sucked the joy out of it. You no longer have to get married and save the family farm in two years or less Or Else. You can be a complete slacker and take decades of game time to explore and appreciate the subtle systems.

But let’s be honest – ain’t nobody got time for that once they have kids.

Stardew Valley

Overachiever. No kids.

Despite the admittedly fantastic retro art, music, themes, and tone of the game, I simply do not have hours and hours of interest to burn on trying to figure out the birthday schedule and walking patterns – to say nothing of hopes, desires and romantic tastes – of more than two dozen NPCs. I don’t give a damn about that many people in real life.

For a better perspective, Stardew Valley is best compared to two superior relationship/resource farming games – Animal Crossing: Wild World and the Persona series.

The original Animal Crossing on the GameCube was a strange beast that most people did not understand. It took the concept of Harvest Moon and slowed it waaaaay down, to real time. Every game day was a real day. This was a concept that worked better with its sequel on the DS. It was easier to just pull out the DS and check on your tiny town whenever the mood struck you. There was no frantic dashing around to get things done in a day of game time, like there still is in Stardew Valley.

Persona 3 and Persona 4 (the only ones in the series that I’ve played) retained the relentless march of speedy game time, but they made the relationship parts of the game menu-based, eliminating the need to chase down your prospective boo every day to give him/her a gift and make small talk. This made the rando dungeon grinding easier to bear.

Stardew Valley has a mining/adventuring subgame with a rudimentary combat system (think 2D Minecraft), but it interrupts your farming, gathering and wooing cycle. And it’s brutal. Get killed, and you lose a LOT of money, items and access to mine levels.

Ain’t nobody got time for that once they have kids.

But this is a stellar game for tweens and teens. If parenthood and a subsistence career hasn’t already sucked the romantic inclinations out of you, this is your pot of escapism. I would have obsessed over this game had it been on my SNES. The tone is sweet and brisk. The music is very good. There is a ton of content. And you might not have to listen to inane Minecraft stories for a while.

Categories: Misc. | Leave a comment

Oxenfree is great! But it’s not worth replaying

Over the past year, I’ve read lots of comparisons between Oxenfree – a shortish adventure game about five teens and their supernatural adventures on a Pacific Coast island – and Kentucky Route Zero. I agree with the conclusion of most of these comparisons. Beyond the adventure game control conventions, stripped down art styles, and supernatural elements, these games are nothing alike.

Kentucky Route Zero is a cultural high water mark – an interactive experience that relentlessly references a vast literary and scientific knowledge to produce an expectation-shattering experience. Oxenfree, however, is a Joss Whedon script voiced by Disney Channel actors in the kind of decent adventure game that Double Fine used to make.20161226075307_1

I found Oxenfree to be a very enjoyable, high-quality, 4-hour romp through what appeared to be somebody’s love letter to a specific time and place. And that – far more so than the time looping, branching choices, or hokey plot elements – is what I enjoyed the most about the game. The creators seemed to have lived in a place or places much like Edwards Island. Little exaggerated details abound … or maybe the team was just really good at making details up. A direct question to the team about their inspiration for the setting was not answered during a Reddit AMA in June. Unfortunate.

That setting is a blast to wheel around for the few hours it takes to run through the game … once. While I’m a big fan of the branching dialog and plot, the Lego brick construction of the ending and the promise of more hours of trudging around on a massive collection quest to see the rest of the bricks did little to inspire me to go back.

Even if I had the patience to go through the game another time or two, Oxenfree is not the kind of experience that rewards a split attention. The dialogue comes in a rapid fire fashion and gives you a limited time to respond. My four-year-old did not have sympathy for this engaging design choice. I got through the game with a combination subtitles and the pause button, but I missed a lot.20161226082739_1Also, while Oxenfree is not a true horror experience, it’s not the kind of thing you want to play around kids a bit older than mine. Ghosts, possession, suicide, drowning – fun bedtime conversations for parents whose kids have a developing concept of what’s likely and what’s not.

Categories: Misc. | Leave a comment

RetroPie is a blast, but it’s not the family-proof Nintendo Classic Mini

RetroPie NES caseTechRadar posted a cheeky article today with a very sparse tutorial on setting up a RetroPie for Nintendo Entertainment System emulation, instead of buying a Nintendo Classic Mini.

Actually, if all you plan to do with your RetroPie is load legally gray NES ROMs onto it and play with wired USB controllers, this tutorial will probably suffice. Wander outside that narrow realm, however, and it gets dicey. Also, you aren’t going to save any money (though a RetroPie is a far more capable machine), and the RetroPie is not something you’ll want to let your kid loose with.

I’ve been configuring a RetroPie over the past couple of weeks, and I’ve made several annoying – but not deal-breaking – discoveries:
  • The RetroPie is not necessarily cheaper than a $60 Nintendo Classic Mini. Yes, you can buy a bare Raspberry Pi 3 for $36 delivered. It will have no case, no power supply, no HDMI cable, no controllers, no Micro SD card and no keyboard. This isn’t a big deal if, like me, you can scavenge those supplies from other obsolete sources. However, you are likely to find that your old cell phone power supplies are 2 amps or lower. The RP3 will want a full 2.5A to run well. (Do yourself a favor and get a switch included on that power supply, since the RP3 doesn’t have one.) A basic RP3 kit with a case, power supply and heat sink (necessary for Nintendo 64 emulation) will run you $50. A kit with all of the necessary components (including controllers) will cost you $85. Also, you are going to need a USB keyboard to configure RetroPie…
  • About that keyboard: Even if you manage to physically secure your RetroPie against kid/dog doom, the interface itself is geared toward tech noodlers and people with at least a passing understanding of command line operating system operation. Most of the configuration menus in RetroPie will dump you into an ArchLinux text menu that looks like it was designed in 1983. Perfectly functional, but not controller-friendly. Your young child will likely find one of these menus within two accidental button presses and you will be called on to rescue him/her. RetroPie is not a family-proof consumer-grade product, and it was never intended to be.
  • Wi-Fi is … fickle. My RP3 connects to my Apple router with no drama when using Raspbian. The RetroPie stack apparently uses different network code. It can see my router, but it refuses to play ball.
  • One of the most effective ways to kid/dog-proof your RetroPie is to set is out of reach and use wireless controllers. I have a set of old PlayStation 3 Sixaxis models. They work just fine when wired to the RP3. If you want to use Sony’s proprietary BlueTooth wireless connection, you’ll have to download and install additional packages to the RetroPie. In my case, this meant taking the RP3 and a monitor downstairs to my router, physically plugging it in and then following some not-very-helpful instructions on GitHub. Lots of trial-and-error later, the controllers work, and they work very well. If you use Xbox 360 controllers, the necessary drivers may already be installed.
  • Again, if all you want is an NES (or SNES or Master System or Genesis or TurboGrafix-16 or Atari…) emulator, RetroPie works pretty well as configured. If you want to run N64 games, you are going to need to bump up the RP3’s clock speed. This is easily accomplished by editing a text file and adding heat sinks and a fan to the board. Trivial for a nerd. Not exactly consumer-friendly. And all that cooling equipment is not going to fit inside one of those cute, 3D-printed NES-style cases.
  • I am still trying to figure out how to get games to save. I see tutorials all over Google, but I haven’t spent time on it, and I’m baffled as to why it doesn’t work by default.
  • Arcade emulation is hit or miss without doing some reading. I have a few older games running, but anything from the 90s is refusing to boot. This includes NeoGeo ROMs. Not insurmountable, just a time drain.

 I love my RetroPie, and will continue to work on it and improve it as I have the time. However, as a parent with a full-time job, I see it more as an occasional hobby than a part of the family’s entertainment infrastructure. The iDevices will continue to dominate in that category.

Also, it’s delightfully perverse to play Super Mario 64 with a PlayStation controller…
Categories: Reviews | Tags: , , , | Leave a comment

Blog at