Posts filed under “Technical”
Back in August 2014, D4 launched an experimental product named sqlizer.io. The idea was simple: sqlizer.io would be an easy to use tool that helps people to migrate data into databases, by converting data files into SQL scripts. When we launched it, we had no idea whether it would be useful, but it’s been a huge success. […]
“Sorry to bother you…”, the email from my client began. It was Monday morning, and I knew the company this person worked for always had conference calls with their customers on a Monday. No doubt she was prepping for a difficult one. The email went on, “but could you help us with the query below?” […]
People are always making mistakes. People send emails to the wrong person, or forget an attachment. They give you the wrong change at the checkout or bump into you in the street. Every day, people make little mistakes. For the most part we’re quite forgiving of each other. We understand that the other human being […]
QueryTree is a web based drag and drop tool for doing simple data analysis. Users drag and connect tools in a chain to first load in data, then manipulate that data (filter, group, sort etc.) and then visualise that data on a chart or map. I started building QueryTree by myself in between freelance projects […]
If you have a spreadsheet with multiple sheets/tabs containing similar tables of data; and you want to export the whole lot to a single CSV, then this VBA macro should help: Sub ExportAllSheetsToSingleCSV() ‘The file to write to outputFile = “C:\Users\dan\output.csv” f = FreeFile() Dim headerLine As String Open outputFile For Output As f For […]
When parsing a blob on Google App Engine using the Python CSV library, the simplest approach is to pass the BlobReader straight into the CSV reader. However, unlike when with opening a normal file, there is no option to handle universal newline characters. In order to handle all the different kinds of newline characters, the […]
Lets say you run a medium sized business. You employ 1000 people and have 5000 customers. Heard about “BigData”? Think you should probably be doing some of that too? Well, don’t start building that Hardoop cluster just yet, because you probably don’t need it… To illustrate, let’s imagine all 1000 of your employees spend 40 […]
To search for the word under the cursor, type “*”.
To search for some text you’ve already yanked, type “/”, then “Ctrl+R”, then “0”.
To search for some text you’ve already yanked into register “a”, type “/”, then “Ctrl+R”, then “a”.
To search for some text you’ve copied into the clipboard, type “/”, then “Ctrl+R”, then “+”
We at Contigo often use a pattern where methods with multiple nullable parameters retrieve collections of entities from a data store a bit like this:
These methods treat a null value as “no filtering required” so they can be called with only those filters that are relevant to the calling code. In this
Very few software designs/architectures are completely and objectively bad. Most designs optimise for something. Here’s a [probably incomplete] list of things that you could optimise for in software architecture:
- Developer Time Now
When we say we’re doing something “quick and dirty”, or that we are taking out “Technical Debt”, then we are optimising the development time now.
- Developer Time Later
This is what people traditionally mean by “good” code. A