I originally wrote this as a response to some discussion at reddit on a leaked build of Windows 8.1.1, regarding some common criticisms about Windows 8
Q: Why don’t they give us a choice?
A: User choices aren’t inherently bad. User choices for *things they don’t care about* are. The users don’t care about what UI they want to use. They don’t care about optimizing the help file index. They don’t use the computer to use the computer. They use the computer to perform a task. Giving the user a choice of whether to use the touch or the classic desktop is at best a cop-out. I could expand more on that, but read Joel, he says it way better than me. Just as an aside: I’m really happy that Windows 7 got finally rid of the Windows 2000-era "classic" start menu and kept only with the Windows XP "standard" start menu. This is another example of an unnecessary choice, which people stubbornly stuck to.
Q: Why didn’t Microsoft make a separate version of Windows and call it Windows Touch?
A: Have you heard about iPads and Android tablets? If Microsoft continued to view tablet computing as a niche, it was just playing into Apple’s and Google’s hand. Quite a lot of people are perfectly content to use a browser to browse some sites. A tablet is generally cheaper than a full-blown computer, it works out of the box, it can browse the Internet, play video and play games. If MS made a "Windows Touch" OS, given the fact that it came late into the scene, the only thing that would happen is:
In fact, what Microsoft would be doing with Windows Touch, would be playing to Apple’s/Google’s strengths (established tablet market) instead of playing to Microsoft’s strengths (established desktop market) and to Apple’s/Google’s weaknesses (but Android doesn’t have Office! Hmm, wait a minute…)
Q: But tablets can’t be used in the enterprise
A: First of all, the enterprise has been moving toward browser-based applications. Browser-based applications have many advantages over native applications:
When you bring your own device (a new model that has been emerging recently), in order to access company information (such as email), you usually connect to your workplace’s Exchange and you download a policy (this is hidden, usually it’s just a "I agree" button) that specifies some minimum requirements (e.g. screen lock) for your device.
Group policy is nice and handy, but it’s not really needed all that much when your device is pre-locked and virus-free(-ish) anyway, and you don’t have all that much to lose if it gets hijacked (because the data are on the server).
Q: But I hate Windows 8! It killed my dog and fondled my cat!
A: First of all, condolences. Second, some people always resist change, it’s the way of the things. Is it perfect? No, obviously not. Is it better for Windows 7? Well, that’s subjective obviously, but I think it is:
How could it be better? Windows 8.1.1 (sigh – it really should be Windows 8.2 – if not for anything else, just to finally have a .2 version of Windows) seems to be a step in the right direction. In the way I see it, Microsoft tried a bit too hard to push the touch interface, ignoring the mouse-and-keyboard alternative. It tried to delegate the desktop metaphor as new console/terminal metaphor. BTW, there was quite a lot of pushback back in the days Windows and mice came about, from users that thought that DOS applications with text mode interface were good enough. Same here is happening now with mouse-and-keyboard vs. touch. Anyway, the point is that the metro UI could use a bit more mouse love, and it’s getting it with Windows 8.1.1.
My new toy:
I went and picked it up today. It’s awfully weird to see a car with a single digit on its odometer
Very high-tech (I *love* the feeling of sitting inside the cockpit of a spaceship), but quite powerful as well. I went and picked up my cousin for the first “trip”, and we went up the the mountain of Penteli. So the odometer is no longer single-digit
So, at the very end of February (thankfully, 2009 is not a leap year), my cousin gave birth to her second daughter! An easy birth (second children are easier, or so I’m told), niece v2 came in this world at about 19:00 on Saturday. Welcome aboard, baby girl!
Lately I’ve become a bit disinterested in video games. I guess I was feeling a bit guilty about the fact that I didn’t play enough World of Warcraft. I haven’t even maxed my main character with Burning Crusade standards (70), and I have got Wrath of the Lich King as well. This may be a general problem of mine, that, even if I have played a myriad of games, I have completed just a few of them.
So, in order to make myself interested again, I installed steam. That was a big “mistake”… I have now bought a whole lot of games, and I still don’t have the time to play them…
I’ve made my first (popular) open source project since September, and it has been a very enlightening experience. It’s called Fallen Sword Helper, and it’s hosted by Google Code.
The project started when I started playing an online browser-based RPG game. I registered last April, but I didn’t really play before last summer (2008), as I found the instructions to be a little difficult. Anyhow, the game is (as you can see from the title) Fallen Sword from Hunted Cow Studios. After playing for a bit, there were some things in the game that somewhat annoyed me, which made the game less than enjoyable. After being accepted to a top 250-guild, which had a rule to not attack people of some guilds, I decided that I should enhance the game experience, as it would be very difficult for me to remember who were our “friendly” guilds – the ones I shouldn’t attack. So, I started working on a new Greasemonkey script to make those fixes.
Using a Greasemonkey script for Firefox was really a method I had used in another browser-based game. In fact, I had made a Firefox Extension first, because it would otherwise be impossible to send XMLHTTP requests. Of course Firefox extensions are a lot more difficult to develop, because each change you make means you have to restart your browser. So, since I discovered that Greasemonkey had an internal API that could send XMLHTTP requests (and also a way to persist variables), I decided that Greasemonkey scripts were the way to go.
After a while, I decided to post the Helper script on to userscripts.org, so that other people would benefit from it. I also put in an autoupdate feature, which I felt was a major requirement for me to keep my sanity.
As time progressed, there were many submissions to the userscripts forum, so I felt it was time to upgrade this project to a real collaborative environment – a true source control system, and, if possible a bug tracking tool. Google Code really is very good for all that. It provides a true subversion server, a trac-like (custom Google though) issue tracker, a wiki, and all of these on Google’s infrastructure. The only thing missing (for now) is a way to import/export the whole subversion repository, but I can live with that.
The best part of creating an open source project (even with just 3 active developers right now – but it would seem a lot more users) was finding out about that spirit of cooperation with people from all around the world (literally!). It feels really nice having other people reading and understanding your code, and being able to expand it without the “seams” being visible. By that I mean that they understand the code (I hope it doesn’t go to my head, but it would seem I make somewhat understandable code. Or they are supergeniuses), and what they add has the same “code smell”, you can’t see where my code ends and my collaborators’ code begins.
Another cool thing that has come out of that, is that I finally got to use a proper issue tracking software, and also to manage a project at a higher level than just writing code. Don’t get me wrong, writing code is still my favorite activity, but it’s nice to know that I could also manage a project from higher up. I’ve also started writing technical documentation for all that. All in all, I think I’m doing a more professional and complete job for this project that I’m not getting paid for, than the projects I’m really getting paid for at work 🙂 Of course the fact that for my project I’m the chief developer, project manager and main customer helps.
This is how it all began: Snow.
A lot of snow. Me, living near the sea for most of my life (Piraeus) hadn’t seen much snow in my life. In fact I think that I’ve only seen snow maybe four or five times before this. So, now I’ve moved to the highlands of Gerakas, it seems that the weather gods saw fit to reward me with the largest amount of snow I’ve ever seen – and it also seems it was a lot of snow even for less snow-deprived people. How many times did I use snow in the last paragraph?
After that, it got worse:
That’s a cheap thermometer on the ledge there. It went down to -4°C at least, maybe less.
And snow kept falling:
Until the next day:
I’m sure there’s my car under there:
This is how high the snow was in front of my door. I would say it’s about 80 cm off the ground.
You can’t believe there’s ground under there, can you?
The water supply pipes had frozen over, so I didn’t have drinking or any water at all.
I almost felt like a primitive man, picking up snow or even ice blocks by the handful and melting in the water heater to make water (not drinkable), carefully counting how much water I have left in the fridge and rationing it to last for the longest possible.
I didn’t make a snowman. I don’t think anyone should make snowmen alone. Even Calvin had Hobbes. I had enough adventures trying to restart the central heating (the lock had frozen over, so I had to melt the ice that had formed using a lighter to open the door).
Finally, this morning (Tuesday) the snow started to really melt. My cousin came over to fix the broken water supply.
Of course I had the whole distance from my house to the street to cover (or actually to uncover). I was very fortunate that a man in a private bulldozer came and cleared up in 2-3 minutes what would have taken me all afternoon.
Update: I had this post saved somewhere, and after some polishing, I’m posting it for real.
I think I will be readjusting my goals. It was a somewhat hard winter, so I didn’t have the chance to be riding every week as was my original plan. Furthermore, the past month the road seems full of bad drivers. Cutting offs are very usual, noone seems to know what the indicator lights do, and I even got honked at because I wouldn’t pass to the other side of the road and be crashed by incoming vehicles. There are also some new traffic lights on the way, and I think the only way to pass them all without hitting a red light is to travel at warp 9, or at least 120 km/h – which is absurd on such a narrow street! Some roads are being “redesigned” for some weird reason, so that you have to go around and travel about 1 km to get 50 meters north!
I’m not changing my goal to be going to the office by bicycle, I’m just not confident enough to be going to the traffic just yet (actually I’m not even confident I can make 10 km twice in a day yet!). At least it was a bit warmer today, so I rode for a bit 🙂
Bill Gates came to Greece on Monday, and I was one of the fortunate enough to go and see the presentation. Nothing really new there, only that there was a real demo of Microsoft Surface. Of course I’ve seen almost everything on the internet, but there’s obviously much better resolution IRL 🙂 I really went so that I can say that I’ve really seen Bill Gates in person (even from some distance) 🙂 The next presenter was more unknown, but he showed us something I hadn’t seen before. It’s codenamed "Oslo", and it’s part of new wave of developer products (Visual Studio 10, BizTalk 6, .NET Framework 4). It seemed ok, but what really seemed cool was a component that was temporarily named "Universal Editor". It seems like something that is between Workflow Foundation, SQL Server management, System Center and Visual Studio. If it does what I think it does, it should really be revolutionary for development.