Wednesday, June 24, 2009

optimal packing of cupcakes in a box

Sandy had made cupcakes for Cameron's birthday today, and mentioned something in the morning that stuck with me: "The cupcakes perfectly fit into the container". By lunchtime the phrase had wandered back through the hallways of my mind to bear further analysis. Why was it perfect? How did she know? Were they packed hexagonally? I don't think so because a hexagonal pattern usually leaves gaps that seem inefficient with a cursory glance and I wouldn't expect it to look "perfect". More likely they were packed in a grid and it looked neat and tidy. What pattern is actually optimal?

Scott and I bounced around a couple of ideas before I went and pestered Hugh for a little more insight. I had an inkling that there must be a border condition where a square array becomes less efficient than a hexagonal array, and it could be stated with some simple rules like "Once there are more than 25 cupcakes, go hexagonal". Hugh confirmed the hexagonal pattern (and had even done some research on a theoretical problem close to this back in uni), but wasn't convinced that there existed a simple solution to the packing problem.

The first major step was to work out when an additional row could be added to the hexagonal array in the same space as the square array. Since they would start out with the same amount of cupcakes packed along the top, and the rows are parallel, it's only the height that changes. Since the hexagonal array has from centrepoint to centrepoint an angle of 30 degrees instead of straight down of the same length (as the centrepoint to centrepoint is the same as the circles are touching), the hex array has Cos(30) downward space taken, or roughly .866 of a cupcake length packed squarely. From this one can deduce that 7 rows in the hexagonal array isn't enough as it still takes up 6.06 of a square packed row, whereas 8 rows is as it gives 6.92 rows. So 9 rows of cupcakes packed hexagonally should fit into 8 rows of square packed cupcakes.

Since there are 4 rows with less cupcakes, and there is 1 cupcake missing from each row (regardless of how large the row is), there is 4 less cupcakes when hexagonal packing into a perfectly shaped box for square packing. So if the row size is greater than 4 cupcakes you will end up with a net gain by adding the additional row.


8x5 sounds big. That's too big an area for most storing boxes, too big for the oven and too big for the fridge. Might be better for things smaller than a cupcake, but for this experiment it seems that getting a whole row advantage just isn't going to happen. Therefore square packing is generally the way to go.

So what if there is enough space for 1/2 a cupcake on the edge of the tin? You can still hex pack them without reduction in numbers, but unless you are getting 8 or more rows in you're still not going to get any advantage. so maybe not a whole row, but would it b better to shimmy around some of the edge cakes to make room for possibly 1 or 2 more ?

When I got home I did some digging up on the net and it turns out that this is indeed a tricky problem. I found a couple of papers on the subject and they headed into some heavy maths pretty quickly. Markot (2002) promised a computable function to find the optimal solution, while it built on the groundwork by RL Graham (1996). Although both are looking at a slightly different problem (what is the biggest size cupcake you can make that will still fit X amount into a square box), the fundamentals are the same. If you have a look at Graham's optimal solutions from page 5 onward, it's clear that the solutions are not going to be a simple recipe like I hoped. I'll still dig a bit deeper though to see if there is any packing instructions that might help (Eg: starting in the corner and going along the longest side 1st as tight as you can, etc) but is seems like the general principle is going to serve all but the most persevering cupcake packer.

Monday, June 22, 2009

GDLT Signing ... on ?

2 days.

A glorious 2 days to really get back to what I was missing in life. Games, beach walks, playing with Cameron and Rachael... I really thought I'd made the right decision to drop out of the GDLT.

When I got back to work on Tuesday, I phoned in to the uni to let them know of my desicion, but the more people I told the more resistance I felt coming back at me. " It's only another 6 months!", "It'll open up lots of doors!", etc. I'd considered all that, but the real clincher was information regarding the only real avenue for teaching I was looking forward to.

2 days...

I rung up Ricki and laid out the issues again, and he granted me more extension time for the 2 outstanding assignments than I was expecting. It all seemed achievable again. Now, after 2 weeks have passed and both assignments are in I can relax. Well, for 4 days I can until reso school starts again.

Ended up pretty happy with the Supportive learning assignment once I decided to ignore what the Uni would think of a well constructed classroom management plan and really just outline what I believe to be a fair reflection of my views on behaviour management and supportive learning environments in general. The management plan is presented as a classroom covenant between the students and the teacher where each sides promise to do an action to gain the action from the other party (EG: The teacher promises to create the safest environment they can, and in return the students promise to not intentionally put themselves or others in harms way). These reciprocal arrangements demonstrate practical examples of how to deliver the rights, responsibilities and respect needed for a properly functioning classroom.

On the flip side the Literacy and Numeracy report became more and more a hard slog. I was pretty ropable that the previous assignment word limit of 2000 words was more like double that in the examples, and I got pinged for brevity when the whole assignment was over 3000 words :(. This one was expected to be 3000 words, whereas some examples are pushing 70 pages! Every time I think about it makes me mad. In the end I just made the decision that whatever state it's in when I needed to drop it off is what I'm going to submit. Bits were missing but frankly I don't care. Nearly 5000 words and I know I'm going to get pinged for brevity again :/.

4 days ... 4 days to enjoy being me before it all starts again. I need another pep talk ...

Monday, June 08, 2009

GDLT Signing Off

EDIT: Not any more ...
Studies this year have been kind of odd. I have solidified my views on a learning environment of the future, helped Scot with an eLearning course I completed last year, and have developed my own sustainable Personal Learning Environment. All this with little or no input from the 2 subjects that I actually took this year. Supportive Learning Environments triggered a number of lively debates regarding "the right to an education", but overall felt a little too politically correct for my continued enthusiasm. Literacy and Numeracy had some practical models to follow, but didn't really grab me.

Assignments. Another reason to pull the plug. My grade 7 teacher introduced me to an interesting concept; homework was what you didn't finish in class. To me that was brilliant because I could really apply myself and get everything done in school time to have no homework at home. I continued this mentality throughout high school and by Uni I'd become an expert in not having work to take home. I purposely chose subjects with a greater than 70% final exam so that I didn't have to bother with assignments. With this course being 100% external and ~100% assignment based, it was rubbing me up the wrong way. Having 2 unfinished assignments hanging over me probably helped with the decision.

Teaching was way easier than last year, and with the flexibility to deliver my unit and webquest developed last year, IPT (especially 10 IPT) was a lot of fun. On the flip side, the maths subject felt constraining and stressful. With no wiggle room in the curriculum to do anything but the prescribed text, it felt like you were always pushing and pushing to get the work done. There was hardly any room to develop PLEs or classroom2.0 technologies.

Maths also exposed me to an issue I knew I didn't want to deal with; teaching students who didn't want to be there. I remember back in highschool when I first started thinking about becoming a teacher that senior (11,12) was way better because of this fact, only to be trumped by the uni philosophy a couple of years later. After a couple of talks with Bernie and Nick I realised that there would be very little likelihood of teaching only senior if I were to enter the general teaching population, so I know for sure that I'm NOT going to be a full time school teacher. That wan't my plan on starting this course; I was more thinking of being a supply teacher for St Luke's, but with IPT being the only thing I'd be interested in teaching, I'm basically cover for Nico if he ever got sick.

The volume of work in the course is also an issue. Even though it's been sooo much easier in 2nd year than last year, for the last month it's felt like I'm doing nothing but coursework, teaching and work. I knew my gaming would suffer, but it's virtually been non-existent as well as having to skip other regular events. I've missed being me.

So in the end the decision seemed pretty obvious; why bother doing something that the outcome is getting less and less desirable? The costs are outweighing the next 6 months of learning and the piece of paper on completion. In fact I'm not looking forward to the 6 week prac. I'd rather just work.

So what now? One of the pressures keeping me in the course is that it's safe. It's a decision I've made and it provided me with a framework of what to expect for the next 6 months. Now I need to deal with an uncertain future.

Upon reflection of the whole course, I'm glad I did it. I've learned a whole lot more about teaching through the course, as well as developing my own PLE, unearthing ideas from the past that are only now able to be implemented, being exposed to David's and Stephen's philosophies on summarizing thoughts for your own use, and generally taking eLearning issues more seriously. I'm still keen on pursuing some sort of teaching career, just not in a school. Uni's are still firing people rather than hiring, so that's still out. Maybe VET? I'd be much more confident going into the TAFE position I was interviewed for before starting with St Luke's. Hopefully there'd be a lot of concessions in a Cert IV from all the prac and study I have done. I'll need to research a bit more about the positions available and what feels like the best fit.

A big thing to take away from the course is my own personal development. I'd really like to continue following topics such as PLEs, games in learning, VLEs/CMSs, etc and hope to put at least 2 hours a day aside for personal learning, reviewing and contribution. Even focusing on things like Brainy Gamer and LO3 can keep the professional discourse going in other areas of my life.

With more dedication to summarizing and analysis, I'm also thinking that I'll need to learn touch typing; something I've put off for 25 years. I'm still hoping that voice communication would be ubiquitous at some point, but with things like Google Wave on the horizon, it's going to be at least 5 years before voice gains an appreciable foothold. It'll certainly be handy for the AAR Fiction stuff too.

In summary, plans for the future:
- Investigate VET
- Investigate Teacher training positions in eLearning
- Commit 2 hrs a day for PD
- Learn touch typing
- Revisit PhD work

Big list for a procrastinator...
EDIT: Not any more ...

Thursday, June 04, 2009

Google wave presence

Scott Wilson presented an interesting talk about presence and how the internet currently services these different aspects. In response to his comment about how Google wave is going to handle presence, I got 1/2 way through writing a response before realizing there's a diagram I could use to highlight the different points:

I've roughly coloured the slide with green for sections implemented in the current video, blue for where I think they'll want to be for release through integrating user's to google accounts, yellow for a harder implementation, mainly because it will rely on manual updates until the orange sections come online. It's alll possible with today's technology, but the strength of google wave's presence (as an email/IM replacement) will remain purely through a sense of activity.

Back to the question at hand about Google wave's ability to handle compartmentalisation, and I'm drawing blanks as to the most efficient method to implement it. The one technology that really had no issues with compartmentalisation was email as there was no presence to begin with apart from a diluted sense of activity. There was virtually nothing tying one email conversation to another apart from the time to respond. Once IM-like features are added into wave though, it feels like there should also be communication availability settings too as an adjunct to the immediacy of the conversation. Communication availability brings a much tighter bond between the waves though, and thus increases the issue of compartmentalisation.

Maybe the issue of availability can be broken down into separate specific goals? Availability can enhance the sense of activity by identifying to others when the user is focusing on their specific wave (not the wave client or the wave container). That would seem fairly simple using the 'wave reader' model where only one wave would typically be open at once, but what about a blog with 5 waves on the same page? IRC and IM have long forgotten the 'one conversation at once' mentality, so I would anticipate that even readers themselves would eventually have the capacity to follow multiple waves at the same time. Would writing in one wave indicate a loss of focus of the user on the other panes? Not necessarily.

When dealing with self-expression and facilitating casual interaction, compartmentalisation will really start to stick out. You want to have a cool looking icon for your buddies to see, but it may not be appropriate for the workplace. If waves replace forums, how many profiles would you have aggregated back to your wave reader? A status update might be possible to divert to a new wave sent to your 'distribution list', but that sounds messier. I'm not a big status setting person anyway, but one of the main factors is the simplicity of the action.

Maybe it's time we all donned a single identity? Maybe. Maybe it is part and parcel of who we are to express ourselves differently depending on the context and participants of the conversation? Maybe we just have multiple wave identities like we have multiple email and IM accounts? Lets hope not as I'd dearly love to have only one place to check ...

Wednesday, June 03, 2009

Baba Yetu - the fountain

Christopher Tin blogged about the Dubai fountain using Baba Yetu as their backing music. Looks awesome.

From the blog comments I saw something unexpected. Someone, after watching the fountain, dug up the music behind it. I know I've listened to the song a bajillion times playing Civ4 over and over, but it's really heartening that the music can stand on its own and be noticed like that. Gratz Christopher ...

Tuesday, June 02, 2009

Google Wave - a saviour to fragmented conversation

22 minutes in to the Google Wave demo and I see the massive impact this is going to have. I recently wrote up a comment on Sue Waters' blog regarding the reasons why Twitter is not better than comments, but it changes the conversation due to massive fragmentation (well, twitter is the not the only culprit, but without trackbacks it expedites dispersion of the conversation). Now, with wave, we can have the best of both worlds: An easy method for containing and collating the conversation, but allowing the freedom to access the conversation at your leisure using the tools that you want. It's the philosophy of RSS, but applied to the whole conversation.

You know what this means? Death to twitter. Life to blogs as conversation starters!

Your wave reader will totally replace the RSS reader as it gets around that messy issue of checking separate RSS threads for comments, or missing a jump in the conversation over to a new blog. Hoorah!

25 minutes in and the death toll rises. SMS can disappear forever! Unfortunately it also means that I'll have to seriously think about a data plan for my next phone as well as wireless.

29 minutes in and I'm now regretting spending 2 hours last night setting up a Diigo account instead of working on my assignment. Actually why am I wasting more time typing this up? Deep down I know why; I'm excited. I'm researching stuff and learning through my PLE and I'm enjoying it.

30 minutes in and playback now reminds me of a wiki history, but in a much more simple and elegant interface. I'm liking it!

I like the freedom of interjecting a comment into a large document (like an embedded discussion page of a wiki), but can you clean it up for proper presentation?

Heh, wait a bit and they cover that too: make a clean copy of the wave. One simple step now handling a number of different outcomes. A copy of the wave has the potential to break the conversation again, but since it's much easier to contribute to the existing conversation rather than intentionally making another copy of the conversation, I would expect that most conversations would remain intact. I see a great need to link the copy back to the original though. Not just for merging waves as discussed, but also as an embedded implementation of trackbacks and trackforwards. Actually taking it past 34 minutes they are thinking more of a source control situation for merging multiple waves. Even neater.

I was expecting instant editing from multiple parties, but after seeing the implementation it is much more fluid than what I was anticipating. It also opens up a question about the history. Each time you type it must be sending to the server and anticipating a revision point. As soon as someone also starts typing it would be generating revision points for possibly a character at a time. I guess that would be the atomic unit they would store the change in, but have a way of linking multiple revisions by the same person into one displayed revision as the basic model. Playback is going to be fun to play around with ...

Embedding waves as droppable objects works well, but I'm not sure whether it's a replacement for tracking where a wave has been linked to. Nope, now that I think about it it's only a subset. You would definitely need a way to show all the waves or endpoints where this wave has been used. I'm thinking a different type of search routine maybe? Like a Google analytics view of a wave?

Moving on to extensions and the revision system becomes a little more clearer that it has to be making revisions on each character typed, because they would be the triggers for the robots to analyse the stream in real time (well, near-real time). Robots as participants sounds like a neat implementation of extensions actually, but I'm getting nervous about malicious robots. Or worse, trojans.

Oh. Wow.
Ok, Rosy takes the cake. I've got goosebumps. As soon as he added Rosy I'm thinking Rosy? RosettaStone? translation? can't be!
Oh. Wow.

Kinda skipped over federation, but since I've tackled something like that back at QX21, I knew more or less what it meant. Big thing will be implementation though. Even at St Luke's we could easily replace Exchange with a wave server and have more or less the same functionality, but with all that additional waviness added to the mix. Hmm, incoming emails. I'm guessing one of the very first robots will be email to wave. Maily? Just did a Google search, nothing showing for that term. Won't be long though I guess. What else is there? Outlook calendar, shared calendars, booking timetables. Hmm, maybe Exchange is going to be around for a little while longer. Federation makes all the difference to me for bringing wave into a corporate environment compared to relying on Google docs or another external source.

Well, it's all over. I feel like I'm sitting here soaking it in, taking note of my surroundings when I heard of Google wave. Pivotal moment? Pivotal moment in communication. Pivotal moment in collaboration. Pivotal moment in eLearning.

Diigo Blog » Tip of the day: “Get Annotated Link”

Posted from Diigo. The rest of my favorite links are here.

How to advance personalised learning?

Just found a great article linked from Tom March's presentation indicating that personalized learning is a grand challenge for engineering. I'm amazed how well the criteria and goal setting matches my own thoughts on a PLE of the future, especially with regard to intelligent systems for tracking student learning. I had not considered them "recommenders", but the technology is a wonderful fit. Once students complete a unit and "rate" it, you can use heuristics to find other students of a similar disposition and use their chosen learning path as an indicator of what to study next (similar to amazon's "people who bought this also liked X").

I also need to dig into what Tom March was talking about when he mentioned Curriculum Mapping. It sounds like the same process I'm looking for to lay out the web of prerequisites for each unit.

On a side note, VR is also listed as an engineering challenge right above personal learning. How convenient. It doesn't bode well for my plans though if I want to implement a combination of 2 challenges ...