Nitriq is a product by


Developer's Guide to Blend Cheat Sheet
 
I was lucky enough to present "A Developer's Guide to Expression Blend" at St. Louis Day of .Net a couple of weekends ago. And I created a cheat sheet to hand out to everyone.

Download and feel free to distribute, just please link back to this blog post in case I release a new version. (I am a developer, not a designer, so it isn't the prettiest thing in the world but it gets the job done).

Developer's Guide to Blend [PDF]

I'll be giving the same presentation at Heartland Developer's Conference next week as well as at Minnesota Developer's Conference at the end of September. I hope to run into some of you there!

[Edit: Fixed pdf link, doh!]
[Edit #2: Actually fixed pdf link, I can tell it is Friday]


Friday, September 3, 2010 - 9:36 AM CST - Permalink - Comments [0]
Tags: Blend | Design | Tips and Tricks


Oh Noes! DNS Issues
 
Some of you may have noticed that the Nitriq blog and website may have been inaccessible for parts of later last week. More troubling, emails you may have sent to any "@nitriq.com" email address from Wednesday through Saturday may have bounced or worse yet failed to make it to our inboxes without you getting an error message.

I'm incredibly sorry for the inconvenience. If you've sent an email to a Nitriq account from Wednesday through Saturday and haven't yet received a response, please re-send it and we'll be sure to answer ASAP. Everything should be back to normal right now.


Tuesday, July 20, 2010 - 7:16 AM CST - Permalink - Comments [0]
Tags:


Ruby and .Net Developers Solve Two Different Kinds of Problems
 
A few days ago I ran across a tweet by a Ruby developer who I’ve been following for a while, in which he asks for someone to “... actually explain the value of Visual Studio and intellisense in terms I can understand?” At first, I responded with the top two things in my head:

1. It drastically reduces how much typing I have to do
2. It helps me learn a new API

He seemed to be under a misconception about the speed of intellisense, I understand why he might have thought that but it really hasn’t been an issue for several years now. But what really got me thinking is when he responded “It just seems to me that if intellisense really drastically reduces typing, perhaps the language is too verbose”.

I think the larger misconception he has is that Ruby developers solve the same kinds of problems as .Net developers. They don’t. Not even kinda. And it is these differences in the kinds of apps we build that make things like an IDE and intellisense indispensable. In general, Ruby developers create small to medium size websites - content management systems, small social networks and online storefronts. On the other hand, .Net developers create a lot of large scale enterprise applications. There are countless .net projects that have 50+ developers, the average .Net team probably has 15+ developers. When you need 3+ people just to describe what the business needs, the resulting code is going to be verbose. How big is the average Ruby team? Two or three dudes?

I am not saying that Ruby sucks. It is an incredibly cool language that can help .Net developers to look at their code through a different light. Remove Ceremony? Great Idea! TDD? Sweet! MVC? Booya! Convention over Configuration? HELLS YES. But even after borrowing as much as we can from Ruby, it isn’t going to make the gigantic complicated sales management system for a Fortune 500 company be not gigantic and complicated. Hopefully it will be a slightly smaller and more simple, but that application is never going to be so simple that you don’t need an IDE or intellisense.


If you happen to work on a beast of project with a large team and you need help finding the troublesome spots you should really check out Nitriq and Atomiq. There is a free version of Nitriq - it lets you query your .Net assemblies with LINQ. You can think of it as a super configurable, easy to use FXCop. Atomiq finds and visualizes all the places that someone has copy and pasted code in your project. When I tell people what Atomiq does, about 90% of them get a smirk on their face because they know how much this happens in their project. If you're smirking right now, just go look at it!

UPDATE: There is a pretty good discussion going on at Hacker News.


Wednesday, July 14, 2010 - 7:27 AM CST - Permalink - Comments [8]
Tags: Atomiq | Flamebait | Nitriq


Atomiq Now Supports Python, Ruby, Java, C, C++ and ActionScript
 
After a lot of customers asking for Atomiq to support more than just .Net languages, we're happy to announce that Atomiq now supports Python, Ruby, Java, C, C++ and ActionScript. We've also made some minor enhancements to the wheel view so it is easier to see where you have the most duplicate code.

If you've already purchased Atomiq, you can download the latest version (1.0.25.86) from the My Products Page.

Download Atomiq Duplicate Code Finder Trial


Wednesday, June 30, 2010 - 10:45 AM CST - Permalink - Comments [0]
Tags: Atomiq


Listen to Jon Talk About Nitriq and Atomiq on DotNetRocks!
 
Jon von Gillern recently got to talk with Carl and Richard from DotNetRocks about Nitriq Code Analysis and Atomiq Duplicate Code Finder. You can listen to the episode here.

Thanks to Carl and Richard!


Wednesday, June 16, 2010 - 7:45 AM CST - Permalink - Comments [0]
Tags: Atomiq | CopyPasteKiller | Nitriq


Simplify, Shorten and Speed Up Your LINQ Statements with "Let"
 
I've been writing a lot of LINQ statements lately while working on Nitriq and have come across a pretty cool LINQ keyword - "let". It allows you to specify an intermediate calculation that can be referenced multiple times else where in your LINQ statement, including the where and select clauses.

As you can see below, this is how a lot of LINQ statements are written - a calculation is done both in the where clause and in the select clause. This not only make the code large and ugly, if this calculation is CPU intensive, you get hit with a performance penalty because you are running the calculation twice!
 

var cheapCategories = from cat in Categories
                      where cat.Products.Average(p => p.Price) < 100
                     
select new { cat.Name, AvgPrice = cat.Products.Average(p => p.Price) };


However, if we use the let keyword, the code is shorter and the runtime only needs to execute the average calculation once.

var cheapCategories = from cat in Categories
                     
let AvgPrice = cat.Products.Average(p => p.Price)
                     
where AvgPrice < 100
                     
select new { cat.Name, AvgPrice };


While this is this is a small example, I promise the let keyword will help you tame the monster LINQ statements lurking in your code.


Tuesday, May 11, 2010 - 4:16 PM CST - Permalink - Comments [3]
Tags: Tips and Tricks


Nitriq Now Fully Supports .Net 4.0
 
We're happy to announce that Nitriq v1.0.25.84 now fully supports analyzing .Net 4.0 assemblies. Nitriq is still runs on the .Net 3.5 SP1 framework so you do not need to have .Net 4.0 installed if all you want to do is analyze 2.0, 3.0 or 3.5 assemblies. However, if you wish to analyze an assembly that targets .Net 4.0 you must have installed the 4.0 framework.

You can download the latest free community edition of Nitriq here

Email support@nitriq.com if you have any questions or comments.


Friday, April 30, 2010 - 10:53 AM CST - Permalink - Comments [0]
Tags: Nitriq