Skip to main content


Showing posts from June, 2010

Mindmapping with iThoughts, MindManager and Box.Net / DropBox

I love it when I find an implementation of technology that has likely existed for a few years but works (almost) seamlessly the way I need it to. I may have missed it the first time out but it's still important to let people know how they might find it useful.

iPhone Mindmapping with iThoughts

I've spoken about Mind-mapping and MindJet many times before.

MindManager is a great tool but when I'm in a short client meeting, I don't always like to pull out my notebook. For the past year, I've been using iThoughts on my iPhone and really enjoying how well it integrates with MindManager, using its innovative "transfer" capability (it creates a web server on a Wifi connection and gives you a web page to upload and download files).

MindJet's iPhone interface is remarkably similar to the iThoughts interface - almost to the point of it seeming like a direct copy or re-licensed version.

However, when my iPhone was upgraded to iOS 4.0, it also upgraded all of my…

LINQ, Reserved Names and .Net

Here's another good reason not to use reserved names.

I'm working on a LINQ project with a series of tables that manage user roles. As a result, I have table names like Systems, Roles and Users.
My trouble started when I would add the objects to the Designer, hit Save and then suddenly Visual Studio would say things like

"System.Data.Linq.Mapping.DatabaseAttribute is not defined"
"System.Nullable is not defined"

In short, stopping me dead in my tracks. Now that I look back, I don't know why I didn't see the reason earlier.

When using the Object Relational Designer, Visual Studio wants to be smart and changes any words that are plural to singular so they make more sense when dealing with data.

That way, your code looks like

oUser = New User
oUser.UserName = "John"

instead of
oUser = New Users

This is really nice because it does make the code a little more legible except in this situation:

Plural (singular)
Users (User)
Roles (Role)
UserRoles (UserR…

Intense Development: Why We Need Passionate Programmers

At a conference a few years back, I formally met someone who I had been speaking with online for a few years. One of his comments was "wow, I didn't realize you were this intense". At the time, I was surprised as while enthusiastic about the conference, I didn't think I was being that noticeable. But I will admit - I am very intense or passionate about the things I do. I think that's very important to the developer and consulting world and far too often, it's missing.

Programming is an analytical and (supposedly) fact-based process, which is why most programmers tend to be left-brained. This discernment is more myth-based (as logical sciences such as maths are handled by both) but more creative or emotional types are said to be "right-brainers".

Today, when you need both programmers and designers rolled into one (or at least combined in a single project), this can get tricky.

As a consultant, I deal with a number of clients. Some I have had the pleasu…

Ken Levy Webinar: Servoy for Visual FoxPro Developers

For those who didn't receive the invite, Ken Levy is doing a session on how FoxPro developers can work with Servoy, a java-based development tool.

You can register here.

There's also an intro screencast you can see here.

I looked at Servoy a few years back and it looked pretty cool for development. As Ken notes in his email "Servoy is a very community oriented product with passionate users reminding me of the enthusiastic FoxPro community. " Should make for an interesting demo.

WPF: Bubbling Events from User Controls

While building a WPF application, I ran into a scenario that immediately called for a bubble event. While the basic concept behind it is pretty straight forward and there are a number of examples to show it,
when I put it all into practice, it didn't work. I got it working and it's just a little tweak but hopefully no one will spend the time I did looking for it.

Bubbled events do exactly as they sound: the event fires at a very low level and then continues up the application hierarchy waiting to be "handled".

In a traditional application, you might have a method called cmdSave_Click which handles the Click event for the Save button.

A bubbled event is more akin to button groups in VFP, where you may have four buttons and when one is clicked, the code to actually handle it is managed in the button group's method rather than the individual button click.

Take that concept and expand on it further. A real-world example that I remember Steve Black once using is Help. Wh…