02 February 2011

SlimDXControl 1.0.0 released!

I've just released the first version of SlimDXControl on CodePlex:
SlimDXControl is a WPF control that wraps the complexity of managing a D3DImage for you. You just have to implement the actual DirectX rendering pieces you care about -- no messing about with device management or IsFrontBufferAvailableChanged or window resizing events.

D3DImage is a Microsoft-supplied WPF control that allows to embed DirectX/D3D9 graphics into a WPF application. Unfortunately, but necessarily, to use D3DImage you need to write quite a bit of code on the application side that is completely foreign to many WPF developers. Yes, you can find several good articles on the web on how to use D3DImage – from which I have learned much, thank you! -- but they are largely blogs or sample code snippets. The project is designed to be a standalone control, supported and maintained, that you can directly use in your code today.
It's seems fully functional and stable to me, but we'll call it a beta release until we get some feedback.

17 January 2011

WPF 1, WinForms 0

From the .NET Reflector folks:
We've also taken the opportunity to start using WPF for UI development, which has frankly been a godsend. The learning curve is practically vertical but, I kid you not, it's just a far better world. Really. Stop using WinForms. Now. Why are you still using it? 
Nice.

07 January 2011

libLAS 1.6 beta release

Hobu announced the release of libLAS 1.6.0b4 today, for which Flaxen Geo contributed some work to bridge liblas over to Martin Isenburg's laszip format.

-mpg

Goodbye, Outlook -- Hello, Thunderbird

I spent WAY too much time today trying to get my world stabilized for email, contacts, calendaring, and tasks lists.

Outlook 2010 is, of course, what I really want and need -- but it just doesn't work with Gmail.  Read this post, then read all the comments posted on it about how bad the performance is.  I tried, I really tried -- I wanted it to work, I really did -- but it's just too painfully slow to sync.  Major bummer.  And using Gmail as my mail host is not negotiable.  So maybe I'll try again with Outlook 201x, but for now it's off the table.  And so began the long slog to build up an alternative ecosystem.

My requirements:
  1. I need to have mail, contacts, calendar, and tasks
  2. I must be able to sync these between the web, my (Windows) laptop, and my iPhone 
  3. My Windows client must be very robust and stable, as I'll live in it all day long. 
  4. Gmail must be the hub for storing all my mail, and ideally the hub for {contacts,calendar,tasks}
The only client that seems to be fully featured and robust enough for everyday usage under Windows is Thunderbird.  It has email, contacts, calendaring, and tasks -- so now was just a matter of configuring everything to sync up to the web and over to the iPhone.

Mail

For the web access, Gmail rocks -- 'nuff said.

For Windows, Thunderbird syncs very easily with gmail via imap (and performance is just fine).  The "Mailbox Alert" extension adds an Outlook-like notifier in the lower right -- would be nice to have a delete button on the notify popup, but that's pretty minor.

The iPhone syncs nicely too, although I've noticed some cases where mail deleted in Tbird might not be getting deleted on the phone -- still investigating that one.

Contacts

Gmail maintains a reasonable database.  Web interface is kinda klunky, but, I don’t use the web for contacts much anyway.

Thunderbird syncs with Google via the "gContactSync" extension.  There are some problems here, though: you can only reliably get name, email address, and phone number back and forth.  So I'm going to use Tbird to store all full contact info, and let Gmail just store what it can.

Phone: syncs up via the Google Sync app process.  What gmail has is less than what Tbird stores, and I don’t quite grok the different calendar lists the phone shows me, but it appears to now have all the basic info for all the contacts.

Calendar

On the web, I'm not too fond of Google's calendaring system, but for a web-based interface it's okay -- and, again, I don't do much calendar work on the web.

On the laptop, Thunderbird supports calendaring via the "Lightning" extension plus the "Provider Extension for Google".  This all syncs up with the GOOG pretty well.

Phone: here again, Google Sync pulls everything in.

Tasks

And here's where things fall apart.  Tbird/Lightning supports tasks just fine, and Google has something too, but as of this writing, there is no way to sync the two -- the problem is allegedly on Google's end, so maybe we'll see this eventually.  For now I'm using Tbird's tasks directly, with no syncing to anywhere; no having my task list on my phone might get irritating, but we'll try it and see.

Side note: Both systems have this notion that tasks are somehow philosophically related to their calendaring systems.  I don't like that much, and since the two wouldn't sync anyway I looked around for alternatives.  Remember the Milk (RTM) is the leading candidate, and does offer lots of syncing and integration, but I found it to be just a little too barebones even for me.

Additional side note: the iPhone has native apps for calendaring, mail, and contacts -- but no native task list app.  In my Outlook days I used a couple different task apps which sync'd with my corporate Exchange server, but they were never as good as a native Apple-designed task list app would be.

Conclusion

Goodbye, Outlook -- I'll try you again when you have your next major release, but for now you're being replaced.  It took all this kit to do it though: Thunderbird, Google Sync, and four Tbird extensions.

-mpg

Update (11 Jan 2011) - Google Sync for mail is no good: messages that have been deleted (via Tbird) do not disappear from the phone's inbox.  Long-standing known bug, apparently.  So now we're back to iPhone's "normal" gmail connection, which doesn't sync contacts, but we can do that via iTunes (only syncs when connected, but I can live with that I guess).  Outlook, I miss you so.

19 November 2010

MG4 Whitepaper published

My white paper on LizardTech's MrSID/MG4 has now been posted. (It's an uncredited piece, alas.)

Ads?

I've just enabled Google ads on this blog. I may regret it -- we'll have to see how intrusive it feels.

Update (11 Jan 2011) - Removed them.  Low-traffic blog means little revenue, and it looked really annoying.  (But it was worth it to watch what sort of ads were selected for display...)

Flaxen Comes Alive (A New Beginning)

After 11 long years at LizardTech, the time has come to move on -- my last day as a Lizard will be December 31st.

Which means of course that now I get to do something new, and so with a lot of encouragement from a lot of good people I know, I've gone ahead taken the plunge... I have at long last set up my own consulting shop: Flaxen Geo Consulting, specializing in the emerging area that lies at the intersection of geospatial technology, open source software, and C#/.NET.

Watch this space for more news in the coming weeks.

-mpg

26 October 2010

That Sort of Book

From today's NYT, a review of "A Week at the Airport" by Alain de Botton:
There’s a funny, revealing moment in Alain de Botton’s new book, “A Week at the Airport,” when he discovers that the largest bookstore at Heathrow Airport, in London, does not stock his books. He decides to have a conversation with Manishankar, the shop’s manager, about what else might be available.

“I explained,” Mr. de Botton writes, “that I was looking for the sort of books in which a genial voice expresses emotions that the reader has long felt but never before really understood; those that convey the secret, everyday things that society at large prefers to leave unsaid; those that make one feel somehow less alone and strange.”

Manishankar, confused, wonders if Mr. de Botton might want a magazine instead.

If pressed, I would admit that I have no idea who Alian de Botton is and that I probably don't read That Sort of Book anyway. But if the book holds up to the first three paragraphs of the review, I'm in.

20 May 2010

Control-Alt-Delete for your Telly

So on the way in to work this morning I read the following bit in Stephen Seow's book "Designing and Engineering Time" (page 28), discussing users' perceptions of reliability and stability of products:
A television set, for example, does not come with a reset or refresh button for the end user because it is regarded as an appliance that just works.
That's from 2008; well and good. But then not six hours later, over lunch, I read in the NY Times that Google is partnering up with makers of television sets so that
Devices running Google TV will also be able to run applications written for Android phones, and will feature Google's Chrome web browser, which would allow consumers to surf the web from their television sets.
Yup.

A nickel says your next telly will indeed be sporting a reset button.

30 March 2010

NYT: The secret to a happy workplace

Nice:

As he looked around the room, he noted that my employees seemed happy. I told him that I thought they were.... I asked him how he thought I did that. “I’m sure you treat them well,” he replied.

“That’s half of it,” I said. “Do you know what the other half is?”

He didn’t have the answer, and neither have the many other people that I have told this story. So what is the answer? I fired the unhappy people. People usually laugh at this point. I wish I were kidding.

I’m not.
-mpg

25 March 2010

1st Annual Bainbridge Mapping Party

Great mapping party by the CUGOS gang last weekend -- full post here.

03 December 2009

And in sports news today...

From today's NYTimes:

N.F.L. Sets New Guidelines on Concussions

A new rule will bar pro football players who show major signs of head injuries from returning to games. [...]

Wait -- what?

They're just now figuring this out?


And they have to make a rule about it?

Just because you can doesn't mean you should

From Scott Berkun, on the use of animations in PowerPoint:
Animations are almost always a distraction If I’m telling a story you care about, I don’t need to animate a thing, the story animates enough. When you asked your spouse to marry you, did you need flyouts and animations? No. The content was interesting enough all on its own.
'Nuff said.

05 August 2009

Chickens in the NYT

See, I told you -- everybody's doing it now.

In September, she began selling some of the eggs and started keeping track of her income and expenses. [...] She has taken in $457 from egg sales and spent $428, mostly on feed. That left $29 in the Mason jar where she keeps her earnings, to spend the next time she buys feed. But that accounting does not include [...] the $1,500 she spent converting the old shed in her yard to a henhouse.

Emphasis added. Welcome to the club.

What I Did on My Summer Vacation

GeoWeb trip report published here.

10 June 2009

Building the Run

Thumb, toe, and pride having sufficiently healed, the "run" was built in late May /early June.

A few 4x4 posts were sunk in concrete to form the south (front) wall. They were capped with a spanning 4x4, on top of which some long 2x4 rafters were laid across to the rafters of the coop roof.

Our spec called for serious anti-predation measures, so the top, bottom, and sides are all covered with "hardware cloth" -- essentially a more highly evolved form of chicken wire which uses something like 10 gauge wire to for 1/2" meshing.

View of east side:

View of west side:
(Note custom Straw Bale Holding Bin in background at right.)

Architectural detail of uprights, spanning beam, rafters, and meshing:
(Yes, still a lot of trim and finish work to do on the mesh.)

Detail of door and latch to the run:

Distance view of east side - this is what the neighbors see:

Distance view of above - this is what we see from the living room:

And as a final touch, one more anti-predation measure:


Still needs some days of trim work and painting, but it's fully functional and in production use at this point. And the gals will soon be old enough to start laying, so we'll also have to get to building the nesting box to go inside the coop.

Building the Coop

The coop was built over a period of several weeks, roughly March and April.

The foundation consists of concrete blocks supporting a couple 4x4's. Laid on top of those is a simple 2x4 framed floor system.


The four walls are also framed out with 2x4's. The floor and walls were built to exacting spec up in the garage and then carried down to the job site where they were "raised", a la barns of yore, by me and the kids. The flooring itself is just plywood.




Architectural details of note in the wall frames include openings for: a human-sized door and chicken-sized hatch (front / south), a medium sized window (side / east), a hatch for cleaning and sweeping stuff out (side / west), and a large area to accomodate a 4-wide nesting box. (The clean-out hatch can be seen in the above picture at Nathaniel's feet.)


The walls are just plywood nailed to the framing.


Unfortunately, I don't have any pictures of the construction process between the completion of the framing and the final painting. You can sort of see below, though, that I added a shingled roof (on top of some rafter 2x4s, at a suitably rakish angle), some reasonably nice-looking trim here and there, and a full door. The window hatch is screened, and all the hatches are hinged and latched.


The interior of the coop is just bare studs for now, plus a perching beam and hanging feeders. An extension cord is built in, so that I can "plug in" the coop (via extension cord to house) for powering the heat lamp in the winter and a sound system for approriately egg-inducing Muzak.

It was about at this stage I broke my thumb and toe, resulting in work being suspended for some weeks.

09 June 2009

A warning

I can't say I wasn't warned:
'Oh, but isn't it just a simple chicken coop?' you might ask. Noooooooooo, my friends, never fool yourself into thinking the construction of a chicken coop is anything less than time consuming to the point of obsession...

At some point in the middle of the construction, you'll realize that you could have built a whole room onto your house for the amount of time and money spent. Forget about your children's college education -- unless, of course, they want to start selling eggs now to save up for college later...

She said it would be fun... that we could gather up some of the extra lumber we had lying about and nail it all together---that it would cost next to nothing. But after I used up the lumber I had, I still only had one wall completed. There was no turning back. We started hitting the lumber yard. Hard. It was like we couldn't stay away. I started dreaming about it at night...

A man walks into his dining room...

One day I came home to find flock baby chicks had taken up residence in the dining room.

Sure, they were cute and all. Fuzzy little cheeping things. What's not to like?

But I knew they would grow -- the kids were bound to start feeding these McNuggets, and then where would I be? Not eating in my dining room anymore, that's for sure.

No, no, she said.

You need to build us a Chicken Coop, she said.

A Chicken Coop?, I asked.

Sure, I replied.

I'm an engineer.

I own a chop saw.

Of course I can make a Chicken Coop.

I mean, how hard could it be?



It'd have to be a bit stylish, of course.

Something with plenty of room.

Something the neighbors wouldn't object to.

Ha, I said.

I'll get right on it, I said.


Couple of Saturdays, a bunch of two-by-fours, some old screening.

Ha, I said again.

I'll get right on it, I said.

31 May 2009

And baby makes three!

(Three kids, that is. There's five of us total now, counting the adults too. Sixteen all told, if you count the cat, the fish, and the chickens.)



Abigail Rose Gerlek was born 30 May 2009 at 4:45pm, measuring 9 pounds 11 ounces and 20 inches.



Mother and Child both now at home and doing well.