Thursday, July 02, 2009
Labels: Personal
Wednesday, April 22, 2009
What is the best comment in source code you have ever encountered?
Labels: Personal
Tuesday, March 10, 2009
Instead I encourage you to read Joel's take (slightly biased towards junior PMs, towards consumer product PM and towards the early stages of the project lifecycle).
Labels: Personal
Friday, February 27, 2009
Saturday – ALT.NET Seattle 2009.
Sunday – WSCTC 4th floor (welcome, keynote, reception), and then
Sunday – Jillian's for evening geek party.
Monday – Hanging out with Device MVPs: Lunch time + an evening reception, on Redmond campus.
Tuesday – presenting to C++ MVPs about parallel debugger, and then
Tuesday – presenting to Managed Languages MVPs about parallel debugger, and then
Tuesday – evening at the MVP Summit party.
Wednesday – probably at WSCTC (keynote, panel and general sessions + lunch).
Saturday, January 17, 2009
It sounds like the community people in the UK miss my interactions as much as I do, because the other day my approval was sought for a 2009 calendar of community events where in each month there is a picture of me (sounds weird I know!). I gave my permission and Craig posted the result on his blog.

Besides 12 photos of my ugly mug accompanied by (what they think are) funny captions, each page has details of the UK community events taking place that month (I suspect that is the main purpose of the 2009 Community Calendar ;-)
Labels: Personal
Thursday, January 01, 2009
01. Visual Studio 2008
At the start of the year I completed my multi-month series on VS2008 and .NET 3.5 topics by writing a short article for TechNet and a longer one for QBS. I also recorded more screencasts on this topic including about Client App Services, Sync Services and the MAF. I linked to those 3 from the resources post of the session I performed/delivered most in 2008: Five VS2008 Smart Client Features.
02. Silverlight 2 Beta 1
After putting VS2008 behind me, I spent a lot of my time getting up to speed on Silverlight 2 and creating a (what turned out to be a very popular and highly ranked :-) session in the Beta 1 timeframe. I blogged a lot about the technology and most of my posts are linked to from this single Silverlight post.
03. Presentation Tips
Early in the year I wrote 2 posts to help you with the basics of setting up your machine for the most important part of a presentation (the demos): Setting Up the Laptop and Setting Up Visual Studio.
04. Other non-technical
This was the year I transitioned from Europe to the US, the side effects including a blog post with a list for settling in that others found useful: Getting a USA life. The transition was also to a new role joining the hordes of Microsoft people that spend a lot of time in Outlook – this inspired me to come up with some Email Rules.
05. Debugging
After settling in, I found myself living in the Visual Studio debugger quite a bit and sharing (via the blog) findings, advice and tips. For example: name your threads, 2 cool tips, make object id, debuggerdisplayattribute and, my favorite, understanding the terminology behind active and current stack frame (and current thread).
06. Parallelism
No surprise that parallelism is featured on this blog this year (as it was last year) and it should be no surprise that it will continue to be prominent here next year. My goal is to deliver shorter posts in the future, but for now you can use a cup of your favorite beverage while consuming my thoughts on: Threading vs Parallelism, Fine Grained Parallelism, Not Explicitly Using threads for Parallelism, the CLR 4 ThreadPool engine and the new Task type.
Thank you for reading, make sure you don't miss a post in 2009 by subscribing to this blog – click on the link on the left.
Labels: Personal
Saturday, December 13, 2008
Our team has a shared calendar on our SharePoint site where everyone adds their holidays/vacations so the PM can take actions accordingly. In addition, it is customary for individuals to send a Meeting Request (called S+ in homage of the Schedule+ product) to the team's distribution list's (DL's) alias that describe the OOF schedule. It is here where you need to be careful.

1. Do not request responses
2. Show the time as Free with no Reminder (remember, your OOF ends up in my calendar so I don’t need a reminder or my calendar to show as anything other than FREE for your vacation)
3. Create a separate appointment for your own calendar that shows the time as "Out of Office" (so people can see that when trying to schedule a meeting with you)
4. Setup your Out Of Office Assistant (from the Tools menu) with an appropriate message (so they understand you will not be responding promptly – also touched on in #33 of my email rules)
There is a more detailed blog post (and the comments section is useful too) here.
Speaking of OOF, I will be out of the physical office starting now and I'll be working from home in Greece until mid-January (with a few holiday and vacation days thrown in for good measure). So, unless you work with me on daily basis, you'll see no change… if you were planning on visiting me in-person, use email instead ;-)
Labels: Personal
Sunday, October 12, 2008
Many of us work in organizations where email is the primary mode of communication dominating every other medium. For example, in Microsoft, I have yet to hear my desk phone ring and I easily send around 300 emails per week and that is far less than the amount I receive. With email being so prevalent, I would have expected every person joining large companies to immediately get training on making best use of their email client e.g. Outlook. If everybody followed a simple set of rules, we could reduce the amount of emails on the wire, which is a good thing for everyone’s time involved.
Below are the rules that everyone in my (fantasy?) world would follow. I break it down by the fields we can fill in when composing or replying to email:
TO:
1. KEEP the explicit recipient list short. The more people you add, the less chance you’ll get a reply. Who is it that really must be on the TO list? Who is it that you are expecting to take some action based on your email?
2. MOVE to CC if it is just an FYI. If you are not expecting a reply from me and you are not expecting me to take some action, I should be on the CC list not the TO list._
3. ADDRESS the TO people. If I am on the CC list, don’t talk to me – talk to the TO people. You are sending it to the TO people, not the CC people. Also, really do address the TO people: if you cannot imagine reading out loud your email to *everyone* on the TO list, then you have your TO list wrong.
CC:
4. MOVE to TO if expecting an action. If you are expecting an action/reply from me, I should be on the TO list, not the CC list. If you leave me on the CC list don't be surprised when I don’t reply promptly (because your email has gone to a folder that I empty every week).
5. REMOVE if it is not even an FYI. If I don’t even care about the topic of your email, remove me from the CC list. Don’t assume I am interested in your email to start with.
6. NOTE that when you hit Reply, Outlook cannot read your intention and make the changes suggested by the rules above: you are allowed to move people between the TO and CC fields while a thread is ongoing.
BCC:
7. DO NOT USE. Ever. Never!
8. REPLACE with two actions: Reply to the people on the TO/CC field and additionally FORWARD to the people you wanted to place on the BCC field.
As an aside, if you BCC me, your email will end up in my DELETED folder due to a rule I have setup.
SUBJECT:
9. HAVE one. Take a moment to summarize your email in a few words on the subject. If you can’t, then your email probably serves no purpose.
10. KEEP short. There is a BODY field for your diatribe, keep it out of the SUBJECT field.
11. BE specific. Subjects such as “Bug”, “Question”, “Visual Studio”, “Your blog” etc are not good subjects on their own. I should be able to distinguish your email from other emails just by looking at the SUBJECT.
12. USE hints at the start of the subjects. For example: "Action Required: xyz", "FYI: xyz"
13. AVOID changing the subject unless it is a new topic. Don’t even correct a spelling mistake (it breaks the thread).
14. DO change for new topic. If the topic has changed, then the previous rule can be broken BUT: consider keeping original in parenthesis e.g. “New topic (WAS: old topic goes here)”.
ATTACHMENTs/URLs:
15. KEEP short and small. Short URLs, small size of attachments. If you can’t keep to the previous two guidelines, group together the URLs/Attachments on an intranet site and just point to that.
16. LIMIT overall items. The more URLs/ATTACHMENTs you send, the less likely I am to look at any of them.
17. PROVIDE context. Why do you think I’d open your email attachment or click on your URL if you don’t tell me something about them? Don't assume I am interested.
18. AVOID uncommon extensions. I don’t care about the technical merits of TAR vs RAR vs ZIP. Zip is what most people have installed – use that.
BODY SIGNATURE:
19. KEEP short. When your email signature is longer than your message, you know something is wrong. Generally, a single line of text is more than enough.
20. FORMAT as text-only. In particular, no images or anything that would appear as an attachment in a text-only client.
BODY FORMATTING:
21. AVOID fancy backgrounds. White works.
22. AVOID funky fonts.
23. DON'T USE shortcuts as if you are writing a TXT or IM message. For example, "R u going 2 rpl to that eml?" should be "Are you going to reply to that email?". You are exchanging emails with professionals here, not your family. Using standard acronyms (e.g. LOL, AFAIK) can be OK though.
37. DO NOT UNDERLINE unless it is a URL you are underlying. In this internet age, people try to click on underlined words. Instead if you want to emphasize something use highlight, boldness and italics.
BODY:
24. AVOID long text. There is a threshold for the length of an email after which nobody reads it.
25. HAVE structure (paragraphs were invented with good reason).
26. USE spelling and grammar tools.
27. CONSIDER using bullets.
28. CLARIFY the purpose of your email: Are you blocked and need someone to unblock you or looking for an answer to a question or for someone to take action or just reporting some status or sharing some information etc.
29. ANTICIPATE follow up questions. If you are going to send me an email saying that "it doesn't work", you can bet that my reply will be "in what way doesn't it work and what have you tried already?". Anticipate and provide that info up front.
30. VERIFY that you really need to send the email. Are you looking for information that your favorite search engine can provide you with? Does the answer already exist in your inbox? Does the information exist on your intranet?
36. DO NOT INCLUDE a body if the subject says it all. Write <eom> in the body for “end of message” or at the end of your subject. If the subject says it all and the attachment is valuable, include, <attached> or <attached, eom>
HITTING SEND:
31. DO REPLY within 24 hours to any email that lists you and only you on the TO line. Try to do the same for emails that include you on the TO line amongst others.
32. SET expectation of when you will have a final reply or an update, if you cannot get the answer within 24 hours.
33. SETUP Out Of Office auto-replies when you are not checking your email as often as usual.
34. READ your composed email before hitting SEND. 1% of all emails I compose do not get sent after I re-read them and 25% I tweak for clarity after reading them. I bet you'll have similar experience if you do this for emails you compose.
35. DON'T SEND while experiencing negative emotions - anger, fear, grievance, annoyance, etc. Only send the email when you can calmly and professionally review your thoughts first.
Finally, specifically for Microsoft colleagues that use our internal DLs:
a) Realize that even if you are not a member of the DL, you will get a reply to your question. The only way you wouldn’t, is if someone explicitly removed you from the TO field which I have never seen happen. So stop asking: “I am not a member of this DL please Include me in the reply”.
b) Stop stating: “Remove/Add me to this DL”. One word for you: autogroup.
Do you agree/disagree with any of the above? Have you got any other guidelines that you would add to the list?
Labels: Personal
Wednesday, August 13, 2008
"a product needs developers to write the code and testers to test it. There are other things involved with shipping a product and the PM does those".So far I can share that I spend 75% of my time in meetings. The funny thing is that I used to view meetings as a waste of time, but for the first time in my career I am actually having tons of useful meetings. The reason is probably because most of them are of the brainstorming variety (where by the end your creativity juices are just oozing all over the place) or of the unblocking variety (where at the end someone is unblocked and can do their job, which they couldn't do without that meeting having taken place).
Looking at it from a different angle it seems that there are several hats that a PM wears and I find myself alternating between writing specs, project managing, testing scenarios on the product, creating walkthroughs, threat modelling, writing demos/samples, liaising with sister teams, liaising with internal customers and, finally, preparing to imminently liaise with developer customers (both inbound and outbound comms, gathering feedback and sharing the vision) when we release it.
Some view the "drawback" of this role being that: you have tons of responsibilities which you can only deliver via a team on which you have no authority. Read that sentence again. I think this is what differentiates this role from others outside of Microsoft. I actually enjoy this because it creates a true team spirit. Because most new PMs seem to find this the hardest part, most experienced PMs focus on sharing tips on how to overcome this "hurdle". Today I found such a post that advises on the success patterns for PMs (with many good links).
Labels: Personal
Wednesday, July 02, 2008
Labels: Personal
Monday, June 23, 2008
I walked up (with a helper friend) to a cashpoint (the "hole in the wall") which had a big colour screen with buttons either side of it and more buttons in a keypad below. The screen rotated through some adverts and included no instructions as to what do: I inserted my card to make a withdrawal. Nothing happened. We both stared at the screen and start pressing some buttons – nothing. Eventually she went in to the bank to ask for instructions while I continued tapping on the screen and buttons for a little longer. I got bored so withdrew my card... and after a couple of seconds, guess what? It asks me for the PIN number! Wow! You have to pull the card out in order for it to operate... good thing I didn't walk away immediately as the next person could have come along and played "guess the PIN" without ever getting hold of my card! Anyway, in the end the withdrawal succeeded and I had $500 in $20 denominations which is what it gave out. Next step: deposit that cash into another account.
I insert the other card, nothing happens but now I know the trick so I pull the card out and I get prompted for the PIN (after a brief delay). It asks how much I want to deposit. I enter the amount of $500. It dispenses an envelope and instructs me to insert the cash in the envelope and stick it back in the slot; it states that the envelope must not contain more than 10 banknotes! How am I to deposit $500 that it just gave me in 20s by using only 10 notes?! If that is its limitation why didn't it state that before asking me how much I wanted to deposit? This is yet another example of getting the steps in the wrong order. Anyway, since I couldn't find a cancel button (or some other Ctrl+Z option) I put $200 in the envelope and stuffed it in the slot. It gave me a receipt thanking me for depositing $500 :-) By this stage, the person working at the bank comes out and after hearing the story says: "Yeah that happens all the time, I'll correct it on the computer". Sigh.
Why do we put up with such systems? I don't think we'll advance our profession as long as users have already decided to tolerate the crap we serve them.
Labels: Personal
Sunday, June 22, 2008
There are tons of things to do in order to settle in – it is what I call "getting a life". I am sharing this list below partly for my tracking, partly because it may be of interest to anyone else going through the same relocation and partly so those of you that interact with me in person know where the stress is coming from:
1. Rent a mailbox for a year (redirecting mail from UK)
2. Move into temporary accommodation for a couple of months
3. Rent a car for a month
4. Communicate with legal parties to finalise the L1 Visa process
5. Get acquainted with area e.g. grocery stores, how to drive to work etc
6. Receive the AIR shipment of personal belongings (10 large boxes) and unpack
7. Get a new mobile phone (number + device)
8. Open a bank account
9. Apply to get pre-approved for a mortgage
10. Start house hunting, make offer, buy, move (this can be a whole list on its own)
11. Get a Social Security Number (SSN)
12. Get a credit card
13. Have driving lessons
14. Take driving written test (after learning some new road signs)
15. Take driving test and hence driving licence
16. Buy car (do this via a loan in order to build some US credit history)
And last but not least:
17. Settle into new job / role
Another reason I am sharing the above is so those of you staying tuned on the RSS feed know why it is going to be a quiet summer... I can't wait to get through to the other side of all that and start sharing with you the coolest stuff coming in the next version of Visual Studio ;)
Labels: Personal
Wednesday, June 18, 2008
Recently I had to change the pin of a smartcard that I have which required a number of steps:
Step 1: Insert smartcard into your laptop reader.
Step 2: Run client tool XYZ and click on a button which will auto-populate a textbox.
Step 3: Take the textbox results of Step 1 and paste them on a separate textbox on a webpage
Step 4: Enter in a second textbox on the webpage, the smart card number
Note: this is a number that is never used for anything else and is in small print on the side of the smart card. So I had to remove the card to copy the info.
Step 5: Hit the button on the webpage and check your email
Step 6: wait for email. Read the email (which is also sent to a bunch of approvers) which gives you a string – copy it
Step 7: Paste the string into a second textbox in the client tool we run at step 2
Result: BOOM with a message along the lines of: "The two strings (challenge / response) are not pairs. Please ensure that you do not remove the card during the entire process."
Why couldn't they have started with that statement up front? Why don't they state that next to step 4 at least? Why after removing and reinserting the card, don't they detect and give you a warning that remainder steps are futile? Why don't they take step 4 and move it to Step 0?
Labels: Personal
Saturday, May 03, 2008

There is however the quite important issue of its keyboard: it's the laptop keyboard from hell. Why the "£$^&* don't we have a universal standard for laptop keyboards yet? The placement of keys on this laptop is weird (e.g. the ESC key is further up than the top row of keys instead of being aligned with the Function keys) and also keys I usually expect to be more easily accessible than other keys (e.g. up, down, left, right arrow keys) are actually... smaller and cramped close to the others!
However the biscuit goes to the Fn key placement in relation to the Ctrl key. I expected the Ctrl key to be firmly placed in the bottom left and for it to be larger than other keys. Instead, the Ctrl key is normal size and it is 2nd from the bottom left, its place taken by the rarely used Fn key! What is worst is that, apparently, there is no keymapping software that can fix this, since Lenovo in their wisdom have made it permanent in the firmware :-(
One of the worst examples of how this trips me up is copy/paste (Ctrl+C, Ctrl+V). I have some source window where I do a copy (but in reality I only did an Fn+C without realising it) and then close the window, switch to my target window and do a paste (in reality a Fn+V) and nothing happens. Then I realise my mistake but it's too late to do a Ctrl+V now since the copy was never actioned... Arghh!
If you think that I am overreacting, first try using a keyboard like that before passing judgement. If you own one and think I am overreacting, clearly you haven't tried pressing Ctrl+Shift+B (Build Solution in Visual Studio) or Ctrl+Shift+Esc (bring up Task Manager) with just one hand (impossible!). Anyway, it looks like I am not alone judging by the collections of complaints here, here, here and here amongst other places.
My partial solution: I removed the offending key completely (screenshot).
As an unrelated aside, the Mac Air suffers from the same bewildering choice of placement of the Fn and Ctrl keys. As a more related aside, if you see me struggling to type in my upcoming events, now you know why!
<end of rant/>
Labels: Personal
Tuesday, April 01, 2008
There will be more activity here after that – talk to you then.
Labels: Personal
Wednesday, January 30, 2008
"What is so great about screencasts anyway?"
Many things:
a) Following a document step-by-step to achieve a goal is fine, but what about when you don't have the right stuff installed? It is many times that I have received emails from people saying words to the effect: "Having watched your video I am now downloading XYZ to give it a try!". Those people would not have gotten the same enthusiastic experience from reading a document. E.g. when Vista wasn't so widely available, this Sidebar Gadgets video could not have had the same effect in written form.
b) Even if you have the right stuff installed, what is it that would motivate you to invest time in following some steps to achieve a goal, i.e. how do you know it is going to be worth it? Instead you watch a short video and it is easy to decide if you want to go ahead and explore this technology further or not, e.g. how many desktop developers own a Windows Mobile phone and are aware of the dedicated managed API (not talking about the Compact Framework here)?
c) Let's face it, a picture is worth 1000 words which makes a video worth numberOfFrames*1000 words. I explained the LINQ-to-objects relationship with the language features on this blog and received good feedback. I described it in a video and I received outstanding feedback. How would you capture the effect of my LINQ video in written form?
d) It is not just about the topic being demonstrated, there are side learnings. Whenever I watch someone else do a screencast I pick up productivity/usability tips (e.g. some new ones in VS2008) about the way the presenter uses the tools or talks about certain concepts that is different to my mileage. You just don't get that in a written piece of text. Screencasts bring a demo at your desk, which usually you pay money for to see at a conference!
e) I was going to add a few more reasons here but they are weaker and I don't want to dilute the main points above. Feel free to add your own reasons why you like or hate screencasts in the comments below.
THE REAL PROBLEM
Now, let me tell you why I find videos sometimes lacking: Non-scanability. In the age of information overload, I usually scan pieces of text for the interesting points and probably abandon 80% of the web pages that I randomly visit within seconds. You cannot do that with videos today – once you've started watching it is hard to scan through without missing huge chunks of content. This is the reason that I seldom even attempt to watch videos over 30' unless I know for sure that I am interested in the topic in a big way! Table of contents with timings help slightly but everything I have seen that tried to address the problem is inadequate. My attempt to make it less painful is to keep screencasts at 15' long because then you are investing a reasonable amount of time and you can probably tell if it is worth to continue to watch after 3'. To that extent, I try to have a quick intro telling you what's coming. I also offer the additional download option which means that clicking forward/backwards to scan will be very fast as opposed to the streaming media (craze that is taking over the world) that largely relies on sequential viewing...
The larger question of how do we make long videos scanable remains. I think there is an opportunity here for some clever software: I point this piece of software to a wmv file and it instantly produces a complete transcript from the audio and it highlights every word as the video continues to play. No matter what word I click on in the transcript, the video follows suit by synchronising itself. Now I can watch and listen to the video and concurrently quickly scan for words/phrases of interest so that I can jump directly to that piece with a single click. Anyone building such software or does it even exist already? I can be a beta tester ;-)
Labels: Personal
Sunday, January 27, 2008
Q1. Which version(s) of Visual Studio do you mostly use? – Multiple answers allowed.
The vast majority of votes went to VS2005 (67%) and VS2008 (62%). The percentages for the other answers are VS6orOlder (7%), VS.NET2002 (0%, 1 out of 300), VS.NET 2003 (10%) and some people stated: "Eclipse for Linux, MonoDevelop, Rhapsody, Vim, Macromedia". Note that most responses selected VS2005 in addition to anything else which suggests they are using the older IDEs for older projects rather than using them exclusively. FYI I do not plan on focusing on other IDEs other than VS2008 (inc. any service packs) and of course Visual Studio vNext as soon as a public CTP VPC becomes available.
Q2. Which language(s) do you predominantly program in? – Multiple answers allowed.
The most popular language by far was C# (84%). Even people checking other languages would do it in addition to checking C# as their answer! The results for the other languages are: C++ (15%), VB6 (6%), VB.NET (22%) and some people additionally entered: "Powershell, COBOL, Java, Ruby, ColdFusion, Classic ASP, PHP, Perl, Fortran, javascript". FYI my samples are mostly in C#, but I do throw in VB occasionally and in fact have covered many VB-specific features that would not have been of interest to C# devs. I will continue to blog for both managed developer types and in the future may expand on more dynamic and functional languages supported on the .NET platform.
Q3. What type of .NET applications do you primarily focus on? – Multiple answers allowed.
Looking at the results, it is hard to deduce any info because almost everybody checked more than two answers and many areas score well. I think the conclusion is that few people build just one type of .NET solution so there is no point narrowing down the focus – and I don't plan to. FYI, here are the percentages: Client (64%), Web (50%), Server (24%), Mobile (17%), Rich Web (10%), Office (6%), Embedded (6%) and additional entries were: "SharePoint, libraries, prototypes not systems, not .NET, classic ASP, client-side SDK, my own n-tier environment, Extension to Visual Studio, Smart client, Plugins, Microsoft CRM, straight forward Windows cross platform apps, .NET 2 WebServices".
Q4. What OS do you run on your development machine? – Multiple answers allowed.
Unsurprisingly Windows XP (62%) and Windows Vista (53%) came up top followed by Windows Server 2003 (11%) and then Windows Server 2008 (2%). Additionally some of you wrote: "Linux, Mac OS X, Windows 2000 server".
Q5. Do you have an active blog (more than 5 posts per month)?
78% of my readers do not have a blog. From the 22% that do, not everybody left their URL but I have visited the ones that did. It was interesting that I did not know about some of these at all, which means that they never linked to my blog (because I know who links here and always check out a blog that does). Interesting fact (to me)...
Q6. Do you currently live in the UK most of your time?
I did open the 3 separate surveys at different timezones and over multiple days to give everyone a chance and the result is that under half of the respondents live in the UK (39%). I will continue to talk about UK-specific news (e.g. events) and I will continue to make that clear in the title of the blog posts so the other 61% can easily ignore.
Q7. Besides reading my blog, do you also watch my screencasts?
This was a big surprise to me. Only 50% watch the screencasts I produce (I was expecting it to be closer to 100%). I will be producing many more of these and will make sure people reading the blog are aware by pointing to them. Screencasts are a quality medium and I have tons of positive feedback about them in my inbox. I can only deduce (wish I had a specific question on the survey) that people who said "No" do not watch screencasts in general – you guys are MISSING OUT. More on this topic in a future blog post, in the meantime the screencasts link is always on the left.
Q8. What would you like my blog to focus on?
This was the question where you could enter whatever you wanted in 4 optional textboxes: Continue to do (137 suggestions), Stop doing (30 suggestions), Start doing (54 suggestions) and Other feedback (30 suggestions). The previous hyperlinks take you to a text file for each that includes ALL the verbatim (stripping out anything that could identify individuals). There are definitely some action items I have taken from your feedback (e.g. this) and others that I will, but the grand theme here (explicitly and implicitly) is "keep doing what you are doing" – I love it, thank you, stay tuned!
Labels: Personal
Saturday, January 26, 2008
Labels: Personal
Sunday, January 20, 2008
UPDATE: the 3 free survey sites that I used reached their respective 100 capacity limits so they have been deactivated/closed. Thank you to the 300 that responded!
END UPDATE
Cheers
Daniel
Labels: Personal
Tuesday, January 01, 2008
01. Last year I focused on Windows Vista and that dominated my blog culminating in the very popular blog post: Windows Vista for managed developers. Please revisit that, because I updated it by adding 5 more links to my new Vista blog posts this year. In addition, you can download all my C# Vista demos at this post.
02. The mobility content on this blog has thinned down (but luckily not gone away). That is mainly because I put a lot of the effort and knowledge in our book which we released this year. I have to say I am ecstatic with the Amazon reviews.
03. This has definitely been the year of Visual Studio 2008 and .NET Framework v3.5 for me. I announced last January that Orcas would be my focus and indeed it dominated my blog. Twice in the year I gathered several of my Orcas blog posts together and both times the response I received was great:
- .NET Framework v3.5From the second post you'll find links to the many screencast videos I recorded on the topic. Even if you do not watch videos, follow those links because they include additional links to further written information.
- Top 10 of Visual Studio 2008
Also, with Fx 3.5, Microsoft shipped Fx v2.0 SP1 and you can read my collection of posts about SP1 here.
04. Concurrency and Parallelism. In the last quarter of 2007 I rediscovered my interest in concurrency and parallelism (as evidenced by what I was linking to here, here, here and there). In July I had hinted my interest in PLINQ so it should not have come as a surprise when I made this post on Parallel Fx followed by one more video on TaskManager. More in this area in the upcoming months...
Thanks to all who read my blog in 2007, roll on 2008 and if you are not reading me in your feedreader yet, there are options for you to subscribe on the left ;-)
Labels: Personal
Saturday, December 22, 2007
Allow me to take this opportunity to wish you and your loved ones a very enjoyable break from "the routine" :-)
Labels: Personal
Friday, December 21, 2007
Labels: Personal
Sunday, November 11, 2007
This year I was presenting 4 breakout sessions on my own and was also part of a panel session with four other speakers. A huge thank you to all of you that attended my sessions and in particular to those of you that filled in the feedback forms. I read every single comment and below are the results of your voting, in the order I presented throughout the week:
Three numbers per session representing speaker's Knowledge, Presentation Skills and Quality (range is 1-9 where 9 is high).
TLA201 VisualStudio – 8.41, 8.31, 7.87 (resources here).
MED202 WindowsMobile – 8.46, 8.32, 7.85 (resources here).
MED304 CompactFramework – 8.49, 8.33, 8.09 (resources here).
WIN312 WindowsVista – 8.66, 8.54, 8.31 (resources here).
These numbers are not that different to my session results from last year so it sounds like I am not improving much. I hope next year I will do better i.e. eliminate those two pesky 7.8x numbers and replace them with 8.something!
2. SOCIALISING
In addition to having a session every single day and almost every day some kind of "lunch meeting", I also kept my evenings busy by managing to attend: the welcome drinks reception, the MVP party, the MSP party, the UK country drinks, a night out with MS UK DPE colleagues and the speaker's dinner/party. I also participated in two book signing events at one of which Andy "helpfully" brought a celebratory bottle of champagne. So, in hindsight, maybe I should do all my presentations from now on whilst being hangover since it apparently makes no difference ;).
3. MEDIA
It wasn't all alcohol and presentations though; there were some "media" activities too. At some point expect to see on channel8 an interview I gave to two MSPs. I also turned the table round with Dave by interviewing him on his outstanding performance at Tech Ed – expect to see that on the NxtGenUG podcast series. There is 30 seconds on us signing the book on the Day 3 Wrap (start at 01:09) on the virtual side (or save as the wmv). Also on the virtual side there is a 4-minute chat between me and Mike on Visual Studio & .NET Framework 3.5 – Top Features (or save as the wmv). Finally, since they had both me and Mike in front of a camera, they decided to record a longer (10') chat we had on the same topic, this time for VisrtualTechEd (stream it or save as the wmv).
4. TECHNICAL NEWS FOR THOSE OF YOU NOT THERE
Phew! Now I think I'll get some rest and sleep for the next 24 hours and then compile for the Flash all the announcements and product downloads from Tech Ed. I hope you are all looking forward to this week's issue...
Labels: Personal
Thursday, November 01, 2007
BTW, I took the opportunity to change the order of the sidebar and the main column. This won't have a visual effect on the desktop, but will eliminate all that scrolling on mobile browsers ;-). Please let me know if I broke anything...
Labels: Personal
Wednesday, October 24, 2007
Personally I don't like PIP, but if you do then I may consider including a PIP in my screencasts. I find the head distracting plus it makes the file grow larger and I try to keep the wmv as small as possible. The last reason I don't like the PIP, is because when I record these I am at home in a far from presentable appearance ;-).
Labels: Personal
Friday, October 12, 2007
SO, my ASK to you is to GO AHEAD and get SUPER excited about how much more PERFORMANT your developer STORY becomes with these UM.. UM... enhancements that we are BAKING into the language. See it as your CALL TO ACTION. :-)
Labels: Personal
Friday, September 14, 2007
Tim talks here about Vista speech recognition, and as an aside he links to a site that tests your typing speed. I had 3 minutes to spare so I gave it a go and the results were 50 words per minute. That pales in comparison to Tim's 70 but I knew already that I am not a fast typist (which is why I rely on intellisense, snippets and "clipboard inheritance" in my VS demos). Give it a go and see how you fare...
Labels: Personal
Monday, August 27, 2007
In the mean time, if you are addicted to my content (delusional? Moi??) I invite you to browse some of my older posts that you may not be intimately familiar with:
Start with the best of 2004 and then best of 2005 and finally - you guessed it – best of 2006. Another way to pass your time here is to browse by category e.g. Vista, Mobile & Embedded, Events, Links etc. If you are sick of all my Orcas posts, why not read my older Whidbey or general .NET posts? If you prefer narrower topics, why not learn about SideShow and UAC. If you just stumbled on this blog, why not subscribe and keep up to date? Look at the multiple, rich and flexible "Subscribe" options on the left.
Normal blogging service will resume when I come back with photos posted at the usual place…
Labels: Personal
Friday, July 13, 2007
Well, I've never been involved in a large team project (>20 people), but I have delivered multiple projects (through multiple versions) where the team ranged from 1 to 12 people so I have drawn some conclusions for small projects (at most 100K loc) including the following 3 facts:
1. You do not need formal education or certifications to be a good developer; you just need a logical mind and a genuine interest in the field (and to be lucky enough to work on a handful of projects with talented people that are interested in mentoring you).
2. No matter what process/methodology/best practises/etc you use, the bottom line is that good talented people with a clear vision will deliver good results; the rest simply will struggle.
Another variation of striving for those things is when a talented good developer thinks he can improve others by sharing his knowledge via a methodology, when actually if his team has talent they'll get it right and if they don't then the rules won't help them either. Funny how the people touting a methodology are the ones that can make things work even without it..
3. If you don't understand the technical platform you are working with then you are probably going to be doing things in a suboptimal way and trying to fit old patterns to new paradigms.
Your mileage will vary of course, depending on how long you've been in the industry and the kind of projects you have worked on. I am certainly not projecting the above assertions on you, simply stating that for me personally, they hold true as facts. Moving on (hopefully without pissing too many people off ;)...
Considering points 1 and 2 above, I made the decision a little while back that I am as good/bad a developer as I was at that point and that I was not going to drastically improve/deteriorate from an algorithmic/design/management/performance point of view as years go by. Combining this decision with point 3 above, I decided that the only thing I need to do to stay at the level that I am today, is to keep abreast of all the new technologies that get thrown out from the various vendors. A long time ago (when funnily enough I was a Java developer) I decided to choose and commit to one vendor only: Microsoft.
To bring this blog post back to the meme and in conclusion, my personal choice as a developer is: Stay current with everything new on the Microsoft platform. That is what I've been doing for the last 6 months and this is what I am going to do for the next 6 months.
As to which bits of the Microsoft offerings I specifically focus on, well that varies and this blog is my documentation/sharing vehicle for some of the bits I play with... There is a pattern as to the things that interest me and you can infer that from the Categories on the left of this page. Hope this helps and stay tuned via one of the subscribe options also on the left :-)
In the spirit of the meme, I wonder what these guys' professional plans look like over their next 6 months:
[ Ian, Kenny, Mitch, Phil ] you are IT!
Labels: Personal
Thursday, July 12, 2007
1. Born in Germany (Rinteln), grew up in Greece (Thessaloniki), live in UK (Hove).
2. Football team I support: Manchester United. Team I supported in Greece: PAOK.
3. Lost my father when I was a baby.
4. As a child I was (very briefly) a boy scout.
5. As a kid I was a massive Bruce Lee fan. When I visited Seattle for the first time, my must see place was Bruce Lee's grave (with Brandon beside him).
6. I trained in Tae Kwon Do (combined with Okinawa) up to red belt. My teacher was the teacher and father of the recent Greek Olympic medallist (Nikolaidis).
7. As a teenager I was a huge The Doors fan. When I went to Paris for the first time, my must see place was Jim Morrison's grave.
8. Last Sunday I saw old head-bangers Metallica at Wembley (ears still buzzing, neck still hurts)... This was in Microsoft's executive box ;-)
I was very tempted to kill this meme here, but instead I'll tag 8 people as mandated (not the same ones as last time) so they can list their own 8 random things about them:
Craig, Eric, Loke Uei, Martin, Mike, Neil, Nick, Steve.
Labels: Personal
Monday, July 02, 2007
Labels: Personal
Thursday, June 28, 2007
On a more pleasant note, our book was selling like a hotcake over there, so MS Press should be very happy... To the people that took photos of me and Andy signing copies for the delegates (what a bizarre feeling that was!), please send me some.
Labels: Personal
Friday, June 15, 2007
Anyway, I have to say, I was very impressed with this event. The sound system/microphone was the best I have ever used. The food was fresh and healthy (no cans of coke, or packet of crisps or chocolate bars and other junk food like that). There was a geeky buzz about the place and the Dutch were a wonderful audience – very interactive and kind enough to laugh at my bad jokes. Some of them even let me to devalue their fresh purchase by asking me to sign it.
The screen in the auditorium (capacity 2K people) was one of the largest I have ever seen. The screen had a feature that must be every presenter's dream, but is very hard to describe: it was split in two where on one side they showed the presenter's face and on the other the slides.

No, that isn't the killer feature yet. When the presenter switches to a demo, the face bit becomes smaller and goes to the corner, and a 3rd viewport appears on the screen in the middle.

So now you have 3 squares (1 small showing the presenter, 1 large showing the demo machine plus 1 more that is also large). The new one that appears in the middle is a magnifier for the demo machine, controlled by people backstage! So while you, as the presenter, are doing your demo as usual, someone else makes sure that the important bits are magnified for the audience on a separate screen. Pure genius.
Overall, I'd be more than happy to go back to DevDays in coming years. The organiser picked only speakers that he had seen present at other events previously and hence was confident they would be good for his event. He covered expenses for speakers which was refreshing for a large international conference. Congrats on a good show and thanks for inviting me Arie!
Labels: Personal
Monday, June 11, 2007
My book is now in my hands, and here is the proof... and another wobbly photo of the back :-D
At some point in 2006 I started writing a book and at some point in April 2007 we completed the project. I say "we", because I had two excellent co-authors, both long standing Device Application MVPs: Peter Foot and Andy Wigley. I would have liked to be able to say that I also am a .NET Compact Framework MVP, but unfortunately I lost that title when joining Microsoft last year as per the rules.
We explicitly targeted two audiences with our book and implicitly excluded one audience segment:
1. Existing C# and VB device developers - YES
If you are already targeting Windows Mobile devices you will know that all existing books talk about version 1.0 of the .NET Compact Framework and Visual Studio.NET 2003. Since those times there have been three service packs for v1.0, version 2.0 with two service packs and, of course, Visual Studio 2005. Furthermore, v3.5 is in Beta 1 right now as is Visual Studio "Orcas". Our book covers what is new in the .NET Compact Framework and Visual Studio 2005 compared to their predecessors. It also covers throughout the chapters, but also in a dedicated chapter, version 3.5 of the NETCF and VS "Orcas" for Devices.
2. Existing .NET developers who are complete newbies to device development - YES
There are millions of proficient .NET desktop developers that would like to know how to write code for their mobile device or generally want to find out how to transfer their skills or business logic to the mobile platform. The book's tone is certainly aimed directly to those developers by continually contrasting and comparing with desktop development as applicable, highlighting what is different or missing when doing device development.
3. Existing native device developers - NO
This book is all about managed code, but we never introduce any basic .NET concepts from scratch. We expect readers to know about those either through experience with previous versions of NETCF or through .NET desktop development. So if you are a native device developer, you should pick up another book to learn the basics of .NET. We also have made no assumptions of knowledge about the Windows CE and Windows Mobile platform. The reason is so desktop developers can get an introduction to the whole stack/environment and not just the dev platform and tools. So, as a native device developer, you will encounter concepts explained that you probably already are intimately familiar with.
Whether you are looking for a book to read cover-to-cover or for a reference that you go back to, this book will fulfil your needs. It isn't just a book on the raw technology, but more importantly it captures lessons from developers that have practised mobile and embedded development in the real world.
Mobile Development Handbook
Labels: Links, Mobile and Embedded, Personal
Thursday, May 31, 2007
Its 600+ pages are spread over the following 18 chapters:
1. .NET Compact Framework—a Platform on the MoveI highly recommended you check it out, for example, on the publisher's official book page.
2. Building a Microsoft Windows Forms GUI
3. Using SQL Server 2005 Compact Edition and Other Data Stores
4. Catching Errors, Testing, and Debugging
5. Understanding and Optimizing .NET Compact Framework Performance
6. Completing the Application: Packaging and Deployment
7. Exchanging Data with Backend Servers
8. Networking
9. Getting Connected
10. Security Programming for Mobile Applications
11. Threading
12. Graphics Programming
13. Direct3D Mobile
14. Interoperating with the Platform
15. Building Custom Controls
16. Internationalization
17. Developing with Windows Mobile
18. Introducing .NET Compact Framework Version 3.5 and Visual Studio "Orcas"
Labels: Mobile and Embedded, Personal
Tuesday, May 22, 2007
"If you are a developer interested in Vista, Orcas and mobile development you'll find that this blog rocks!"
" If you are a developer interested in Vista, Orcas and mobile development you'll find that this blog rocks!"The two extracts above look identical, and following the links takes you to the same place. However, the 1st shows the real URL, while the 2nd takes you somewhere else and then redirects you. Most people I know (inc. me) hover over a URL before clicking on it. That is because when you mouseover a link, the destination usually appears in the statusbar or a tooltip so you can preview the URL you are about to visit. So, in the case above, maybe I would not click on it because I have already been to that destination and I don't want to waste my time (or maybe I already subscribe etc). Using a go.microsoft.com/?linkid=abcdefg hides that from me. Also if I am offline, I can still get the real URL and potentially add it to a list of places to visit, but I am unlikely to do that with a go URL. While that is my view, recently I heard someone also complain about the go URLs. They were taking it a bit far by saying they were finding these URLs "suspicious". Without commenting here on the comment per se, the net effect is they also don't like them.
So I asked around about the usage of these URLs and the reply confirmed my presumption on why we use these: statistics. That is how we measure what links people follow. There are backend tools that measure the total traffic to a URL, but how can you know where those clicks are coming from, especially when they will originate from someone's email client (in the case of newsletters such as the flash)? I am not a web guy so I cannot see an immediate alternative. Unless/until someone comes up with a better solution, we'll just have to live with this necessary evil I guess...
Labels: Personal
Saturday, May 05, 2007
I've been to Vegas a few times before and this is the only time that I didn't venture beyond the Venetian! I pretty much spent all my time at the conference or in my room, with the occasional trip to restaurants (in the Venetian) for breakfast/lunch/dinner. I only had drinks (extremely generous portions of Stoli on the rocks) on Wednesday night at the Venetian's TAO where the conference party was held. Some of us went to some other place in the Venetian after that but I don't recall the name. This resulted in a bad hangover on Thursday morning which soon converted itself to a nasty cold that I brought back with me today. I bet half the attendees came back with a cold because the temperatures in that hotel are sub zero. The other bad news was that since Monday my laptop monitor malfunctioned. It did this last September and it only took the Toshiba technician 10 minutes to reconnect the cable internally but I wasn't going to risk that myself with all the sessions I was doing! I ended up delivering my breakouts by looking at the monitor on the stand rather than my own laptop monitor (external projection still worked, thank God!).
On a more positive note, my breakouts were well received and I enjoyed watching them feature in the Top 10 list monitor in the speaker room :-). This was a special achievement for anyone at MEDC this year since Doug Boling decided to have 4 of his talks dominate the top 5... someone suggested, and I agree, that next year we should only pay him if he gets scores above 8.5 (which is what he did this year!). Thank you to everyone who attended my sessions, thank you to all of you for voting and special thanks to those of you that put up with my bad jokes :-)
On a further positive note, I came back with more cool swag than from any other conference ever: hardware. Some bits I got because I was a speaker, others as a (former) MVP, and others by prior arrangement with Microsoft colleagues in Redmond whom I met in Vegas. Below is the top 5 swag items I have just unpacked:
- Sweet Presenter Mouse
- NETMF Freescale i.MXS Development Kit
- JawBone noise cancelling Bluetooth headset
- Cool laptop web camera
- Windows CE eBox-2300SX Development Kit
Now I'll go find some creative way to keep my eyes open while my body adjusts itself to normal time again...
Labels: Personal
Friday, April 27, 2007
When I am back I'll share some good news even though somebody has already spilled the beans. Have fun!
Labels: Personal
Thursday, April 19, 2007
However, the one that really ticks me off is people that BCC me: I call those people BCCards (pronounced slightly differently than what it is spelled). BCCing also happens when someone decides to add a bunch of distribution lists (DLs) to the BCC field thus avoiding my carefully constructed Outlook rules for categorising posts to DLs into their own folders. It also happens when someone sends an email to a DL that I have not subscribed to but that is a member of some larger DL that I have no interest in. So how can I deal with this issue and avoid the useless message from landing in my inbox directly? Annoyingly, I cannot find a rule that I can create in Outlook to cope with this situation, so I had to take a number of steps. If you know of a better way please let me know and if you don't, then I hope you appreciate my approach (works with Outlook 2007).
1. Go through all the existing rules and make sure that in the Actions (step 2) you have checked the "stop processing more rules" action.
2. Create a new rule and move it to be the last rule of them all (FYI rules get processed in order). Do not create a condition for this rule, and go straight to step 2 on the actions. Check the "Permanently Delete it" box. AND then move to the next page on Exceptions and check the "except if my name is in the To or Cc" box.
I won't tell you how close I came to also doing the above for messages marked with "High Importance". Have you ever received a message that had this set and was truly important? Have a look in your inbox now and check to see which messages are marked as such. Looking at mine, it seems that the messages are not important but the people that send them think they themselves are...
Labels: Personal
Sunday, April 01, 2007
Anyway, normal business will resume on April 17th or thereabouts...
Labels: Personal
Sunday, March 11, 2007
I was going to try and make it there this year, in a different capacity of course, but my speaking schedule got in the way :(
Labels: Personal
Monday, March 05, 2007

Each letter in one alphabet is equivalent to the other (they sound the same, the keyboard maps them the same, they just *are* the same!). Whose bright idea was it to introduce a 'B' where it didn't belong?! When you read the word out loud, how do you change your pronunciation between the incorrect way LAMBDA and the correct way LAMDA? If you pronounce the 'B' I can tell you that that is not the way Greeks pronounce it.
To be quite honest, if you wanted to get as close to the real pronunciation as possible, then it should be written as lamtha where the 'th' is read in the same way as 'th' in the words 'there', 'the', 'though' etc.
Rant over.
Labels: Personal
Sunday, February 04, 2007
I had a good time. It was basically a DDD with focused web content, and with a few additional twists including:
1. There was active presence by Microsoft (e.g. speakers, pods)
2. It was slightly smaller (3 rooms instead of 4)
3. No public voting of sessions
4. ScottGu dominated the event (His room was always full, with people standing and queuing)
As a complete aside, having attended (and presented) a few 1-day events at our UK TVP offices I think I prefer events where the two rooms (Chicago 1 & 2) are joined i.e. single track events.
I was one of the people standing in Scott’s sessions and I can see why people were so attracted to his talks (heck, I am not even into web development and I sat through 3 of them!):
a. Gravitas
When the General Manager of the developer platform is telling you how it is, you know that you are not only getting the facts, but also what decisions were made before reaching the current spec and what is waiting in the pipeline. You also know that you can give feedback straight to the horse’s... ears.
b. Geekness
I have always maintained that developers enjoy watching/listening to fellow geeks. Scott is a geek.
c. Passion
Usually, but not always, follows on from the previous point. In this case, it was evident that Scott was passionate about what he was showing.
Notice how I did not include in the list above “presentation skills”. That is because I have never heard so many times the word “um” in a session. If it wasn’t for the compelling content I would have walked out at one point in the “WPF/e” talk :-)
Speaking of presentation mistakes, on to my grok talk...
I managed to start talking and then realised that I had forgotten to connect my laptop to the projector... doh! I also hadn’t realised that the only microphone available was one that you must hold... a bit difficult when your entire talk is demo-based! Thanks to Richard, Dave and John for filling in for me while I battled to get Vista to talk to the screen and thanks for later holding the microphone to my face while I used the keyboard/mouse. Live and learn. As for the topic of my grok talk, I settled on Sidebar (apologies if you were hoping for SideShow, but I feel that it is hard to talk about it without having real hardware to show to people).
Labels: Personal
Sunday, January 14, 2007
Question: Is there something I can do to a host OS to run the bare minimum since all I am going to be doing is running the VPC and nothing else? No connectivity, sound or anything else required; all I want the machine for is to run full screen the VPC image. Please let me know.
So my steps to minimising RAM use by the host OS was what most people would think:
1. Exit all applications via the X in the top right corner of their window.
2. Right click on all systray icons and select “Exit” (if they offer that option)
3. Run Task Manager. The Applications tab is empty (like the taskbar). Go to the "Processes" tab.
4. Select each unnecessary process and then click the "End Process" button in the bottom right.
At the previous stage you can cause damage so I explicitly do not advise that you kill processes that are not yours. The next stage is even more dangerous so please do not do that.
5. Click on the "Show processes from all users" button. Now you have a whole bunch of more processes to kill. Go to town.
6. After killing more processes than you've ever killed in your life, next let's stop some services. Go to the "Services" tab of Task Manager.
7. For any running service that you think is unnecessary, right click and choose "Stop service".
At the previous step you really are taking your life in your own hands. Only an idiot would stop services they know nothing about so please let me be the only one.
I have gone through this exercise a few times and once I managed to blue screen the machine and another time it just decided to restart with no warning other than slowly dimming the screen to black. I cannot stress enough that the above actions can cause loss of data or permanent failure.
8. My penultimate tip (the last one is at the end in the post script): before doing all of the above make sure you turn off network connectivity since some of the things we are killing result in a less secure machine and also many of the services we are stopping are network related.
Now you know why I asked the question earlier. I know there is a better way to eliminate all unnecessary running processes, but I don't know exactly what it is. This painful process is something I repeat every day since Christmas but at least now I know what to kill and what is either unkillable or comes back to life or if it dies it takes the system with it. It is still irritating having to do all that so please put me out of my misery and tell me how to run a VPC image that uses almost all the RAM of the host machine.
In any case, here is what the "Performance" tab of my "Task Manager" shows after I am done killing:

That's right folks, a Vista machine running with only 395MB and 24 processes. Beat that if you can!! See your task manager right now for how many processes you are running.
I then launch my Virtual PC with the gigantic image, and 12 minutes later the image is loaded and the picture has changed to this:

Yup, 1.72GB used up immediately! Not that life is good from here on cause I have lowered the VPC image's RAM to the extent where it is very slooow regardless... with the occasional failure to render the navigation bar of the SharePoint site.
I can even manage to get the RAM usage down to 378MB as this screenshot proves, which is about half of what I'd normally use when VPC images are not in the picture.
So what do you think: the next time I am asked to do a session that requires a VPC image this big, should I ask for a new laptop to go with it? ;-)
PS The biggest RAM savings I got were by stopping the services “SuperFetch” (trade memory for perf) and “Windows Search” (trade memory for productivity). Getting down to 24 processes included killing “explorer” itself (and launching the VPC image from Task Manager). These 3 actions, plus turning off aero (i.e. no glass) saved me ~150MB.
Labels: Personal
Saturday, January 13, 2007
Tuesday, January 09, 2007
It is one cool mother but...
1. Work out how much it will set you back after taking the farcical price tag and adding the rates for data and voice! Who will afford that?
2. No high speed internet access (probably so it doesn’t hurt its already bad battery life)
3. No sync with exchange! That rules out most business users.
4. No physical buttons at all?! I like feedback at my fingertips when answering the phone or sending a txt msg.
5. V1 product to be available in Europe in 11 months.
...but it is sexy... very nice toy indeed!
PS If you are reading this far it means that you didn't work out the cost, did you? ;-)
Labels: Personal
Thursday, December 28, 2006
1. Before deciding to study computer science in the UK (also known as “before my mum insisted I study”) I was a magician in Greece and actually appeared live on national Greek television. I still have the business cards!
2. When I am behind the wheel I just can’t help speeding. I have 6 points on my license (gained with my Punto GT Turbo); with my brand new Golf GTI 2.0 (200bhp) I am bound to increase them. Problem is that the more points you get the more chances of losing the license and that would most definitely mean losing my job. Not joking, this is a dead serious concern of mine and probably what will force me into working for myself full time from home.
3. I love travelling and have been almost everywhere. If I could live anywhere in the world it would be Australia where I’ve spent 3 unforgettable weeks. Only issue is convincing the wife who prefers Europe as our residence...
4. While competitive at most things I do, the one I always brag about is chess. If you think you have what it takes, challenge me!
5. The last thing you probably don’t know about me is that I have switched the search engine of this blog to LIVE. Check out the cool interface on the left... type “NETMF” in the box and hit enter, you know you want to :-)
Doh... I almost hit “submit”, but this is a meme so I have to tag 5 other bloggers. Let’s see if these guys are listening and want to play:
Angelos , Eileen , Mike , Peter , Scott.
Labels: Personal
Wednesday, December 13, 2006
[sigh] I woke up this morning to the sound of my phone’s alarm. Unlike other times though, there is no notification. Without a notification, I cannot dismiss the alarm! None of the hardware buttons has any effect. I ended up muting the volume. Soft resets, playing with settings etc but still no joy. I am supposed to know this stuff and I can’t get this annoying alarm to stop sounding... Given that I had a conference meeting in 5’ I just left it muted and turned my attention to dialling the conference centre number. However, the person in charge of the call hadn’t activated it. So while waiting I thought I’d boot the laptop up and check email. Can’t connect to server; it could however download the 3 security updates fine and browse other internet sites. Checked another separate web email service and it was down as well! While trying VPNing in and finding that it is a no starter too, there is a loud bang on the door. I opened the door to find the postman informing me that the door bell seems to have broken. He handed me a letter I had to sign for.
As I was opening the letter (still waiting on the phone for the conf-call to be activated while observing that I still can’t connect to any email account and dreading to put the volume up on my phone in case the alarm started sounding again), I couldn’t help but think: “Will there be a message in the letter informing me that the ‘the world is broken today’...”. I was getting scared, in fact, I checked out of the window to see if there was anything unusual!
For the record: I eventually got into email via Redmond (rather than Reading), found a cancellation for the conf call, the other web email sprung to life, the letter wasn’t pleasant but not the end of the world. Door bell still broken, phone still on mute :-/
Labels: Personal
Thursday, November 09, 2006
We have a speaker-leader board in the speakers lounge, and some people are taking it very seriously. It shows the top 10 speakers at any given time (it updates after every round of sessions), based on attendee feedback.
On Tuesday I was impressed when Mike Hall bragged that he was in the top 10 list but then realised that there were only 9 sessions delivered at that point (since his session was in the first timeslot on the first day)... I tried to find where exactly his session ranked today and I ended up breaking my PgDn key ;-)
I am here in Barcelona until Sunday so normal business will resume next week.
Labels: Personal
Monday, November 06, 2006
Labels: Personal
Sunday, October 15, 2006
I’ve been looking forward to this break, given the workload of September/October (you can work out from my blog how many events I have done!). Plus, when I return I am off to Tech Ed Europe and, boy, will that be tiring (more on my Tech Ed sessions soon)...
I will be back from our holiday on 1st November so until that Wednesday... other than my nuggets... let there be silence on this domain :-D
PS For any work related queries, try one of my colleagues.
Labels: Personal
Sunday, September 24, 2006
Anyone that knows me can tell you that I am not into fitness/gym or any of that stuff at all (I've been to the gym twice in my entire life). When younger I was good with sports (e.g. football, basketball) and was in the school team and also played with colleagues at previous employment. However, in the last 13 months I have not played any sports (SCUBA doesn't count I guess) and today Jenny finally convinced me to do some exercise and she dragged me away from the laptop.
She signed us up for a trial at this thing here in the UK called British Military Fitness[1] where they tell you what to do, for 1 hour, outdoors in the park. Shocking! I thought I was going to die!! My ears where buzzing and you could fry an egg on my head. I am sure my heart stopped at one point. In fact, I've seen in films where people push themselves so far that they throw up... I never understood that, but today I came close... very close!! Needless to say I am not going back there again!
Having said that, if you think you are fit, give it a shot (they are all over the UK and also partner with a US company). Alternatively, play a prank on someone you don't like and buy them a voucher. If anybody is expecting a Xmas gift from me, now you know what it will be ;-)
[1] BMF
Labels: Personal
Saturday, September 23, 2006
In the dictionary, under "unjustified giant logical leap" there should be a link to his blog post. (or maybe it is a great marketing move on his behalf to attract sympathy from the non-Microsoft friendly crowd... who knows...)
Here are some choice quotes from his post:
"...the word Consultant sounded so wonderfully romantic to me and I wondered if ever I'd make it there as one of the elite band..."His blog entry attracted almost 300 comments! Read it for yourselves and, as an aside, get someone else's opinion on Avanade (but wear your laughing hat :-D).
"...I found myself surrounded by power hungry muppets, the odd idiot, a few downright liars (the practice director in particular being one of them), and only a smattering of the elite coders I dreamed I'd find there..."
"...over and over I'd be lambasted for being too passionate (a condition muppets refer to as arrogance)..."
Labels: Personal
Saturday, August 26, 2006
So in a couple of hours we are flying to Malta for our first honeymoon (and some diving of course :-))
Normal service will resume on Monday 4th September – don’t call me, I’ll call you!
Labels: Personal
Tuesday, August 22, 2006
Dave caught me at the Office event 2 months ago (little after I joined MS) and the results are up on their site (read or listen).
Labels: Personal
Friday, July 07, 2006
Looking back in the past, it used to be that I would have a separate (older) machine for testing anything Beta, then I moved to Virtual PCs, then I started installing stuff on my main laptop only if I knew it would uninstall cleanly. Now (and maybe this is part of my job, I don't know) I just stick anything that is coming down the pipeline on my laptop and couldn't care less about its stability or removability - I just want to play with it. I want it to always be there without having to switch to another (virtual or not) slower box. My current attitude culminates with the expectation that I will repave the box every couple of months (that is only 6 times a year!).
Since it was released, I've been running Office 12 Beta 2 and using Outlook/Word/PowerPoint 2007 every single day with no serious problems (outlook crashed once and was polite enough to offer me the option of starting in safe mode). IE has become my main browser again with IE 7 (now at Beta 3) after Firefox stole me away from it last year. I still haven't gotten round to putting Windows Vista on this laptop mostly because I inherited another laptop with Vista on it already (Feb CTP that I updated to Beta 2). That's next on my list and I might go for 5456 or Beta 2 or hung on a bit for the next one (so compared to some of you, I know am still behind in this game :-).
Do you find it is a bit like an addiction? I mean, when something finally gets released, I just want the next version already; case in point Live Messenger and ActiveSync 4.2
Note how I haven't even mentioned dev stuff such as NetFx3 or NETCF SP1 (out of Beta now) or any Orcas bits... as a developer, I take it as read that those things will land on my machine
Also note how I don't mention any of the Beta web stuff (i.e. thin client, no local bits) since, technically, that is cheating IMO :-)
Labels: Personal
Sunday, July 02, 2006
Oh and, yes, I am just 20 years old... if I count in hex that is ;-)
Labels: Personal
Sunday, April 23, 2006
In addition to shared source initiatives, OpenNETCF has a commercial arm and if you are looking for the best in the world to work on your embedded or mobility projects, go ahead and contact OpenNETCF for all your needs.
OpenNETCF focuses entirely on the embedded and mobile space and offers free libraries, products and consulting services. Every OpenNETCF partner and member of the advisory board is recognised by Microsoft as an MVP. There isn't a single other company that can claim that, as far as I know!
Expect to see many more products coming out of OpenNETCF but for the moment many associate the brand with the Smart Device Framework (SDF).
Labels: Personal
Wednesday, March 22, 2006
* Principles of Architecture II course. A week-long intensive internal course about software and infrastructure architecture. Maybe my fault for expecting a lot more from this, but on the whole I was left unimpressed.
* BizTalk 2004 CSS. Internal self-study course, for which I was given a ton of material and resources. Did not have high expectations, but found it rather interesting. Good to know about the technology but, no, I have no plans to sign up for any project using it (too much mouse-pushing for my liking). Very powerful tool and its price tag reflects that...
* Completed the SharePoint project I was working on. This was a big win, as the client was delighted with the work I did there…
* Working for Avanade means that you *must* get Microsoft certified. So I thought I'd play game, even though I've always looked down on these. So, after 3 MCP exams, I am now a MCAD (Microsoft Certified Application Developer). To be honest, I did have to study for the exams and I did learn quite a bit (in a broad, shallow sense). Not that I have some new found respect for people that hold the certification, but I don't have any contempt either (if that makes any sense :-S).
* As well as speaking at the "swimming pool" room at Microsoft’s offices in London, I also attended an MSDN event there on Indigo (or WCF, if you like) by Mike Taulty and Mike Ormond. A lot of great events take place there so, if you are in London, you should be monitoring the activity...
* Speaking of "speaking", I've been waiting for my name to appear on the official list before sharing this but I am fed up of waiting now so here it is: I am on the INETA speaker list! If you run a user group, feel free to contact INETA to arrange for me to speak on a topic of interest to you...
* While I didn't attend DevDays in London, that week I had the pleasure of having dinner with a handful of smart people organised by the Wintellect guys (Jeffrey Richter wasn't there but Jeff Prosise & Justin Smith were :-)).
* Anyone that has been through a house purchase in the UK knows how hectic the procedure is. Well, I went through the house hunting, negotiation, surveys, mortgage applications, estate agent fighting and solicitor chasing... all this for a flat in London. It sounded like a great idea back in October and a few days ago we reached the point where I must sign the contract and transfer the money. Guess what I did? I pulled out! This has cost me unbelievable amounts of stress, time and money. It just didn't make sense anymore due to another change in my life as summarised next.
* A couple of days ago I handed in my resignation to Avanade. Maybe my career desires will change one day and/or maybe Avanade UK will have a different direction one day. Should such a day arrive, I'll be happy to go back. Working for Avanade for 6 months has been an experience...
* Later today I will be at the DNUG meeting if you want to say hi
* Next Monday I will be attending a private 2-day MVP event held in Cambridge. I am looking forward to catching up with all of you who will be there :-D
Labels: Personal
Sunday, January 01, 2006
01. A sample of a great VS2005 feature.
02. The A to Z for troubleshooting your netcf memory issues.
03. With 2006 slated as the year of mobility, all you desktop gurus start catching up.
04. Not something you'll use everyday, but cool nonetheless.
05. There is still no great answer, but you can read about all your options for web serving with netcf.
06. ThreadPool differences between full and CF v1 framework and how CF v2 brings parity.
07. Just so my poor VB6 friends know they can do polymorphism without implementation inheritance.
08. While personally I think MSFT needs one more version before they dominate the phone OS market, if you are starting today, check out my smartphone quickstart.
09. mscorlib trivia (even though I wrote that drunk as a skunk ;-)
10. VB.NET compiles to IL badly.
11. WindowsMobile.Forms class diagram.
12. ‘Partial types’ usage.
13. Commentary on the .NET moniker being dropped.
14. Shameful plug to my msdn article.
15. Generic type parameter vs. System.Type
16. Getting started with netcf development for full framework developers.
Thanks for staying tuned. Roll on 2006...
Labels: Personal
Wednesday, December 21, 2005
In the past 6 years, my commuting consisted of driving to the office (from garage to parking space). I would only have to do that 3 times per week (2 days worked from home), and I arranged it so I arrived at work around 10 (this meant I would avoid all traffic and hence the journey took 35-40 minutes - not to mention getting up at 08:00 which is my natural waking up time :-).
Fast forward to a couple of months ago when I changed jobs, and now my commuting is defined by the location of the client. The project I am working on now is very close to our office (devcentre) in London. Whether I have to go to our own office or the client's office, my commuting (ordeal) is the same:
+ 06:30 my alarm clock scares the shit out of me. If you haven't gathered, I am not a morning person. Waking up at this time requires me sleeping the previous night at 22:00. This contrasts with my lifelong habit/conditioning of working in the small hours where by brain has been trained to be at its most active.
+ 07:20 leave my flat to walk to the Hove train station. I am not a walking person either (from the age of 14, back in Greece, I've owned a moped and used it for anything taking longer than 10 minutes). Walking to the station is especially fun when it is raining and, for those of you that don't know, all of this takes place in England (enough said on the weather front). The only time it is even more fun is in icy conditions (try running on ice while wearing smart shoes with shiny soles).
+ 07:40 depart on train for London Victoria (if I miss this one, the next one is in 31 mins). This is where you sweat since you were running in the cold, just seconds ago, and now you are suddenly in a warm packed wagon. Most of the times I get a seat and if I am lucky there isn't an overweight person next to me squeezing me against the arm rest (for those of you that know them, in the south we still have some slam-door trains in operation).
+ 08:50-08:55 arrive in Victoria (sometimes 10 minutes later than expected, I could fill a separate blog entry with reasons this train runs late). Now the fun bit of: queuing to get out of the train, queuing to go through the train barriers, walking in true people traffic to the tube station, queuing to go down the stairs of the tube (when they let us in and not just hold us back for 10' because the platforms are full of people), queuing to go through the tube barriers, down the escalators to the packed platform, watch 2 tube-trains go by before you can be pushed closer to the doors, get on board feeling like a sausage in a ban, arrive 7' later at destination tube station, queue to go up the escalators, queue to go out through the barrier, up the stairs to lovely Oxford Street. Walk for 5' to get to the client's office (or walk 8' to go to the Avanade office).
+ 09:00-09:30 seat at my desk and be pleasant to everyone.
+ 18:00ish leave the office to start the whole process in reverse (if I miss my train, the next one is 45' later).
+ 20:00 arrive home knackered, by the time I've had dinner as you can imagine I look forward to the next morning where I get to repeat it all.
So, some aspects of my life (including this blog) are not getting the full attention they used to but now you know why. I have 4 hours per day offline and literally *no* time during Monday-Friday for anything other than my day job (and Jenny).
On the plus side, this project will end (touch wood) by February-March and then it will be on to the next client who, I can only hope, will not be in London. Anywhere south of London and I'll drive it (in a much shorter time and have a more pleasant journey), anywhere North of London and the company puts me up in a hotel on the client site.
*sigh*
Labels: Personal
Sunday, September 25, 2005
Any MVPs reading this, if you are out there at the MVP Summit (and/or the Publisher's summit), get in touch.
Avanade colleagues in Seattle, I'll be at QuickStart so give me a buzz.
Microsfties who owe me a beer (you know who you are) get ready to settle!
Anyone else, if it’s your round, I am game…
Almost forgot... I am also attending the Indigo roadshow event in Seattle so expect a critique of that when I am back here...
+44 7808482469
Labels: Personal
Monday, September 05, 2005
Just caught up with my 5
Haven't gone near *any* of the numerous public and private newsgroups, forums, blogs and listservs that I monitor/subscribe to... yet!
Today was my first day at Avanade UK (London dev centre). Two hours door-to-door for £35.50 including walking, rail and tube
(priority number 1 = MUST optimise this journey on cost, time and quality).
"Information Overload" doesn't begin to describe the first day and objectives for the first two weeks. I narrowly escaped getting assigned to a project in London starting from tomorrow!
Pleasantly surprised with receiving a Toshiba Tecra M3 (and the masses of paper handouts) in a Avanade bag
Labels: Personal
Monday, August 15, 2005
As previously announced here:
- Friday 12 August - Was my last day at Trend
- Monday 15 August - In a few hours leaving for Greece
- Sunday 04 September - Return from Greece
- Monday 05 September - Start at Avanade
In Thessaloniki the best I may get is a modem connection so this will be a holiday from all online activities as well.
Sometime in September you'll see my next blog post... until then have a great time without me in the blogosphere.
P.S.
Don't forget to place yourself on my brand new Guestmap! Simply left click on your location (and then optionally zoom in for accuracy).
Labels: Personal
Wednesday, July 27, 2005
It is easy for me to write a book on the topic but instead here are just a couple of screens I've personally faced that show the quality of the product (since the non user friendliness of it is well documented).
Over the past 6 years I've had this crappy waste of space app installed on two PCs here at home, a tower at work, an older laptop and my current laptop.
Finally, I have a computer in my possession (the tablet I mentioned earlier this month), which I am setting up and the Notes piece of sh1t will not go on it. Combined with the fact that I am changing jobs, this means that I am not going to meet with that abomination any time soon. Anyway, there may be kids reading so, I am going to hold off telling you how I *really* feel (or start talking about Planta PPMS)!
Labels: Personal
Saturday, June 18, 2005
On this glorious day here in England, we'll be spending the day in London with friends and specifically watching Shakespeare's Twelfth Night at Regent's park
I promise technical content will resume at some point in the future (along with some big news regarding my professional life)..!
Labels: Personal
Friday, June 03, 2005
In half an hour we are leaving for Heathrow to catch a flight to Mauritius (never been to the Indian Ocean before).
The big news is that I proposed to Jenny and she said... "YES" :-D
By the way, I am now the world's expert at choosing diamond engagement rings (it's all about cut, carats, clarity and color - set in platinum of course).
A couple of things I'll miss while I am away which I reccommend you don't:
1. Go to the *free* MEDC UK event (10 June)
2. Attend the MVP NETCF chat at 18:00 on June 14th
Labels: Personal
Sunday, May 22, 2005
In about 25 minutes I am leaving for a business trip to the most Northern parts of Europe. In 5 days we endeavour to visit 4 countries (Denmark, Sweden, Finland and Norway) and more specifically 9 sites (5 immediate customers and 4 end users).
… just as I was recovering from the Vegas jetlag…
Labels: Personal
Friday, May 13, 2005
Yesterday was a good day: Alex_F gave his all inclusive COM interop talk; David_K/Mark_I held their debugging session and Roman_B on NETCF performance were simply great. Also, Chris_T announced our latest SDF release.
Reflecting on the conference now that it has ended, there were a few things here and there that were new to me but, due to our close links with MSFT and the numerous Whidbey drops I've played with over the past year, I must say that most content was familiar. How about some level 500 sessions next year?
However, that is not the main takeaway as the most important benefit was meeting tens of MSFT people and it was great to put a face to a name and equally beneficial meeting new MSFT names/faces. In the same vain, I got a chance to meet most of the MVP community and quite frankly that is what it is all about. Apart from a handful of MVPs that couldn't make it there and a few MSFT people that I (unluckily) just didn't run into, from a networking perspective this conference met my expectations 101% :-D
Soooo... I am catching a flight to San Francisco later on and after a brief stop there it is back to Blighty... I was going to go into how much I "deposited" at the casino but I think this is a good point to stop the diary-style blogging and go back to the technical focus starting from the next blog entry.
Daniel_M
Labels: Personal
Wednesday, May 11, 2005
It's not all doom and gloom though... I had an hour supporting the NETCF booth in the exhibition area and another at the MVP cabana (which meant I only caught 30 minutes of what was a cool introduction to MSMQ by Andy Wigley) and had some interesting conversations there...
After a private do where we met with the interesting MapPoint team, came the highlight of the day: "Blue Man Group"! Words cannot describe the show... at the end I got a photo with one of them (and here is Paul with another)...
Labels: Personal
(Alex Y, Alex F, Ginny C, Daniel M, Peter F)
Labels: Personal
Following that, an interesting panel discussion on building mobile applications went well...
One of the highlights of the day was lunch with members of the NETCF and VSD teams... I must have spent an hour complaining about bugs and missing features... I forgot to tell them how much I love the platform and the great work they do but I am sure they know that ;-)
For the next two timeslots I was not attending a session as I supported the self-paced hands on labs (part of the price you pay for getting admitted free as an MVP... small price if you ask me :-)
After that I attended an interesting session in an area I have no experience and, if I am honest, no immediate interest: "Game Development Using Managed Direct3D Mobile with the .NET Compact Framework"
Finally, one of the highlights of the day was "Memory Architecture in the .NET Compact Framework". I was looking forward to this session and I certainly was not disappointed. Fantastic info!
Then I hung around at the "Ask the Experts" session while consuming food and alcohol... at the same time the Exhibition opened so it was time to collect all the freebies...
The day ended with a screening of the code room... very funny :-D
Of course, the most beneficial aspect is the impromptu conversations held with various MSFT and MVP guys (and girls)... There are some real smart people here!
Due to some weird alcohol spillage that I will not go into, I cannot get photos from my camera onto this laptop and it is too late here so I'll be looking into it tomorrow... there will be photos tomorrow I promise!
Labels: Personal
Friday, May 06, 2005
Unless something goes horribly wrong, I will be blogging throughout the conference reporting my views, photos or whatever.
Stay tuned!
PS If you are going to be there and wish to hook up and talk geek, this is what I look like:
1. Taken a decade ago but not far from the truth
2. Dancing under the sun in Ios
3. Playing chess
4. Favourite non-tech past time
Labels: Personal
Monday, April 04, 2005
This means that while previously my company was part of the Intelligent Building Systems division (of Novar), now we are part of Automation and Control Solutions (of Honeywell).
Notice that we were, and still are, Trend.
To any Honeywell employees out there reading my blog: "Hello colleague :-)"
Labels: Personal
Thursday, March 31, 2005
Expect more inside MSFT information now that they offered me a job. I wouldn't accept it but, since my company is being taken over by some other company, I thought it was a good time to move. It is not on the CF team as you'd expect, though. Instead the C# team has hired me with my first task being implementing a background compiler for the Orcas release. Stay tuned.
On the Compact Framework front, you will have heard by now that sanity has prevailed and CF 2.0 will be supported on WinCE 4.2 (woohoo)
Finally, a blog entry without a link is not a blog entry so, as well as posting this over at my "meme" blog, see below who you are messing with:
Oh, I almost forgot: the MSDN Universal price tag will increase by £500 but it will include Visual Studio Team System Suite!
Labels: Personal
Tuesday, March 15, 2005
7. You can learn as much by listening to your client talk about competitive products as you can from when they talk about yours; encourage it!
8. If you are already the UK's market leader, maybe you should try to obtain feedback from other countries [OK, so this is more of a hint to my manager to send me to our customers abroad :-]
Now back to catching up with my spam... later...
Labels: Personal
Thursday, March 10, 2005
I could bore you stiff with the specifics discussed, but I won't. Instead, here are some general thoughts which I think apply to most products.
1. How do you please both the savvy and the newbie? The one that explicitly asks for XML export and the one that says this is the first touch screen device they ever came across!
2. It is hard to draw a line of where the features of one product end and another's begin. What's the point of offering features that drive sales up on this but cut sales from that - dropping the overall profit!
3. Should we abandon PCs and do everything in embedded devices (WinCE, not XPe) or should we dumb them down and have them slaves to PC applications? Everybody can be persuaded one way or the other; the devil's advocate always wins!
4. When you replace an older product, you better make sure *all* features of the original are carried over. There is no feature that "nobody ever used that, it was just there"!
5. Do users understand that this response is bad for my job security: "I love it; it does everything I want; don't change it".
6. Are shortcuts (i.e. having more than one way to do a task) good or bad?
While I ponder on the above (along with 4 A4 pages of notes), please bear with me for any unanswered emails; I will slowly catch up with 5 email accounts and hundreds of blogs, not to mention the newsgroups... hopefully before the next round of customer visits next week.
Labels: Personal
Friday, February 11, 2005
Anyway, after around 11 hours in town drinking and celebrating, I wonder how badly hangover I’ll be tomorrow. Have you tried programming while drunk? It is interesting, and I must admit VB seems easier in that state: you just type and it corrects silly mistakes (that you don’t do when sober) as well as point errors much earlier in the process (background compiler has always been my number one VB feature).
Just noticed that I am rambling and I promised myself not to do that on my blog… too much… so goodnight folks... talk to you on Sunday as usual.
Labels: Personal
Tuesday, January 25, 2005
You are using the BETA of 7.0, right? If you are not here are two reasons to do so (apart from the fact that it has been very stable for me in the past week):
1. Ability to sign in invisible
2. In addition to typing messages you can also handwrite them
Labels: Personal
Saturday, January 01, 2005
01. If you are changing thread priorities in your NETCF apps without being aware of these facts...good luck!
02. Everything about .NET Global Exception Handling is either in these 3 posts or in the links they point to: .NET 1.1, NETCF 1.0, .NET 2.0 (full & compact)
03. Whidbey's answer to UML class diagrams and where it falls short
04. So you are developing for both full & compact framework; are you doing it like this or like that?
05. Inter-Process Communication options with CF on WinCE; if it's not there, it doesn't exist
06. ALL links about serial comms (RS232) with .NET are here
07. VB2005 along with My brings Application Level events with a custom sub main. Use it *all* from C#
08. Control.Invoke today and tomorrow
09. More of a newsgroup support entry, but who says plain useful posts cannot be on my favorite list :-)
10. Generics in the Compact Framework (and not only)
11. BackgroundWorker today, tomorrow, full and compact frameworks: enough said
Thanks for reading... stay subscribed for an exciting 2005. As an aside, am I the only sad geek who associates the word "2005" with VS2005 ;-)
Labels: Personal
Friday, December 31, 2004
Friday, November 26, 2004
.NET Compact Framework Programming with VB.NET
As I said on my Amazon review of it (the C# version), I had read the draft but didn't actually own the released version.
Further surprise followed when seeing my name in the acknowledgments (page XXXVII) and even more so with my quote on the very first page (3rd one down)!
Someone said "fame at last", but I already said that when I was first (knowingly) acknowledged in the VB6/VB.NET Design Patterns book :-)
Labels: Personal
Thursday, November 18, 2004
My recent focus was on .NET Compact Framework Books. I have read and reviewed all of them (let me know if I've missed any - although it's unlikely I'll be reading a book on the CF 1.0 now that the CF 2.0 Beta is out). If you are writing a CF 2.0 book let me know.
Some of my reviews are over at my Amazon page (.NET, UML, OO and COM being the dominant theme).
More and more magazines make their articles available online (and we already subscribe to quite a few at work), even more informative blogs become available with nice technical content and more Alpha/Beta software is made available earlier and to wider audiences. All of this means that my book intake has gone down (hasn't yours?). It is up to you (as a publisher/author) to change that by sending me prospective .NET books to read/evaluate :-)
Having said all that, I recently finished reading Maximizing .NET Performance (I won it at a competition). The review will also appear as my next blog post.
D.D.G. MOTH (Amazon Associate)
Labels: Personal
Wednesday, November 10, 2004
Speaking of my girlfriend, she is looking for a ASP.NET/C# job in Sussex so let me know if you are interested. With 4 years development experience (Java/Delphi) and having just completed an MSc (7 .NET projects), I'd hire her! Here is a public "congratulations" for getting a distinction on your MSc project!
Labels: Personal
Sunday, October 24, 2004
While off topic (no technical content in this post), let us congratulate Manchester United for a well deserved victory earlier today :-)
Labels: Personal
Saturday, October 02, 2004
My offline period includes not updating this blog of course. I guess the greatest miss will be the "Blog link of the week" feature, or am I wrong? So while I am absent, may I interest you in revisiting some previous BLOTW [40,39,38,37,36,35,34,33,32].
Normal service will resume on Sunday 31 October 2004.
Stay subscribed and have fun... Australia here I come! :D
Labels: Personal
Sunday, July 25, 2004
Labels: Personal
Copyright © Daniel Moth



