19,609 reputation
23790
bio website bloritsch.d-haven.net
location Washington, DC
age
visits member for 4 years, 6 months
seen Mar 24 at 22:38

Been paid for developing for a couple decades, in addition to the assembly, Basic, and DB III I learned for the fun of it. Most of my professional career has been spent developing server systems and web applications.

Some things I have come to believe are:

  • Simplicity is hard, but oh so necessary
  • The hardest problem is understanding
  • Users are great, they keep you humble

Feb
6
comment Code Reviews do they really work in true Agile?
Time performing review vs. defects found and their severity. We compared that with the same metrics against unit testing. Issues discovered during code review were almost always code formatting related, and they took longer to perform. The same time spent doing unit tests uncovered real problems and took no longer to prepare and do.
Feb
1
comment Controller in MVC
A compiled language (all .Net languages are compiled) doesn't really load a class file each time it is used. It loads the assembly once, and instantiates the controller as needed. Since just about everything is just instructions, a controller doesn't really take up much memory at all. It's more efficient than you are imagining. However, with your first comment it would still be correct from an MVC point of view. It can be a lot of work, but it behaves similarly to what you get now.
Feb
1
comment Controller in MVC
MVC also allows you to test the controller without having to go through the transform process. Ensuring the response is a 404 when a resource doesn't exist, etc. is a lot easier when you don't have to fire up a web server and work through the web client APIs.
Feb
1
comment Should character encodings besides UTF-8 (and maybe UTF-16/UTF-32) be deprecated?
Hanged, really? And is everything still expressed in XML these days? When possible, binary data should be treated as binary, but when it's not possible you have to work around it. Both base 64 and URIs are ways to work around it. I think you need to calm down.
Nov
30
comment Will Java catch up with C#?
At the time I wrote the answer, it wasn't. So C# has a Microsoft written a runtime and libraries that work on Mac and Unix? Mono isn't directly from Microsoft, even though it might have some Microsoft developers working on it. I still have doubts about a desktop app built on WPF working for Linux. Server side only might be OK.
Jul
19
comment Isn't striving for elegance counter-productive?
An interface should encapsulate the contracts required for proper decoupling of code. There is no hard fast rule on the size of the interface. I've gone down the road of splintering interfaces down to very fine levels and it does get counter productive. Interfaces are a great tool when used appropriately, but their use does not necessarily imply elegance. It's more about using the most appropriate tool for the job. Interfaces aren't always the answer, they can simplify some problems and complicate others.
Mar
23
comment Haskell vs Erlang for web services
@thecoshman, My appologies... After 3 years I can't even recall the contents of what used to be on the page.
Mar
11
comment How do I licence my OS project, which uses other (differently-licenced) projects?
Read the licenses in question. Both FSUnit and NancyFX provide the clauses to use the software as you see fit (including sale) provided the license for the library is preserved. The ASL has the additional proviso that if there are any grants or patents that they convey without royalties to all users of the code. The critical section is the AS IS clause which all software licenses include. I'd only consult an attorney if we are talking about GPL, MPL, or various other licenses that are not so clear cut.
Feb
28
comment How to prepare for rewriting an application's glue
I have not done one rewrite (targeted or otherwise) where there were not changes you could not account for. My experience is to expect that there will always be. If I'm ever proven wrong, then I'll finally beat my projections. The point of the estimate is to give you and your boss a rough idea of the amount of investment required before you start.
Feb
28
comment How to prepare for rewriting an application's glue
@RobertHarvey, that's not true. Check the second bullet of the second set of bullets in my answer.
Feb
28
comment How to prepare for rewriting an application's glue
Fancier estimation procedures aren't going to make you more accurate. The issue is the problems you don't know about until you start changing things. There are inherently consequences that are hidden from your initial analysis. It's when you are in the midst of the rewrite you discover these issues. Coming up with the rough estimate before your project begins, tripling your original estimate is going to be the closest bet. As you progress and find more tasks that have to be added to the list, you can refine the estimate over time.
Feb
27
comment Programs that claim they are not “multi-core” friendly
The real point is that you need to design for parallel execution, and if you don't you are constrained by your lack of design. I agree that it can be very easy to do different things in parallel, but not if it's an existing application with high user expectations. In that case it very well may need a rewrite to make it possible. Rewrites are inherently risky, but occasionally you can make a good argument for them. I've done a couple such rewrites which maximized parallel processing while preserving as much code as possible. There's a lot of hidden factors.
Jul
31
comment Why are most browsers developed in C++
Depends on which version of IE and Firefox you are comparing. Benchmarks are also only part of the picture. I've always found IE to be very slow and cumbersome to work with. Still have to support it with some apps.
Jul
31
comment Why are most browsers developed in C++
Honestly a lot of it comes down to the enemy you know vs. the enemy you don't. I doubt you'll be able to get an all Java browser to be as performant as Firefox (possibly Internet Explorer but that's a very low bar). I made my living doing Java programming for a while, and it's the last thing I would choose for making a browser. There's a lot of practicalities involved here that neither Java or C# address.
Jul
13
comment Should software engineers also act as tech support?
You want your developers to be perceived as knowledgeable--make them the second person the customer talks to. By then the customer will calm down some and behave a bit more reasonably. Now, if it's a customer you have a good relationship with and it's not the first introduction the developer has to the client, then it would be perfectly fine. First contact should be vetted through someone else first though.
Jul
1
comment Windows Permissions for Developers?
Correct. Separate machines for internet and devopment
Apr
17
comment Dealing with profanity in source code
@TRiG, My answer to the OP's question was one of understanding the context and culture of the development team. Sounds like we are getting off on a tangent.
Apr
12
comment What are some arguments AGAINST using EntityFramework?
If you use the EF XML and let the EF generate your classes for you, that is your only option. Getting EF to work with POCO can be challenging particularly if you are on a private network with no direct access to the internet.
Mar
22
comment Balancing dependency injection with public API design
@MichaelDudley, did you read the OP's question. All "assumptions" were based on the OP's provided information. For a time, the "bastard injection" as you called it, was the favored dependency injection format--particularly for systems whose compositions don't change during runtime. Setters and getters are also another form of dependency injection. I simply used examples based on what the OP provided.
Dec
13
comment Will Java catch up with C#?
It's not a dig on Mono, but not all the .NET APIs are supported directly. While they are making headway, and have come quite a long ways, there are limitations--particularly in desktop applications. Not sure how close Mono has come or if it legally can come to implementing Winforms or WPF. However, for strictly server side work, I'm pretty sure it's compatible. Haven't looked into it recently.