If you were online at least once in the previews week you probably noticed the biggest announcement from Microsoft! Yeah, everybody is talking about C# 8 planned features. And because the news is literally everywhere, I gave up and decided not to repeat what everybody already read. But that decision is no longer valid because back THEN (which means – yesterday or so) my pet project wasn’t so nasty and I wasn’t so stuck in the middle of some stupid, trivial task that seems to be unable to accomplish… So yeah, I changed my mind, I will wrote about C# 8, just to avoid touching (for at least a day 😉 ), the disaster I programmed :D. No, it’s not procrastination, not at all! ?
I have never believed in those stories about non-intuitive Oracle databases. What can be so wrong with Oracle? It exists for quite a long time, big companies still use it… It’s just another database engine, right? Yeah, that was my way of thinking till I needed to update a row with a string longer than 4000 characters.
Because you know, you cannot just update this f*ing field in the database with an ordinal update statement. No! Plain update statements are for losers, we are Oracle users, ORACLE USERS! Yeah, read it once again, OOOOOOORACLE UUUUUSERS. That’s right, now just be kind and type the following statement that will make Oracle to show a small pop-up window where you put your long string (ugh, longer than 4000 characters – you are really disgusting to store such a long strings in your database, you know? Naughty programmer! Shame on you!). Continue Reading
Reading application’s logs is not a big fun but let’s be honest – it is part of our job and we will not avoid it. So why don’t we make it slightly more pleasant?
Stack traces explorers to the rescue! Continue Reading
Well, maybe not a totally ‘no’ NullReferenceException, but a whole lot less than now. Well, yeah, I had to catch your attention somehow :P. But anyway, have you heard those rumors about C# 8, how amazing it is going to be and how hard Microsoft is working on the release…? If not, you definitely should read this post! Because the promised changes sound really good and will be a must-to-know quite soon.
So today I wanted to write about one of the “louder” planned features – nullable reference types. Yes, you read it right. And yes, all the reference types we already have in C# are actually… nullable. Yeah, makes no sense, yeah, what a bullsh… No! Wait! Continue Reading
I’ve always had the impression that companies like Microsoft or Google are some magical places in the far-far-away-land (yep, America seems quite far away for a European kiddo ? ). People working there must be some kind of amazing scientists who write their code by setting the appropriate voltage directly on transistors. Or, at least, use assembler-like languages every day ?.
If you have a similar idea, you may like to read some facts I discovered after talking to one of Microsoft employees. My todays ‘guest’ is Ela Mościcka who’s been working at Microsoft for +3,5 years as a Talent Sourcer. And probably the most busy person I’ve met so far :D. We are talking about working at MS and how a programmer can become a MS employee. Continue Reading
Have you ever wondered why blue screens of death happen so rarely, nowadays? Of course, we can thank Microsoft for this but the way they fixed this problem is not so obvious! According to Marino Posadas (and his book Mastering C# and .Net Framework) back in 2010, Microsoft made an analysis of this topic and they came to the conclusion that the 90% (wow!) of the blue screens were caused by drivers! So, Microsoft made manufacturers to follow the Hardware Compatibility List. That somehow solved most of the problem but what with the rest 10%? Most of them was due to the… Continue Reading
Many people neglect C# delegates because they cannot find a reason to use them. On the other hand, there is (rather small) group of people who overuse delegates in code that could be easily replaced by literal method call. So when should we use delegates? Well, they show their real power in situations when we need a mechanism to easily switch from one logic to another, without changing our application’s core code. Continue Reading
New year, new me… Just kidding, no running or yoga plans, but I decided to have a (temporary) break with ‘C# attributes you should know’ series and start with a brand new one – C# facts that somehow surprised me. For the first article, I will show you how (friendly looking, always helpful, good guy) enum can become an asshole. An asshole who will steal your precious time!
Today I again focus on the attributes that will make your debugging less painfull :). This time my scribbles should appeal to the programmers who prefer keeping their code clean (and adhere to the principle: the less ‘spare’ code the better).
So grab a mug of whatever you like and take a look at DebbugerBrowsable and DebuggerDisplay . The first one may be a good alternative to DebuggerTypeProxy I described in previous post and the second one is just ‘a must’ (really!) that makes life easier. Continue Reading
Last time I wrote about C# attribute DebuggerTypeProxy that helps us customize the way we display our type’s data while debugging. Today I would like to introduce you to the world of attributes that helps you skip some parts of code while debugging. Most of the C# programmers probably know them well, but I realized that only a few can tell the differences between them. So, ladies and gentlemen, let me introduce you the DebuggerStepThrough and DebuggerHidden. Continue Reading