Tag Archives: Internet

An Idea For Someone

I’ll be honest here, I don’t really curate my LinkedIn all that much, and I tend to accept any request to link. I do perform a little bit of filtering, but barriers to entry a low. Very low.

One thing I did notice that that, after my title change, I got a lot more requests from people I didn’t know (mainly recruitment consultants, so no surprises there). This got me to thinking:

What if I setup a fake profile with fake title (suitably impressive, like CEO), and just punted it out to LinkedIn. How long until the requests started pouring in?

OK, possibly too easy. Lets go one step further. Lets create a fake company with 26 profiles on LinkedIn. Each profile will be for nice, high ranking titles like CIO for APAC region, or CFO for EMEA. Each profile will also have a first name starting with a different letter of the alphabet. Now, here comes the fun. That fake profile will only accept requests from people who’s names also contain the starting letter of the profiles name (or, if this proves to be wildly successful, only accept requests from people who’s names start with the same letter as the fake profile). After 1 year, look at the network the fake company has built.

Sadly I’m far too lazy to do this (I suspect a fake company website may also be in order), but hey, this is the internet; there are people out there with WAY too much time on their hands. Take this idea, go, run with it. Report back in a year 😀

Tumbler and low level stories

I’ve run into a bit of a brick wall with Tumbler in so far as I think I’m using it at far too low a level. I’ve got a fairly simple object at the moment, little more than a bean, which I’m using as a working example to try these new techniques out. While my first story and group of scenarios were easy to write I started running into issues with the second group. The issues are twofold. Firstly I’m having to learn to rethink how I group my tests to fit into stories and scenarios. While working this through I started butting into problems with long class and method names which I can’t really shorten as there will, eventually, be literally hundreds of tests and I need to be able to distinguish between them.

After fiddling about with different ways of framing the stories and scenarios I discovered that its annotations aren’t picked up by the JUnit plugin for Eclipse so I can’t rely on them to make readable tests, I have to use readable class and method names.

Then, I discovered that Tumbler isn’t hierarchical. Stories are listed on the index page, then you can drill down into a story and see it’s scenarios. That’s it. If I had 100 stories I’d have to wade through all of them on the front page. What I need is epics.

This all rather makes sense for a tool that’s going to be used at a higher level, detailing 20 or 30 user stories that constitute an application, but I want the ability to test at different levels. After all, as I understand it, BDD can be considered fractal in its nature and is as easily applied to a users interaction with a save dialog box as it is to the save method call on some object somewhere. Yes, the players change, and yes the granularity and precision of the inputs and outputs change, but it’s the same fundamental thought process when developing the tests.

In order to shed some light on the issue I tool a look at the Tumbler source, specifically the test cases, but they were all at the user level. Tumbler itself isn’t that complicated a program so it may be that these user stories suffice for testing the majority of the code, but I want to know at an object level that they do what they say on the tin.

Sadly, the majority of this discovery has been performed on the train with its connectivity issues so performing research into alternative tools is proving hard. That said, given Tumbler isn’t massively complex I may just put my current project to one side, fork that and get it to work at both the low and high levels. In the mean time it seems like I need to do more research.

The Beginning Is A Very Difficult Time

This morning was meant to see my start development of one of my project ideas. Maven had other ideas. I’ve been [ab]using Ant for longer than I can remember and would consider myself to be an advanced hacker. The build system at work will automatically switch between building JARs, WARs and EARs based on project structure; a project structure which is based on Maven. It’s not exactly an elegant build system, woe betide the poor bastard that inherits it from me, but it works and adding new projects is very simple.

The use of the Maven project structure stems from a number of years ago where the team I was working with decided that Maven was far too hideously complex to consider using, but had some sensible ideas of project layout. I’ve maintained this view until recently when I decided that perhaps there is a better option than thousands of lines of hand crafted XML to handle our builds. This coincided with me using more and more tools that are build using Maven prompting a decision to start learning how to use it. Since you learn best by doing I began to use Maven for any new projects.

This is the fourth time I’ve used Maven in a project from scratch, or at least it would be had I not been tripped up by something that keeps tripping me up: Maven often requires Internet access; something which, at this moment in time, I don’t really have… and certainly not to the level that I suspect Maven is going to need as it runs off and downloads all the dependencies I’m going to want.

Still, all is not lost. I have a name for the project (something that can often take me days to think up), I know what archetype I want to use and I’ve done a little research into a couple of things I’m going to include in the project just so I can have a go at using them. I’ll create the project over lunch and begin coding this afternoon

Mobile Office

Part of the reason for relaunching my blog was to document and track the start of a few personal projects I want to undertake. Finding time to work on these projects is always fun, especially now there’s a little one running round the house. What I do have, however, is two consistent blocks of 30+ minutes on the train each and every working day. Can I turn this into a mobile office and develop some applications in my spare time?

Well lets look at what I need. Firstly there’s space. Somewhere to actually do the work. While, by habit, I tend to sit in an ‘airline style’ seat (i.e. not a table seat) out of habit there’s no shortage of table seats, even if I have to share it with someone for part of the journey. This is one of the many perks of no longer working in London and living in the sticks.

Secondly I need a development environment. I usually have my MacBook Pro with me, it’s loaded with the tools I generally use (and more can be added) so I’d say that’s sorted.

Thirdly I’m going to need internet for reference, looking for libraries, getting unstuck and humorous cat pictures when things are going badly. That’s not going to be so easy. While I have two iThings with mobile connectivity, both with the ability to tether my laptop to them, the mobile signal on the train is intermittent at best. Between my iPhone and iPad, which exist on two different networks, I have coverage for perhaps 50% of the journey. Annoying if you need to look something up now.

This is not, however, an insurmountable problem. I’m pretty sure that making sure I have a much as possible available to me locally, and by planning what I’m going to do in each chunk I can minimise downtime.

First things first though, I need to decide what I’m going to work on first.