Feeling like I wasted 6 months on a side project that won't benefit me I'm doing an MSc in Electrical Engineering. In about August of 2014 my supervisor approached me, asking if I would be able to finish off a project someone else has started since I was the only one proficient in the programming language. I agreed because it didn't seem like too much work at the time, and he said there would be room for publications.

That project quickly escalated - the requirements changed, the design changed, the design became more elaborate. As a result I spent a total of probably 6 months working on this. I had to conform to my supervisor's ideas even though I probably would not have done it that way. I did work on my thesis during this time as well, but it was quite hard to get anything good done.

I kept setting deadlines after which I would stop the project at whatever state it was in, and go on to my own work. My supervisor was very aware of these dates, but he would always ask me to fix this or that.

Now I finished it, it's been tested, but I'm not seeing why I did this in the first place. There is only one paper being written related to this and what I did is being used as an example - meaning I could have done a much simpler design and it would have worked anyways because noone cares about its functionality. I'm also 2nd author on this paper, even though I did all of the programming. Multiple authors are being added to this paper  via tiny contributions (or through good will...), so it's going to end up being one of "those" papers.

I brought this up, said I feel like I wasted all this time to gain nothing. To this my supervisor replied that he plans to some day use my design for another grad student's work. But that isn't part of my work? And what if it doesn't get used? It's just wasted time...

What can I do? Anything? I was thinking of taking the code I wrote, changing the functionality slightly and publishing it on my website so that I at least gain some recognition for the work I did. Not sure if that's the most professional approach.
If you learned something --either in terms of programming, or in terms of life --then it wasn't wasted time.  Next time you're in a situation like this, you'll know to say "no" up front.

This may seem like a glib answer, but it isn't intended that way.  As long as you don't keep making the same mistakes over and over, you are moving forward in life.