ailon's DevBlog: Development related stuff in my life

Random Non-Tech Musings about MIX10

3/31/2010 4:36:47 PM

Since MIX10 conference was my first trip to MIX (… and Las Vegas, and USA) I’ve read some non-tech info prior to going there. Good starting points are Thomas Lewis’s “The Devil’s Field Guide to MIX” series and Sean Gerety’s “So you want to go to a conference”. These are very good but I think I can add my 2 cents to what’s written there based on my first time experiences.

Dress Code

No, it’s not about general dress code. It’s about facilitating conversation. If you are nicely dressed like a regular guy and you aren’t anyone important (known face) it’s perfectly fine, but you’ll have to start your own conversations, introduce yourself to people. Even those who are your virtual friends.

By the end of day one I was so tired of “I’m ailon on Twitter” phrase absolutely required to get attention of people who actually know you there and have no idea who you are by looking straight into your eyes or even your attendee badge with your name on it. BTW it would be great if organizers let you include your nick or some misc. info along with your name and company on the badge (or we can just write it with markers, or bring some stickers).

So, if I go to the next MIX (or actually any other conference of that type) I’m making a couple of t-shirts with “@ailon” on them. If you consider your trip more business than pleasure, then wear clothes with your company name, logo, product name, etc.

Hotel

Sean Gerety writes:

Remember that in Vegas, you can’t cut it close when it comes to getting a taxi or thinking that you’ll just walk from the Tropicana to the Mandalay Bay is not just a short walk.  You walk all the way from your room to the lobby, then down the street to the hotel, then through the lobby of the Mandalay Bay to the back where their conference center is located.  This could take you quite a while.

While I partially agree with what’s written there I’ve stayed in Tropicana anyway :) The reason is simple: no one paid for my hotel and I paid for 5 nights in Tropicana roughly the same amount I would pay for one night in Mandalay Bay. Yes, Mandalay Bay is fancier, nicer, closer to the conference center, etc. but I’m convinced my decision was right for me (provided I was there without my family). As I said it’s cheaper, it was clean, the room was big, the bed was big and comfortable. And I even had a mirror on the ceiling above my bed (ha-ha!). And I guess I had a better view from my window than most of those who stayed in Mandalay:

And the walk was actually reasonably short. There’s even a free train/tram from Excalibur (which is across the street from Tropicana) to Mandalay Bay if you are too tired to walk 500 meters. And, btw, if you want to go for walk on the Strip you’ll end up walking exactly the same path but in opposite direction.

That said there are 2 extra factors you might want to consider before going with cheaper alternative:

  1. Weather. If the weather isn’t right you may have to put extra clothes on and you’ll be stuck with them for the day at the conference (pretty inconvinient). There’s actually an indoor passage from Excalibur to Mandalay Bay but you still have to make it over the open overpass from Tropicana to Excalibur.
  2. Swagger. When you say goodbye to people at the end of the day almost every time it ends with people explaining to which hotel they are going. So, if staying in cheaper hotel may affect your or your company’s image you may want to think twice.

Downtown & Gambling

Thomas Lewis suggests going downtown to gamble:

As you know, times are tight. You need to find values in Vegas. I recommend taking a bus downtown to some of the old-school  casinos. I have a hiding place where the shrimp cocktail is as big as your head (disclaimer: slight exaggeration) for a couple bucks. The slots and tables are cheap to buy in and it will remind you of the days of yore, instead of the fancy $25 dollar minimum tables you will find up the street. You also will more than likely sit next to old people, and old people are totally cool and have awesome stories about Vegas!

Well, if you aren’t a gambler and just want to check the checkbox next to “Gambled in Vegas”, don’t. It’s actually quite a long ride with bus stopping very often and for quite long periods of time. It took us close to an hour to go from Tropicana to Downtown. And most importantly there’s nothing you absolutely must see. Sure, it might be worth a visit if you have time to spare but if your schedule is tightly packed, just skip it. I’ve seen 1 cent slot machines in even the fanciest casinos on the Strip and there are $5 tables in Excalibur which were fine by me for a/m checkmark.

Also if you are coming from a very different time zone (Europe, Asia, Africa, etc.) you may have some troubles sleeping at night. When I woke up at 4am for the second night in a row I realized that there’s no better time to gamble for a non-gambler than this. You’ll have your days and evenings packed at such an eventful conference and you don’t want to waste that time for obligatory visit to casino. So, rather than trying to force your body and soul to sleep for an extra hour or two, just go down to casino in your hotel and do the deed.

Tags: ,

Now I’m on TV for real

3/27/2010 12:08:22 PM

Interview with MIX10k winners and judges has been posted on Channel9. Check it out. Yeah, I know that my English sucks.

Get Microsoft Silverlight

Tags: ,

Windows Phone at MIX10: Cooling down the hype

3/26/2010 6:32:12 PM

I’ve just returned from my trip to MIX10 and a short vacation in California. Lots of info has been posted about MIX and Windows Phone and by much better writers than me, so there’s no need for me to recap everything.

I’ve attended Windows Phone 7 track of sessions at the conference (for the most part) and unfortunately everything that I’ve learned cooled my enthusiasm for WP7 down one step at a time. Here’s what’s wrong for me first as a consumer and then as developer.

Why I’m not as enthusiastic about WP7 as consumer after MIX10?

windows-phone-7-series-4

Sure enough everyone has heard about no copy/paste in R1. That’s sort of lame and I don’t even know what to think about this. I hope they just make up their mind before the release.

Then there’s no real multitasking. I understand Microsoft’s point about this and I’d be ok with it with one small exception – at the very least built-in music player should be perfect. And I’m pessimistic about this being the case. Minimum requirement I need is for player to be able to remember position in last played file (for podcasts and audiobooks) even if the phone was turned off. WMP in WinMo 6.x couldn’t do that. So I had to use 3rd party player for podcasts and audiobooks and it wouldn’t work in the background on WP7. Can anyone confirm or deny that audio player in WP7 can remember file position?

But the most problematic part is virtual keyboard. No one at the WP7 booth could tell me if it would be possible to add additional keyboard layouts (for other languages) in WP7. It’s not possible to do with standard keyboard on WM6 but I can install 3rd party SIPs. And I’m using PocketCM keyboard which let’s me create layouts for as many languages as I need. It was confirmed during one of the sessions that no 3rd party SIPs will be allowed on WP7. The guys at WP7 booth agreed that my scenario for needing more than one keyboard layout makes total sense but they had no idea if there’s a way to do that (so I guess there’s no). They took my business card and promised to get back to me with an answer but I have yet to hear from them and I’m not holding my breath. We agreed that the technology is obviously there and there are no technical limitations preventing from adding this feature but they are in a hurry and I guess this has a low priority in USA. <sarcasm>Having 2 pages on the keyboard completely dedicated to smileys obviously has a higher priority.</sarcasm> It looks good in the demos.

One more issue is marketplace-only installation of apps. Making a switch for advanced users (even something in the registry) allowing them to install 3rd party apps without marketplace would make lots of geeks happier while still controlling stability of consumer phones. And this would open the platform for corporate use too. Geeks are going to jail-break the phone anyway so why not make it legal and sort of controlled?

I’ve talked to Ueli Sonderegger (from Brazil) about other things and then he mentioned he was told that MS is going to release WP7 at the same time in Brazil as in US but in English. Now this is totally cool with me but for large non-English speaking countries this is like a blow in the face. I guess his reaction was as simple as “WTF!?” even though he didn’t say so.

I’m left with a feeling that even though Microsoft managed to create a unique and cool experience which is not just not-an-iPhone but actually looks and feels great, they’ve copied Apple’s bad practices on the business side almost 1:1. And that sucks!

I guess at this point my thinking is that I’m going to wait for WP7 vNext as a consumer. Or at least wait for it to be in the wild for some time and see how things turn out (you know XDA guys and stuff :). I was curious how HTC is going to sell HD2s after WP7 announcement but after MIX10 I think I know the answer – HD2 with WM6.5 and HTC Sense would be a superior phone at least for tech savvy users for some time after WP7 comes out.

What about the developer story?

Windows-Phone-7-series-Marketplace-hub-1

When they confirmed Silverlight and XNA as developer platforms for Windows Phone a week before MIX I was very enthusiastic. If they say that before MIX they must have some bombs up their sleeves for the MIX, right? Wrong!

Yes, the tools are free and great but that was even more expected than Silverlight being a first class citizen. Everything else I’ve learned made me like WP7 less not more.

The tragic part is that we in Lithuania (along with Latvia, Estonia and a hundred other countries) are not allowed to build WP7 apps at all. Yes, you read that right. Since users can only install apps through the marketplace and the list of countries allowed to sign-up as developers in marketplace is very short (30 countries as far as I remember), we can only develop WP7 apps as a programming exercise and on emulator only. Cause even if we get our hands on a real device in the future you can only unlock it for development by signing up as a developer and we can’t do that. I’ve presented this issue in front of John Bruno & Todd Biggs (my question and public part of the answer is around 55:35 mark) and this is what’s great about actually being at MIX. What I’ve been told off the air is that Lithuania is, as far as Todd remembers, in a bucket of next 20 countries they plan to cover around summer and they have them divided in easy-to-do and hard-to-do buckets and again as far as Todd remembers Lithuania is in the easy-to-do bucket but he wasn’t sure and there are technical, juridical and other issues. What I think is really the issue is the size of our country. We are in EU and our laws are aligned with EU. Most of our banks are owned by Scandinavian banks. We can get money from PayPal and at the very least Google can send us checks for AdSense cause they are lazy to implement a better way, etc. So again I think the issue is with prioritization by market importance and not anything else. But let’s hope this changes really soon and I’d like to think that me bringing my interest in development up will have something to do to accelerate our acceptance into marketplace.

Another issue is not-really-real Silverlight. Scott Guthrie said “It’s not Silverlight Lite. It’s not Siverlight Mobile. It’s Silverlight.” (or something very close to that). As it turned out it’s Silverlight 3 and not even completely the same Silverlight 3 as on the web/desktop. Silverlight 4 will be released in April and by the time WP7 is released judging by current Silverlight release pace there will be Silverlight 5 Beta. So you can call it real Silverlight 3 but actually it is Silverlight Mobile. There’s nothing wrong with that since it’s for developing phone apps and not for web apps (IE on WP7 wont support Silverlight at launch). It’s just not what’s being advertised.

Enough with ranting/whining!

In the end I’d like to state that I still like WP7 in general and I really wish and hope it succeeds but I guess by holiday season 2010 it will be something like iPhone 1.0 – cool but not usable yet. Let’s hope I’m wrong here or I hope my old HTC Touch can sustain another year or even two before WP7 becomes really appealing to me.

Shout it kick it on DotNetKicks.com

See You at MIX10!

3/11/2010 7:21:18 PM

So I’m going to MIX10. This will be my first trip to Vegas, my first trip to USA, my first flight over Atlantic Ocean and I think my first conference of any sort. I guess I’m not that old after all, if I can get so many first time experiences from one trip.

I’m looking forward to all the cool info on Windows Phone 7, Silverlight 4, etc. And I’m looking forward to meeting loads of cool nerds. Not sure if my brain can handle it, though. I really like meeting interesting people but I’m a shy person and I guess I may have problems approaching people for no other reason than saying “hello”. So I included my mug shot below (click to enlarge) for those who aren’t as shy as I am. I encourage you to come say “hi” if you see me at MIX.

IMG_1380

And as a bonus ask me for a free amCharts license and I’ll give you one!

I’m planning on doing a short trip to Los Angeles and San Francisco area after MIX. So if you are driving from Las Vegas to LA on March 18th and have a place for a passenger, please, consider me. You can contact me via email or twitter @ailon.

And if you’d like to grab a beer in LA on 18th-19th or in SF area on 20th-22nd drop me a line too.

See you at MIX!

Tags: ,

Steps to Migrate from Subversion to Git

3/1/2010 5:04:47 PM

I’ve migrated a couple of my SVN repositories to Git, but each time I forget how to do this. And each time I had to look into Pro Git book and process all the extra info there. So, I decided to document the steps I did for future reference. This is in no way a tutorial or something that has a good explanation of what’s going on. If you want to get a deeper information on the subject go read the book mentioned above.

I don’t work in a mixed SVN/Git environment so I only need to do this once for each project and forget about SVN on that project, so I figured I will document the steps and follow them blindly when I need to repeat the procedure for the next project. Note that this only migrates the trunk (or branch specified by the url) and doesn’t migrate tags, etc. If you need more than just a change log of your main branch, read the book/documentation.

So here we go.

  1. Create a directory for the new Git repository
  2. In that directory create a file called users.txt which looks like this:

    username = Real Name <email@email.com>

    It’s used to match usernames in SVN commits to Git’s user information
  3. Run Git Bash in that directory and enter this command:

    git svn clone <svn-repository-url> --authors-file=users.txt --no-metadata

    Where <svn-repository-url> is the url of your SVN repository. If you use TortoiseSVN you can easily find this url by right clicking on your working copy and navigating to “TortoiseSVN->Relocate…” in the context menu.

    --authors-file tells Git to use your users file and --no-metadata tells it to omit metadata used by Git to synchronize repository with SVN. When you are migrating it’s quite important to use no-metadata as by default git-svn adds extra information to commit messages and you don’t want it.

And that’s basically it. However I do a couple extra steps to remove traces of SVN in my new Git repository.

Removing traces of SVN

Now I’m sure I don’t do this properly, but I couldn’t figure out how to do this the right way. So if you know how to do this from command line or some tool, please, let me know in the comments bellow.

  1. Remove sections [svn-remote …] and [svn] in file .git/config
  2. Delete file .git/refs/remotes/git-svn
  3. Remove directory .git/svn

As I said it’s not a good idea to mess with files in .git directory directly but I was unable to find commands to do this properly. So proceed on your own risk. It’s worth mentioning that this isn’t necessary, but for some reason these unneeded traces of SVN annoy me.

MIX10K Winners on SilverlightTV

2/19/2010 10:13:15 AM

Yesturday John Papa and Adam Kinney announced MIX 10K winners on SilverlightTV. Check it out:

Get Microsoft Silverlight

The part about my entry starts at approximately 6:18 mark. And John accidentally hits a link to my games.ailon.org site. Oops :) I’m sorry, John.

I’m going to MIX10!

2/16/2010 11:10:44 AM

Thanks to all who voted for my MIX 10K Smart Coding Challenge entry. Thanks to you I’ve won the Community Prize!

image

I’ve already bought the plane tickets and I’m flying Vilnius – Copenhagen – Newark – Las Vegas on March 13th. Anyone on the same route? These are probably the most pleasant unexpected expenses of my life.

Congratulations to Grand Prize winner Jimmy D for his awesome Frog Log game made in HTML5 and to all runners-up!

I especially liked Pipe Runner by Rafal C – truly awesome game. You have to check it out. When I first saw it I thought I have no chances but I guess being an early bird paid off.

Thanks again to everyone who voted for my little game. You can download the source code of a slightly spiced up version here. It’s not a 10kb version and it’s not a good example of how you should develop Silverlight games (the beauty of code was not the objective) but it’s available for the curious.

Mix10_SeeYou_blk_240

If you would like to hook up at the conference or en route feel free to email me at ailon@ailon.org or message me on twitter @ailon or leave a comment here.

See you in Vegas!

Book Review: The Art of Unit Testing by Roy Osherove

2/2/2010 7:49:36 PM

The Art of Unit Testing by Roy Osherove

Personal preface

I must admit – I haven’t been doing any real-life unit testing until now. Back in 2004 I was leading a relatively big WinForms project and I thought we should do unit testing on it. Unfortunately we had already finalized our conceptual designs (which didn’t consider unit testing), the tooling at the time wasn’t as mature as it is now and, most importantly, we had no knowledge on how this unit testing thing should be done properly. So after playing around with NUnit for some time I’ve concluded that it was neither the time nor the place to start doing it for real and put it away.

After that project I was mostly involved with smaller ASP.NET projects and never thought that unit testing was really feasible for them. So, basically unit testing was always somewhere on my mind but not too close to the surface.

Five years later I’ve started working on amCharts for WPF & Silverlight and as we release new products, add new features and fix bugs I’ve started feeling a real fear of breaking something while fixing a bug or adding a new feature. Manual testing helps but the fear is always there. I understood that it’s time for “take 2” on unit testing.

This time I knew that I have to do it right. This is one of those subjects where you can’t just start doing it and learn as you go. That is a sure way to fail (see my experience above).

The Book

Fortunately this time there is this book and it’s targeted at .NET developers which is not essential but a nice bonus. I’ve been reading Roy Osherove’s blog for quite some time and following him on twitter. I’ve been using his Regulator regular expression testing tool before that. So, I sort of “knew” and respected the author, the book got raving reviews at Amazon – buying it was a no-brainer.

The book is short (less than 300 pages) but on point with almost none “water spilled” and space wasted. I’ve swallowed it in less than a week reading it in the evenings only. That wouldn’t be that fast for a fiction book, but I think that’s a record for me for a technical book. I usually fall asleep reading technical books in bed pretty quickly and I only did it once with this book ;)

It covers all the aspects of unit testing, writing good tests and testable code, tooling for .NET (also mentions tools for Java, C++, etc.). It also offers quite strong author’s opinions on the matters. Some people might not like this, but as long as you can see that it’s an opinion and not something written in stone, I really do like it.

Minor Criticism

I can’t say anything bad about the content of this book, but I have a few minor complaints about presentation. First of all I didn’t like the font used. I’m no expert of fonts and this could be the default Manning (publisher) font, but it didn’t feel right to me (too wide or something). The use of some “comic” type of font for ToC and headings is another story, but since it’s not the main font it didn’t bother me much. There were some minor issues with sample code too: incorrect indentation, a couple of auto-capitalized “return” statements and things like that, but nothing major.

The book comes with free access to ebook version in PDF, ePub and Mobipocket formats w/o DRM (as far as I understand). Unpleasant thing was that my name and email address was inserted in the footer of every page of the PDF. I don’t even know what is more unpleasant DRM or this. Should I protect the PDF now so it doesn’t spread over internet accidentally or something? If I wanted to spread illegal copies I’d find a way to remove this, but now I don’t even feel comfortable giving that PDF to my colleague which I consider a fair use (I’ll give him a paper book anyway). Anyway this is a minor issue and I should stop complaining.

Conclusion

If you are serious about starting unit testing or improving your skills, do yourself a favor and don’t just jump right in, but buy this book (especially if your main platform is .NET). It’s a really excellent starting point for anyone who doesn’t consider himself a unit testing guru (and I guess even gurus might find something new). After reading this book I feel pretty confident that my next project will include unit tests and I’ll have a good basis and this book as a reference if I have questions.

Links

Tags: , ,

MIX10K T-shirt

2/2/2010 12:44:44 PM

Got my Mix10K T-shirt Today:

Mix10K t-shirtMix10K t-shirt

Don’t forget to vote for my entry in the MIX 10k Smart Coding Challenge. You know, that’s the only chance I have of going to Las Vegas this year ;)

Tags: ,

Weekend project: Spiced Up Tic-Tac-Toe 3D

1/18/2010 2:41:56 PM

TicTacToe3D

Over the weekend I’ve spiced up my little entry in MIX 10k Challenge and posted it to games.ailon.org. Check it out. And vote for it in the contest. Thanks!

As usually source code is included, but… The objective of the initial project was to fit it into 10k and even though I’ve spiced it up visually I didn’t change the overall code architecture so it’s some pretty ugly code. Sorry :)

kick it on DotNetKicks.com Shout it submit to reddit

Tags:

Copyright © 2003 - 2010 Alan Mendelevich
Powered by BlogEngine.NET 1.6.1.0