Illusory Follies Andrew Flanagan's Blog


Office Setup

I seem to remember talking about this already but I've further upgraded my man-cave to new levels of geekiness. I know have two 26" screens that I've wall mounted just above my desk (keeps them in the same position regardless of all the clutter on my desk.)

Currently I'm running OS X on my right screen and Windows 7 on the left. I use Synergy to share mouse/keyboard commands so it feels like one continuous background. I'm mostly using OS X still but the new machine has 6GB of RAM which gives a lot of breathing space if the Mac gets bogged down.

What I'd like to do is switch out my aging Logitech system with two simple monitor speakers -- I still haven't decided what make/model to get but they have good stuff for pretty cheap. I'll plan on mounting these on a small shelf along with all the hard drives and accessories that I have. If that all works, I could simply get rid of the desk and bring the leather chair from downstairs. Should be a nice setup.

I have visions of punching a hole behind the monitors and making an in-wall rack that I can use to store my rather large 4U case. The wall there backs into the garage rafters and there's quite a bit of room. Ventilation and cooling would be an issue but I'm sure I can come up with something that works well.

What's your work/play area set up like? I'll post any pictures I receive...


Ice and Keeping Warm

We've been having some icy weather of late. The frosts have been beautiful -- much heavier than usual. Some of these last few days have just been gorgeous. Cold, crisp, but wonderfully clear!

Most of the plants are holding up well. With the exception of the new maple sapling and the new rhodedendron which our new puppy Jack 2.0 has decided to eat. I think they're goners.

In order to keep Jack warm, I made a dog house. The design is pretty simple, should be big enough for him even when he's full-grown and as a plus, it's insulated. It's not the prettiest thing inside but my woodworking skills are pretty rudimentary. I did get a new DeWalt Jigsaw (which works great). I was amazed by just how much this thing weighed... It's heavy enough that I really need a hand-cart to move it around. I suppose that's good -- the boys and the dog won't be able to move it around. The walls are about 2 inches thick -- outer hardi-plank, 1" foam insulation, and 1/2" plywood sheathing inside. I was able to use a lot of scraps that I had. I think the total cost was under $100.

I made it to match the house so at least it fits in nicely with the yard. The roof is done pretty poorly. I actually have enough to put on a second layer of shingles (which would probably help keep it dry) but I got lazy and decided to wait and see what Jack does to this before moving on.

Tagged as: , 2 Comments

Google Public DNS

network wiringGoogle today announced that they're providing a high-performance public DNS server. This sounds like a great idea from a performance perspective ... I've not had too many complaints with my DNS servers provided by Comcast but I've definitely had some issues at my work with slow/non-responsive DNS servers.

However, I suppose this is just one more thing that can go wrong. Now there's one BIG target to attack and if someone happens to poison the cache, we're all in a world of hurt.

I do plan on updating my home router though to start using this. I'll post a follow-up with my review.

From: Official Google Blog: Introducing Google Public DNS.

Update: They're definitely taking security very seriously. Some more info can be found here that's quite helpful.

Tagged as: , , No Comments

Types of People

Found this in some notes from a while back (I believe it was at a series of classes at Faith):

VRP - Very Resourceful People
These people IGNITE Spiritual Passion (Mentors)

VIP - Very Important People
These people SHARE Spiritual Passion (Peers)

VTP - Very Trainable People
These people CATCH Spiritual Passion (Proteges)

VNP - Very Nice People
These people ENJOY Spiritual Passion

VDP - Very Draining People
These people SAP Spiritual Passion

(If someone knows the source I'll post it -- I can't remember)


C++ from Python

I was impressed today to see how easy it was to call a C++ DLL from Python. I got the following information from another site:

1. Create a file called dlltest.cpp and write a function that sums two numbers and returns the result:

      #define DLLEXPORT extern "C" __declspec(dllexport)
      DLLEXPORT int sum(int a, int b) {
          return a + b;

The extern "C" construct tells the compiler that the function is a C function. It also removes the decorations from the functions names in the DLL.
__declspec(dllexport) adds the export directive to the object file so you do not need to use a .def file.
2. Include the header of the function in dlltest.h:

      int sum(int, int);

3. Create a new Dinamic-Link Library project and include the two files, compile, and create the DLL.
4. You can now use Dependency Walker to see the list of the exported functions. You should see here the sum function.
5. Move the DLL in the Python folder or use

      >>> import sys
      >>> sys.path.append(r"C:\path\of\dll")

to include the DLL folder in the list of Python folders.

6. Use the ctypes module to access the DLL:

      >>> from ctypes import *
      >>>mydll = cdll.dlltest
      >>> mydll

Note: ctype module is already included from Python 2.5. If you are using an older version you can download ctypes here.
7. Now call the function:

      >>> sum = mydll.sum
      >>> sum
      <_FuncPtr object at 0x0097DBE8>
      >>> sum(5, 3)

Reposted from here... (Thanks!)

I need to get into Python more -- I've used Ruby a bit but have tended to ignore Python simply because I've not seen it is needed. Evidently, I need more side projects.


Non-Conventional Advertising

Sandwich sign by CE NelsonTo get in and out of town I must traverse about 2 miles of very built-up, very trafficky, retail- and service-dotted roadway. I was surprised to see over the last few years how often stores are using real, live humans as "flaggers" holding signs for their businesses or for special offers. Sure it's less creepy than dead people holding up signs, but my gut-instinct was that it would cost too much to pay someone and that the impact on sales would be minimal. Apparently my gut is wrong. According to this article I learned three things I'm surprised by:

  • This is a competitive position
  • People are fine with $7.50/hr for this work
  • It can have a dramatic effect on sales

Don't get me wrong, money is money and I know that people will do all sorts of things. I just think it would be miserable work. Time would pass slowly as you stand in the cold with maybe a slight drizzle coming down. Cars beeping, bikes almost hitting you. Bleh... I'd much prefer the McDonald's job. On the bright side it takes no skill, you can probably listen to music and daydream.

On the other hand, I'm surprised that this really helps business. I can see how it may make some people aware of businesses that are squirreled away in strip malls. I guess I'm not part of the demographic who even uses strip-mall businesses for much of anything so perhaps I'm no more inclined to visit them whether they're having a special or not.

I don't know what my blog readers think, but I'm surprised. Any opinions? Any experience being influenced by or being a flagger?

Thanks to the Business Opportunities Weblog for the link...



So I've been sloppy again and not updating the site.

Without further ado:

Kindle 21) Safari Online was a little bit of a disappointment. I like the selection, the price is reasonable, the searchable formats are wonderful, the ability to cut and paste example code is stellar. So why disappointing? I don't use it. My reading is usually in the evening. I want to be able to sit back in the easy chair and read. My laptop is fairly comfortable but staring at a bright back-lit screen is most certainly not. It's just so much more comfortable to pick up a good old tree-based book and read that. Some of the advantages are still there. If I find something in my book, I can easily cut and paste it from Safari Online but now I'm basically just using Safari as a quick digital copy for all the books that I already have. Bleh... Not worth it. What would make it worth it? If the Kindle-gods worked with O'Reilly to make the entire Safari Online site browseable using your Kindle. I would buy it. I would pay extra. I would make a weekly pilgrimage to the Amazon headquarters. It would be great. But they don't. Furthermore, from what I've heard, on the software side, Kindle doesn't do tables, mono-space fonts, and some other things that really are  almost required in order to read a technical programming/development related book.

StackOverflow2) Work has been busy. C/C++ has been pretty minimal... I'm getting much  more comfortable with memory management issues and have been pleasantly surprised to see that most C++ code that I dig up out there basically looks like mine. I'm still definitely not an expert at decrypting some of the C++ deep magic code that I've seen, but then again, I bet the authors of most of that stuff don't even understand it anymore.  C# has been a mixed bag. I've really enjoyed getting into the "new" features of 3.0 and 3.5 which I had been neglecting until recently. A lot of time spent on Stack Overflow has helped get m e up to speed with Linq and some of the other fun new language features. Generators, extension methods, anonymous functions... it's all sorts of fun.

3) I've been able to watch as the value of various investments that I can't easily cash out of has continued to dwindle. Thankfully, much of what I did have invested in long-term investments I was able to move to much less volatile funds but it's still been rough. On the bright side, the end of the world may be near as the Mayan calendar has it set to 2012. Obama would have the rare privilege of being the final President and (also on the bright side) wouldn't have to worry about his legacy as no one would care how big the national budget is at that point. Also, this would save me a lot of frustration with the whole Social Security thing. One can only hope...

iTaliban4) Wife has been busy with her business. She's continued to embroider like crazy. I've been trying to push her to do more since she's only pregnant with 3 boys under 5 at home. 🙂 She tells me that some day she may expand her business but not now. I think she's in a good situation. On NPR (motto: Unbiased news since 1970 or whenever it was we started getting funded by liberals!)  there was an interview with a business owner in the same general "baby products" market. Her remark was that the "economic crisis" we're experiencing will likely drive a baby boom as people's lives and schedules slow down and more time is spent at home. But hopefully the economy picks up soon so they can afford overpriced baby products for their new brood. I got her a new iPhone so that she can become more of a geek. She really isn't nearly geeky enough and it bothers me. I was interested to see that even the Taliban are getting in on the iPhone action (see picture).

Time precludes further updates.

...Will write more later...



Having been encouraged by others and having wanted to do so for a while, I'm going to attempt a little more intensive reading list than usual. We'll see how far it gets. I've been getting bogged down in technical books that relate or very tangentially relate to work. It's a lot of fun, but it's been difficult to read much else. I'm going to largely put that on hold (unless of course I can read at work when I'm on the clock) and instead focus on a rather largish stack of books that I have currently here at home. This includes:

The Baptism of Disciples Alone by Fred Malone (obviously a book that advocates the traditional Baptist view. I've read about half of this, loaned it to a friend, and never finished it. I liked the reasoning and Biblical support that I'd read so far).books_in_library

The World is Flat 3.0 by Thomas L. Friedman (just curious...)

The Art of Deception by Kevin D. Mitnick (never finished -- essentially a guide to social engineering. Computer Security is something I deal with in my professional life quite a bit but this book is focused on, as it puts it, "Controlling the human element of security". Should be a neat read)

The Discarded Image: An Introduction to Medieval and Renaissance Literature by C. S. Lewis (had this lying around for a while -- a little off-topic from my normal reading interest so it'll probably be kind of interesting)

Confessions by St. Augustine (have started and read many excerpts -- and listened to most of it on audio-book -- but have never completed it)

The  Revolution: A Manifesto by Ron Paul (never finished it!)

Pierced by the Word by John Piper (received as a gift -- looks like a good devotional read. I don't like everything by Piper but he challenges you and that's always good)

Banvard's Folly: Thirteen Tales of People Who Didn't Change the World by Paul Collins (Received I believe for my birthday last year and never completed -- it's a blast -- history of people who were almost famous)

Precious Remedies Against Satan's Devices by Thomas Brooks (I think I read this in high school but I figured I'd have another go at it)

The Satanic Verses by Salman Rushdie (never finished)

Blue Like Jazz by Donald Miller (recommended by a friend, not recommended by another friend. We'll see on this one...)

The Kingdom of the Cults by Walter Martin (skimmed various sections by I really should just read the whole thing and be done with it)

The Prodigal God by Timothy Keller (Just started on this after stealing--I mean borrowing--from my mother-in-law. I'll return it soon!)

Uncle John's Biggest Ever Bathroom Reader (ok fine -- I probably won't ever finish this book. But depending on the amount of fiber in my diet this year, I may be able to make a dent in this hefty tome)

Update: Added a few new entries -- I'll probably just update this post as I add to my list so this likely will change over time...


Cell Phones

Well my new position has been keeping me busy writing software for Symbian, Nokia's primary phone operating system. I hate it. It's fun to learn new stuff and it's probably a good thing to be learning. But it's still awful. Documentation is terrible. Developer forums have lousy support. Two unique programming elements: descriptors and the cleanup stack just make life agonizing.

I've never appreciated C# so much.

On the bright side, it's drawn me back into C/C++ coding which I haven't done in years. That part is fun. It's funny how many things I take for granted with C#. I've even gotten lazier considering some of the wonderful upgrades to C#  3.0. For example:

List<string> list = new List<string> { "Susie", "Lucy", "Bobbie" };

This makes sense to me. It's easy and straightforward. It saves [development] time.

At work things have been interesting because I've been working with developers firmly set in an embedded mindset. They think in terms of saving bytes. My .NET programs take up 20MB of RAM just in basically displaying a simple window with a few controls. It bugs them.

I don't know -- I see the point of using assembly, C, even the horrible descriptors of Symbian for situations where you are highly concerned with efficiency. However, it does seem that you're going to be forced to spend more development time (by a huge amount) and the code will almost by necessity be much more difficult to maintain. When there's no clear single way to convert a descriptor to a char * every developer will do it differently and the code will be more and more complex and incomprehensible. It might run fast, but it's not flexible.

In the world of mobile development, optimization for speed seems important but if you take 6 months to update your application when new feature sets become available, your product likely isn't selling.

Along these lines of thought, I'm considering pouring a bit of time into iPhone development. I've always shuddered at Objective C but I need to bite the bullet and get into it. My assumption is that I'll be happy with it since from what I've heard it balances maintainable,  understandable and easy-to-write code with reasonable performance/stability.

I'll keep you posted.


Christ Church, Victoria, B.C.

We saw this church in Victoria, B.C. and it truly was amazing (and I believe God-centered and glorifying in its design). It's a pity that churches are often just like business offices or other "ordinary" places. I guess some would disagree but I think that a return to "great" architecture in church buildings is a wonderful thing. The UMC and some other denominations seems to have gone through a period of uglification in their architecture -- somehow trying to modernize or reinvent something that wasn't in need of an update. People in general seem to be less willing to spend the big bucks on churches than on other things like the poor and the needy. I know other issues can't be ignored, but worshiping God in a place like this seems to really help put things in perspective. Just like the robe, the solemnity of the service, and the order of the liturgy, the architecture seems to be a huge aid in the worship. I'm sure like all things in the Christian life and even those things in worship, it can become an idol but I have a hard time believing it's wasted money or effort. The Temple was a truly glorious place; a feeble attempt at showing the glory that will be revealed in heaven, but a worthy attempt. As Christians we carry out the creation mandate to bring order out of chaos in the world. A building like this that's built not to commemorate its long-standing members, nor to enshrine saints, but to stand as a place of worship -- a place set apart.

I know it's far, far away for our small group (and even a large and prosperous church like the above took over 100 years to get where they are), but I look forward to the beginning of such an effort.

Update: Regarding Dave's comment -- I wasn't very specific about what "like this" I think is good... I think it's architecture that reflects attributes of God and his nature. So yeah -- creative is a good thing but I think that awesome and majestic is important too... Obviously some of these characteristics are a little subjective. I hadn't really thought of it so much but Dave mentions the re-using and revitalizing of buildings; this seems perfectly to reflect the transformative power of God's Kingdom. Thanks Dave. 🙂