No-cost desktop software development is dead on Windows 8
If you want to develop desktop applications—anything that runs at the command line or on the conventional Windows desktop that remains a fully supported, integral, essential part of Windows 8—you’ll have two options:
1. stick with the current Visual C++ 2010 Express and Visual C# 2010 Express products, or
2. pay about $400-500 for Visual Studio 11 Professional.
#sad
Nice novel about “deliver something faster” via @clarkeching
Is the database your center of the architecture? via @unclebobmartin
Do you need a relational SQL store?
Great story from Uncle Bob about his experience with databases and architecture.
NO DB
http://blog.8thlight.com/uncle-bob/2012/05/15/NODB.html
Interesting points:
We certainly didn’t need a process with a multi-megabyte footprint sitting in memory and burning cycles. (Remember, this was the ‘80s)
Relational databases are huge beasts. Consider other options. Flat files work as well!
The center of your application is not the database. Nor is it one or more of the frameworks you may be using. The center of your application are the use cases of your application.
Ask yourself: Why are we building this? What problem do we solve for our customer?
Here’s what an application should look like. The use cases should be the highest level and most visible architectural entities. The use cases are at the center. Always! Databases and frameworks are details! You don’t have to decide upon them up front. You can push them off until later, once you’ve got all the use cases and business rules figured out, written, and tested.
The database is just a detail that you don’t need to figure out right away.
Attribute based routing in ASP.NET Web API
When I google for a great idea I have and it already exists, I’m like
Test names can have whitespace #fsharp
How awesome is that!
open NUnit.Framework
let [] ``This is a test with some whitespace`` () = Assert.IsTrue(true)
Tests are not DRY
public class TennisGameSpecs
{
[TestFixture]
public class GetScores
{
[Test]
public void NewGame_Player1_ShouldReturn0()
{
TennisGame tennisGame = new TennisGame(); // = "NewGame"
Assert.That(tennisGame.Player1.Score, Is.EqualTo(0));
}
}
Test Names and the actual tests contain duplication.
In the example above “NewGame” in the name of the test and the actual code…
I think that is the reason why we had a discussion about Naming Tests
XUnit wins over MSTest, expecting an exception
// XUnit
[Fact]
public void ThrowsException__PassingNegativeValues()
{
Assert.Throws<ArgumentException>(() => sut.Add("-1"));
}
// MSTest
[TestMethod]
[ExpectedException(typeof(ArgumentException))]
public void ThrowsException__PassingNegativeValues_()
{
sut.Add("-1");
}
Do you use microtypes / explicit types? via @NotMyself
Do you focus on the details? via @codinghorror
Bad API. SQLCommand.CommandTimeout doesn’t say in which time unit.
You can find the details in the help file
public override int CommandTimeout { set; get; }
Member of System.Data.SqlClient.SqlCommand
Summary:
Gets or sets the wait time before terminating the attempt to execute a command and generating an error.
Returns:
The time in seconds to wait for the command to execute. The default is 30 seconds.
Better would be to name it: CommandTimeoutSeconds
Recognize hand gestures with a mic and speaker
How do you measure customer satisfaction? #proscrum
A couple of options that I would consider:
- Just ask
But how? Surveys? Online polls?
- Measure system usage
Time spent using the system, Features used, Returning user, Referrals, Sign up via friend…
- Money
Did you make more money this month? -> Satisfaction increased!?
How do you measure customer satisfaction?
What else? What do you do?
SQL Server: script to get database size and single table size
CREATE TABLE #t
(name SYSNAME,
rows CHAR(11),
reserved VARCHAR(18),
data VARCHAR(18),
index_size VARCHAR(18),
unused VARCHAR(18))
EXEC sp_msforeachtable 'INSERT INTO #t EXEC sp_spaceused ''?'''
SELECT *,
CONVERT(INT, SUBSTRING(data, 1, LEN(data)-3)) as datasizeInKB
FROM #t
ORDER BY datasizeInKB desc, name
DROP TABLE #t
WCF Data Services, now with more releases!