Microwave project managing – week 1


So the last week has been spent dominated by getting my head around mechanicals.

I had fantastic visits to three metal stamping manufacturers, Diver, IXL and Component Industries. All three were helpful well beyond expectations, especially since they realised very quickly that I wouldn’t be able to use them.

I understood that metal stamping had upfront costs which were offset by the reduced unit costs. What I didn’t understand was the scale that they work at. Stamping is good once you want 10,000 of something and really sweet once you add another zero to that number. My preliminary working number is 500, so I have to use different techniques.

The lower cost method is a combination of turret punching, laser cutting and folding. I have actually played with similar techniques in a metal sculpture course I did a few months ago, I just didn’t think they would come into play for this kind of product. I have visited a laser cutter, Beyond Laser who promised that if I could draw it, he could cut it. I also have a visit lined up with AMAPRO and Conomatic for Friday.

It looks like what I am after is possible. I should have a much better idea on Friday but it seems like I am looking at $100-$150 for the mechanicals. This will involve more labour than the stamping technique and it may be worth looking overseas to reduce the costs.

There are also some significant unknowns with the mechanical design that impact the cost, such as what happens if you put sharp corners in the microwave chamber.


The other main task was looking in to using inverter technology. This was less fun. Basically the technique is tied up with patents, primarily held by Panasonic. The non-Panasonic inverter microwaves seem to be either licenced or rebadged Panasonics.

Being able to buy the Panasonic guts would actually be ideal for me and seems like fairly standard practice in the industry. Figuring out who to approach is not easy though, I have sent one email off and will see if it leads to a way in.

View full screen

Microwave project managing – week 0

I have started my first work orientated project for the year. The plan is to design, build a sell a new microwave design.

As I am currently running solo I have to wear a few more hats than I would normally, some I have never really wanted. One of these is project manager. To ensure I don’t get caught up working on something less critical and blow my time, or at least ensure I am aware of when it happens, I have come up with a plan.

Below is the detailed timeline of phase one, establishing the project’s viability, the plan is to repost this weekly. I don’t expect to keep strictly to the timeline, but at least having a base allows me to see the deviations.

I have actually detailed a fair bit of phases two and three as well but the program I am using to display the timeline struggles a bit with extensive content, I might fix it up some day.

View full screen


I have been playing around with duplicating another program’s web service API. I want to be able to act as a substitute but need to rewrite it in a new language and change a bunch of its features. To do this I have been running the original program’s functional tests against my own code.

Unfortunately it is sometimes difficult to see exactly what is going on. The tests are written in Python, which I am not very familiar with, and are wrapped through various layers adding different headers.

Happily Apache supports logging with mod_dumpio so I can run the tests until they fail and then simply look at the last request. That was the plan at least, but a single call generates sixty lines of log. Much of it looking like the sample below, obviously the middle line is content the other two are noise.

[Thu Jan 15 10:06:08.118940 2015] [dumpio:trace7] [pid 1840] mod_dumpio.c(63): [client ::1:53956] mod_dumpio: dumpio_out (data-HEAP): 1 bytes
[Thu Jan 15 10:06:08.118945 2015] [dumpio:trace7] [pid 1840] mod_dumpio.c(103): [client ::1:53956] mod_dumpio: dumpio_out (data-HEAP): 0
[Thu Jan 15 10:06:08.118952 2015] [dumpio:trace7] [pid 1840] mod_dumpio.c(63): [client ::1:53956] mod_dumpio: dumpio_out (metadata-EOS): 0 bytes

A quick search online threw up dumpio_parser.pl which extracts the requests from log files. However it works for Apache 2.2, not the slightly modified format in Apache 2.4.

So I rewrote the input portion of dumpio_parser.pl.

Then the output was in a marginally useful format, it essentially provided the same content lines in the log. I wanted a format I could throw at curl to retry the request and see if my bug fix had worked.

Fixing that I was still not satisfied. I didn’t like the output structure, it created a collection of tiny files, one for each request. And it ignored the output from the server. AND the structure was weird, first program I have seen using perl -n.

So I rewrote it.

Presenting dumpio2curl.

> tail -n 100 apache.log | perl ../dumpio2curl/dumpio2curl.pl

# Tue Jan 13 10:23:22.729122 2015 - pid 15952 - client 50304
curl -v \
--header "User-agent:" --header "Accept:" \
--request "DELETE" \
--header "Accept-Encoding: identity" \
--header "Content-Length: 0" \
--header "X-Forwarded-For:" \
--header "X-Forwarded-Script-Name: " \
--header "X-Forwarded-Scheme: http" \
--header "X-Wsgiproxy-Version: 0.1" \
--header "X-Forwarded-Server: localhost:88" \
--header "Authorization: Hawk ..." \

# Tue Jan 13 10:23:22.752411 2015 - pid 15952 - client 50304
# HTTP/1.1 200 OK
# Date: Mon, 12 Jan 2015 23:23:22 GMT
# Server: Apache/2.4.10 (Debian)
# X-Powered-By: PHP/5.6.4-1
# X-Weave-Timestamp: 1421105002.7521
# X-Last-Modified: 1421105002.73
# Content-Length: 2
# Content-Type: application/json; charset=utf8
# []

Return top