|
|
Thursday, October 9th, 2003
My policy of reading COM and .NET Interoperability straight through from the beginning, rather than skipping the stuff I am familiar with, paid off yesterday when I found out something about programming the IDispatch half of dual interfaces, which had eluded me until now. IDispatch is an interface which allows you to support method and property calls on arbitrarily named members, meaning the client does not have to load type info. A common use for it is the "dual interface", in which type info is exposed but clients are given a choice whether to call methods directly or through IDispatch::Invoke. I always have supported it (in situations where I needed it and was not using a tool like ATL for the implementation) by hand-coding a lookup table in Invoke and GetIDsOfNames, and putting no code in the other two member functions. This is a big pain, primarily because of all the parameter translation you have to do in Invoke; and not supporting GetTypeInfo is a problem too, though it never made a difference in the situations where I did this. (Also I only support GetIDsOfNames halfway.) But it turns out COM exports three functions which you can use to implement IDispatch using the type library generated by the compiler from your IDL code. They are LoadRegTypeLib, DispGetIDsOfNames, and DispInvoke. I have never done any work really with type libraries but it is nice to know I could. Chapter 4, which I am starting today, is all about COM Type Information.
posted morning of October 9th, 2003: Respond ➳ More posts about COM and .NET Interoperability
| |
Wednesday, October 8th, 2003
More window seat stuff. (The seat is completed and primed; it will not be painted until sometime this coming spring when we repaint the room. Pictures coming soon.) I wrote before about building the baseboard, which came out very well and looks great in the context of the room; the second molding I build, which is an apron under the "sill" at the front of the seat, was less successful, and I want to examine why, and what remedial steps I can take. First an explanation of what I was going for. Behind the seat are three windows, each with a sill and an apron molding beneath the sill. ("Apron" is the stepped molding which transitions from the sill to the wall.) I wanted to echo this by having the seat top jut out beyond the seat front, and have an apron beneath it. My plan was, to make it jut out by the same amount the window sills project from the wall, and duplicate the measurements of the existing aprons. (Note: this is quite different from the plans I originally posted here back in June.) The dimensions in place (roughly): Window sills come out 2 1/2" from the wall; aprons extend 7" below the sills and come out 1 1/2" from the wall at the top of the apron, 3/4" at the bottom. What I ended up with below the top of the seat is about the same; but it does not look quite right. The reason it does not, as I realized over the course of the past few days, is that the shadows are wrong. The purpose of the apron molding is to make a visual transition from the window sill to the wall; how this is done is by shadows falling where the apron depth changes. The apron I built is located diffently with respect to the light sources, and the shadows are not right. (Well two of them are.) I am going to leave it be for the time being, but eventually I think this could be corrected by making it deeper -- adding pieces in front of it. If I ever actually get around to this I will lay it out beforehand with a diagram of light sources to see what the shadows would end up looking like, before I start cutting.
posted afternoon of October 8th, 2003: Respond ➳ More posts about Window seat
| |
Tuesday, October 7th, 2003
Reading COM and .NET Interoperability -- the initial chapters are all stuff I'm pretty familiar with but I am reading it anyway, to make sure I'm on Troelsen's wavelength when it gets interesting. A note at the beginning of Chapter 2, that the COM specification was released in '93, made me realize my programming career has progressed in lock step with Microsoft's Visual Basic API. Well I was a little late coming on board... I wasn't programming when VB was introduced... What I am thinking of when I talk about the Visual Basic API is something that really starts with COM.* My first project when I came to Xyris was to make some improvements to their RTList VBX control. (A VBX is a DLL which specifies a custom control for VB 3.x, and maybe VB 1 and 2 as well -- I don't know anything about versions prior to 3.x. VBX is the predecessor to OCX, the OLE Custom Control, which is what COM controls used to be called.) I worked on RTList throughout my years at Xyris, moving it from VBX to OCX and then rewriting the OCX control in ATL (enough acronyms yet?) Nowadays I am starting the move from COM to .NET -- I am about a year and a half late getting started. Microsoft continues to rule my world.
* On rereading I see that this is quite vague. What I am trying to get at is the notion of programming windows applications with Microsoft's suite of GUI development tools, of which VB is the original one. Visual Studio .NET is the current incarnation of this suite.
posted morning of October 7th, 2003: Respond ➳ More posts about Readings
| |
Monday, October 6th, 2003
Big news -- Patrick Farley has put Chapter III up on E-sheep. It costs a quarter to view (via BitPass) -- its value is many times as much. Take a look!
posted morning of October 6th, 2003: Respond ➳ More posts about Apocamon
| |
Friday, October third, 2003
Riding on the train this morning I saw a poster advertising Wachovia bank's policy of not charging its customers to use other banks' ATM's -- and indeed of refunding some of the charges imposed on its customers by other banks -- scribbled thereon was, "Money forya in Polish"
posted afternoon of October third, 2003: Respond
| |
My current reading (starting today) is Andrew Troelsen's COM and .NET Interoperability -- I expect it to be dry reading material compared to The Corrections and The Life of Pi; but I have kind of high hopes for it to be more engaging and better written than any of the other API documentation I have read recently. I just read the introduction and Troelsen seems prepared to get to the point clearly and without the annoying cuteness you see in many of these books. I also like that the book has only one author; many of these books are written by two or more people and do not have a clear authorial voice. Anyways -- COM is what I work in by and large; and .NET is where I am headed; I have written one project in .NET so far and it was a pretty enjoyable experience. So I think this will be a useful book. I don't know how much I am going to blog about it -- depends on how useful it ends up being I guess.
posted morning of October third, 2003: Respond
| |
Thursday, October second, 2003
A letter I sent to the Times should be printed tomorrow -- I will link to it when it's up. Update: Here it is: Iraqi Reconstruction -- it is the last letter on the page. Caveat exsequitor -- this link will require registration to the NY Times, which is free; and it will cease entirely to function in a week or so.
posted evening of October second, 2003: Respond
| |
I saw from an interview in last week's Onion that Harvey Pekar has a blog -- Check it out! This will be short-lived; the company that produced his film is paying him to keep a journal online, he didn't sound likely to continue it after that ends. It is fun to read, and features contributions from his wife and Danielle, the girl of whom Harvey and Joyce are guardians.
posted afternoon of October second, 2003: Respond ➳ More posts about Harvey Pekar
| |
Sorry to have been so scarce this week; I've been pretty obsessively watching the Plame affair news. Best sources for that are on the left hand side of the page under "Politics" -- Mark Kleiman's reporting in Open-Source Politics is particularly worth reading and has tons of links.
posted morning of October second, 2003: Respond
| |
Tuesday, September 30th, 2003
Home Improvement day at the theater Tonight I was watching a movie and decided to bring along to the theater, the table I was working on -- it was nearly done and I did not want to lose the time of working on it. People curiously were not annoyed by my sawing, planing and sanding, or anyway no-one said anything -- there was quite a bit of vocal annoyance directed toward the woman sitting more towards the front of the theater, who was laying some floor tiles. When the movie was over I saw Gary and Suzie leaving the theater. They came over and said hi, and admired the table. Gary wanted advice about what style of legs to use for a table he was building; stifling an impulse to say "cabriole", I said it was hard to say without knowing what the table looked like and what context it would be in.
posted morning of September 30th, 2003: Respond ➳ More posts about Dreams
| Previous posts Archives | |
|
Drop me a line! or, sign my Guestbook. • Check out Ellen's writing at Patch.com.
| |