jeremiahlee:


I did an experiment on the behavior of two online communities. I asked a question that I knew the answer to, would be common amongst new users, and would be straightforward to answer.
Stack Overflow and Quora reward users differently. Stack Overflow users are rewarded for janitorial tasks, whereas Quora users are not. Because these janitorial tasks are easier to obtain community status from than creating useful content, Stack Overflow users are more likely to vote against a question than assist an inquiring mind. When learning, asking the right question is often a difficult task. Stack Overflow’s reputation model could be improved to value imperfect questions and corrective guidance instead of moderation.
More discussion
Question on Quora
Question on Stack Overflow

jeremiahlee:

I did an experiment on the behavior of two online communities. I asked a question that I knew the answer to, would be common amongst new users, and would be straightforward to answer.

Stack Overflow and Quora reward users differently. Stack Overflow users are rewarded for janitorial tasks, whereas Quora users are not. Because these janitorial tasks are easier to obtain community status from than creating useful content, Stack Overflow users are more likely to vote against a question than assist an inquiring mind. When learning, asking the right question is often a difficult task. Stack Overflow’s reputation model could be improved to value imperfect questions and corrective guidance instead of moderation.

More discussion

Question on Quora

Question on Stack Overflow

MonoGame.Js

Yesterday I released MonoGame.Js. As it name suggest it is MonoGame but in JavaScript. It is not writing C# code and having it run in the browser like JSIL but instead a JavaScript library that provides an API that is very much like the MonoGame API.

Why did I do it? Besides my want to see MonoGame on as many platforms and in as wide use as possible, it’s also because I believe that the API model exposed by MonoGame is so good that even if you’re not using C# it would be helpful.

Right now MonoGame.Js implements 2D graphics, and Mouse/Keyboard input. Touch input is planed though when it will be added I do not know. I have no plans to add 3D support but would be doable and if someone wants to do it in a fork I’d be happy to take that pull request.

Learning Linux

Well after being unemployed for a while I decided it’s time to expand my skill set. After looking around for what skills companies where looking for a big flaw in my skill set I saw was that while I can do client side web cross browser, I only know server side from the Microsoft stack (with a limited C++ and apache ability thrown in). So I decided it’s high time I learned the LAMP stack. For those who don’t know what LAMP is, it’s an acronym standing for common Linux (the “L”) web stacks. the exact meaning of the other letters is subject to change. For me the rest will be

A: Apache as the web server
M: MySQL for the database
P: Python for server side code.

The thing to note about that list is that I chose precise for all letters except “L”. In the case of Linux I decided not to pick just one but three: Debian, Fedora, and Slackware. Each is a “Core” distribution that other more commonly know distributions come from. For example Ubuntu, one of the most well know and most common consumer distributions is a fork a Debian. CentOS, a popular server distribution is a fork of Fedora. By learning these three I won’t know how to use every distribution out there but I should know the basics for each “family” and be able to quickly learn the differences.

For the “P” I thought about choosing PHP, despite my extreme dislike of the language. After all, like it or not it’s THE language to use it seems. I decided not to because learning Python would not only help me add the LAMP stack to my skill set but also all me to use it in other contexts. PHP is really only useable in LAMP (or web context that is). And admittedly it allows me to continue hating PHP.

As to MySQL and Apache, I’ve use both in the past. MySQL was part of a friends college course work and I helped her through it. Apache I used a previous job. Obviously I didn’t really explore MySQL that much in helping my friend and at the previous job I was using the C++ integration with Apache so the skill set doesn’t exactly transfer. On top of that most of the work I did wasn’t with Apache but with the custom system built on top of it.

So with the new year comes a new skill set and a new stack to work on. First up is learning the three Linux distributions in VMs.

snipeyhead:


When we put SSDs in the dev server

(via dbareactions)

I fully indorse SSD in dev severs :)

snipeyhead:

When we put SSDs in the dev server

(via dbareactions)

I fully indorse SSD in dev severs :)

Windows 9 Prediction

Talk my brother today I made a prediction:

Windows 9 will be the one where the desktop goes away. Until then we’ll just get 8.x versions.

So I’m putting it out there. I’ve said it.

Windows Phone 8 GDR3 and IPv6

On Friday I tweeted this little tidbit:

And I thought I should try and give a bit more background to that now.

For some reason on Friday my phone wouldn’t sync my Office365 account, It would give me error code 80072EFD. After looking around on the internet for a while I came across a thread on the Office365 community forums. It appears to me that the last poster is right since I tried exactly what was suggested. While I had the issue (and on my Data Connection, no WiFi), I tried to go to ipv6.google.com and no luck. Turn on Airplane mode, wait for it to fully shut off all the radios, and then turn it back off. After that the account started syncing again and I could access google over IPv6 again.

Don’t know what the real issue/bug is but I hope it gets fixed before GDR3 is released.

Microsoft’s iPod Touch… Finally

On Monday I decided I hadn’t visited my local Microsoft Store recently enough. While there I saw this sign and it made my day.

The reason this made my day is since the days of the Zune (yes that’s the throw back isn’t it) Microsoft hasn’t had a modern competitor to the iPod Touch (and Windows Mobile/CE PDA like things don’t count, I said modern). When the Zune HD most people though it was Microsoft’s iPod Touch. Unfortunately for Microsoft and the Zune brand it was not. It was not meant to compete at all with the Touch, instead it was to just one-up the “normal” iPods.

Its taken Microsoft 5 years but they finally did it. And for that I applaud them.

Windows RT Experiment

With so many new “Metro” apps, Windows 8.1 making the built in “Metro” apps much better, and finally a Facebook app I have decided that it’s time for an experiment. Till February first, every time I go out and don’t want to bring my big gamming laptop I will bring my Surface RT (gen 1) with me (and Type Cover). Its time to see if Metro is there yet or not. I hope so!

.NET Micro Framwork and Visual Studio 2013

For those of you that have been following my blog you know that I have a love for the AGENT SmartWatch. I have been working on apps for it as well as a “port” of MonoGame for it.

Recently I reinstalled Windows 8.1 as a completely fresh install. I decided that I would use this to finally switch from Visual Studio 2012 to 2013. While I’m loving 2013 so far I ran into one problem. The most recent .NET Micro Framework installer is only for 2012. Since the AGENT SmartWatch uses the .NET Micro Framework as it’s “platform” without it I could not do any development. Being a nerd and a geek I couldn’t accept this and decided that I’d try to make it work. Luckily I did and hopefully this will work for you too.

Before we can get to the fun “hacking” part, first some disclaimers. What I am doing is NOT supported by Microsoft, Secret Labs, the .NET Micro Framework team, the Visual Studio team, or myself. If something breaks from following the instruction I’m giving you can comment, but I not obligated to and may not have an answer. As a follow up to that following the instructions CAN break stuff, even if followed exactly. Also please not that this fix DOES NOT add the new project templates correctly. If you are ok with all that then please continue on reading and let the fun begin.

First problem was that the installer would do a check for Visual Studio 2012 and if it was not installed would throw an error message and not run. Luckily the .NET Micro Framework is open source, including the installer. After looking through the files I eventually came across the file that contains the logic for detecting Visual Studio 2012. All it does is look for the “InstallDir” value in the “HKLM\SOFTWARE\Microsoft\VisualStudio\11.0" key (on 64 bit systems it looks in “HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\11.0"). If it finds the value it assumes 2012 is installed, otherwise it assumes it is not. Solving this issues is as simple as just creating the key and value. The “InstallDir” value is a string value that points to the Install directory of that version of Visual Studio. Since we are trying to trick the installer set the value as the location of Visual Studio 2013.

Now you can run the .NET Micro Framework installer. File wise everything works correctly since it uses the location from the registry to put files in Visual Studio that it needs to. unfortunately the same cannot be said of the registry, though it is fairly easy to fix.

Navigate back to “HKLM\SOFTWARE\Microsoft\VisualStudio\11.0" key (on 64 bit systems “HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\11.0"). Under the “11.0” key you will notice a lot of keys and values. What you need to do is find the keys that are for the .NET Micro Framework integration and copy them to the “12.0” key (the numbers 11.0 and 12.0 are the internal version numbers of 2012 and 2013 respectively). If you use RegEdit like there is sadly no copy ability. A trick I used to overcome that was to export the key I wanted to copy to a .REG file. Once it was exported I would edit the file, which is really just a simple text file. I would replace all the references to “11.0” with “12.0”, save the file, and then open it.

Once you’ve moved them all there is only one step left. While we have set everything up correctly, we need to tell Visual Studio to “load” the changes. To do this you simply run Visual Studio with the “setup” flag. On my machine that looked like

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" /setup

It may take a while to run so keep an eye on it from Task Manager. Once it finishes though you should be able to open existing .NET Micro Framework projects.

Microsoft, ARM, and Windows RT

Originally I was going to have a post replying to Wes Miller’sWindows Server on ARM processors? I don’t think so" and one replying to Paul Thurrott’sAssessing the Chromebook Threat”. As I thought more about my replies I realized that the two we’re not only going to have some crossover but in some cases require something from the other. Therefore I have combined the two into one.

As a quick overview of the two posts Miller argues against a Windows Server RT appearing and Thurrott shows how Chromebooks don’t threaten Microsoft too much, currently.

Generally speaking I agree with Miller that a Windows Server RT just will not happen because what ARM brings to the platform just isn’t really need in the end (see Itanium). Technically speaking both server and client are using the same core and that has been ported to ARM, though that is not to say there is nothing more to do. I think though that Microsoft might want to “finish the job” for one reason. Not to make Windows Server RT but to help make the code more portable for the future. After all that is one of the strengths of the NT core, and the reason that not only is still used after all these years but is now used for Windows Phone too. Expanding on that ability (to a point of course) I think would be a good idea.

As to Thurrot’s dismissal of Chromebook I see his point but then I think about my friends working in BestBuy and what they tell me. While they don’t say the Chromebooks are a extreme hit they are moving and not a lot of returns. So I have to think about what people are doing on their computers. I’ll use my mom as the cliche example. She checks her email,checks Facebook, plays Facebook games, and uses Facebook chat (from Facebook.com). Would a Chromebook work for her? Sure! everything she is doing is web-based (she currently uses Outlook 2013 to check email but that could easily enough be changed to Outlook.com). Another thing we need to factor is that while Google is not Apple and doesn’t have their scary good Reality Distortion Field™ they seem to still be able to hide behind “Do no Evil” and get the love of the public (though recent Google actions are starting to hurt that). Even more people love using Chrome to browse with, “Its fast”, “I can develop right in it”, “it integrates with all my Google stuff so well”, and more. So I disagree with Thurrott in the long term. Right now they may not be much of a threat but give them enough time and Google make them a threat.

So far I’ve just replied to each article on its own but here’s the connection. While here I talked about Miller’s post first and Thurrott’s second I read the originally the other way around. As such Miller’s I think just happens to give a solution to the Chromebook threat. Not only that but it the solution is something Microsoft already has but just is not using in this way.

That solution is “Kiosk Mode” that comes with Windows 8.1, which for those of you who don’t know is a mode that locks an account to be able to only run a selected Metro/Modern app. Obviously this is meant for places like an airport to allow flyers to self check-in. But as the Geek.com notes in “Windows 8.1 kiosk mode locks systems to a single app" this could easily make an ExplorerBook(?) by making the single app Metro/Modern Internet Explorer. But what I want to add is that Kiosk Mode is available on Windows RT. Let that sink in for a minute. Windows RT runs on ARM, so (in theory) it can be on cheaper hardware. And as Thurrott notes in "Surface 2 Review”, on the right hardware Windows RT can be pretty snappy.

Now lets check those advantages of a Chromebook again:

  • Cheaper. Windows RT running ARM can be too.
  • Web Only so much simpler. Locked into Internet Explore.
  • Runs the “Fast” Chrome. IE 11 is pretty darn fast now.
  • Integrates well with Google ecosystem. Can’t directly with that but IE isn’t made for the open web so you can use ANY ecosystem.

So about those advantages…