Blog entries for category "professional":
Some of my friends already know that I have been working on something new over the last few months. Having helped shipping Windows 8, its Store App runtime for .NET applications, and the Async language and Framework features in .NET 4.5 was an awesome experience. I am very proud of our work. But over the last several moths I worked on something new – first a side project, it has now become a full feature. I wished I could have done this as a part of the .NET Team, but resource constraints and business priorities did not make this possible. Today I can talk about it publically, as my own boss. Exciting!
I continue working very closely with the Framework teram, and together we are announcing todfay a crucial update to Windows 8 Store App API Framework.
Happy New Year 2013!
— Greg & Stacy.
с Новым Годом 2013!
— Гриша и Настя.
Glückliches Neues Jahr 2013!
— Greg & Stacy.
Asynchronous programming is one of the central themes of the .NET Framework 4.5 release. The
await keywords in C# 5 and Visual Basic 11 bring a new quality to working with asynchronous code. I had heaps of fun working on the underlying technologies.
The Windows Runtime (WinRT) has also adopted the asynchronous programming model. The WinRT APIs, introduced in Windows 8, are central to writing Windows Store Apps. WinRT async APIs are different than the .NET Task-based async APIs. However, you can use WinRT async APIs as seamlessly as pure .NET APIs, with the same keywords and the same usage principles. In this article I go into detail on how you can do that.
I review the most important types in the WinRT async infrastructure, and how they relate to similar .NET concepts. After that I walk over creating a complete Windows Store App with several different asynchronous operations. I show how to start asynchronous operations, how to retrieve results, and how to work with cancellations and progress monitoring.
Want to know more? Read on..
My sample App can be downloaded from MSDN.
This article assumes that you have a basic familiarity with using the
await keywords with .NET APIs in C#. Thanks to Rich and Brandon who helped with the editing, upload and publication or this article.
Update (Feb 2013): Late last year my colleagues published a new version of the Async Targeting Pack, titled "Microsoft.Bcl.Async". It adds support for Windows Phone 7.5 and the Portable Class Libraries.
[More info on the BCL blog]
[NuGet page for the Microsoft.Bcl.Async package]
One of the things I have been working on over the past year or so is the end-to-end experience with Asynchronous Programming in the .NET Framework. This is a very large effort involving dozens of people. Today I'd like to advertise one component of this experience we have recently released:
The Async Targeting Pack for Visual Studio 2012 is now available for .NET 4 and Silverlight 5.
The Async Targeting Pack (available via NuGet) allows Visual Studio 2012 to use the new async / await language features in projects that target .NET 4.0 and Silverlight 5.
I really would like to get this off my chest. I know that many people feel similar, so I won't hold back the right words..
You are a bunch of poor dirty motherfuckers and the world would be so much better if only one of you choked on a piece of shit and died. I create capchas, and you have nothing better to do in your sad lives than wasting time and spamming people manually. I delete all your posts within a few hours, yet you keep trying just to cause pain. You do not engage in legitimate business; you waste people's time and make internet a worse place to be and to do business in. You are simply incapable to do better. You are sad little wankers and I wish you all sent to a remote island where you can suck on each other until your dicks won't need any more enlargements and you can go do normal jobs. Please leave the universe at your earliest convenience.
A memory mapped files is virtual memory mapped to a physical file on disk, byte-by-byte. Or is it? Like with all advanced technology, the devil is in the detail...
Memory mapped files offer a number of benefits over traditional stream-based I/O. Advantages include random access performance, or the ability to share data across processes. The .NET framework provides built-in support for memory mapped files starting from version 4. In most cases using memory mapped files in .NET is as easy as using traditional file streams: just map a file into memory, open a seekable memory stream, and use it like a normal file while enjoying the performance benefits.
However, some tricky details lurk behind a corner: For instance - what are those weird bytes where an EOF was expected? Wanna know? Read on..
Regular Expressions are a powerful, yet a deceptive text mining tool. There are many pitfalls. One pit that is particularly easy to fall into is that a (sub-)expression can obtain a completely different meaning if it is put within the context of a another (sub-)expression. For instance, using the presumably straight-forward Set operator can be quite tricky..
Evolutionary algorithms, genetic programming and self-correcting systems have long remained in the realm of research prototypes and academic experiments. Not any more. It appears that many years of research, cross-team collaboration and internal testing are about to culminate in a main stream product that utilises evolutionary techniques in a real main-stream software development framework.
Today the Microsoft .NET Framework and Base Class Libraries Team is happy to announce some very exciting news..
I hope that everyone is having a great Holiday Season and I wish you a Happy New Year 2011!
My 2010 was a year of conclusions and a year of commencements. If was a year of hard work and of earned achievements. Great things became a part of the past and even greater dreams became present life.
I wish you a bright, energising and enlightening New Year 2011! It will be the first year of a new decade. Hard earned success will set in and long chased goals will come closer.
Please forgive me if I have not been in touch this year, and let us give it another chance in 2011.
Happy New Year!
In the name and the authority of the Council be it known that Gregory Paperin having fulfilled all the requirements and having passed all the prescribed examinations has been admitted to the degree of Doctor of Philosophy. In token thereof the Council has authorised the Common Seal of Monash University to be hereto affixed.
Every year again comes the DST change...
And every year again .NET developers get confused about a whole hour mysteriously missing from their logs. Others, in contrast, seem to experience an unwelcome déjà vu and to encounter things twice.
In this brief article I discuss how the
DateTime type causes many of these problems and give a few tips on using the
DateTimeOffset type to avoid most of the problems associated with
DateTime in the context of DST transitions.
Do you know why "
Greenwich Standard Time"-zone has no daylight saving time? And why "
US Eastern Standard Time" does not actually apply anywhere on the Atlantic coast of the United States? In this brief article I talk about the pitfalls of name IDs in the Windows time zone database and about what to look out for when doing time zone programming under .NET.
Just wanted to share this real quick:
There is a really annoying Facebook scam making the rounds - be careful to avoid it!:
You will see that a friend likes a site titled "WOW, This GUY Went A Little Too Far WITH His REVENGE On His EX GIRLFRIEND!" or something along those lines. This is likely to make you curious because it can appear posted by friends who are not typically interested in scandals, quasi-porn and other things like that.
If you click on the link it will take you to the site "shockingxrevenge
dot com". Of course, there is no promised video or any kind of other useful or curious information. Instead, if you make the mistake to click the Verify-button on that page, a "Like" note/link will appear on your Facebook profile referencing the scam site. Your friends will see it and the scam will continue spreading.
The wankers who set up the scam obviously do not offer an "Unlike" option. However, you can trick them by clicking the Verify-button again; it will remove the scam link from your profile. (See the Facebook help link: http://www.facebook.com/help/?faq=17219&tq.)
Help spreading this warning, hopefully it will reduce the spread of the scam!
I'd like to share a little story that is, in my personal opinion, very typical of how Monash University operates. Enjoy a good laugh!
I hope that everyone is having a great Hanukkah and Christmas season and I wish you a Happy New Year 2010!
My 2009 was a year of change and surprise. What was set has vanished, and what was unattainable became reality. Much has been lost, and even more has been found. End whenever there was doubt - action, not inactivity, was the right answer.
I wish you a warm, joyful, and successful New Year 2010! It will be the last year of the first decade of the new millennium. Things that have been started will be finished, and new amazing things will begin. It will be a year of new success and a year of love. And I wish, it will be a year of reunion with old friends.
Happy New Year!
I went to Madeira to attend the ICEC'09 conference (International Conference on Evolutionary Computation) where I presented my and Suzanne's work on Dual Phase Evolution. The presentation went extremely well and there were some interesting questions during the following discussion.
Down in the old town centre lights shimmered busily. The wind mixed the buzz of the city, the hooting of cars, and the occasional laughter and shouting into a jolly babble and carried it up the Castle Hill, across the park, and up to the walls of the palace. Around, a few groups of people, strolling, many with wine glasses, chatting, smiling, enjoyed the warm Indian summer night and the views across the Danube onto the city of Pest. The giant cornice above the tunnel that lead through the Castle Hill and connected Buda's alleys directly to the Chain Bridge shimmered in a magical silver tone created by the fool moon that shined through the trees. The cornice was a traditional meeting place for couples, and on this night several of them sat and stood along the cornice edge and further up between the trees of the castle. Enchanted, I thought that if someone would ever ask me what it was that I missed while living in breathtaking Australia, missed so much that I could hardly imagine settling there, all I needed to do was to bring across a little of this humbling atmosphere that filled everything around. I could not imagine to find anything like that anywhere outside Europe.
This took me ages to find out, so here is the solution for the benefit of everyone who is having a similar issue:
In a local Windows-based network you are trying to connect to a machine (e.g. in order to browse its local file storage). When connecting, it offers you to connect as Guest user only and does not offer you the option to connect as a local user of the target machine (which is what you would normally want).
Solution (in brief):
In your local security settings, find the policy for "Network access: Sharing and security model for local accounts" and set it to "Classic – local users authenticate as themselves".
Step by step solution:
Merry Christmas, Happy Hanukkah and a Happy New Year 2009!
I wish all my family, my friends and my colleagues around the globe a merry holiday season and a bright, warm and happy New Year 2009!
May you find what you seek! I hope that we see each other in 2009!
In the past I have worked with many people and organisations on many projects and I am being contacted with job offerings on regular basis. And so one day, must be about a year ago from now, I had an email in my mail box. It caught my attention as instead of praising the job as a unique and great opportunity, as head hunters and sales people often do, it was quite brief and to the point. Another thing that caught my attention was the company it came from. This is how the email started (I blanked out names):
My name is [...] and I am a recruiter at [a known software company]. I recently received your name as someone to consider for technical positions when we come to Australia in two weeks. If you are interested in being considered for a position, we would like to get a better understanding of your background by conducting a mini-interview with you. [...]
This was followed by a few brief questions, some of which were quite technical in nature - again - something you do not usually see in first contact emails.
I was intrigued by this email, and what made me even more curious is that I have never been in contact with that company, I did not know any people working for them, and in fact, I was not a huge fan of their technology. Who would have given them my name?
The Eleventh International Conference on the Simulation and Synthesis of Living Systems was a big success in general as well as for me personally. While the biggest ALife event to date, the conference was signified by a traditionally very low acceptance rate and a very high paper quality. Presenting my own work as a full conference paper was fantastic, and attending the meeting of the leading ALife researchers in the world was a stimulating and rewarding experience.
The reason I came to Knoxville was to visit Sergey's Gavrilets lab for theoretical evolutionary biology at the University of Tennessee. Sergey is one of the leaders in the field and it was a very interesting visit.
The actual reason for my trip to Atlanta was attending GECCO - the Genetic and Evolutionary Computation Conference 2008. I have published some work there and thus presented that work in form of 2 posters and a paper presentation at the Graduate Student Workshop. One paper was on protein pattern classifier learning [Paperin, 2008a], the other - a conceptual investigation into using my computational model of Gavrilets' Holey Fitnes Landscapes for preventing premature convergence in evolutionary optimisation algorithms [Paperin, 2008b].
The conference was a brilliant one, everyone I met there liked it a lot.
Unfortunately I have been receiving too much spam on this board. For every legitimate comment I received over 5-15 (!) spam messages. Captcha and auto-spam detection reduce, but do not resolve the problem. Please other means for getting in touch.
See also my address to spammers.
This post acts as a message board.
If you would like to leave an open message for me, just post a comment!