Website

Believe it or not, it’s almost 2010

This year has been a pretty amazing year. A few weeks ago, I was writing about my first year at IdentityMine. A little more than one year ago I was closing the Siemens book (after around 13 years of working into Building Automation, but always from a software engineer perspective) and started the IdentityMine chapter of my life :). As I mention in the post in question, this first year was a very interesting and also challenging year. Interesting because I got to work with some of the best creative ......

New intro on my website

The time was ripe for a new intro on my website www.galasoft.ch. Here it is below, posted for my blog’s readers. I hope that you find it entertaining.

Read the rest of this entry »

New "Welcome message" on www.galasoft.ch

I changed the "welcome message" on my website www.galasoft.ch and thought I would also publish it here :) ---- Update: In addition to the talks listed below, I will also talk in TechDays Geneva. More details here. Read the rest of this entry » ......

New Year's Greetings and Silverlight Greeting Card

Happy New Year to all. 2008 has been an amazing year, with many changes in my professional life (joining IdentityMine, publishing my first book Silverlight 2 Unleashed, etc...). It was a real pleasure to be in company of some of the brightest minds on this planet and to do my best to not seem to ridiculous next to them :) Privately, the highlight of this year has been our trip to Asia (Malaysia, Hong Kong) which will remain in our minds forever. Read the rest of this entry » ......

New design for GalaSoft website

It's with great pleasure that I am publishing the new and improved GalaSoft website today. After updating my blog's look and feel to a much better and more modern them, it's now my website's turn. www.galasoft.ch is the place on the web where I post articles and resources in relationship with my work. Historically, it has been my main "home" on the web. Nowadays, things changed and my blog is really where people discover me first. Nonetheless, I want the site to be a great complement to the blog. ......

New GalaSoft stickers

On a whim, I made a GalaSoft sticker and ordered 48 of them at CafePress.com. The stickers just arrived yesterday, and they look pretty cool. I plan to keep some on me, so next time you cross my path, make sure you get a GalaSoft sticker for your laptop ......

My resume is now online

I finally did something I wanted to do for a loooooong time: I cleaned up and put my resume online on my website. Note for Beat (my boss), if you read this, don't panic, I am not leaving just right now :) Anyway. For those of you who like to know my (professional) self better, feel free to take a look. If you want a username and password to check my certificates and awards, contact me. And if you have any comment, give me feedback ......

Silverlight 2 Unleashed Online Content

There is a lot of online content available for Silverlight 2 Unleashed! Errata One thing that I am particularly sensitive to is the correctness of the information I put in the book. Because of time constraints, some *very* last minute changes by Microsoft didn't make it to the book. Other minor errors managed to slip through multiple review rounds (and believe me, many people did review this book with utter care and attention). I listed the Errata (a dozen so far) on my site, and the list will also ......

Redesigning my website with the help of Expression Blend

I decided to completely redesign my website www.galasoft.ch (yes, it's about time, I know). For this process, I decided to inspire myself (loosely) from my good friend Robby Ingebretsen's site, which is both simple and beautiful. In order to get a better idea of what I want to reach, I decided to work like most web designers and to create a mockup first. Instead of creating a static picture, however, I used Expression Blend, a tool I am fairly proficient in, to create a WPF application demonstrating ......

Various pieces of news

Now that the book is finished writing, reality is catching up with me and I am finally able to work on the backlog of ideas and projects that has accumulated in the last months. Time to give an update of stuff I do or will do soon. Silverlight 2 Unleashed status On my side, the work is done and I delivered my copy to the editor. We had a small bunch of last minute corrections when Silverlight 2 RC0 made it to the web, and I am happy the good people at Sams gave me some time to clean up a few kinks. ......

2 years and 266 posts later...

2 years ago, on a Sunday, I posted my first blog post. Since then so many amazing things happened, partly due to this blog: I got the MVP status, I got a better recognition in my firm for my expert knowledge on some topics (such as WPF, Silverlight, ASP.NET and C#), I started speaking in conferences... One year later, I got a book deal (more on this soon). I met amazing people, and made a lot of new friends in the industry. I went to Redmond a few times and had the chance to talk to some really amazing ......

GalaSoft "TweetMyPage" released for tests

GalaSoft "TweetMyPage" is a web application allowing you to post to Twitter what you're currently reading in your web browser, on a simple button click. After you install the small "scriptlet" button in your web browser's "bookmarks toolbar" (Firefox) or "Links toolbar" (IE), any time you want to share what you're reading with the world, you can simply click on the "TweetMyPage" button. If it's the first time in this session that you are posting, you will be asked to enter your Twitter user name ......

Back home and a couple of news

We're back home after an amazing week of ski and sun. It was really great. I also worked well on my private project, really happy about the way it went. I also have a couple of news that I haven't posted about yet. So here it is: You can now chat with me on MSN directly from my webpage http://www.galasoft.ch. Simply click on the "Chat with me" link in the left hand menu. This opens an inline DIV. Click on "Begin a Conversation". Type your name. Enter the "spam-fight" code and click Submit. There ......

Parlez-vous Facebook? Looking for translators.

Facebook is looking for french speaking persons willing to help translating the site. I really don't have time for that, so if you speak french and have free time to spare, you should probably register. Looks like they really need it sorely (see below) :)

Ouch, ou plutôt aie!

Silverlight enabled GalaSoft

GalaSoft is my webpage, where I post information about all my private projects. It's not a firm, it's a project that I use to coordinate my efforts in all the technologies I am interested in. As such, it was pretty natural to add Silverlight content to it. Silverlight is an area where I will be investing a LOT more time from now on, for reasons I will mention in further posts. After posting a screencast about WPF in Silverlight format, the next step is to add a Silverlight logo on some of my pages. ......

Website offline due to maintenance work at DiscountASP.Net

My website was offline for a short while today due to maintenance work at DiscountASP.Net. I apologize for the possible incovenience. To compensate for the loss of connection, I will gracefully offer you 3 visits to a page of your choice on my website, all for free! :-)

Google search on my website

I've been wanting to add a search box to my website for quite some time, and also wanted to play with Google AJAX Search API. Turns out it's a very easy API to use! I simply wrapped their search control in a PositionedNode and FadedNode, and added a higher-lever object to "hide" Google's syntax and offer a higher level interface. So from today, you can now use the "Search" menu to search the website and also (in the same dialog) this blog. Google Search API also offers the possibility to search for ......

Porting to VS2008 / New WPF book / Pictures of Sicily

Porting to VS2008 I am working on a few ASP.NET projects I do privately, and had a small issue, which I couldn't debug in VS2005. I decided it was time to give a serious try to VS2008, so I converted most of my private ASP.NET projects to VS2008, and everything wen smoothly. I didn't take any risk, and I chose to continue using .NET 2.0 for these projects, so that only the IDE changes, but not the framework. After a very fast and painless conversion, finding the error was a breeze (I was having problems ......

Silverlight: Ah the pleasure of breaking changes...

First thing I noticed after installing Silverlight 1.0 RC1 is that the video on my PhotoAlbum didn't work anymore. There is an update for Expression Media Encoder which produces new JavaScript files for the video player, and which breaks the customizations I made. Unfortunately, it's not something that I can fix in 2 minutes, so I'll probably have to work on that a little more next week. In the mean time, I placed the video player on a separate page, without the fancy XAML animations I made. I also ......

Silverlight: Video on my PhotoAlbum website / Going in holidays

Silverlight video on my PhotoAlbum website You can now watch videos on my PhotoAlbum using Silverlight!! Currently, two pages have video: Pune, India and Calcutta Rescue's projects in Kolkata. To start the video, locate the thumbnails marked with a "movie" label, and click them. Modified player.xaml I spent a few hours this week tweaking and learning to know the Silverlight video player created when you encode a video using the Expression Media Encoder application. I modified the player.xaml and ......

More pictures from Kolkata online

I just posted additional pictures from Kolkata on my PhotoAlbum. I still have quite a few to sort and catalog, and I will go through them in the next few days. Very tired, not quite fully recovered from the jet lag, so pardon me if I don't write more :-) More ......

End of WPF training in Pune / Visit to Kolkata, India

Ending the WPF training in Pune The WPF training in Pune, India went great. We finished on time, I spent the last afternoon showing various resources and demonstrating how to create a basic Silverlight application, as well as make Silverlight videos. This is not strictly speaking in the scope of the training, but with the WPF background acquired during these 3 days, moving on to Silverlight is really easy, and really motivating too. After Pune, and after a very nice dinner with Nikhil, the indian ......

WPF training (Indian edition) underway

Today is the 3rd day of the WPF training I am giving to my indian colleagues in Pune, India. This is the 3rd edition of the training, after Milano and Zug. The training is going well, even if I had a few more "demo effects" than usual, maybe due to a general tiredness (I need holidays, and thankfully they're coming soon, yay). But my trainees were kind enough to give me a little time to correct the code, and all goes well in the end. If the monsoon allows, I will fly tomorrow to Kolkata, where I ......

On the road from Mumbai to Pune (India)

Things I want to remember The wall of human faces waiting outside of the Mumbai airport, most with names on signs; endless faces waiting patiently. The black taxis simply everywhere in the city, with the meter outside of the car; the small 3-wheelers, painted in the same way as the cars, roaming and honking in the traffic. The drive out of the airport's parking, our car led with a millimetric precision between the other cars parked in the middle of the road. The constant honking, not aggressive like ......

One year of blogging...

Exactly one year ago, I started blogging at GeeksWithBlogs. This has been an amazing year for me professionally. Promoting WPF in my firm has been a tough but rewarding experience. I got to say, ever since I attended MIX06, I've been enthusiastic about the technology, and it became almost a passion to talk about it to my colleagues and managers. While I hadn't been blogging before, I had been very active in the JavaScript community, and continuing this work in the .NET / WPF community just seemed ......

On the road to Silverlight: Download...

Now that my site has been cleaned up, I want to add Silverlight content to it soon. I blogged about my plans here, and first of all I need to download all the development environment. That also includes Orcas (Visual Studio 2007) which is currently still in Beta. I didn't install it before because Microsoft told us that it was a bad idea to install it on a non-virtual machine, and that uninstalling it was very difficult. Since the last Beta 1 version, however, things are better and I have been told ......

Expression Blend labs / Losing the "-lb"

Expression Blend lab I downloaded Karsten Januszewski's Expression Blend labs, and I am going through them slowly. I finished the first one tonight. While it's relatively basic, it's still great to be able to consolidate what I otherwise learned through try-and-fail, and through reading parts of the user documentation. Additionally, it's a good support to learn useful shortcuts for some commands. I am looking forward to going through the remaining two labs, and I will highly recommend them to the ......

Back to ASP.NET this week / Silverlight plans / Chinese plans

ASP.NET: Updating RealSimpleBlog I decided to make an update (V0.5) to my RealSimpleBlog control. This control is used to display blog entries integrated in an existing webpage, without having to install a heavy infrastructure. Since it's a control, and not a framework like other existing blogging systems, it doesn't disrupt existing pages and integrates seamlessly without needing a lot of administration. To be fair, the control is still in an early stage, and I don't feel that I can distribute it ......

Snapshots on my websites

I added a new feature on my website and my blog: PreviewShots by snap.com. When you see a small "balloon" icon next to a link, simply mouse over it and see a preview of the page this link leads to. I chose to add PreviewShots to external links only. By clicking on the "option" button, you can customize the way the snapshots are rendered on your web browser. I am just testing the service, so let me know what you think ......

Pictures of Chicago downtown online

Alright, it worked! The pictures from Chicago I took yesterday are online, just posted from O'Hare airport. Also, the Las Vegas ones are online too.

And now for 9 hours in the plane...

MIX07 website pain

Seriously, what's up with the MIX07 website?? My default browser is Firefox for various reasons. That's how the website looks in it: MIX07 website in Firefox Unreadable. Which is funny and ironic when you remember the playdoyers for compatibility we heard at the very same event last year. OK, I'll open IE to look at the site then. Ooops. MIX07 website in IE ......

WPF: Example of ItemsControl bound to an ObservableCollection

One of the most exciting feature I learned about in the WPF course two weeks ago was that you can bind an ObservableCollection's content to just any type of Panel, by using an ItemsControl and the ItemsPanelTemplate property. In order to check if I had understood the technique properly, I made a small working example. It actually worked out pretty well, so well in fact that I decided to publish it, hoping that it can help someone out there. I am walking you through that example here. I published ......

Tacoma/Seattle/Redmond pictures on my PhotoAlbum

I published the pictures from our trip to the Seattle area 2 weeks ago on my PhotoAlbum. In order to train us with WPF, 8 developers and 3 designers involved in the project had the chance to follow a training given by IdentityMine, an excellent firm specialized in WPF development in Tacoma, WA, not far from Seattle. The training week was amazing, and we also took the opportunity to drive to Redmond, where Microsoft has its headquarters and campus, to meet a few architects with whom we were already ......

Updated FadedNode (DHTML) / Archived old JavaScript pages

This DHTML fading effect, where a given node's opacity changes smoothly from one minimum value to a maximum value and back, has been updated. The update is very minor: Now it's not necessary anymore to define an opacity in the node's "style" attribute. The opacity can be defined in external CSS files, or even not be defined at all (in which case the opacity is equal to 100%). Also, I archived my old "JavaScript consulting" pages. Most of the advices given on these pages are still valid, but the pages ......

Barcelona

Flying often to Malaysia provided us with enough miles to get a "free" ticket to a european destination of our choice. I put "free" in quotation signs, because in fact you still have to pay quite a few taxes, not even mentioning the hotel and of course the kids' tickets, and also given the very low plane tickets prices in Europe currently, it didn't make that big a difference. So it was really more of an excuse for a weekend abroad coupled with a city's visit. We chose Barcelona, where none of us ......

JavaScript: CSS length manipulation and conversion

CssLength class: In the course of improving my DHTML PositionedNode, one thing I really wanted is to be able to handle other units than just pixels. In order to do that, some conversions are needed. To make this easier, I developed a helper class named CssLength. Converting from one unit to the other can be tricky. The conversion depends on quite a few things (mostly the way font size is set in the node's hierarchy in the DOM), and there is not a simple arithmetic way to convert ems to pixels for ......

Christmas in the family / German road trip

Christmas in Lausanne We celebrated Christmas in the family in western Switzerland as usual, this year at my parents' place in Lausanne. it was a very nice and cosy time, a good occasion to see all the family members in a relaxed atmosphere. The girls were a little overwhelmed by all the emotions (and the presents :-) but everything went great. more... and more... Burg Hohenzollern On the 27th, we packed our things and drove north to Schaffhausen first, and then over the german border to Burg Hohenzollern ......

The last autumn pictures

Here are the remaining pictures from November and December. I spent quite a lot of time making a new version of the PhotoAlbum, now is time to add content. We celebrated Christmas in the family yesterday, so more pictures will be posted soon, but for now let's concentrate on these ones ;-) Alise's birthday in the Kindergarten Chi Meei and I spent the morning of the 25th of October in the Kindergarten with Alise, her teacher and all her friends. It was a really nice occasion, where Alise was given ......

PhotoAlbum V1.12.2 released

I published V1.12.2 of the PhotoAlbum web application yesterday. Even though my "daytime job" took me quite a lot of time and energy lately (without even mentioning the kids ;-), it's been quite a major release, with a lot of bugs and enhancements. Thumbnailed view More screenshots here and here. I am especially happy to have unified the way all the controls on the page react, by implementing common functionalities in a base class. For example, each control is able to extract its embedded files (JavaScript, ......

End of Summer, Beginning of Autumn

The autumn here is beautiful and melancholic at the same time. Many years ago, in my teenage times, I was thrilled by the coming of winter. Nowadays, it's less thrilling, but I got to say that I am looking forward to skiing again, and especially to go with Alise again. Last year was fun, and she had a blast learning! I hope that this year, we can go on and have fun together! I am posting many pictures again today. I know I should post less, more regularly, but I have been really busy with a lot of ......

Malaysia and Singapore pictures clean-up (ASP.NET PhotoAlbum)

I cleaned up and reposted the Malaysia and Singapore pictures from this summer. Before that I had to correct a few small bugs in my RealSimpleBlog custom control, which is now in version V0.2.2. It's a work in progress, which eventually will allow the user to place a blog-like content on any webpage he wants. Most existing systems nowadays are fullblown blog applications, and are more difficult to integrate smoothly in existing websites. The pictures page display the pictures interpersed with the ......

Using C# generics to extract enumerated flags from a numeric value

I posted a new page on my site, demonstrating how to use generics to extract enumerated flag values from an integer value in a generic way. I wrote this utility class, because I wanted a way to execute actions on the server using a URL query parameter sent from the client. Until now, when I wanted to execute an action, I was using a URL like: http://www.galasoft-lb.ch/m... Then I was mapping the value 3 to an enum value, and would execute the corresponding action before rendering ......

Converting a ASP.NET 2.0 Website to a Web Application Project

Version 1.12 of my PhotoAlbum web application was built using the "New website" menu in Visual Studio 2005. This creates a website project, which I was curious to try, as I didn't have any experience with it. I come from ASP.NET 1.1, where the model is very different. For example, you precompile the website before deploying it (in ASP.NET 2.0, it's not compulsory; you can deploy the ASPX files together with the CS files and it is compiled on demand). Also, in ASP.NET 1.1, you have total control on ......

GalaSoftLb.Web.PhotoAlbum: V1.13 planning

I published V1.12 of the PhotoAlbum web application last week. Now is time for some planning, and preparing the next version. Since the PhotoAlbum uses other controls and utilities, I will coordinate all the versions and release them together with the PhotoAlbum's next version. The next PhotoAlbum release will be V1.13. I think that the one after that will be labeled V2, because most of the old code and the old structures will have been replaced by then. However it's not 100% sure yet. Together with ......

PhotoAlbum V1.12

I just published an important step towards V2 of my PhotoAlbum. Compared to the version I published on the 29th of August, there are no big functionality changes, except that it's now possible to add legends to the rotating headers on top of the main page, and to cycle through them using a "Next header" link. I will pack the code and make a custom control with it, to make it easier to add to a page (not that it's difficult now anyway). However, I made very big changes to the folder structure in the ......

PhotoAlbum works

I published yesterday a new version of my PhotoAlbum. This is the web application (running on ASP.NET 2,0) in which I experiment technologies which I find interesting in the moment. It's also my journal andmy pictures' gallery. During the holidays, I used this platform to post pictures and blog entries daily from Malaysia/Singapore, using two custom control I had developed for the occasion: RealSimpleBlog and Thumbnails. RealSimpleBlog is a control which is able to read XML files in a directory, ......

Excel integration in (ASP).NET using OleDb

Most of my private programming time lately has been invested in my PhotoAlbum's new version, in which I implement bug corrections and prio 1 improvements over the version I used during the last holidays in Asia. I will publish that version soon together with a list of improvements. One important feature (or so I thought) is the ability to import the content of an Excel file into the XML files I use in the PhotoAlbum system. I use an Excel file as main repository for all my pictures' information, ......

Chinese database for Palm OS flashcard program

At long last, I released a new version of my chinese database for the flashcard program for Palm OS Lexi. The new DB has a lot of new entries, and has also been cleaned up (double entries mostly removed, error corrections, etc...) Extract from the "readme" file: "This database is for the excellent "flash cards" application Lexi. It contains over 4200 chinese words and expressions, and can be used to learn Pin Yin as well as Han Zi (chinese signs)." Readme file Download the database ......

Maria Himmelfahrt

Today is Maria Himmelfahrt, which can be translated by the day where Mary went to heaven. This is a catholic public holiday, and since the state I work in (Zug) is catholic, I had a free day today. However, since Zurich is reformed, it didn't celebrate and Chi Meei had to work. So I decided to just have a day on my own, which I like to do from time to time. Actually, this happens from time to time, because of the nature of my job (software engineering), which allows me to have very liberal working ......

One week later...

This week has been quite unusual for me. I was supposed to start work again on wednesday after my holidays, but I caught a fever, so I had to stay home until friday. As additionally my kids were spending one week holidays with my parents, and my wife started her new job, I found myself alone home. Well, after a while it got a bit boring, though I did some work on various private projects I have. One thing I did is order a Piel Frama leather case for my Palm LifeDrive (tan color), and I am really ......

Mobile blogging now from Singapore

We left Penang this morning and are now in Singapore. I posted a lot more pictures in my PhotoAlbum, and practice showed a few fields for improvement: The file structure is too complex. I should be able to post all files in one folder, and if needed, the application should dispatch the files in the corresponding folder. When I FTP from my PDA, changing folders takes too long time. I forgot that the PDA uses linefeed only as line break, when the server uses carriage return-line feed (rookie mistake, ......

Mobile blogging with my RealSimpleBlog ASP.NET control

OK, it seems to work rather well! We're now in Penang, and I am able to post pictures and blog entries. One very small problem only: The hotel sure has wireless network in the lobby, but you can only use it if you connect from the (wired) connection in your room first... So for me it's totally useless, as I didn't take my laptop but only my PDA. There are solutions: going to the internet cafe downstairs, or using the wireless access at Starbucks, but it's all a little less convenient than planned. ......

All ready to go... RealSimpleBlog control, Integration in PhotoAlbum

We're flying to Malaysia tomorrow... no wait... today (12.07.2006) after noon. And I managed to reach my goal, which was to integrate the RealSimpleBlog control V0.1 in my PhotoAlbum. Here are the features: I can edit blog entries (XML files) on my LifeDrive (Palm OS PDA), and then FTP them to my server. The entries are rendered by the control on the PhotoAlbum's main page. I can FTP pictures to a folder on my server. Another control I wrote creates a tabular view of the pictures' thumbnails. Actually, ......

RealSimpleBlog custom control (V0.1): Style sets and Integration

I didn't write for some time about my RealSimpleBlog control because I was quite busy with other subjects (WPF mostly). However, I am making nice progresses, and I think I can say without too many risks that the integration in my PhotoAlbum will be ready before we fly to Malaysia on wednesday. Actually, I also integrated the control on my main page, and if you select this link, you will see it in action! I also set the page up to generate a static HTML file on demand, so the old address is still ......

RealSimpleBlog custom control (V0.1): Day 5

I reached my goal for today, which was to implement the Image element. So now my blog control can display: Date, Title, Text, Frame, List, Image. The last one I still need to write is a small element displaying a thumbnail banner. Since thumbnails are made actually images, I can reuse my method, so it should be fast. I reworked the XSD schema, because the Image element was really too simple in the last version. I extended it with a Link, a Target for the link, and a ALT attribute, which is also used ......

QuickNews and AvantGo

I spent yesterday's evening working on the other project occupying me in the moment, which will link QuickNews to AvantGo (two Palm OS programs which one can use to read RSS feeds). How to link them? Well, QuickNews is very good because it's fast, efficient and to the point. However, it doesn't render HTML, it cannot follow links, so sometimes it's just too short. AvantGo, on the other hand, is a HTML compliant reader, can follow links, can be used to browser online or offline (you have to synchronize ......

WPF Demo: Download problems solved

Following my change to a new ISP for the GalaSoft website, I completely forgot to copy the sample files of the WPF demo to the new ISP. So between yesterday evening and now, the download was not possible. The error is now corrected, and the following files are available again: Project files ......

New Internet Service Provider

So, after copying, testing and changing the DNS entries at Switch, my website is running at my new provider. The first tests I made prove that it's way easier to set up web applications, web services and other exciting stuff now, so that after doing it professionally only, I'll be able to use all these nice technologies on my own site too. That's great ......