Goings on at Softwire, technical and otherwise

Archive for the ‘About Softwire’ Category


Softwire Speed Coding Challenge – Question 3 Discussion

previous article in series

In our last coding challenge post, we posted question 3 from our coding challenge. Did you try it yourself? Here’s the question again, as a reminder:

READ MORE…


Softwire Speed Coding Challenge – Question 3

previous article in series

Welcome to the next in our series on Softwire’s coding challenge! Last time, we discussed the winning answer to the second question. This time round we’ve got a cryptography question for you (although you won’t need to know anything special) - I’ll post the winning answer and some further discussion in a week or so.

Truly Unbreakable Security

Inside the linked zip file (Secret.zip) is a file (secret.dat) I have encrypted using the “truly unbreakable” security offered here.

  • Short summary of the encryption: XOR each byte of the plaintext file with the next byte produced by a new instance of System.Random in C#
  • I have linked the source code of the encrypting app as Vernam.zip (NOTE: you do not need to read this)

I would like you to decrypt secret.dat (feel free to unzip it manually first).

To aid you in this, here are the 7 most common “magic numbers” from Wikipedia. These are byte sequences which appear at the start of a file to mark the file format:

CAFEBABE    class
47494638    gif
FFD8FFE0    jpeg
89504E47    png
4D546864    midi
25504446    pdf
504B0304    zip

As if that weren’t enough, you also get these two enormous hints:

  • There are two constructors for System.Random – the default no-args constructor uses Environment.TickCount as a seed
  • I rebooted my system less than an hour before encrypting this file

Best of luck with this one, we’ll post the winning solution and the answer in a couple of weeks!

next article in series


Development methodology: Agile and Scrum

A development methodology is a set of processes which can be employed to ensure quality, timeliness of delivery and confidence in the success of the project.

Every software project requires a development methodology of some kind, and picking the right one, and using it correctly, is vital to the success of that project.

READ MORE…


Softwire Speed Coding Challenge – Question 2 Discussion

previous article in series

So, in our last speed coding post, we set you the second question in our challenge. Here it is again, just to remind you!

READ MORE…


Softwire Speed Coding Challenge – Question 2

previous article in series

Welcome to the next in our series on Softwire’s coding challenge! Last time, we discussed the winning answer to the first question. Here’s question 2 for you to try, which may require a bit of mathematical knowledge – I’ll post the winning answer and some further discussion in a week or so.

READ MORE…


Softwire Speed Coding Challenge – Question 1 Discussion

previous article in series

Last time out, we set you the first question from our recent Speed Coding Challenge, giving you the opportunity to answer it yourselves and compare your efforts to our winning answer. Here’s question 1 again, just to remind you what it was!

READ MORE…


Softwire Speed Coding Challenge – An Introduction

Softwire recently hosted their second speed coding challenge, after the inaugural competition proved to be a resounding success. The competition was open to current employees (and recently departed interns) and was designed to give everyone a chance to show off their ability to code solutions to a variety of problems in as short a time as they can!

Entrants discussing an early question

Over the course of the next few months, I’ll be adding some details of the questions that were asked and discussing the winning answers (as well as announcing the eventual winner). In this post, I’ll explain the format of the night and the scoring system used and will give you the first question, so you can give it a shot yourself!

READ MORE…


Photo walk

Shortly before Christmas a number of intrepid Softwire employees braved the cold and went out on the inaugural Softwire Photo Walk. We started at the Tower of London and, over the course of an afternoon, crossed Tower Bridge and walked west along the south bank of the Thames before finishing back in the warm with some beer and food.

There were four categories for inspiration – Water, Urban, People, and Close-up, but everyone was of course free to take whatever photos caught their eye. Here’s a selection of the photos we came back with.

Dan's photo of 'People' READ MORE…


How we run a software company: Monitoring commercial progress

previous article in series

Some important questions for any business in a service industry are:

  • How does each individual know what they spent their time on last week, and how much more time they need to spend?
  • How do they communicate this to the people who need to know?
  • What should the company do with this information once they’ve collected it?

I’ll give Softwire’s answers to these below.

READ MORE…


Things you might see around Softwire: Ducks

There are some new additions to the Softwire office. We expect these new recruits to help us with software development, without saying anything!

A Softwire-branded rubber duck

It’s long been known that the very act of explaining a problem out loud can, by itself, be enough to solve it. So we’re asking our developers to explain their problems (with their code, their customers or anything else) to their duck in the first instance. If this is successful we’ll save a fortune on task managers.

If anyone’s sceptical, my favourite benefit of “rubber ducking” is this one. Rubber ducks don’t gossip about your private problems with other rubber ducks.