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, 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!
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...
Monday, 22 December 2014
the story so far... II
What I've done
- I've decided to make an app to aid in the cooking of Christmas dinner
- I've created wireframes
- I've started to build the app using meteor
- I've had some fun with DNS which has now been fixed.
- I've added adsense to this blog
Where I am
- You can now see steps and add new ones to the app
- I've fixed the dns for ben.best (so that it ends up here you may need to clear some caches if you've already tried this)
- I've also got to the point where the times add up.
What I'm hoping to do
- By Thursday (25-12-2014)
- Get something working that I can use on Christmas day. The next big step is sorting out dependancies.
- On Wednesday (24-12-2014)
- Write a how to post similar to the how to set up a mailing list one
- On Friday (26-12-2014)
- Write "friday's interesting things III" based on "friday's interesting things I" or "friday's interesting things II"
- On next Monday (29-12-2014)
- Write another "story so far post" admitting what I didn't get done from the above list.
Friday, 19 December 2014
friday's interesting things II
Learn Meteor in 6 weeks
A world without microbes
Dominus
Hex colour clock
Thursday, 18 December 2014
an evening of sorting out a meal (getting collections in meteor wrong)
It's one of those things that I'll try and sort out tomorrow. The main issues were to do with adding the new parent part to the collection and then trying to sort out the date part. All this is in preparation for sorting out dependancies. I'll get there and I'm feeling quite pleased that this is the first evening that's gone badly, but I'm going to close the laptop and go to bed.
I've started on the interesting Friday things part 2 but I'll get it sorted tomorrow.
Monday, 1 December 2014
unit tests because "later equals never"
I'll also probably be revisiting the code that I'm not happy with before I continue moving on, I say probably as I'm still not certain of the right way of doing this. Hopefully all will become clear as I read more of the meteor book. The next chapter is on adding users which should be interesting. I tried to do this myself previously with meteor and really messed it up, so it'll be nice reading how it's supposed to be done.
Sunday, 30 November 2014
playing with meteor some more...
I've now deployed where I am to http://benslunch.meteor.com/ I had a bit of a problem with this as when you deploy to meteor you need you username. When you login on the website you use your email address, however when deploying you need your "username" something I set up about a year ago and haven't used much since. I couldn't remember or find it on the meteor.com website.
Eventually as is often the case stack overflow showed me the way.
It's slow going in between cinema trips (go and see Paddington, it's very good) and work, but I'm getting there and I'm really enjoying it. I continued with the clean code book last night (there's that pay me money link again) it's interesting but I don't think I'm quite getting it yet. I've also kept the github repo up to date if anyone is interested.
I've ended up creating a helper function in javascript (in the step_item.js file) that I'm really not happy with. It works and so I'll keep it there for now with an eye to refactoring later. There's a couple of ways I am currently thinking of doing that: Putting it into a global client scope or putting the logic into the template. I'm not over the moon about either of those and I'm hoping as I continue with the tutorial book (discovermeteor.com) I'll find a better solution.
I know that meteor does allow me to run unit tests, but I've not got to that point in the book. If I'm still getting frustrated with the code clean book I'll start to skip ahead. At the moment I'm doing this project for fun so I'm doing the fun bits, I'm a little concerned that I'm going to spend a fair chunk of time writing unit tests for existing code, something that I have depressing experience of and am not really looking forward to.
Saturday, 29 November 2014
starting to build an app
If anyone is interested the github repo is here: https://github.com/benjimouse/lunch I'll sort out that a deploy location at meteor later.
I've also started playing with some user stories if you're interested they're here: https://docs.google.com/spreadsheets/d/1x3Gjh8icQMLOkkIdD7wr8Z9Jxk8G_Kv5V9cmlaiAacg/edit?usp=sharing I spent longer looking for the cards (that I'm sure are somewhere in the house) than I did writing the stories.
It's been a fun evening writing some code or at least copying it and getting it going.
Thursday, 27 November 2014
checking out some of the tools I'm going to use to build Christmas
I've been meaning to get my head around sublime text for ages, so I'll be writing things using that or brackets which I've played with before and quite like.
If I'm using meteor I'm going to end up with bootstrap which I've used a little before but as with the other tools mentioned never actually got something from start to end with it. I'll also admit my wireframe was at least a little inspired by bootstraps panels which I'll be using plenty of I suspect and I think the panel with footer may solve my issue of showing which items need to be completed first.
That's all for now as I'm off out to see some Christmas lights after work.
Wednesday, 26 November 2014
christmas dinner
This is going to require a little more planning that a usual roast dinner, so looking for some help I sought out an app to help with the timing. What I was after was something that I could put in a number of tasks into, how long they would take, when I wanted the last one to finish and it would provide for me a list of when to do everything.
Something like:
Prep Turkey 12:00
Turn Oven on 12:20
Put Turkey in Oven 12:30
etc.
Having searched through the google app store and Apple's and the found nothing that did this (I even looked at some project management things) I thought I'd knock something together in excel (I even looked for existing templates I could steal).
Then I thought well if I'm going to do this, why not have some fun with it...
I've been playing with meteor for a little while and although this isn't really something that it's meant for it's definitely something that could do it.
So that's my plan for the next few evenings or so, build something that I can use to project manage Christmas dinner.
Obviously I'll let you know how it goes.