# Sunday, March 14, 2010
Today I have posted a question on Super User site about music player on the mobile device which users OS.

I think that device that run some form of the OS are computers (among other). Period. As they are computers they belong to the Super User site. Period.




Dear reader, what do you think?
posted on Sunday, March 14, 2010 8:48:44 PM (Central European Standard Time, UTC+01:00)  #    Comments [1] Trackback
# Tuesday, February 23, 2010
Today Slovenian Microsoft subsidy started with NTK 2010 home page which looks really cool, especially with integrated Telerik controls.

BUT,

if you would like to apply to the conference, a problem arise. Especially if you are a company attender. You could not apply to the NTK because site .. ehm .. crashes. YSOD. Good for them that they exclude exception trace. Oh yeah, this is the default setting.

So, if you are a non-company attender good for you, you can apply.



But if you are company. Go home.



Dear Slovene Microsoft, it is really unprofessional to unleash the web page that even basic functionality is crashing.

posted on Tuesday, February 23, 2010 2:35:43 PM (Central European Standard Time, UTC+01:00)  #    Comments [3] Trackback
# Wednesday, November 11, 2009
I have just received a Google Wave invitation!


Let's wave together! If you want an invitation, just let me know.
posted on Wednesday, November 11, 2009 5:36:59 AM (Central European Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Thursday, November 05, 2009
I have started an interesting finance domain project based on newest technologies available (yeah, I love problems and to learn something new) on .NET platform. I will write more about as project will progress or maybe not because it might be a failure, you never know.

So I wanted to present a technology stack of this project:

Infrastructure:
  • good old SVN (TFS 2010 would be an interesting option I was not be a one-man-band, also git or mercurial would be a nice, maybe even better option. But we have what we have.)
  • Windows Server 2008 (R2)
  • MS SQL Server 2008
IDE:
  • Visual Studio 2010 Beta 2 + Resharper 5.0 Beta
Technologies:
  • .NET 4, C# 4, ASP.NET MVC 2 Preview 2, jQuery, LINQ, PLINQ, Entity Framework, Parallel Library, F# (for calculations mostly), WCF (.NET 4), ...
Other:
  • VS2010 Unit testing, VS2010 UML modelling, ...
A sneak peek HLA design (I have "abuse" - or not - component UML modelling):

I have yet to specify where will domain logic go (calculations). But this not affect HLA at all. As I write this I have done and overcome main design issues and "design coding". Now I will start to deal more with "content" or put it another way, house is build but rooms are empty.

And to be clear this is my personal project.
posted on Thursday, November 05, 2009 11:24:50 AM (Central European Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Wednesday, November 04, 2009
Yes! Resharper for Visual Studio 2010 Beta 2 is out. I have become aware how addicted I have became of the Resharper, when I have initially install Visual Studio 2010 Beta 2 and start develop within it.

I just missed something - a lot. Resharper really simplify development. Personally what I love most:
  • Automatic addition of the "using" directives
  • smarter itellisense
  • development time error cheking (otherwise you have to build to see them)
  • a lot of shortcuts (e.g. ctrl+e,u)
So, the problem was that I was not sure that Resharper support a newly coming Visual Studio 2010. Good news it supports! Well JetBrains provides an EAP (Early Access Program) and since 29 Oct. Resharper 5.0 beta supports VS2010 Beta 2! So far as I tested (today version 1528) it working smoothly. I have entered licence data from Resharper 4.5 and it works.

posted on Wednesday, November 04, 2009 3:08:59 PM (Central European Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Tuesday, October 20, 2009
Sorry for the inaccessibility of the site for a few days. In is totally unacceptable, but this is the price for running server at home. The cause of the site outage was good old home router WBR-3406TX. It was really old and it served well till ... the end.



First thing in the yesterday morning I did was to order a new router. I did a little research during the weekend which one to buy. I was totality about Linksys WRT160NL. It has really some nice features (USB port, detachable antennas) on top of a powerful hardware (400Mhz CPU, for instance). I would flash it with DD-WRT firmware.

But in the end pragmatism won. I really need only basic routing functionality. So I smartly picked up a most popular router in one of the popular Slovene computer hardware store. It is TP-Link TL-WR642G.



Probably you do not know even the manufacture. Do not now worry, I did not either. But anyway, the idea worked perfectly. I got inexpensive reliable router which do exactly what I need and nothing more. And that is what we should always do. Do nothing more and nothing less what is necessary.

posted on Tuesday, October 20, 2009 7:52:23 PM (Central European Daylight Time, UTC+02:00)  #    Comments [0] Trackback
# Tuesday, October 06, 2009
Do you like to have a neat and transparent code base? One of the foundations of this in .NET are regions (#region ...). A smart usage of regions significantly increase readability of the code base, but it can also diminished it if it is misused (typically example would be heavy region usage in methods).

I have find out the following class region structure really neat:

But there is the problem. Maintenance of this structure. But there exists a great tool to this instead of you - Regionerate.

Regionerate is an automatic layout enforcement tool for the C# programming language as it also stated on the tool's homepage. This tool is Add-in to Visual studio. It is really simple to use, just hit a keyboard shortcut "Ctrl+R" and the tool will do the rest or right click on the code edit panel:


Code became instantly Regionerated. But question arise. In what way code became regionerated? What are the names of the regions which members go into which region? Well there this utility really shines. You can totally customize it. I will blog about this in another post.

Regions in the upper picture were created with Regionerate tool. Did you notice the number of members in the end of the name of each region? Nice.

Out of the box region structure really did no fit me, so I customize it. You can find the customization file at the end of this blog post.

You can import customization file easily into the tool, just click "Regionerate this" and then "Settings" and just select the proper XML customization file. Tool have some problems with updating or changing customization file, sometimes change is not instantaneous.

It would be nice if you post your favorite region structure in comments.
 
CustomCodeLayout.xml (2.11 KB)
posted on Tuesday, October 06, 2009 12:55:30 PM (Central European Daylight Time, UTC+02:00)  #    Comments [0] Trackback
# Friday, September 18, 2009
When you are setting up a technology stack for new business application, well any kind of application really, one of most basic decision is what presentation tier technology you will use.

You have to ask two basic questions.

  • What is demanded richness of user experience?
Must be very responsive? Do you need fancy data manipulation? Will application handle large amount of data? Are those very dynamic? Will application be used just to present data?
  • How accessible application must be?
How portable your application really must be? What will be typically users of this application? What client software and hardware platforms are targeted? How often the application will change/update?



This picture nicely summarize those questions, what technology you should use based on your answers to those questions.

To answer to the question in the title. As far as I know typically business application and if I answer to the user experience and accessibility questions I would definitely say, Silverlight technology delivers the best trade off between user experience richfullness and accessibility that typically business application nowadays requires.

Related (picture source):
posted on Friday, September 18, 2009 10:49:09 AM (Central European Daylight Time, UTC+02:00)  #    Comments [0] Trackback
# Sunday, September 13, 2009
On meta.stackoverflow.com Joel announced a need for countdown application for the coming DevDays, as I am planing to attend one, I have decided to make one. Maybe I will watch my counter at the conference. ;)

It looks like:



Source code: PeterStegnarDevDaysCountdown.zip (198.51 KB)

I have used WPF, .NET 3.5. The speciality of this solution is custom Stackoverflow digits. :)

Short manual:
-you can find exe in "PeterStegnarDevDaysCountdown\WPF_StackoverflowCountDown\bin\Debug"
-start the app with the following parameters, for example: 0900 "DevDays begins in %s"
-just hit an "Esc" key to exit

Core functionalitiy is, of course, countdown:

            if (second != 0)
            {
                second--;
            }
            else
            {
                second = 59;
                if (minute != 0)
                {
                    minute--;
                }
                else
                {
                    minute = 59;
                    if (hour != 0)
                    {
                        hour--;
                    }
                    else
                    {
                        throw new ArgumentNullException("No valid time entry!");
                    }
                }
            }


What do you think?

posted on Sunday, September 13, 2009 12:00:59 PM (Central European Daylight Time, UTC+02:00)  #    Comments [0] Trackback
# Wednesday, September 02, 2009
Today I have compiled a nice podcast MP3 CD with Stack Overflow podcasts from episode 38 to 57. Yeah I know is strange selection, but you have to start somewhere. :)

NerdCD is meant to be regular geek podcasts compilation. Which will contain mainly the following podcast sources:
Why NerdCD, anyway?

Well it is primary meant to be record to the CD (size of NerdCD is just under 700 MB) and to be listened in the car. Of course you can upload it on your favourite music player (iPod, mobile phone, you name it).

Where can I get I?

It will be distributable in a torrent form.

NerdCD1 torrent: NerdCD1.txt (12.97 KB) (Caution! Rename txt to torrent file extension - torrent extension is blocked on my server, sorry)

Needless to say, seed it! :)
posted on Wednesday, September 02, 2009 9:16:33 PM (Central European Daylight Time, UTC+02:00)  #    Comments [0] Trackback