There's the term Computer Science, which puzzles me - is this field a science? Before I go on at probably great length, I feel it's important to say a few things to set the context. The most important one to me is: it doesn't matter. You can be good or bad at it whatever you … Continue reading Is Computing a Science?
Why bother testing?
There have been quite a few posts here about testing, and I expect that there will be several more, but so far I haven't addressed a fundamental question: Why bother testing? It's something that's good for the soul but you don't (usually) get paid for shipping tests, just for the production code and documentation. To … Continue reading Why bother testing?
Trying to not get too ranty about documenting software architecture
This article is my thoughts on a video about documenting software architecture: https://www.youtube.com/watch?v=kv8XedJTEww A summary of the video is: Domains other than software architecture, e.g. maps or electrical circuits, do a good job of capturing useful and important information in a way that communicates this well – this is mostly in pictures. Software architecture does … Continue reading Trying to not get too ranty about documenting software architecture
Testing a Web API
If you write a Web API (I’m using this to mean any API that you call via HTTP, such as a REST API using the Microsoft Web API framework), the world it’s part of is: It’s likely that while you’re developing, Client machine = Web server machine = Database machine, but this might not be … Continue reading Testing a Web API
A video with some practical security stuff
Another good Gotocon video, although the first few minutes are a bit bumpy until the speaker gets into the main part of the talk. The key points for me: Think about what security and risk mean for your system Add nasty strings from Fuzz DB to your existing tests Read OWASP Prepare for attacks and … Continue reading A video with some practical security stuff
Visualisations and the stories behind them
For me, the most important part of a visualisation isn't the visualisation at all. The most important part is the reaction it provokes, which should be equivalent to: Oh yes, now I get it. Actually, you often want things to continue on from this, so you get Oh yes, now I get it. Therefore ... … Continue reading Visualisations and the stories behind them
Initialising objects in C#
In C#, what is the difference between these two statements var x = new Thing{ A = 10, B = 20 }; var x = new Thing(A:10, B:20); (Notice the difference in styles of bracket, and the symbol between e.g. A and 10.) The answer is: The first is using a constructor that takes no … Continue reading Initialising objects in C#
Streaming and buffering in C# and Talend
This could also be entitled: How to make your code over 3x faster*. I love LINQ in C#, and I think that I'm not the only C# programmer who does. However, there are hidden problems to watch out for, and I'll describe one now. It is based on the difference between streaming and buffering, which … Continue reading Streaming and buffering in C# and Talend
Data modelling for programmers
This article is for anyone, but is mostly aimed at people who have done some programming and now want to tackle data modelling - things like designing tables in a database. When you start data modelling, you eventually hit the unavoidable problem that real life is big and messy. I have found two tactics to … Continue reading Data modelling for programmers
I couldn’t possibly comment
While there is always some new tool or technique to learn in programming, there are other things where you think you've already got it sorted. Commenting your code is one of those things for me. When I read a recent article on comments, that asked if comments were good or bad, I thought "Obviously, they're … Continue reading I couldn’t possibly comment