pdcawley
|
7 years ago
|
on: Running a Bakery on Emacs and PostgreSQL
Nah. I just have a tiny capacity and a very variable order book. If I baked the same thing every day, the wastage would kill me.
pdcawley
|
7 years ago
|
on: Running a Bakery on Emacs and PostgreSQL
You have a point. If I were doing higher volumes at retail, the thought process would be much simpler. Make up a 60% starter on 8kg of flour in the evening. In the morning, empty a 16kg sack of flour into the mixer, chuck in 500g of salt and 12kg of water at an appropriate temperature to finish at 21C. Mix on first speed for to a shaggy mess (about five minutes), then about 8 minutes on second speed to moderate gluten development. Bulk ferment in a cool part of the bakehouse for 3 hours, with 3 folds 40 minutes apart, scale off large and small loaves, shape, prove until slightly underproved (4.5–6 hours) then retard overnight. Back in the bakery at 4 the next morning and, bake everything off and get it to market by 8am.
But today, my customers want 9 large multigrain loaves, 4 small ones, 3 really small soup bowl loaves, a dozen large white sours, 5 small and a couple of dozen bun loaves. On Friday they will want substantially different quantities. If I want to keep selling 95–100% of everything I bake, then I need accurate quantities, and I’d rather offload that essentially trivial calculation on a tool that gets it right every time. Five minutes after I arrive in the bakehouse, I have an accurate production sheet with the right quantities on it and I can concentrate on the far more important task of actually making the bread. I’ve spent maybe a couple of days, over the last year and a bit implementing the production planning software. Time well spent, I reckon.
pdcawley
|
7 years ago
|
on: Running a Bakery on Emacs and PostgreSQL
It. Doesn’t. Matter. Use the too, you’re comfortable in and you’ll be way more productive than dropping everything to learn something new. Do that when the limitations of your current tool start to grate on you.
pdcawley
|
7 years ago
|
on: Running a Bakery on Emacs and PostgreSQL
Yeah, the calculation stuff is so handy.
pdcawley
|
7 years ago
|
on: Running a Bakery on Emacs and PostgreSQL
Yeah. Lots of hand waving in the piece because it was a choice between something I could write in a morning for a general audience or, frankly, not bothering to write anything at all.
A bakery formula is an acyclic directed graph running from top level “product” nodes (a loaf of bread, say) through one or more intermediate formulae until you reach basic ingredients. For a given set of orders, you need to work out how much of which ingredient to mix at each step in the process. If I were only working in, say six loaf batches, it’d probably be easier to use a ready reckoner approach, but it’s a tiny bakery and I’d rather not deal with the wastage so I only bake what’s ordered.
After about the third time I fucked up the pencil and paper calculations, I decided to automate (then at least the bad calculations were repeatable, and only needed fixing once).
pdcawley
|
7 years ago
|
on: Running a Bakery on Emacs and PostgreSQL
For the actual business of making the bread it’s a matter of printing off a single production schedule for the day and taking that into the bakehouse. Touchscreens are a hygiene nightmare in food prep areas.
pdcawley
|
7 years ago
|
on: Running a Bakery on Emacs and PostgreSQL
The echo dot is an essential part of the bakery. Multiple overlapping named timers, fired off without having to touch anything? Get in!
Once I start the mixes, everything runs from paper though.
Maybe somewhere a long way down the line I’ll make an Alexa skill, but it’s not a priority.
pdcawley
|
7 years ago
|
on: Running a Bakery on Emacs and PostgreSQL
Yup. The spreadsheet is an amazing innovation, I just find all the repetition when adding something that should just be data to be monumentally frustrating. And I have no idea how to make a sheet that copes with orders for Friday and Saturday when a when each batch takes three calendar days. I suppose making a new copy of the basic sheet for each batch would do the job.
pdcawley
|
7 years ago
|
on: Running a Bakery on Emacs and PostgreSQL
Yup. Bakeries have been run using a pen and paper daybook and the master baker’s skill for centuries. But the calculations are still a pain in the arse, so automating that is a big win. The Bread Matters spreadsheet I based the database schema on was made by someone who was a baker, not a programmer, and for a fixed set of recipes, it’s brilliant. If I hadn’t known the rudiments of RDBMS design I’d have bitten the bullet, extended the sheet and grumbled every time I had to add a new formula.
pdcawley
|
13 years ago
|
on: Turing
Yup. My bad. Hashing collision in my brain.
pdcawley
|
13 years ago
|
on: Turing
Where's the fun in that? The first bug is pretty blatant and will leap out at you if you're reading the paper closely (it's of the order of a syntax error). Describing the second would have taken too much space, diverted from the thrust of the post and, most pertinently, required digging a book out of one of far too many identical, poorly labelled, cardboard boxes.
pdcawley
|
13 years ago
|
on: Turing
I read it in Copeland's "The Essential Turing", which I recommend highly.
pdcawley
|
13 years ago
|
on: Turing
A very useful comment, that. I've added an update to the bottom of the post. I'd always found the assembler story surprising give Turing's history of mechanising drudge work (the bombes, for instance) and now I know why.
pdcawley
|
16 years ago
|
on: Perl: Love it, or hate it, but don't ignore it
Which is why, if you're starting a Perl project today, you turn on warnings and strict, you choose between TryCatch and Try::Tiny and you seriously consider adding autodie to the mix.
pdcawley
|
16 years ago
|
on: Perl: Love it, or hate it, but don't ignore it
Well... there's CTAN.
Oh, hang on, that came first didn't it? Forget I said anything.
pdcawley
|
16 years ago
|
on: Perl: Love it, or hate it, but don't ignore it
And a host of Perl makes it possible for the BBC to serve up its iPlayer content. Some of it is even modern MooseX::Declare based Perl.