<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Dress to Impress - Neopets wearables made easy

  var _gaq = _gaq || [];
  _gaq.push([‘_setAccount’, ‘UA-6835404-5’]);
  _gaq.push([‘_trackPageview’]);

  (function() {
    var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
    ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
    var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
  })();</description><title>OpenNeo</title><generator>Tumblr (3.0; @openneo)</generator><link>http://blog.openneo.net/</link><item><title>Adventures in Maintenance</title><description>&lt;p&gt;&lt;strong&gt;&lt;img height="150" src="http://images.neopets.com/pets/closeattack/103_left.gif" width="150"/&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Here’s the short version:&lt;/strong&gt; more than a year ago I made a huge mistake in how Dress to Impress handles information. Today I fixed it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Here’s the longer version:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Thursday night, we brought the main Dress to Impress server down for about an hour and a half, temporarily sending visitors the &lt;a href="http://oldimpress.openneo.net/"&gt;old server&lt;/a&gt;. The “enter a pet name” feature on the homepage was also spotty for the following 24 hours. Sorry for any trouble this may have caused, and thanks for understanding.&lt;/p&gt;
&lt;p&gt;Usually when we push an update to the site, the server takes a few seconds to restart and most users are none the wiser. This time, however, we needed to make some very fundamental changes to our database structure that took quite some time to process, which would have made some sections of the site extremely unresponsive. Thankfully, the old server seemed to handle the job admirably. And everything seems to be running smoothly now, hooray!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;And here’s the very long, very technical version:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;First off, Dress to Impress tracks two different types of SWF assets: “biology” assets (like a Blue Shoyru’s head) and “object” assets (like how an Altador Cup Wig looks on that head). These SWFs have a unique ID number among assets of the same type—that is, though there can be both a biology asset #123 and object asset #123, there can’t be two biology assets with ID #123. Since both types of SWFs have a similar structure and need to do similar jobs (like produce PNGs of themselves for Image Mode), it seemed reasonable to store them in the same database table. Then, whenever we wanted to access information an SWF, we’d specify that we wanted, say, object asset #456 or biology asset #789. That was sufficient information for lookup, and everything seemed solid.&lt;/p&gt;
&lt;p&gt;However, I’ll just be blunt about this bit: due to a painful inattention to detail, even though &lt;em&gt;accessing&lt;/em&gt; SWF data works perfectly, &lt;em&gt;updating&lt;/em&gt; that data has been critically broken for more than a year now. Specifically, after I would fetch &lt;em&gt;biology&lt;/em&gt; asset #1337 and update it (for example, if TNT changed its zone ID), sometimes it would instead update &lt;em&gt;object&lt;/em&gt; asset #1337. Ouch.&lt;/p&gt;
&lt;p&gt;I can only assume that this sort of data corruption has been going on for quite some time now. For example, the Shadow Shoyru’s torso, biology asset #598, kept changing zone over the past few weeks (thanks again to everyone who reported the error!), because every time we saw the &lt;a href="http://newimpress.openneo.net/items/35931-mystery-island-lutari-anklets"&gt;Mystery Island Lutari Anklets&lt;/a&gt; (which, umm, are bracelets, TNT), the site would attempt to update the zone for object asset #598. And update the biology asset instead. Sigh. This is also why so many Image Mode PNGs are broken: the wrong SWF was marked as converted, even though it had never actually gone through the conversion process. And it stands to reason that other data has been corrupted over the years, though I suspect that most errors are quickly patched automatically as time goes by, since every time a pet’s name is entered on the homepage, we update our data to match that pet’s appearance. Yay, crowd-sourcing!&lt;/p&gt;
&lt;p&gt;(By the way, the whole 24-hour thing where loading pets by name was misbehaving: that was an unforeseen side-effect of the bug fix, and it has since been patched. Phew.)&lt;/p&gt;
&lt;p&gt;So, we restructured our database, and everything now seems to be in order. We should never see that type of data corruption ever again, yay! However, I would like to point out that, though all seemed well in my basic testing—and I’m no longer receiving automatic error reports every single minute of the day, woot!—it’s very possible that I missed something. Please let me know at &lt;a href="mailto:webmaster@openneo.net"&gt;webmaster@openneo.net&lt;/a&gt; if you notice anything suspicious going on, and bear in mind that we may have to roll back the database if we discover a particularly large error.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So, that’s that.&lt;/strong&gt; Thanks for being willing to handle a little downtime and for all the super-helpful bug reports that helped me track down this nasty little issue. It always makes me so happy to see that, even when I’m off at college and don’t really have the time to fully manage a big site like Dress to Impress, I don’t really need to: you guys take care of everything by yourselves. All the data you see on the site is added and updated by the community simply by entering pets’ names on the homepage, and it’s beautiful. &lt;strong&gt;Thank you for making my life so easy. You’re the best.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Happy new year!&lt;br/&gt;—&lt;em&gt;Matchu&lt;/em&gt; &lt;/p&gt;</description><link>http://blog.openneo.net/post/15794866953</link><guid>http://blog.openneo.net/post/15794866953</guid><pubDate>Fri, 13 Jan 2012 15:03:00 -0800</pubDate></item><item><title>New color: Eventide!
A nice, pretty skyscape, to be sure....</title><description>&lt;img src="http://27.media.tumblr.com/tumblr_lxb3waCM7x1qb6um0o1_400.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;New color: Eventide!&lt;/p&gt;
&lt;p&gt;A nice, pretty skyscape, to be sure. I’m not convinced that we really &lt;em&gt;need&lt;/em&gt; more new colors, but hey! At least they look nice.&lt;/p&gt;</description><link>http://blog.openneo.net/post/15328602448</link><guid>http://blog.openneo.net/post/15328602448</guid><pubDate>Wed, 04 Jan 2012 19:48:00 -0800</pubDate></item><item><title>Image converters back online - and everything's smooth!</title><description>&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; Wow! The converters cleared the backlog much faster than expected. Everything should be smooth sailing now :)&lt;/p&gt;
&lt;p&gt;So, as it happens, the Image Mode converters have been down for a while now, and finals week prevented me from looking into it too closely. However, I’ve since managed to track down the issue, and &lt;strong&gt;the converters are now back online&lt;/strong&gt; and gleefully plowing through a backlog of SWF-to-PNG conversions. Hooray!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Unfortunately, this will likely result in a heavy server load over the next 24 hours.&lt;/strong&gt; The converters are always on, waiting for conversion jobs, but those jobs only rarely appear. Today, however, the converters will be working non-stop to process their backlog, which may cause delays to the main site. Sorry for the trouble, and thanks for understanding.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For the technologically minded, here’s a brief run-through of the issue at play:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Conversion jobs failed to run due to a permissions error on the server: the converter would try to save some temporary files, but would be told that it’s not allowed to save files to that folder, because that folder for some reason belonged to my personal account instead of the converter’s account. I removed the folder, allowing the converter to replace it with a folder that belonged to the correct user, and all was well. Crazy how one small thing like that can bring down an entire feature, eh?&lt;/p&gt;</description><link>http://blog.openneo.net/post/14082840483</link><guid>http://blog.openneo.net/post/14082840483</guid><pubDate>Sun, 11 Dec 2011 13:26:00 -0800</pubDate></item><item><title>Stop American Censorship</title><description>&lt;a href="http://americancensorship.org/"&gt;Stop American Censorship&lt;/a&gt;: &lt;div&gt;
&lt;p&gt;&lt;strong&gt;The internet as we know it is under attack.&lt;/strong&gt; Today, November 16, Congress is holding hearings on the &lt;strong&gt;first American Internet censorship bill&lt;/strong&gt;, which would give the American government and the entertainment industry unprecedented power. This includes the power to &lt;strong&gt;block websites&lt;/strong&gt; for infringing content posted by its users, even if the site didn’t know about it. The bill also makes it a &lt;strong&gt;felony&lt;/strong&gt; with a &lt;strong&gt;five-year jail sentence&lt;/strong&gt; to stream copyrighted content, even in an entirely noncommercial context, such as &lt;strong&gt;singing a pop song on Facebook&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;We already have the Digital Millennium Copyright Act (DMCA), which gives the entertainment industry the power to demand that websites remove infringing content. The DMCA is what makes it possible for us to have free expression on sites like YouTube, Facebook, Twitter, and other social media platforms that allow us to both organize protests and live our daily lives. &lt;strong&gt;This bill would make it legally unfeasible to run websites with user-generated content, and could quite possibly spell the end of the Internet as we know it.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This bill is real and could pass this month.&lt;/strong&gt; Don’t let the government throw the Internet into chaos with a Great Firewall of America. Stand up for a free society.&lt;/p&gt;
&lt;p&gt;See &lt;a href="http://americancensorship.org/"&gt;AmericanCensorship.org&lt;/a&gt; for more information. And, please, don’t let this happen to the Internet we know and love. It’s the most powerful tool we have to express ourselves in the modern world, and such threats to our freedom are unacceptable.&lt;/p&gt;
&lt;p&gt;Thanks for reading.&lt;br/&gt;—&lt;em&gt;Matchu&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;</description><link>http://blog.openneo.net/post/12871702903</link><guid>http://blog.openneo.net/post/12871702903</guid><pubDate>Tue, 15 Nov 2011 22:27:21 -0800</pubDate></item><item><title>Botox round two</title><description>&lt;p&gt;Sigh. Just like last week, Dreamhost started pointing impress.openneo.net to another customer’s website.&lt;/p&gt;
&lt;p&gt;We emailed them asking them to both resolve the issue immediately, and find a more permanent solution. The Dreamhost staff implemented a short-term solution within minutes, though we haven’t heard back yet about why this seems to keep happening. In the meantime, newimpress.openneo.net still works whenever impress.openneo.net goes down, in case anyone asks.&lt;/p&gt;
&lt;p&gt;Thanks for understanding. Happy Monday!&lt;/p&gt;</description><link>http://blog.openneo.net/post/9252198313</link><guid>http://blog.openneo.net/post/9252198313</guid><pubDate>Mon, 22 Aug 2011 08:09:00 -0700</pubDate></item><item><title>Sorry for the Botox downtime! </title><description>&lt;p&gt;Well, that was odd. I woke up this morning and found that at some point while I was sleeping &lt;a href="http://impress.openneo.net/"&gt;http://impress.openneo.net/&lt;/a&gt; started forwarding to some cosmetic consultants website. Umm, weird.&lt;/p&gt;

&lt;p&gt;To be clear: this was &lt;em&gt;not&lt;/em&gt; any sort of attack against DTI, and the Botox site was totally unrelated to Neopets. Dreamhost had some internal trouble, and started pointing that domain to another customer’s website. The Dreamhost support team quickly resolved the issue after we reported it.&lt;/p&gt;

&lt;p&gt;Sorry for the trouble, and happy Sunday!&lt;/p&gt;</description><link>http://blog.openneo.net/post/8927988605</link><guid>http://blog.openneo.net/post/8927988605</guid><pubDate>Sun, 14 Aug 2011 16:56:08 -0700</pubDate></item><item><title>Your Items is released!</title><description>&lt;a href="http://impress.openneo.net/users/current-user/closet"&gt;Your Items is released!&lt;/a&gt;: &lt;p&gt;While waiting for the server upgrade for the most requested DTI feature ever, we’ve been working hard on the second most requested feature: the ability to track the items you own and want. We did it, and did it pretty darn well. Here’s the scoop:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Track your items:&lt;/strong&gt; If you’re logged in, you should see on any item’s page the “I own this” and “I want this” buttons. If you say you own or want it, it’ll be added to &lt;a href="http://impress.openneo.net/users/current-user/closet"&gt;Your Items&lt;/a&gt;, and be marked with a spiffy little icon across the whole site. You can also add items straight from the &lt;a href="http://impress.openneo.net/users/current-user/closet"&gt;Your Items&lt;/a&gt; page with the neato autocompleting search form.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sort into lists:&lt;/strong&gt; You make lists of items you own or want, like an Up For Trade list, for example, or a list of items you still need for that next big outfit. Simple but powerful. Also, you can drag-and-drop to and from lists on &lt;a href="http://impress.openneo.net/users/current-user/closet"&gt;Your Items&lt;/a&gt;, which, during testing, was hours of fun on its own.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fine-tune privacy:&lt;/strong&gt; Each of your lists has its own privacy switch, as do the items that aren’t in any list. You can make items &lt;strong&gt;private&lt;/strong&gt; so no one else can see them, &lt;strong&gt;public&lt;/strong&gt; so that anyone who goes to your items page can see them, or &lt;strong&gt;trading&lt;/strong&gt; so that your name is listed on an item’s Infinite Closet page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Trading 2.0:&lt;/strong&gt; An item’s Infinite Closet page now includes a list of users who own or want that item and want to trade. So, if you need an item, you can see who has it and check to see if you have any items they want in exchange. It’s all very spiffy. Also, you can add your Neopets username to your lists page to make it easy for potential traders to Neomail you.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Import Neopets closet:&lt;/strong&gt; I’m going to let the &lt;a href="http://newimpress.openneo.net/closet/pages/new"&gt;Neopets closet importer&lt;/a&gt; speak for itself. In short, you can get up and running with the items you own within seconds, and it’s pretty darn easy. Give it a shot :)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Export to Neopets petpage: &lt;/strong&gt;The &lt;a href="http://newimpress.openneo.net/user/6-matchu/closet/petpage"&gt;Neopets petpage exporter&lt;/a&gt; is similarly straightforward: your public items compiled into a simple but elegant petpage format. No need to send users offsite to share your trade lists with the Neoboards, am I right?&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;And that’s just the first iteration. As always, I’m looking forward to hearing from y’all on what works well, what doesn’t, and what we should improve. Please post specific ideas in our &lt;a href="http://openneo.uservoice.com/forums/40720-dress-to-impress"&gt;feedback forum&lt;/a&gt;, and send general praise or bug reports to &lt;a href="mailto:webmaster@openneo.net"&gt;webmaster@openneo.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Also, though I’m usually really, really good at responding to emails, I’m going to be spending all day tomorrow, August 1, with my little sister. Bonding and whatnot. Still, please drop me a line, and I’ll be sure to get to you as soon as I can :)&lt;/p&gt;
&lt;p&gt;Thanks as always for your continued support! At time of writing, we’re $56 away from our fundraising goal. If you’re excited about this new feature and Dress to Impress in general, &lt;a href="http://newimpress.openneo.net/donate"&gt;please donate to help us reach our goal&lt;/a&gt;. Thanks again!&lt;/p&gt;
&lt;p&gt;Happy trading!&lt;/p&gt;</description><link>http://blog.openneo.net/post/8327194102</link><guid>http://blog.openneo.net/post/8327194102</guid><pubDate>Sun, 31 Jul 2011 21:18:00 -0700</pubDate></item><item><title>Happy teaser day! While Image Mode is pending a server upgrade,...</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_lp6jutkc1p1qb6um0o1_250.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Happy teaser day! While Image Mode is pending a server upgrade, we’ve still been hard at work…&lt;/p&gt;</description><link>http://blog.openneo.net/post/8284976732</link><guid>http://blog.openneo.net/post/8284976732</guid><pubDate>Sat, 30 Jul 2011 21:16:05 -0700</pubDate></item><item><title>Upgrade successful!</title><description>&lt;p&gt;Today we had some downtime here and there, but it was for a worthy cause :) In short, we swapped out some of the technology that runs Dress to Impress in order to reduce memory usage (that’s how much RAM the site is using) so that we can do more things at once.&lt;/p&gt;
&lt;p&gt;Note that these changes involved moving to a different version of Ruby. I think I caught all of the major compatibility issues, but please keep an eye out for errors and report them when you see them.&lt;/p&gt;
&lt;p&gt;Thanks for supporting Dress to Impress, both by spreading the word and &lt;a href="http://www.pledgie.com/campaigns/13904"&gt;donating to keep our super cool server running&lt;/a&gt;. You guys make it all possible :D&lt;/p&gt;
&lt;p&gt;For the more technically minded…&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Here’s the lowdown on our stack before the change.&lt;/strong&gt; We were using the nginx web server (that’s kinda like Apache) as a proxy to share HTTP requests among three separate instances of Thin, a web server that runs Ruby on Rails applications like Dress to Impress. I originally chose this setup because Thin supports asynchronous connections: most servers can only handle one request at a time, which can be a problem if there’s one type of request that’s a serious bottleneck, like how typing a pet’s name into the box on the homepage means waiting on a request to Neopets.com, processing all that data, inserting it into the database, etc. However, asynchronous requests turned out to be too messy to implement, causing errors on various pages at random intervals. It would seem that the technology isn’t quite as polished as it needs to be. So, I instead left it at just having three Thin instances, since if one were busy loading a pet, the other two were probably free. (And loading a pet doesn’t really take &lt;em&gt;that&lt;/em&gt; long, anyway.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;However, those Thin processes were running out of memory.&lt;/strong&gt; Each Thin instance loaded up its own copy of Dress to Impress and all the libraries the site uses (and there are quite a few big ones!), which require a lot of RAM. This usually wasn’t a big problem, though once or twice a day Monit, our program that keeps an eye on the server, would restart a Thin process for taking up too much memory. Since it was only one at a time, y’all usually didn’t notice, since the other two stayed up; however, falling back on other servers is just our backup plan, and it’s not acceptable for that to happen regularly. Also, we’re working on a big feature that will take some serious processing power over the next few days—guess what it is!—so it’s important that we have significantly more RAM available without sacrificing the concurrency we get from multiple Thins.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So, we moved to &lt;/strong&gt;&lt;strong&gt;&lt;a href="http://rubyenterpriseedition.com/"&gt;Ruby Enterprise Edition&lt;/a&gt; via&lt;/strong&gt;&lt;strong&gt; &lt;a href="http://modrails.com/"&gt;Phusion Passenger&lt;/a&gt;.&lt;/strong&gt; That’s two important things there. The first is another version of the Ruby interpreter. Ruby is the programming language we use to make Dress to Impress, and there are a few different programs out there that run Ruby code. Ruby Enterprise Edition (REE) is a modification of the standard Ruby 1.8 interpreter, designed specifically to reduce memory usage. Phusion Passenger is another open-source project by the same company that replaces our Thin servers. Its main selling point is that it’s easy to plug into servers like Apache or nginx, but its best feature for us is that, when used with REE, Passenger also significantly reduces memory usage. It’s a clever trick: since every instance of Dress to Impress loads exactly the same fundamental application code, Passenger uses REE’s memory-sharing feature to only load &lt;em&gt;one&lt;/em&gt; copy of the application code and share it among the application instances. So, instead of loading three separate copies of the app, we load three mini-servers that use the same application code. Much better for our memory usage by far :D&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hooray! We’re stable!&lt;/strong&gt; Now the server is running more smoothly, and is able to also run a super cool background process or two…and those who stalk &lt;a href="http://github.com/matchu/openneo-impress-rails"&gt;the Dress to Impress source code repository&lt;/a&gt; should know what they are for ;) It’ll be a few days until all that heavy-duty processing is done, but it will be so totally worth it. I’m excited.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Thanks for your continued support!&lt;/strong&gt; It’s tons of fun to be able to make all this cool stuff for y’all. Here’s hoping you’ve enjoyed it :)&lt;/p&gt;</description><link>http://blog.openneo.net/post/6199342728</link><guid>http://blog.openneo.net/post/6199342728</guid><pubDate>Sat, 04 Jun 2011 20:16:11 -0700</pubDate></item><item><title>Weekend updates :)</title><description>&lt;p&gt;We’ve had some fun this weekend fixing some minor issues around the site. Yay!&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;The first gender/emotion state for the Tyrannian Uni no longer has a big, fat White Koi sticking out of it. Please report any other glitched combinations you see, and note that, usually, a good temporary fix is to click one of the other numbered gender/emotion buttons.&lt;/li&gt;
&lt;li&gt;Entries in the Infinite Closet items database now have prettier URLs and are significantly more search-engine-friendly.&lt;/li&gt;
&lt;li&gt;We noticed that the NC Mall spider that automatically grabs previews of items being sold in the Mall (which, by the way, is 100% legit by Viacom’s terms) hasn’t been running for quite a few weeks. Turns out out deploy script wasn’t updating the crontab to refer to the app release’s specific path (&lt;/techspeak&gt;), so it was trying to run the mall spider on an older version of Dress to Impress. This has since been fixed, and the spider is now working overtime to catch up on some things it missed.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;In short, bug fixes and minor upgrades. Since major features, exciting as they are, can get exhausting to work on at great length. (But, man, are they exciting ;D)&lt;/p&gt;
&lt;p&gt;Thanks for using Dress to Impress!&lt;br/&gt;&lt;em&gt;—Matchu&lt;/em&gt; &lt;/p&gt;</description><link>http://blog.openneo.net/post/5719167876</link><guid>http://blog.openneo.net/post/5719167876</guid><pubDate>Sat, 21 May 2011 20:11:00 -0700</pubDate></item><item><title>XSS vulnerability closed</title><description>&lt;p&gt;Just a quick notice that Dress to Impress had an XSS vulnerability in the Infinite Closet section, which has since been resolved. We have no evidence of anyone abusing this vulnerability, nor would they would have been able to access sensitive account data, regardless.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/matchu/openneo-impress-rails/commit/1b3669178c7209bf66aa8f14b2a9b5957322a8c5"&gt;If you’re interested, here’s the source code change that fixed the security issue.&lt;/a&gt; Short and sweet one-liner, escaping query output. Funny, because this is usually the first place I check when someone asks me to check their site for security issues xD I think I forgot that the Markdown interpolation doesn’t do escaping by default, like interpolation in most other spots in Rails 3.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR: Minor security hole fixed. It doesn’t look like anyone used it, nor would it have done them much good.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Thanks for using Dress to Impress!&lt;br/&gt;—&lt;em&gt;Matchu&lt;/em&gt; &lt;/p&gt;</description><link>http://blog.openneo.net/post/5479559526</link><guid>http://blog.openneo.net/post/5479559526</guid><pubDate>Sat, 14 May 2011 07:02:00 -0700</pubDate></item><item><title>FEATURE: Infinite Closet supports Baby, Maraquan, etc.</title><description>&lt;a href="http://newimpress.openneo.net/items/51568"&gt;FEATURE: Infinite Closet supports Baby, Maraquan, etc.&lt;/a&gt;: &lt;p&gt;First off, sorry for &lt;a href="http://blog.openneo.net/post/5131127507/error-postmortem-database-write-issues"&gt;the downtime&lt;/a&gt;. This quick feature is to make up for it :)&lt;/p&gt;
&lt;p&gt;The Infinite Closet is our lovely wearables database, and it has a neat little feature for previewing items by species. However, that feature was flawed: some items only fit Baby, Maraquan, Mutant, 8-bit, etc., pets, some because they were just plain special (Baby Pajamas, Maraquan Dress, Elegant Mutant Cape) and some because they were paint brush items. The Infinite Closet would just try to stick these color-specific items on standard pets, and they wouldn’t fit, so it would claim that we’d never seen that combination before. It wasn’t very pretty.&lt;/p&gt;
&lt;p&gt;So, fixed :) Now, all color-specific items show the &lt;em&gt;right&lt;/em&gt; kind of pets at the bottom, so that the feature actually, ya know, works for those items. It’s the small stuff, right?&lt;/p&gt;
&lt;p&gt;Thanks again for sticking with Dress to Impress. Y’all rock :D&lt;br/&gt;—&lt;em&gt;Matchu&lt;/em&gt; &lt;/p&gt;</description><link>http://blog.openneo.net/post/5143225911</link><guid>http://blog.openneo.net/post/5143225911</guid><pubDate>Mon, 02 May 2011 15:30:36 -0700</pubDate></item><item><title>Error Postmortem: Database write issues</title><description>&lt;p&gt;Exciting things happened over the weekend. Namely, the beta server ran out of disk space. Oops. This caused any request that wrote to the database at all to just plain cut off.&lt;/p&gt;

&lt;p&gt;Fortunately, the biggest offender wasn’t all those SWFs we downloaded (that’s at about 1.6GB right now) or even the MySQL database (nowhere near that). It was our server logs, that have been tracking each HTTP request we received since the server went live. It had hit about 5.5GB. Which is way too big.&lt;/p&gt;

&lt;p&gt;So, we did something we should have done a while back: we now only keep access logs from the past 7 days. Protip: if you end up administering a web server, use logrotate from the beginning.&lt;/p&gt;

&lt;p&gt;Anyway. Glad that was an easy fix. Last night we started pushing people to oldimpress by default, and are now pushing users back to newimpress. Yay!&lt;/p&gt;

&lt;p&gt;Thanks for stickin’ with us through technical troubles. Y’all continue to be the best :)&lt;br/&gt;
—Matchu&lt;/p&gt;</description><link>http://blog.openneo.net/post/5131127507</link><guid>http://blog.openneo.net/post/5131127507</guid><pubDate>Mon, 02 May 2011 06:03:21 -0700</pubDate></item><item><title>ERROR: Database write issues</title><description>&lt;p&gt;The server is having trouble writing to the database. Since I just got home from being out of town for, heh, days, I can’t investigate right now, but I bet we’re out of disk space. Looks like we’ll have to reevaluate our current strategy of downloading all the SWFs in order to handle cross-domain policy issues.

We’ll be working on a fix very, very soon. Thanks! &lt;/p&gt;</description><link>http://blog.openneo.net/post/5119346108</link><guid>http://blog.openneo.net/post/5119346108</guid><pubDate>Sun, 01 May 2011 18:40:42 -0700</pubDate></item><item><title>Outfit saving all fixed :)</title><description>&lt;p&gt;There was an issue with saving outfits in non-Chrome browsers. It has since been resolved.&lt;/p&gt;
&lt;p&gt;It was kinda silly, really. I left in a line of code for debugging that tried to log a message to Chrome’s debug console every time an outfit saved. In browsers that didn’t support the console, the code would throw an error and never save the outfit.&lt;/p&gt;
&lt;p&gt;This took me longer to resolve than most bugs, mostly because I was out of town last week, and spent much of this week recovering, catching up on work, etc. Thanks for keeping me up to date on the site’s issues even when I’m not around, and for understanding that DTI is a labor of love, and, therefore, working on it is subject to openings in my schedule. I’m happy to say that things seem to be looking up on that front, though :)&lt;/p&gt;
&lt;p&gt;Thanks for using Dress to Impress! Show off them outfits!&lt;br/&gt;—&lt;em&gt;Matchu&lt;/em&gt; &lt;/p&gt;</description><link>http://blog.openneo.net/post/4835247383</link><guid>http://blog.openneo.net/post/4835247383</guid><pubDate>Fri, 22 Apr 2011 06:46:54 -0700</pubDate></item><item><title>Happy April Fool's!</title><description>&lt;a href="http://warlock.openneo.net/"&gt;Happy April Fool's!&lt;/a&gt;: &lt;p&gt;Hope you enjoyed my superb acting skills. *takes a bow as Lilia, Avast, Suzie, Jerry, etc.*&lt;/p&gt;
&lt;p&gt;I know absolutely nothing about how restocking actually works; I just threw together an algorithm, said it was the official one, and watched the show :) Here’s hoping you didn’t waste &lt;em&gt;too&lt;/em&gt; many hours on getting those hundreds of Draik Eggs that “restocked” yesterday!&lt;/p&gt;
&lt;p&gt;Anyway. Shop Warlock lives on for your personal amusement and showing your friends how hilarious it was. Feel free to pass that link around for as long as you like.&lt;/p&gt;
&lt;p&gt;Now, back to fancy business with Dress to Impress. Since the beta app seems to have been serving us well over the past few days, it looks like full migration day is fast approaching. The old and new servers are on slightly different databases: everything before November is the same, and everything after is totally separate. (Some users noted that their points went down significantly after we started automatically pushing users to the new server. Their points earned on the old server still exist; the new server just doesn’t know about them.)&lt;/p&gt;
&lt;p&gt;Merging the two databases looks like it’ll be a fun challenge. The ideal result would be a true merge: contributions on the old server and contributions on the new server would be all grouped together, then we would recalculate everyone’s worth-their-weight-in-some-kind-of-pride-I-guess points to take into account contributions on both servers. If that proves not to be feasible, scores from the old server will take precedence.&lt;/p&gt;
&lt;p&gt;Oh, hey, a quick aside: I know that many of the illnesses and cures from Neopets’s April Fool’s gag are glitched, only showing their appearance on one particular pet species. Since absolutely none of those items have anything to do with real outfits anyone might ever make in the future, I’m okay with that. Just thought y’all should know :)&lt;/p&gt;
&lt;p&gt;Anyway. Hope you enjoyed the Warlock, and I’m looking forward to working on legit stuff for y’all in Dress to Impress ;) Thanks!&lt;br/&gt;—&lt;em&gt;Matchu&lt;br/&gt;&lt;br/&gt;&lt;/em&gt;P.S. Mika C says hi from his lovely igloo home, and Lucie sends you all her formal invitation to continue to visit her shop regularly. &lt;/p&gt;</description><link>http://blog.openneo.net/post/4278345496</link><guid>http://blog.openneo.net/post/4278345496</guid><pubDate>Sat, 02 Apr 2011 00:03:06 -0700</pubDate></item><item><title>[NEW PROJECT] Shop Warlock</title><description>&lt;a href="http://warlock.openneo.net/"&gt;[NEW PROJECT] Shop Warlock&lt;/a&gt;: &lt;p&gt;OpenNeo now reveals its latest major project: Shop Warlock, an app that, by fancy &lt;strike&gt;mathematics—&lt;/strike&gt;whoops, magic—can tell you when an item will restock before it even happens! Tired of wasting time restocking? Now you only need to press F5 like crazy juuuust before the Draik Egg is scheduled to wander in—though, as always, you’ll still need to be pretty darn fast to snatch it up, or, if you’re up against the best, even notice it at all ;)&lt;/p&gt;
&lt;p&gt;Curious? Give it a try! Shop Warlock is ready to stand alongside Dress to Impress as OpenNeo’s latest open-source Neopets app, meaning that it will be actively updated and maintained for a loooong time. And will also be just as awesome.&lt;/p&gt;
&lt;p&gt;Here’s hoping that you find Warlock helpful :) Tell your friends! Spread the word! This is going to be one of the coolest things y’all have ever seen.&lt;/p&gt;
&lt;p&gt;Happy Friday, and thanks for using Dress to Impress…and Shop Warlock!&lt;br/&gt;—&lt;em&gt;Matchu&lt;/em&gt; &lt;/p&gt;</description><link>http://blog.openneo.net/post/4251192843</link><guid>http://blog.openneo.net/post/4251192843</guid><pubDate>Thu, 31 Mar 2011 21:03:06 -0700</pubDate></item><item><title>[All clear?] SunnyNeo was hacked</title><description>&lt;p&gt;&lt;em&gt;This is a safety announcement regarding a website that is totally unaffiliated with Dress to Impress. We just thought you should know.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Sunnyneo seems to be back up, but the Twitter account is permanently lost to the hacker. Unfollow. Also, the question mark after “all clear” is due to the fact that, after SN’s first announcement that the problems were solved, the site was re-hacked, and though currently not redirecting to the malicious site, doesn’t seem totally stable at time of writing, indicating that the hacker may still have access. Even though nothing really seems dangerous yet, it would be wise to wait a little bit before returning.&lt;/p&gt;
&lt;p&gt;SunnyNeo, one of the big wigs in the Neopets fan site business, has been successfully hacked. Their website now redirects to a Neopoint-selling website, and their Twitter account has been similarly hacked, too, tweeting links to the malicious site.&lt;/p&gt;
&lt;p&gt;Though there is no clear evidence of a cookie grabber on the site in question, it would be wise not to visit and to change passwords and the like if you have. Safety first.&lt;/p&gt;
&lt;p&gt;Here’s hoping that SunnyNeo can get back on their feet and protected as soon as possible :) Good luck, team! And please, SN, let me know if there’s anything I can do to help.&lt;/p&gt;
&lt;p&gt;Thanks for Dressing to Impress and staying safe.&lt;br/&gt;—&lt;em&gt;Matchu&lt;/em&gt; &lt;/p&gt;</description><link>http://blog.openneo.net/post/4193156088</link><guid>http://blog.openneo.net/post/4193156088</guid><pubDate>Tue, 29 Mar 2011 15:14:00 -0700</pubDate></item><item><title>Quick feature: "Share outfit" for logged-in folk, too</title><description>&lt;p&gt;Got a quick e-mail today asking about if logged-in users could have that quick-and-nifty Share Outfit button, too. Put it in. Awesome :)&lt;/p&gt;
&lt;p&gt;I’m a bit worried about how it will interact with the existing Save Outfit button. Everything looks good and working as expected, but lemme know if something seems off.&lt;/p&gt;
&lt;p&gt;Nifty, less-quick features in the works :) Thanks for using Dress to Impress!&lt;br/&gt;—&lt;em&gt;Matchu&lt;/em&gt; &lt;/p&gt;</description><link>http://blog.openneo.net/post/4168065154</link><guid>http://blog.openneo.net/post/4168065154</guid><pubDate>Mon, 28 Mar 2011 15:00:31 -0700</pubDate></item><item><title>Quick feature: Outfits page</title><description>&lt;a href="http://newimpress.openneo.net/users/current-user/outfits"&gt;Quick feature: Outfits page&lt;/a&gt;: &lt;p&gt;So today &lt;a href="http://newimpress.openneo.net/user/606/contributions"&gt;Ataliah&lt;/a&gt; reminded me of a feature request from a while ago: a way to get straight to an outfit you’ve made rather than having to make a dummy outfit from the home page first. I was feeling in a particularly codey mood, so wrote it right up :) When logged in, you’ll now see a neat link up in the top right corner that says “Outfits,” pointing to a page that lists all the outfits you’ve created. Both easy and peasy.&lt;/p&gt;
&lt;p&gt;It’s the little things that count :) Though there are some nice big things in the works, too ;)&lt;/p&gt;
&lt;p&gt;Thanks, and enjoy!&lt;br/&gt;—&lt;em&gt;Matchu&lt;/em&gt; &lt;/p&gt;</description><link>http://blog.openneo.net/post/4051518274</link><guid>http://blog.openneo.net/post/4051518274</guid><pubDate>Wed, 23 Mar 2011 16:07:28 -0700</pubDate></item></channel></rss>

