May 12, 2008
@ 11:32 PM

An updated version of the original "Shift Happens" video. Well worth watching if you have not seen it, and even if you have it is worth another look. Mind blowing information.

Cheers,

Robert Porter


 
Categories: Misc | Ramblings


It seems I keep having the same conversation when it comes to BPM, Content Management and Workflow. Everyone has a different idea what each one means, how they relate (or don't relate) to each other. And of course there is always the "what exactly is <insert term from above>" question and debate.

Remember the saying "One man's code is another man's data.", well that same thought process applies to Content Management, Process Management and Workflow.

#1. Content folks will tell you that Process and Workflow exist in order to accommodate CONTENT.

Content Management 

#2. While folks from the Process Management pool will tell you that content and workflow are just aspects of THE PROCESS.

process

#3. Then there are the Workflow centric types who will gladly explain that without WORKFLOW there can be no process and content will have no meaning.

Workflow

So what conversation do I keep having? From my own experience and point of view all 3 of the above views combine to make a whole. Content in and of itself is just so much data. Workflow, while it can exist without content is usually the way that content gets consumed by, wait for it, a process!

Each of the 3 components, Content, Workflow, and Process, can exist in their own right. (Although I would tend to argue that a "workflow" is a process by definition.)

But from a very real world point of view (after all IT systems are primarily a way to model the "real" world right?), most process's are enriched by and contain content and workflow's. Even if they are not formally identified as such. For example, take buying a house, from the buyers perspective.

There is a fairly standardized process to buying a home. Once the offer is accepted, you enter the final phases of that process culminating in a sub process called a closing.

Some of the steps, workflow anyone, in that process are having the home inspected, having the home appraised, having a termite inspection, acquiring an insurance binder, checking the title, etc. Some of these steps are independent and can proceed asynchronously, other aspects are serial or synchronous in nature. (Appraisal first then check on Insurance etc.)

How about some content in this process? My last home purchase generated somewhere in the neighborhood of 500+ pages of reports, inspections, loan documents, insurance documents, tax information etc, etc. Talk about content! A home purchase is swimming in content.

So there is a real world process that requires both content and workflow in order to come to a successful conclusion. The content alone would do me little good without a process to give it context, and without a workflow to give it meaning and order.

So my conversation is usually something to the effect that Process Management, includes Process, Content, and Workflow. And that they are all interdependent on, and mutually beneficial to, each other. So lets all quit trying to shoehorn everything into a <insert part here> centric view.

So, to use another well used phrase; Can't we all just get along?

Cheers,

Robert Porter


 
Categories: Programming | Ramblings


I love the television show NUMB3RS, and I have been a fan of the Mac vs. PC commercials. Now I can get my fix of both in one shot!

 


 
Categories: Misc | Ramblings


December 8, 2007
@ 09:30 PM

Rhys, my oldest son, becomes a teenager tomorrow, December 9th by virtue of being 13.

PC080007

I took this picture of him a few minutes ago, he has several friends over for a sleepover tonight. They are playing an XBox game and will probably stay up way to late as usual.

He is an avid gamer and very creative, he likes to draw and tell stories, write and read. I am constantly surprised by how fast they grow!

Anyway, wanted to take a moment to acknowledge one of the prime reasons I do what I do, after all, we work for our families!

Happy Birthday Rhys! Many, many more!

Cheers,

Robert


 
Categories: Family | Misc | Ramblings


November 27, 2007
@ 11:36 PM

No matter how agile your development practices are, and no matter how skilled your team is, you can still generate a failure.

There are some sure signs you are headed for a failure that you can watch for. One of the most obvious and common is when deadlines are set without regard to input from the development staff.

Artificial "drop dead" dates are always a sure sign of trouble to come. It is especially worrisome because it is so prevalent. I have participated in a number of projects where the milestones, phase durations etc, are set in stone before all of the analysis is even complete.

A common scenario, particularly in "internal" non commercial projects is that the business unit identifies a desired set of functionality and delivers the desire in the form of a loosely defined set of requirements, accompanied by a delivery date that is usually wildly optimistic.

I actually worked for a company where the development manager was fond of saying: "The customer will settle for 80% of the desired functionality."

This is far more common than anyone would like to believe. And the particular company I am speaking of is still developing internal projects with the same mentality 10 years later. (I am no longer there, but people I know still are.)

The result of this "settle for" mentality is that there is a loss of confidence in the development group by the customer, and a sense of hopelessness in the developers that becomes pervasive. Most developers leave, a core group will stay until they burn out, but by and large these teams are marred by high turnover rates, low morale and frequent re-organizations.

Do you work for a settle for group? Any idea on how to combat this from within? Please share your thoughts!

Cheers,

Robert Porter


 
Categories: Programming | Ramblings | Rant | TDD


November 26, 2007
@ 10:10 PM

I will be working in Kentucky this week, which means posting may be a bit light for awhile.

Going to be looking at VS2008 this week, and will try and come up with a couple of posts about my install experience and first impressions etc.

Also will be working with some interesting Vista related stability focused hotfixes that I have recently become aware of. As I get the chance to check these out I will post about them as well.

Meantime, going to see if I can introduce at least some agile practices at my new project. Am not going to hold my breath as I am not in a position with any significant influence, however I can try.

Currently, I am stuck in RDU airport waiting for the aircraft to be repaired. I was originally supposed to be in Kentucky by 9 AM, now looking like about 3:30 PM if there are no further delays. <sigh> Travel is often not according to plan, hope my luggage manages to find me!

UPDATE: It took all day to get to Kentucky, and my luggage is still a few hours behind me.

Cheers,

Robert Porter


 
Categories: Misc | Ramblings | Visual Studio


November 15, 2007
@ 02:12 PM

Scary thought seen at blogoscoped in an article by Philipp Lenssen's. He raises a point that I have not fully explored. With our increasing use of and dependence on "elsewhere" hosted services such as Google and Windows Live, what would you do if your account was hacked?

Another factor that in my mind increases the risk, is that with more and more services available via a single sign on, if your account is compromised you could have a great deal of vulnerability across a very large surface in a very short period of time.

Take Google for instance. If my account was compromised the attacker would have access to my:

  • Email, and Archives (GMail)
  • Contacts (GMail)
  • Notes (GMail)
  • Appointments and Schedule (GMail)
  • Documents (Google Docs)
  • Photo Albums (Flickr and Picasa)
  • Blogs and Blogs I have access to. (Blogger)
  • AdSense Account

Now I operate by the rule that anything I store on someone else's server is accessible to the world anyway. For that reason I don't store any family or professional secrets, medical info etc online, however even my day to day info would be a goldmine for a potential identity thief. Or to a competitor.

But increasingly more and more information is being hosted behind fewer and fewer federated logins. Which means you can have large areas of your online life compromised by losing a single password.

Not to mention the potential damage that could be done just by having access to your account, such as sending emails that actually DO come from you (just not actually authored by you), to everyone in your contact list.

It does not take long to think of nightmare scenario's. So as Philipp asked "What would you do" if this happened to you? Do you have all that data and email backed up somewhere? Even if Google or Microsoft restores your access to your account, some or all of your data may be gone.

Has anyone had something like this happen to them? If so what did you do to regain access and did you lose anything irreplaceable?

Something to think about!

Cheers,

Robert Porter


 
Categories: Misc | Ramblings | Security


If you write code for a living, no matter what language, flavor, or IDE, sooner or later you begin to develop/write code to a set of unwritten rules that experience has taught you. Sometimes these rules are based on great, hard won lessons, wrested from spectacular failure or success. (Both failure, and success are great learning opportunities.)

Other times they are holdovers from some other project or something you learned from someone else. Or even something you just do but can't explain. My favorite story about the genesis of those kind of rules is as follows.

Child watches Parent making a meatloaf, after the meatloaf is made, Parent takes it out of the pan and cuts about 2 inches off one end and then puts it in the oven. Child ask's Parent why they always cuts 2 inches off the meatloaf? Parent pauses for a moment and says they are not sure why, but their Parent always did that. They decide to call Grand Parent and ask them, Grand Parent thinks for a minute and says it's because their Parent also did the same thing. A quick IM to Great Grand Parent asking why this was done results in the response: "Cause my oven was small and a full size meatloaf would not fit!"

Sometimes, we continue a practice out of habit, not because the need is still there. Most of the time this is fine, but sometimes we unconsciously propagate a behavior or methodology that has lost it's meaning or usefulness over time. Sometimes even to our detriment. It is useful therefor to question why we do things the way we do every now and again. A few moments of introspection can lead to an "Ohhhhh" moment.

I recently experienced such a moment when I was explaining some code I had written to another developer. Once I had finished my explanation they asked me a series of questions about why I did it this particular way as opposed to another. My knee jerk response was "because it's the best way" followed by an unspoken "that I am aware of".

The discussion continued and I soon learned that the method I was using was not only obsolete but was potentially dangerous because of changes in the underlying structure of the language I was using. Changes I was not only ignorant of, but which made a much more robust solution possible.

The method, involving collection classes, that I was using was one I had been using in one form or another for years. I was so comfortable with it, that I had ceased to question it, or look for alternatives. I had developed a blind spot when it came to that particular topic because I was so deep in my personal comfort zone that I subconsciously did not want to move away from it.

This is also an example of the benefit of pair programming, TDD and agile methodologies. To a lessor extent the same results can occur in any team environment. Looked at another way it is an example of why solo developers sometimes do not fare as well. Not having a team to bounce ideas off, or to have question and challenge you on assumptions and approaches can often lead to practices that become bad habits.

That is not to say that all solo developers progress less slowly or that all teams progress better. There are plenty of examples out there of "Toxic Teams" and solo Super Hero coders. But it is nice to be exposed on a daily basis to others points of view, experience and skills. You can derive a lot of the same level of benefit, albeit less interactively, by reading blogs, and participating in development forums all over the net.

But every now and then, solo or team member, you should stop, reflect, and refactor your own thinking process and assumptions. Weed out the things that no longer work for you, and try and replace them with things that do. Learn something new, test it against your own experience, if it seems to fit consider making a new habit to replace an older one!

Cheers,

Robert Porter


 
Categories: Agile | Programming | Ramblings | TDD


For those of us old enough to remember the pre-Windows era, the arrival of 3 technologies marked a turning point in history. One that was not immediately recognized by some of the biggest technology and software companies until it was to late. And I think we are witnessing a repeat of that event.

Some History

I began programming computers professionally in 1979. I worked at Travelers Insurance company in Hartford Connecticut programming an number of different IBM mainframes in COBOL and Assembler. In 1981 I began writing code for the Zilog Z80 running CP/M and later the 6502 chip made famous by the Commodore Vic and later the 64 and 128 models.

Sometime after that I began writing assembler code for early Intel processors including the 4004, 8008 and finally the 8086 and all of it's descendants. These programs were all character based, typically with a monochrome screen with 80 columns and 25 rows.

I made a fair amount of money writing what were called TSR's for the IBM/Microsoft DOS platforms. A TSR was a Terminate and Stay Resident program, it was designed to run, install itself, hook a keyboard interrupt, and then go to sleep. It could be awakened by pressing the key combination associated with it. Sort of an early attempt at multitasking.

In 1990 Microsoft released Windows 3.0. I had played with Windows 1.0 in 1983 a little, and Windows 2.03 later, and was unimpressed. I saw potential but the hardware of the day just did not allow for an affordable system that was capable of running these earlier versions. But 3.0 and later 3.1 and 3.11 were stunning! I took one look and never looked back. I knew this was the future of PC's and corporate computing.

At the time WordPerfect was the dominant Word Processing application and Lotus 1-2-3 was the dominant Spreadsheet application in the DOS world. And Novel was the dominant Network OS for PC's. And they (and most of the rest of us) assumed they would continue in those roles.

What they did not realize was that Windows heralded a true paradigm shift in the world of the PC. I know that phrase is over used, but it really fits. Both Lotus and WordPerfect were slow to offer versions of their applications for Windows, and when they finally did, they were terrible products that did not work well, lacked features their DOS versions had, and just did not "fit" in the Windows environment.

Microsoft had already had a lot of experience writing applications for a graphical environment, courtesy of their work for Apple. Word, and especially Excel, were great applications for their time, and took full advantage of the Windows environment, and WYSIWYG formatting and editing. Not surprising perhaps considering they also created the OS.

Novel, on the other hand did not seem to take the threat of Windows seriously. Yet NT was on the horizon and Windows for Workgroups was already making huge inroads into the lower end of the networking market.

In a few short years WordPerfect all but disappeared, Lotus lost it's dominant position in its market and eventually was subsumed into the original "Borg" of the software industry, IBM. Novel limped along longer, but it too is a shadow of its former glory.

All of them missed the proverbial boat when Microsoft brought it's triple whammy to the market, Operating System, Applications, and it's own Network Operating System. All more or less integrated, all capable of working well together and all "good enough" for most users and small to midsize business.

Flash Forward

Are we watching another watershed moment in computing history now? I think so, but I am not sure what to call it. It's not a new concept, but technology and infrastructure have caught up and now the model is actually workable. It's leading representatives are Google Office and Microsoft Live Office. Neither are quit there yet, but it sure looks like they are heading in the right direction.

Network bandwidth is increasingly available at ever cheaper rates. The concept has several names, but they all describe a similar set of concepts. Zero or low touch install of applications, a browser based experience but with a much richer more desktop type user experience. Usage licensing, (Software as a Service?) as opposed to shrink wrap licensing.

There are still some huge barriers to adoption, security, trust, access and reliability, etc. But these issues are slowly getting worked out. I still prefer a locally installed desktop application over the available web based alternatives, but the feature and experience gap is steadily narrowing. The economic model has yet to prove itself either, but concepts such as Micro Payments, services such as PayPal and others are all aiding that effort as well.

So what do you think? Who will be the casualties of this shift? Who will be the winners? How far are we from a truly major change in how and where we we get the applications we use in our daily lives?

Think about it!

Cheers,

Robert Porter


 
Categories: Misc | Programming | Ramblings


February 15, 2007
@ 09:08 PM

There are a number of references floating around the Internet about how to use an upgrade version of Vista to actually perform a clean install. I am not going to recap the steps here but a simple Windows Live query will yield the steps.

But I did actually use the method, and it works. In my case I really was upgrading in the sense my system had a legitimate version of XP Pro on it when I bought it, and I therefor was qualified for the upgrade price. Since the process allows a clean install as opposed to an upgrade in place it was very attractive to me.

Upgrading an OS is always a rather tricky business and invariably leaves a lot of extraneous "crud" from the previous OS laying around your hard drive and registry. So when possible I always prefer to do a clean install and start fresh.

So I used the "trick" that is being circulated to perform a clean install with an upgrade only version. I believe since I did in fact have a full valid license to XP that I am not violating the spirit of the license even if I am technically in violation.

That being said I would not condone someone installing an upgrade version unless they were qualified to do so in accordance with the intent of the license agreement. I have heard many folks make the argument that since the installer allows it to happen, it must somehow be ok.

Sorry, I don't buy that argument. If you have a licensed OS that is allowed to be upgraded, and you are in fact upgrading that system then you qualify for the upgrade price. Otherwise you should pay full price. Its fairly black and white, I don't see any gray anywhere in there.

Now is Vista, whatever version, worth the price? The market will decide that.

Cheers,

Robert Porter


 
Categories: Misc | Ramblings | Rant


October 16, 2006
@ 06:11 PM

I have gone through 3 Linksys Wireless Routers in under 2 years. All were some variant of the WRTG54G. I tried numerous firmware versions including 3rd party firmware with the first 2, the last one I left vanilla other than one upgrade just after purchase to the latest available firmware from Linksys’s web site.

Wrt54g

The first 2 turned into semi bricks. Meaning lights were on but no one was home. The first one allowed wireless connections, but no longer allowed wired connections, even though the link lights showed normal for connected ports on the front panel. I reset, repowered, and reflashed the first one, all without error, all without success.

The second one lost the wan port. After the second one I began to suspect power transients or possible spikes on the network itself. However I placed a small hub between the router and the modem (for network sniffing) and it had no issues, nor did the DSL modem. The router is powered by a DC transformer, I checked for voltage levels and they were where they should be etc.

The third one lost the wireless lan, computers could see the AP, and sometimes even connect, but they never remained connected longer than 10 seconds, and the dang thing would never connect more than once. I tried 3 different computers and my PPC phone that has Wifi, all to no avail. Wgr614v5

So this time I bought a Netgear Wireless router. I have used Linksys since their very first broadband router came out, but after going through 3 routers in less than 2 years I decided it might be time for a change. I have had numerous clients that used both Linksys and Netgear (as well as other brands), and could not remember hearing of any difficulties with Netgear, so I plunked down 39.99 for a brand new Wireless G 4 port router.

Installation was straight forward, I connected the router directly to my laptop, ignored the insert CD first warnings, and fired up IE. Got to the setup screens, configured the router for my PPoE connection and let it suck down the DNS and static IP from my ISP. (Bellsouth recently offered me a static IP address for no charge!).

Blamo, everything was up and running, I reconfigured the wireless settings, changed the SSID, and setup WPA security, also changed the admin password etc. All my wireless clients connected no problem, on the same channel (6) that the Linksys had been running.

We shall see what happens now, but so far the Netgear had performed flawlessly. One thing I did notice, the DDNS offerings on Netgear do not include TZO, so I downloaded and setup the software client to run as a service on one of my desktops so not a show stopper but I wonder why it was not an option?


 
Categories: Hardware | Misc | Ramblings | Reviews | Tools and Toys


October 16, 2006
@ 03:45 PM

Some stole Dori Smith’s license plate. It’s a California plate that says “WEB GEEK”.

Plate

If you run across this plate please notify the owner. She just wants it returned, she is not asking for anyone to file charges etc. So if you see it, please follow the link above for contact info and let her know.

Cheers,

Robert Porter


 
Categories: Misc | Ramblings


September 18, 2006
@ 08:47 PM

Robert Scoble had a recent blog post where he wondered why there was not much in the way of interest in the press and blogosphere around Acrobat 8.0. It reminded me why I run as little as I can of Adobe’s products.

Licensing, Code Bloat, Instability, Licensing, Cost, Instability, Cost, Licensing.  You get the point. I have not used or recommended any of Adobe’s PDF related products since version 5.

Versions 6 and 7 were crash prone, and VERY slow to load on my high end (for their time) systems. I have used numerous 3rd party rival products that load MUCH faster, and are a fraction of the cost, have clear licensing and don’t crash every 3rd time you load them.

I have participated in enterprise projects that made heavy use of creating and distributing PDF documents, and in every case the decision was made to go with anyone except Adobe, since even corporate lawyers could not make heads or tails of their licensing, and the cost was always prohibitive as well.

(For fun we had 3 different people call Adobe once, all 3 asked the exact same licensing question of the Adobe rep, all 3 got very different answers!!)

So in conclusion, Acrobat 8 is more of the same, and that makes it un-news.

 


 
Categories: Ramblings | Rant | Reviews


September 15, 2006
@ 11:08 AM

Before the Internet became publically available I used to haunt BBS systems, use things like QWK mail and FidoNET to participate in what was basically an early form of Newsgroups. Then, during the early days of the Internet I used Gopher and similar tools to perform research and stay up to date on topics that interested me. Before any of that was available there were local user groups and local hobby groups. But there has always (in my lifetime) been a user community that was available if you just looked.

Blogs have replaced Newsgroups to a large degree. Let me clarify that before I get a slew of comments or email. I mean for my particular purpose which in this case is staying informed on a variety of subjects.

A good example, rather than haunt the Microsoft Web site looking for the download link to Office 2007 Beta 2 Technical Refresh, I just watched my aggregator, sure enough, within minutes of it being available someone had posted the link and I was off to the download races!

Another example, I was recently using the latest release of an Atlas component and experiencing trouble. Google shed no light, nor did Ask.com or Kodors or any of the other engines, but about 15 minutes of searching through my RSS feeds found no less than 7 posts on the same issue! 6 of which had the fix.

Blogs, tending to be more frequently updated with high signal to noise ratio content, than any other medium, are more and more often my first choice for finding technical answers.

Newsgroups are still better as an interactive medium, but I spend more time than I would rather wading through posts that consist solely of some self elected enforcer being critical of another because they did not ask their question in the right manner, or cross posted it to too many groups, or did not use the correct font and point size for a question about xyz technology!

Anyway, I love Blogs!

Cheers,

Robert Porter

 


 
Categories: Ramblings


August 24, 2006
@ 09:16 PM

A recent article on eWeek by Darryl Taft has that as the title. Not sure the fight is over, but the signs are definitley pointing towards .NET being the current darling of the Enterprise development crowd.

The following is a quote from Bob Muglia, Microsoft’s senior VP of Server and Tools business.

Five years ago we had problems with J2EE [Java 2 Platform, Enterprise Edition]," Muglia said. However, "We've grown from having a quarter of the market to, now, 60 percent," he said. Microsoft displayed the FAM presentations via Webcast.

"J2EE has run its course," Muglia said.

The same article quoted Gartner group as showing that IBM’s Rational is the current front runner for team tools. Microsoft’s Team System is in hot pursuit in that market as well.

What I believe we are seeing is a move back away from the ivory tower approach to software development. Just two years ago the UML was all the rage, and Patterns, Gang of Four style, were what separated the developers from the wannabe crowd. Now even the original authors of the UML have been focusing on using subsets of the specification, in other words the same approach Microsoft took as opposed to the one that Rational took.

And agile techniques have introduced concepts like refactoring to or away from patterns as opposed to attempting to implement patterns from scratch. In other words productivity is again in the driver seat and time to market has trumped design paralysis.

Does this mean Java or J2EE is going to go away? No! Far from it, however Java will probably begin a steady decline and end up with a fate similar to COBOL, e.g. still around, still in use, but only in a fixed and dwindling market segment.

Java is suffering from the same fate that has plagued Linux and the *nixs as a whole. Balkanisation. Remember the write once run anywhere claim that Java proponents made? Try it. Anything beyond the simplest hello world application takes a lot more than a simple recompile. Even on the same platform! If you switch from one application server to another you will most likely break your application.

Now while .NET has never made that particular claim, .NET and Mono has actually come closer to Java’s claim than Java has! No I don’t pretend that .NET is cross platform in all of it’s depth and breadth yet. It may never be, but Microsoft learned from Java, and wrote in essence a better Java than Java. What comes next? I don’t know, but tools and languages have come a very long way since I started programming. And I love every bit of it! I can’t wait for what's next that makes me more productive and more capable!

Cheers,

Robert Porter


 
Categories: .NET | Programming | Ramblings


I decided after ‘experimenting’ with blogging for awhile, to get serious about it. So I am re-launching BlogOfBob as a technical blog with a sharper focus than before, and hopefully with more frequent posts.

Having read Ted Demopoulos’s and Shel Holtz’s book “Blogging for Business” as well as several other resources, I am trying to make this blog more attractive to readers as well as more content rich. Bforb(If you have not read the book do yourself a favor and go get a copy and read it!)

So, that being said, I will be bringing back selected posts from the old blog, and will eventually make an archive version available for the curious.

I have also switched to dasBlog from Wordpress, for a number of reasons. First and formost is that I need more experience with ASP.NET and XML and dasBlog is written using those technologies. So I will be running, and learning the latest and greatest version of dasBlog!

If all goes well, or not, I will blog about my experiences doing this here as well. Especially anything that might add value back to dasBlog!

So stay tuned, more to come. Hopefully this will be enjoyable for all.

Cheers,

Bob Porter


 
Categories: Ramblings


It appears that if you use Outlook 2007 and have Grisoft’s AVG Anti-Virus product you may be sending some or all of your emails with no body text.

The solution is to tell AVG NOT to certify your e-mail, either in or out. AVGOptionsSee the screenshot for the two options that need to be turned off. I did this and Outlook now seems to have stopped firing blanks!

I can’t take credit for the fix, I did a quick Google search and saw a number of posts on the issue.

That being said I am somewhat annoyed that Grisoft has not addressed this issue, since a lot of the posts I saw were at least a month old and AVG is updated frequently.

Lets hope they get it fixed soon.

Bob Porter


 
Categories: Office | Outlook | Ramblings


January 2, 2005
@ 12:41 AM

Hmmm