tag:blog.navarr.me,2014:/feedNavarr Barnier2016-05-31T10:42:43-07:00Navarr Barnierhttp://blog.navarr.meSvbtle.comtag:blog.navarr.me,2014:Post/mineads-cancelled2016-05-31T10:42:43-07:002016-05-31T10:42:43-07:00Mine-Ads Cancelled<p><em>This is a copy of an email I sent earlier today to those that subscribed for updates on Mine-Ads</em></p>
<p>It’s been about a year and a half since <a href="http://blog.navarr.me/mine-ads-make-games-get-paid">I announced that I wanted to do this thing</a>. Rest easy knowing that I sadly did not get very far.</p>
<p>However, with Mojang’s new changes to their Commercial Usage Guidelines - I’m going ahead and Cancelling the Mine-Ads Project.</p>
<p>Mojang is cracking down on what sort of promotions you can do in Minecraft - and it’s basically nothing. Minecraft is locking down it’s ecosystem, and while the language of their CUG is shaky enough that Mine-Ads might be allowed, it is far too risky for me to think it worth spending my time on.</p>
<p>You can read Mojang’s post about their new guidelines here: <a href="https://mojang.com/2016/05/lets-talk-promotions-in-minecraft/">https://mojang.com/2016/05/lets-talk-promotions-in-minecraft/</a></p>
<p>You can discuss my decision on /r/admincraft here: <a href="https://redd.it/4lvm05">https://redd.it/4lvm05</a></p>
<p>While I do not think it is a risk worth taking, I offer my plans directly to you to implement yourself if you wish. Unlike Mojang, I firmly believe in openness and freedom in software.</p>
<p>Mine-Ads was to have several phases. The first phases would be one thing people were used to and one they were not.</p>
<p>Phase 1 involved text-chat ads, like every other little tiny ad network operating in Minecraft - but it also involved map-based advertising. The current plan was to setup Mine-Ads like Project Wonderful - where money stays in the system but can be pulled out or put in, and you can submit advertisement bids for approval and they go up for x amount of time. Images would be turned into maps and be automatically generated to fit the space the billboard image could fit in the Minecraft world. </p>
<p>We then hoped to expand this functionality so that it was easy for players in-game to purchase the ad space as a “supported by user” space, and to add some analytical capabilities, such as people looking at or interacting with the ad within the game. Payment types initially being cost-per-click or cost-for-time, and extending that once we were sure we got “view” analytics down.</p>
<p>From there, we hoped to expand it so that these ads could support mini games. Click the ad, go through a restaurant, perform some menial task, etc - possibly be rewarded in game for doing so. We wanted to make advertisements fun like the servers.</p>
<p>While my main concern with the CUG is that it says NONE of this is okay, it definitely says the later part is not.</p>
<p>So, I am out. I thank you all for subscribing and being interested. If you decide to start up what I decided not to yourself, please do shoot me an email so I can be excited for you.</p>
<p>But in general, it is my personal opinion that it is not worth investing effort into Minecraft while Mojang continues to lock their ecosystem down further and further into a closed garden.</p>
<p>Thanks for reading,</p>
<p>Navarr Barnier<br>
Founder at Mine-Ads</p>
tag:blog.navarr.me,2014:Post/mine-ads-make-games-get-paid2015-01-04T11:53:21-08:002015-01-04T11:53:21-08:00Mine Ads: Make Games, Get Paid<p>I’ve been volunteering as an administrator/web developer for a Minecraft Network for well over a year and a half - though before then I’d been paying special attention to the network’s attempt to monetize and reach profitability. It did this not out of greed, but out of necessity - the network has tonnes of servers and the administration is entirely unpaid, volunteer workers.</p>
<p>I wouldn’t consider that a bad thing - but it does mean that they have to attend to other obligations. It very easily, very quickly means that administering the network becomes the lowest priority. No matter how passionate volunteers are, incentive becomes necessary. I know a lot of them, despite the toxic community they have to deal with, would more than love to spend all of their time working on bettering the games.</p>
<p>Mine Ads is going to be my solution to that problem. Networks have attempted to bring in money in many, many different ways - with the most financially successful networks bleeding their users and cheating them out of money (through pay-for-unbans and ungodly benefits in-game in exchange for money). While Mine Ads is not intended to be a replacement to other forms of monetization, it is my intention that it provide a suitable financial incentive.</p>
<p>Mine Ads will not be the first into the space. We’ll be going up against several other competitors including <em>Adventurize</em> and <em>AdCraft</em>. While these advertising networks share a similar goal - their solutions fall short. That’s where Mine Ads will step in.</p>
<p>For now, our unobtrusive advertising methods (which are decisively different from our named competitor’s methods) are a secret - but we’re very near to finishing and unveiling them.</p>
<p>If you’re interested in the possibilities - either as a publisher or an advertiser, we’ve prepared a <a href="http://pre-launch.mine-ads.com/">pre-launch mailing list</a>. You’ll be able to unsubscribe at any time, and we’ll let you know our deepest, innermost secrets while we gear up for launch.</p>
<p><a href="http://pre-launch.mine-ads.com/"><strong>Join our pre-launch mailing list for updates on our coming launch</strong></a></p>
tag:blog.navarr.me,2014:Post/you-should-be-using-rich-snippets2014-11-21T11:01:42-08:002014-11-21T11:01:42-08:00You should be using Schema.org<p><em>Disclaimer: This article reflects the personal opinion of it’s poster only.</em></p>
<p>It’s been a little more than three years since <a href="http://googleblog.blogspot.com/2011/06/introducing-schemaorg-search-engines.html">Google introduced schema.org </a>, and it’s hugely surprising how few online shopping markets are using the simple new standard to differentiate themselves from their competitors on Google.</p>
<p>Let’s look at an example. I’ll run a Google search for some luggage. How about the <strong>IT Luggage Copenhagen 4 Wheeled 3 Piece Luggage Set</strong>?</p>
<p>A website without Schema.org Technologies:</p>
<p><img src="http://i.imgur.com/ehyLV1a.png" alt=""></p>
<p>A website with Schema.org Technologies:</p>
<p><img src="http://i.imgur.com/iFF9YGC.png" alt=""></p>
<p>There’s a very obvious difference. For one, the rating immediately draws the eyes - pulling the gaze of the searcher to the product listing. And then, the searcher immediately knows the price, the rating, and even a category listing to draw the searcher to other parts of the store. Here’s another example:</p>
<p><img src="http://i.imgur.com/OkjhV3V.png" alt=""></p>
<p>While this website doesn’t have the rating, it still conveys useful information to the searcher without them ever leaving the search page. Not only do they now know the price, but they know it’s in stock! There’s no hesitation as to whether or not they’ll be able to get this luggage set.</p>
<p>There’s also no reason why you shouldn’t help your customers decide on making a purchase at your storefront. And with claims that <a href="http://blog.hubspot.com/marketing/how-to-use-google-rich-snippets">rich snippets</a> help <a href="http://blog.hubspot.com/marketing/power-google-rich-snippets-ecommerce-seo-ht">improve ecommerce SEO</a>, there’s no good excuse for not taking a small extra step to bring in customers.</p>
<hr>
<p>Perhaps now you’re wondering how difficult or easy it is to add this schema.org metadata to your instance? </p>
<p>Of course, the first thing you should do perhaps is check for extensions that might solve your problem. There are <a href="http://www.magentocommerce.com/magento-connect/schema-org.html">several</a> that will <a href="http://www.magentocommerce.com/magento-connect/msemantic-semantic-seo-for-rich-snippets-in-google-and-yahoo.html">claim</a> to (though I’ve not been able to test any of them at this point).</p>
<p>But if you have a spare hour and know how to edit HTML, it only takes a little elbow grease when you have <a href="https://www.google.com/webmasters/markup-helper/">Google’s Structured Data Markup Helper</a>. Select “Product” under the data type, enter the URL of one of your pages, and click “Start Tagging” and you’ll get a screen similar to this:</p>
<p><img src="http://i.imgur.com/SQ4ZKlr.png" alt=""></p>
<p>Once you’ve highlighted the relevant details (Name, Image, Description, Offer, Aggregate Rating, etc.) you’ll have the option to “Create HTML.” It selects Microdata by default (which is what you should use) and highlights the additional markup you’ll want to add to your templates.</p>
<p><img src="http://i.imgur.com/Nl3RucI.png" alt=""> </p>
<p>Once you’ve done that, verify it by running it through <a href="https://www.google.com/webmasters/tools/richsnippets">Google’s Structured Data Testing Tool</a> and you’re all done!</p>
<hr>
<p>There is <em>no</em> reason not to be using Schema.org’s rich snippets on your website - so get out there and earn some sales!</p>
tag:blog.navarr.me,2014:Post/how-swatches-work-magento-ee-11412014-11-13T12:40:00-08:002014-11-13T12:40:00-08:00How Swatches Work [Magento EE 1.14.1]<p>Magento Enterprise Edition 1.14.1 was released today, and with it came the very nifty feature of Swatches! My team was very interested in figuring out how to manage and utilize this new feature for our clients.</p>
<p>The first thing that we noticed is, for our pre-existing installation anyways, Swatches were disabled by default. To enable them, you need to go to the “Configurable Swatches” section under the Catalog heading in your Configuration. There you will find the ability to Enable them, and an area to select which attributes you wish to display swatches for.</p>
<h2 id="color-swatches_2">Color Swatches <a class="head_anchor" href="#color-swatches_2">#</a>
</h2>
<p><img src="http://i.imgur.com/5D87cIp.png" alt=""></p>
<p>Perhaps the most nifty feature is that - by default - colors appear for the color attribute when enabled for swatches. When first demoing this, you’d have to think it’s magic, but it isn’t!</p>
<p>As it turns out, Magento checks for the existence of the attribute value (in lowercase) as a png image in /media/wysiwyg/swatches. If it finds it, it shows it!</p>
<p>This is good and bad. </p>
<p><strong>The Good</strong> is that there’s a very easy to find location where you can put your swatch images (then clear your Swatch Image Cache!) and Magento will know exactly where to look. </p>
<p><strong>The Bad</strong> is that these are not in any way shape or form filtered out by attribute. Color, Size, and any other attribute you set will all check for the existence of it’s image in this solitary directory.</p>
<p><strong>The Ugly</strong> is that Magento does not seem to provide any simple way for you to manage these swatches. It <em>is</em> possible if you enter into any WYSIWYG editor and click “Insert Image” and can then manage your media directory (which has a nifty <em>swatches</em> directory) - but other than that it’s impossible to access from your admin panel.</p>
<p><img src="http://i.imgur.com/2DgKiIR.png" alt=""></p>
<p>Downfalls aside, this is definitely an interesting new feature that will be more than welcome for Enterprise customers.</p>
<h2 id="honorable-mention_2">Honorable Mention <a class="head_anchor" href="#honorable-mention_2">#</a>
</h2>
<p>Oh, and there seems to be a bug with the default Enterprise theme:</p>
<iframe src="http://gfycat.com/ifr/FlimsyNastyCardinal" width="100%" height="610" style=""></iframe>
tag:blog.navarr.me,2014:Post/heartbleed-and-gvoms2014-04-10T12:37:28-07:002014-04-10T12:37:28-07:00Heartbleed and GVOMS<p>Google Voice for Outlook has finally shut down - the same week that the Heartbleed vulnerability was discovered.</p>
<p>Luckily, from what I can tell, the server hosting GVOMS was using an older version of OpenSSL (0.9.8) and so was not affected by the Heartbleed vulnerability.</p>
<p>And that’s all there is to say on the matter.</p>
tag:blog.navarr.me,2014:Post/social-is-the-purpose-of-vr2014-03-25T20:38:38-07:002014-03-25T20:38:38-07:00Social is the PURPOSE of VR<p><a href="http://www.oculusvr.com/blog/oculus-joins-facebook/">Facebook acquired Oculus Rift today</a>. This has made a lot of people very angry and been widely regarded as a bad move.</p>
<p>However, I’m not one of those. While Facebook’s track record is shoddy at best, I still have faith in what they’re attempting. They see the potential of Social in Virtual Reality, and it’s a wondrous vision.</p>
<blockquote class="short">
<p>But I don’t want to work with social, I want to work with games.</p>
</blockquote>
<p>— Notch, <em><a href="http://notch.net/2014/03/virtual-reality-is-going-to-change-the-world/">Virtual Reality is going to change the world</a></em></p>
<p>But games <strong>are</strong> social. Most fun games are <em>inherently</em> social. <em>Dark Souls</em> wouldn’t be quite so much fun without some random player barging in and screwing up all you’d worked for. <em>League of Legends</em> would be nothing if all you played were bots. And while <em>Minecraft</em> is tonnes of fun to play all alone in survival, what keeps me coming back to it is playing online with all of my friends.</p>
<p>Has everyone forgotten what Social really is? It’s not posting a status or picture or leaving comments. It’s about togetherness, communication, and more. </p>
<p>I believe, I <em>want</em> to believe that’s what Facebook sees in this technology. Mark Zuckerberg’s <a href="https://www.facebook.com/zuck/posts/10101319050523971?stream_ref=10">own comments</a> seem to paint a picture of a Virtual Reality “Second Life.”</p>
<blockquote>
<p>[…] we’re going to make Oculus a platform for many other experiences. Imagine enjoying a court side seat at a game, studying in a classroom of students and teachers all over the world or consulting with a doctor face-to-face – just by putting on goggles in your home.</p>
</blockquote>
<p>And that excites me, too. Can you not imagine the benefits of a Virtual Reality lecture? Or Virtual Reality office hours with your professor? For those like me, people who learn through doing, being able to see how things are done, <em>through your own eyes</em> is an exciting prospect - and there’s so much more.</p>
<p>But what really matters to me, what I’m really excited, is gaming. And with Facebook’s resources, gaming can be truly social. And I don’t mean sharing an achievement or status message - I mean standing beside my friends on the other side of the world after conquering the boss of a difficult dungeon. </p>
<p>And Facebook has no plans to change that.</p>
<blockquote>
<p>Immersive gaming will be the first, and Oculus already has big plans here that won’t be changing and we hope to accelerate. The Rift is highly anticipated by the gaming community, and there’s a lot of interest from developers in building for this platform. We’re going to focus on helping Oculus build out their product and develop partnerships to support more games. Oculus will continue operating independently within Facebook to achieve this.</p>
</blockquote>
<p>So pull back your knee-jerk reaction, and let’s watch this play out. Don’t stop developing for Oculus Rift just because a big company is putting their weight behind it.</p>
<p>Instead, let it <em>excite</em> you. Virtual Reality is coming.</p>
tag:blog.navarr.me,2014:Post/how-are-coldcalling-ceasefires-illegal2014-03-24T20:25:12-07:002014-03-24T20:25:12-07:00How are cold-calling ceasefires illegal?<p>I’ve been reading the news lately of Google, Apple, & al. mutually agreeing not to cold-call each other’s employees (and, at worst, absolutely not hire each other’s management). While the later is certainly much more questionable on the legality standpoint, <em>how on earth is it illegal to ask your competition not to cold-call each other’s employees?</em></p>
<p>People are outraged about this, the vast majority of people being Software Engineers, much like myself - and I absolutely can not understand it. </p>
<p>These actions for Engineers did not stop engineers from switching jobs or getting higher salaries. I see no aspect in which price fixing engineer salaries was involved. Simply the “Hey, stop reaching out to my employees. Let them contact you if they want a job with you.”</p>
<p>And I feel like that’s completely reasonable. The letters from Google in particular were about “Don’t cold-call my employees, and we won’t yours - but if your employees reach out to us or vice-versa they’re fair game.”</p>
<p>And suddenly everyone is claiming that Google is evil and that this is some massive price fixing scandal.</p>
<p>And I can’t even figure out how it’s illegal?</p>
tag:blog.navarr.me,2014:Post/shutting-down-google-voice-for-outlook2014-03-23T19:28:20-07:002014-03-23T19:28:20-07:00Shutting down Google Voice for Outlook<p><a href="https://www.gvoms.com/">Google Voice for Outlook Mobile Service</a> was a pet project I started during my year between High School and University. I created it because I had an odd obsession with Outlook at the time and I thought it amazingly silly to pay someone to send text messages through Outlook when I already had a Google Voice account.</p>
<p>At first, the service was run through mirrors (other people hosted my code and I help them set it up with the agreement that their endpoint be available to the public). I wasn’t too fond of this, as I didn’t have real control over the security aspect (if they were so inclined, they could have stolen your username and password). Two years ago I purchased an IP address and SSL certificate on my shared host for the explicit purpose of securely hosting Google Voice for Outlook.</p>
<p>I mentioned the cost a few times, and solicited donations. I didn’t keep very good track, but I probably accumulated no more than $50. The IP address (which was required for SSL on this host) was $60 a year by itself.</p>
<p>Don’t get me wrong, I was very happy for this project - and I’ve loved running it, despite the code being outdated (I’m a much better programmer now, and PHP and it’s community have come a long way), lack of a business model, and a near-complete lack of any statistics gathering. (I have absolutely no idea how many people have ever used my service. All I know is the amount of hits on the SOAP endpoints.) I was very serious about security, and about not handling any more information than necessary.</p>
<p>Either way, my IP address expires on the 6th of April, and I have no plans to renew it. In fact, due to the way Dreamhost is setup, I have to actively cancel it before then. On that note, Google Voice for Outlook Mobile Service will effectively cease operations on April 5th, 2014.</p>
<p>Amusingly, this is the first time I’ve ever actually looked at the statistics. I had forgotten my webhost was collecting some simplistic stats while I was writing this post. GVOMS may not have been the <em>most</em> successful service - but I’m certainly glad it wasn’t the least successful either.</p>
<p><a href="https://svbtleusercontent.com/3ihva45mlpavq.png"><img src="https://svbtleusercontent.com/3ihva45mlpavq_small.png" alt="H0ebB95.png"></a></p>
<p>The reason GVOMS is shutting down is not because money, or because I don’t have the time - because both of those have been true for over a year already, and the first one doesn’t even apply since I’m moving most of my small websites over onto a cheaper VPS rather than renewing my shared hosting, but only because it’s not worth the time or effort to continue it’s operations with the looming knowledge of Google “killing” third party Google Voice services this coming May - as well as the knowledge that Microsoft has ceased support for the OMS protocol in the newer versions of Microsoft Outlook.</p>
<p>To everyone who was ever once a user of Google Voice for Outlook Mobile Service - thank you for coming along for the ride. It was truly enjoyable.</p>
<p>For those interested in the service, or possibly reading about it for the first time, you can find out more at <a href="https://www.gvoms.com/">our website, gvoms.com</a> or read my terrible, old code <a href="https://github.com/navarr/Google-Voice-OMS">on github</a>.</p>
<p><a href="https://news.ycombinator.com/item?id=7456391">Discussion on Hacker News</a></p>
tag:blog.navarr.me,2014:Post/document-labelled-utf16-but-has-utf8-content2014-01-29T15:07:28-08:002014-01-29T15:07:28-08:00"Document labelled UTF-16 but has UTF-8 content" - or how I was accidentally emailed a user's password<p>I have very few personal projects, and I tend not to take very good care of them. Of these, the most expensive and one of the longest running personal projects is <a href="http://www.gvoms.com/">Google Voice for Outlook Mobile Service</a>. I believe I made it the summer after I graduated from High School, and for some crazy reason I just loved Outlook.</p>
<p>Either way, I figured out that Outlook, when connected to an OMS provider, could send text messages. “How beneficial!” I thought. Have your text messages and email addresses in the same inbox, yet still appearing separate.</p>
<p>I looked into these OMS providers that Outlook linked to, and they all charged money, of course. Pay per text message - every single one of them. It was a hard bargain for me, since I had a cellular phone I paid for and Google Voice on top of that. Why should I get <strong>another</strong> number, that will only be useful inside of Outlook, and then <em>pay for every single message I send</em>.</p>
<p>So I did what any resourceful programmer would do – I started looking into how Outlook connected to these providers to send text messages, and then wrote a quick and dirty webapp to do the deed. PHP was my language of choice – and seeing as this was the pre-composer, ZF1, CakePHP erra – I started writing immediately without any hint of framework code. Soon enough, my project was online and costing me plenty of money to maintain. (Dreamhost didn’t - and still doesn’t - support HTTPS via SNI, which means I’m currently paying for an IPv4 address - Not Cheap!)</p>
<p>Fast Forward about four years and here we are, GVOMS sitting on it’s own little server, getting a small amount of activity (Honestly no clue how much, I’m <strong><em>still</em></strong> not logging the amount of text messages sent). And I get an email in my inbox. PHP Error Reporting. Through maybe four years of time the program had worked so well without any PHP errors that I hadn’t even remembered that I set it up to email me with any errors and their context.</p>
<p>The error was interesting in and of itself, “Document labelled UTF-16 but has UTF-8 content” - a problem that I <strong>had</strong> solved for all working versions of Outlook at the time, but I had done it in a non-case-sensitive way, and according to the XML in the context, “Microsoft SharePoint” decided that it was going to start sending the encoding lowercase (as UTF-16 despite sending UTF-8).</p>
<p>But that’s right, it sent me the XML of the request - and oh goodness gracious it was a login verification request. I sat for a moment and stared at the username and password of a very unfortunately gmail user.</p>
<p>At this point, there were a multitude of options I could have taken, but I didn’t spend any time thinking about them before I went the lawful good route and immediately emailed the user.</p>
<blockquote>
<p>Hello! You are inadvertently flooding my inbox with errors, apparently. I didn’t even know I had error reporting like that turned on.</p>
<p>Anyway, I’ve noticed you’re having some issues with GVOMS and I will be able to check on them sometime after 6pm eastern.</p>
<p>Two things: </p>
<p></p>
<ol>
<li>Please stop attempting to connect, as I really don’t need any more emails, thank you.</li>
<br>
<li>Inadvertently, your password was sent to me via email over plain-text. I recommend you change it. (I also, in general, recommend people switch to dual-factor authentication) I’m very sorry for the inconvenience I’m sure this is, and I’ll be reviewing my code so that I don’t get other people’s passwords in the future.</li>
</ol>
</blockquote>
<p>At my next available opportunity I did the sensible thing and ran the context variable the email was spitting out at me through a regex parser to filter out the contents of the <code class="prettyprint"><password></code> tag and fixed the case-insensitivity bug, and followed up with another email letting the user know that the bugs were fixed.</p>
<p>Unfortunately, I haven’t heard back from the user - but I can only hope they aren’t too upset.</p>
tag:blog.navarr.me,2014:Post/test-post2014-01-28T12:43:07-08:002014-01-28T12:43:07-08:00Test Post, Please Ignore<p>This is my first test post. I want to see what writing a post on Svbtle looks like. All in all, I’ve been a big fan of the simplicity of the platform – reading different posts on it while browsing Hacker News, and I’ve considered re-creating something similar to it in PHP to transition my own blog to.</p>
<p>But now that it’s open, I think I’ll just stick with using it, and start transitioning my professional writing over to it. Just about everything on my technical blog is out of date, and my personal blog is post-less (and will remain that way, since I no longer see a need to write too much about my personal life).</p>
<p>All in all though, it looks like a terrifically wonderful platform for writing and I can’t wait to see how this post turns out.</p>