• IProgrammable goes multilanguage

    Dobra bez żartów. Właśnie zainstalowałem plugin do WordPress o nazwie Gengo i sprawdzam jak na IProgrammable wyglądają polskie ogonki. Żeby nie zostawiać was z bezsensownym postem testowym rzucę trochę treści. Przytoczę wam małą anegdotę. Uczestniczę w moim pierwszym kursie programistycznym Microsoftu. Prowadzący najwyraźniej programistą .NET nie jest ale myślę sobie będzie dobrze. W końcu prowadzący przede wszystkim powinien być dydaktykiem i porządnie przekazać mi wiedz, ze którą moja firma płaci prawie trzy tysiące złotych. Prowadzący pyta: – A wiedzą państwo jak w C# tworzy się parametry opcjonalne? Ki czort, myślę sobie. Nigdy o czymś takim w .NET nie słyszałem i próbuję naiwnie: – Nie wiem ale spróbowałbym polimorfizmem. – A…

  • C# 3.0 – .NET Framework ?

    I’ve written an article about C# 3.0 for a polish programmers magazine Software Developer’s Journal. That’s not my first article but the first one to hit the cover and by the issue lead. Great, right? Well I’m afraid not! Why? Because of embarrassing mistake on the cover: C# 3.0 has nothing to do with .NET Framework 3.0. The new C# version will by introduced with .NET Framework 3.0 that comes with new Visual Studio 2008. The third version of framework is essentially the same with the second but enriched with a bunch of foundations (WPF, WCF, WWF). This information appears in the first paragraph of my text! I’ll ask the editorial…

  • Who needs DBNull?

    I’m currently taking part in my first MS certified .NET training. I’ll write some more about this training after it’s over, but now I have to share one thing with you. Once again I notices that DBNull is causing more confusion than it is worth. A certified .NET instructor had a hard time describing it to course attendees. Some time ago I had a long conversation about it. Both time I couldn’t help my self thinking: “who to hell needs this DBNull”. Because in .NET DBNull is not equal null. DBNull is a little extraordinary data type. It is used to describe a value from DB that does not exists…

  • .NET Remoting Articles

    The good folks at Software Developers Journal are working hard on delivering good content to polish speaking software developers community. They recently made two of my older articles available online (mid 2006). The articles are both about .NET Remoting (The basics of .NET Remoting and Extending .NET Remoting). This rather ascending technology (we have WCF) could by interesting today too. There is a lot of work done with plain old .NET Remoting. You will read there about the basic concepts, about using the communication techniques given by Microsoft, configuration them and implementing your own communication channels.

  • Clarion 7 Beta Released

    A new version of Clarion RAD is released. It is the last Win32 version of a tool, that my company used (an in a fact still uses) for the last 10 years with great success. The next generation is Clarion.NET based on .NET Framework. The first taste of the “wind of change” is seen it current beta version. Clarion 7 IDE is based on well known tool form our neighborhood the SharpDevelop IDE. I have my first “Hello world” app in Clarion 7 behind me and… there is really not much to say to .NET developers. It is rather buggy version. There is no application generator. Data dictionary (a kind…

  • Continuous Integration article in SDJ

    I would like to invite all my polish speaking readers to online version of my article about continuous integration in .NET. It was published in July 2007 in Software Developers Journal. You can find it in the download section of SDJ web page. You can read there about: setting up CI server with CruiseControl.NET creating one click build script with MSBuild incorporating unit testing and code coverage into CI process using WebDashboard and CCTray to control the process introducing code analyze with FxCop creating install file and deploying the project.

  • RTFM you idiot (me)

      Have I told you lately that reading manuals is good thing? Wow, what a discovery! Believe me, reading the documentation, manuals, MSDN will save you time. One day spend on reading about .NET Framework fundamentals will save you 2 of debugging, and wandering why… I’ve recently found a nasty behavior in my search by example routine. I thought that I know enough about NHibernate to use find by example in discoverable mode (its when you are programming with Intelisense as your help and guide ;). My code looked like this: Customer exampleCustomer = new Customer(); exampleCustomer.FirstName = view.FirstName; exampleCustomer.LastName = view.LastName; string[] excludeProps = new string[] { }; CustomerList customerList =…

  • Gotcha C# operator

    Sometimes I have a positive feeling of “what’ta f…” reading someone else code (at a contrary to negative feeling of the same sort wchich I get way to often). Recenty I’ve found the ?? operator in C#. And really I didnt know it could by used it this way: string s = null; string s2 = s ?? "remembered"; string s3 = s2 ?? "vorgotten"; The ?? operator returns the left operand if it not equalls null and the right one when it is. Simple and usefull!

  • Currency dispaly tip

    Task: print a price according to a culture information but remember “we don’t need the damn ? (or $) sign”! Well: public static string FormatCurrency(double price) { CultureInfo ci = new CultureInfo("de-DE"); NumberFormatInfo nfi = ci.NumberFormat; nfi.CurrencySymbol = ""; string s = price.ToString("c", nfi).Trim(); return s; } public static double FromCurrency(string price) { CultureInfo ci = new CultureInfo("de-DE"); NumberFormatInfo nfi = ci.NumberFormat; nfi.CurrencySymbol = ""; double d; double.TryParse(price, NumberStyles.Currency, nfi, out d); return d; } An please print the percentage but without the damn % and ALWAYS with 5 decimal digits. public static string FormatInterest(double interest) { CultureInfo ci = new CultureInfo("de-DE"); NumberFormatInfo nfi = ci.NumberFormat; nfi.NumberDecimalDigits = 5; string…

  • All the fuss about FizzBuzz

    Recently I’ve read once again about the FizzBuzz. For those not familiar with this term: Fizzbuzz is a taks that could by used while interviewing a software developer for a job. It’s is essentially a trivial task of listing all the numbers from 1 to 100 but replacing multiples of 3 with Fizz, multiples of 5 with Buzz and multiples of both with FizzBuzz. A task that an intelligent person, with some background in software development, suppose to crack in 5 (10 tops) minutes. But of course there are good solution and better solutions. I’m thinking about the solutions provided after Jeff Attwod post on his blog. People are so…