Written By:
lprent - Date published:
2:25 pm, February 28th, 2013 - 37 comments
Categories: admin, notices, The Standard -
Tags: vanity posts
Regular readers of this site will have been noticing my relative absence over the last few months. That was because we have been finishing off a project at work.
Well this morning the final release of the code (revision 6085) got stamped on to the first hardware off the production line. This afternoon they will be winging out of Auckland airport to destinations around the world and starting to earn income for both our company and for the country. Thousands more will follow over time.
More importantly this is the result not of the extraction of resources and mining of the soils. It is purely the result of pure intelligence and the teamwork of a diverse group of engineers, programmers, artists, prototypers, production, marketing, investors, and the crazy bugger with a vision.
Anyway, I have that extremely rare thing in my life. I got told to head home and have some time off. An unscheduled day where I’m not just catching up on sleep. So I have been in to get the jeans in the back seat of my car chopped to the right size. They have been floating in the car for the last three weeks. Got the overdue registration for the car done.
Now I’m thinking about the overdue maintenance work on this site and taking a few weeks “holiday” to do them. And yes fixing the damn re-edit is top of the list, closely followed by the wsiwyg comments editor, and re-enabling registration.
But to give you an idea of the project scale even on a small device like we have been building, I calculated the lines of code. It just records my side of the coding (and no I didn’t do all of it). The electronics detail, the hardware and design for the casing, and just the prep for the production all take just as much work. As does all of that finicky graphics work. There are a lot of people involved in such project. Some like me a permanents. Others are specialist contractors.
Anyway, this is by no means a complete picture as I restricted it to the c++, HTML, javascript, and CSS of the project as recorded in my slickedit workspace.
TOTAL PROJECTS: 24
TOTAL NUMBER OF FILES: 1342
TOTAL LINES OF CODE: 244712
And the time taken. I had some weeks off over the three xmas/new year periods, and I did stop for a week when I had a heart attack in 2011 before the wellwishers that Lyn and my sister were encouraging to visit me forced me back to work. But there is quite a lot of “holiday” time.
Duration calculation results
From and including: Monday, 31 May 2010
To and including: Thursday, 28 February 2013It is 1005 days from the start date to the end date, end date included
Or 2 years, 9 months, 1 day including the end date
Alternative time units
1005 days can be converted to one of these units:
- 86,832,000 seconds
- 1,447,200 minutes
- 24,120 hours
- 143 weeks (rounded down)
Anyway, while we ramp up for the next product, you can expect to see maintenance work and more writeing commenting, and being *moderate* coming from me.
In the meantime, I think I might write a post for this shiny new login for The Daily Blog (which opens tomorrow) before I get dropped on to a airborne cattle truck in the morning to go to a wedding in Christchurch. Last wedding I went to was in 1987. That was a bit of a disaster after a few decades…
The current rise of populism challenges the way we think about people’s relationship to the economy.We seem to be entering an era of populism, in which leadership in a democracy is based on preferences of the population which do not seem entirely rational nor serving their longer interests. ...
The server will be getting hardware changes this evening starting at 10pm NZDT.
The site will be off line for some hours.
5’10; Made In The Shade. (enjoy your sojourn)
btw, comments a day?
From me? It has been coming down.
Let me see…
quality before quantity ( a few Great Whites out there Blue)
Chorus are having fun with my links today. Over the last few days we seem to be getting disconnects from the net all of the time. Part of the the bloody fibre rollout. Haven’t gotten a response from Orcon since I emailed a complaint in yesterday afternoon.
Thank god I’m not working from home at present.
Anyway, can’t keep a link open long enough to finish testing the query right now.
Can you say what the product is?
This one… (checked that it was ok to say)
http://www.vespermarine.co.nz/watchmate-vision.html
I wonder if there is a better image around..
Awesome. I used to work in marine electronics, worked on the early versions of this
Yep. This does the same thing with a lot less hassle and an ability to handle places like the Malacca Straits or the English channel.
There’s nothing quite as thrilling as hitting a ‘go live’ or ‘ship day’. It’s quite awesome in fact.
Yep. In my case being on tenderhooks for the last couple of days while it goes through final acceptance testing. Waiting the the gotcha bug to show up that requires a week to fix.
The one we caught yesterday was like that.. It was (paraphrasing the code)
if (vessel.target())
{
data::GeoPos::degrees cog = vessel.target()->COG();
......
}
Problem was that this a multi-threaded app, and it got replaced with
boost::smart_ptr
if (target)
{
data::GeoPos::degrees cog = target->COG();
......
}
Because it was quite feasible to have a target be destroyed in the model on the incoming thread between the test for existence and the access to a method. But storing in a local smart pointer means that cannot happen because the target method used a mutex to protect the creation of the pointer, and the pointer is reference counted.
It crept in during some late changes to graphics filtering rules. Took a few hours to prove that it wasn’t in any other locations apart from the two that I found it in. A not quite paranoid enough programming error by someone more at home with circuits than strousoup
*tenterhooks
Yeah. But the testing is pretty paranoid. Engineers are pretty good at the task.
You say;
“More importantly this is the result not of the extraction of resources and mining of the soils. It is purely the result of pure intelligence and the teamwork of a diverse group of engineers, programmers, artists, prototypers, production, marketing, investors, and the crazy bugger with a vision. ”
May I ask where the plastic, silicon, copper, fibreglass, glass and rubber to name a few components that went into what looks like a very good product came from?
most likely the bulk of it came from somewhere that doesn’t have a $15b tourism industry that has a tagline of “100% pure”.
Be that as it may. So it’s OK to “rape and pillage” other parts of the earth and then say that “the result not of the extraction of resources and mining of the soils” just because it didn’t happen here. The original statement is in the words of my grandfather is “Handling the truth in a careless manner”.
the alternative is to opt out of the modern technological economy Mark.
But don’t you agree that its better (for us, in the short term) that the pollution happens elsewhere and not here?
You confuse what I said for a NIMBY response.
The value added in NZ was not from mining, but from intellectual endeavour: the “knowledge economy”. Remember that? It used to be big, before keyster and blinglish decided to save us with cycleways and sweatshops.
Basically, the product managed to garner export earnings without compromising other (higher earning) industries. Unlike, for example, mining or dairy farming.
Precisely…
Mark good point. However, the majority of the value of the product is in the IP, not in the plastic parts, circuit boards or shrink wrapping.
The common denominator is actually the embodied energy of the final product.
There is kind of scale difference between the dumb extraction of tonnes of phosphate from the soil every year and exporting it as milk or that dumb lignite briquitte proposal for Southland, and the minimal amounts of actual material we use.
Talking about your inability to perceive scale, how does it feel for you to be both a mindless sperm AND a purportedly thinking human being.
Congrats on the project completion lynn. I would love to see a standard banner/ home button at the bottom of the pg or right col
Yep…
Lynn could you have a look at the comments editor as hasn’t been working for me for a while and I neeeeed it.
If you’d read the post you wouldv’e noticed this bit:
what you waited for the software before you shipped the hardware? 🙂 I build VOIP stuff for the US market (I live in NZ) we build and ship our hardware long before the software is done but make sure it hits the upgrade servers the day the first box or handset hits the stores – makes for scary deadlines long hours and a faster time to market
Different type of market to one that is on land and near a high speed net.
Many of the first units out have long since been sold and are going directly to vessels. It gets quite hard to upgrade software when the download has to be done via satPhone (if you are lucky).
Anyway the hardware completed its final testing on monday when the last of the materials arrived. The engineering on those is somewhat complicated by being a lot of RF. The only standard electronics in the assembly was the wee linux box that I was coding and its screen.
I presume the RF engineering wasn’t done in-house, but was bought in?
From what I understand much of it was in-house at board and antenna level. Chips? I have no idea. I have enough of a problem keeping up with the software systems..
I also do firmware for RF handsets we do software update over the air, not a highspeed net CRCs duplicate copies of everything hot stageable backup copies etc etc one screw up and we have 200,000 bricks out there – update carefully and often makes for a continually improving product
I use MD5’s at a 4k blocks for (in one case) 60MB of chart upgrade to linux. The same routine now handles a ~80kb upgrade to the firmware of the RF board which is far more dangerous. It spools it locally and then runs the same library code as the flasher routine to upgrade the RF board via internal serial.
I bricked several units developing the linux update code. The first version acted as a proxy (usually TCP/IP to Linux to serial to RTOS) but the latency gave a some good bricks through timeouts. Spooling it worked a lot better because once I start upgrading that sucker I cannot walk backwards easily like I could with linux code. Damn thing controlled the power to linux and itself. You could wire it to shift modes – but I’m more interested in code than hacks.
I don’t write RTOS code. I write for Linux. My system there doesn’t brick because it processes the update and flips links at the last stage. It keeps several old copies and the invariant booter code flips it back if the upgrade doesn’t work. Having a lot of cheap NAND makes things a bit easier.
Sorry about the delay. Got dragged to a wedding. Sobering up now.
Thanks for your work, lprent. Even though I’m from from the raving loony Marxist left, I appreciate it.
The arm on the puppet needs to be adjusted. It needs to be bent like the rest of me.
Some lyrics don”t even need adjusting.
On the waves of the air,
There is dancin out there.
If it’s somethin we can share,
We can steal it.
Don”t know how this ended up attached to this post lol.
Hi, a couple more requests for the site
– default font to something more modern e.g. Calibri
– ability to click an author’s name and get their posts
cheers
The second one is already there. Just click on the authors name. The only one not working in Helen Kelly because I forgot to put in the .htaccess fixup.
Or do you mean the comment authors? That won’t be hard.