A blog about things, they might not actually be the best things but they will, I promise, be things. This is mostly going to be related to techy things that I'm playing with.
Tuesday, 8 December 2015
did I say I was finished?
I've got some things working, I've also decided the way I need to move forward so:
New features:
You can now by clicking on it modify the serving date / time of the meal.
I've started on, though it's not entirely there the work to add a new meal, there's lots more to be added there, but I have a plan.
It's still really interesting to return to things that I worked with a long time ago and some of the bits are really clever, getting the checking working so that it validates dates, some of the other bits that "just work". However I think I'm going to have to split out a lot of the Meteor functions so that they are separate to some of the helper methods for the steps or meals functionality. Returning to the "time" object that I'd worked on was a nice feeling of finding something I'd done nicely in the past.
I think when I next get some time it will be time to add to the wireframes.
I'm currently waiting at the hospital for a scan (nothing serious), and it's the run in to Christmas, so I'm guessing updates will be quite sporadic.
Wednesday, 2 December 2015
fixed it again (again)
lunch.ben.best is now running the latest version of the code (and I've checked everything into github). I'm at the point where in theory it would be possible to use the app to cook a lunch, though it wouldn't be a lot of fun. So now is the time for improving the app to make it really usable.
Then get it so that others can use it.
When I left this I had started playing computer games again, last night I decided to leave the conquering of Europe do some coding while the kids were asleep, I'm not sure if this is a good or bad thing, but while it's interesting I'll keep going. You never know I might end up with something interesting at the end.
I'm currently working on being able to change the time to serve the meal, this led me into the interesting place that is the input type datetime-local. It still surprises me how incomplete the specification and support for the HTML5 input types are. On mobile devices this box is lovely, however it's not supported on IE at all and the chrome support isn't exactly thrilling. I'll probably look at some plugins to see if I can't figure out a better solution, but I'm going to be continuing with the "get it working, then get it pretty" maxim.
I think the next steps are:
Allow date/time change working
Allow multiple meals
Allow multiple users to have meals
Sort out adding / editing steps so it's "nicer"
Pretty up everything (including making it "reactive")
I'm sure I'll find more steps and do some out of order, but it's nice to have a line in the sand, even if it then gets rubbed away.
Saturday, 28 November 2015
back again (again)
However I recently had to choose if I was going to renew this domain and I was doing a couple more fun techy things so I thought I'd re-start the blog and use the impetus of having shelled out for a .best domain for another year as a way to return me to the blog and to doing tech stuff in my spare time.
Not entirely sure exactly where I'm going to go with this. I will probably try and get the app up and working again, although it is successfully (ish) running in its hosted environment (lunch.ben.best) the version locally isn't working and upgrading my ageing mac appears to have killed off Git. So my plan for this evening is to get things up and running again. I've got an idea for a different app and I want to have a play with some other languages (I've been meaning to look at clojure and scala serverside and coffeescript for ages).
So I'm going to spend this evening getting things up and running again, I've just installed a new ssd into my ageing laptop and that is feeling a bit like a new machine. I'll let you know how it goes and if what I decide to do.
In the meantime here's a short, silent video of me replacing the hard drive:
Wednesday, 8 April 2015
broke it again...
I now have an app that although it correctly describes things so has got rid of the depends on rubbish and replaced it with done before which is what I needed it to be. Unfortunately it won't now let you save a new step (and I don't like that description either).
In positive news I can continue playing tomorrow so I'll hopefully at least get something saving.
I did this evening manage to get some things right. I managed to get rid of a load of the errors that I was having to ignore in the code. These weren't actual errors, they were jslint (a tool for telling you where you've written your code badly) not being told to correctly ignore some errors. I'd previously tried to fix this and failed, actually getting this fixed meant I could see the proverbial wood for the trees and pointed out some actual problems that I'd been missing because I'd ignored all the errors.
The other thing that this has pointed out is that I really (really really) need to add in some unit testing. This is starting to get embarrassing, I don't actually know exactly when I broke saving things, I think it was this evening, I can role back code changes and find out but that's a faff. Proper unit tests would have highlighted this to me as soon as I broke it. Fortunately I pointed this out about 3 months ago, less fortunately I paid no attention.
As a sort of PS you might have noticed that I turned ads off. The reason for this was that I no longer needed them. I'd played with them, figured out how to get them working and better than that realised how to set them up and how to turn them off.
I've checked in the current (broken code base) here:
https://github.com/benjimouse/lunch
Wednesday, 11 March 2015
ahhh... not as "there" as I thought it was
It's clear now that instead of having a "depends on" (which really means nothing) I need two boxes: - "Needs to be done before" and "Needs to be done after". Ah well it'll give me a better idea of what I'm doing and no doubt cause some fun with the idea of circular dependencies...
Oh well gives me something to do tonight!
and I'm there!
I have now something that's just about useable, it doesn't all work exactly as it should, it looks bloody ugly in places especially the edit and add forms.
However I am now in a place where I can start writing some front end tests. I'm expecting a large proportion of them to fail, I know the start cooking at the top is broken. I know edit doesn't work. I do however have enough of a framework that all the right fields are there and they all do something.
I'm pleased with where I've got to, however I'm aware that there is a lot more work to do...
Now the real fun begins...
This is where I've got to so far:
lunch.ben.best
Monday, 16 February 2015
it's been a while...
I've been busy with some good and a lot of rubbish things, but I think I blogged myself out...
I've not been doing nothing though, this evening I've run some updates and continued with the lunch.ben.best app, however the version at that url isn't great (is a bit rubbish) at the moment.
I'm having some issues with this due to the nature of using mongo in the back end, I was starting to write up the issue but fortunately (for you lot more than me) Sarah Mei has done so a lot more eloquently that I would have here:
http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/
If you don't want to read all of that (you really should though) the basic gist is that you'd going to end up wanting to do something relational. You then have 2 choices - 1 include other object(s) as part of the mongo document and cope with the update that means, or store the id and then write your own relationship management. The tutorials I've been looking at for Meteor seem to go with option b and as mongo db version 3 is about to land it's possible that this will be something that will start to become at least easier... No one I've been listening to / reading has suggested that might be happening though.
Anyway I'll try and keep going with this, thanks for sticking with it...
Wednesday, 7 January 2015
a proper restart and some resolutions
Excuses aside here's some plans for what I'm going to do in the next year:
Get the lunch.ben.best app running*
I was really quite disappointed that I didn't manage to build this in time for Christmas. However I managed Christmas lunch more than successfully without it. That shouldn't be an excuse not to get it finished.Have a pull request accepted into an open source project
Play with pebble.js
Finally something interesting - plague
I've been playing with plague on the phone, it's horribly addictive and I'm finding it an interesting guilt free social network. The concept is quite simple, you swipe up to send an article (which can be text, an image a link etc.) to the people near you or down to not send it on. I've found some interesting bits. My largest concern with it is if it does gain in popularity then it'll be filled with less savoury images and links, that have thankfully so far been missing.Friday, 2 January 2015
so that was Christmas...
Perhaps unsurprisingly I didn't get the app that I was building to sort out the cooking the Christmas lunch finished. I'll continue working on this, but with the urgency now removed I've decided to take a break. After all this is supposed to be fun and it's something I'm doing in my spare time so taking a bit of a pause should be fun. On that note I managed to not touch a laptop for over a week over Christmas which was a nice break.
As a surprise Christmas present I was given a pebble for Christmas, it's been lots of fun playing with it. I've also had a few frustrations, I think this deserves it's own post so I'll write one up and put it in after I've finished this.
I'll also try and sort out an interesting things post later today.
Over all I've had a fab Christmas and today is back to work, let's see how that goes...