Lost Weekend: Troubleshooting a MySQL Installation
Spurred on by
Blogger's decision to stop supporting FTP for publishing blogs, I have finally started the long process to implement a
WordPress blog - hosted by myself, not
Wordpress.com. To be fair, I am making this longer than it necessarily needs to be, but I am continuing my efforts to maintain a comprehensive Admin guide for all of my development efforts - configuring servers, installing software, etc.
Needless to say, this adds overhead and time, but it's worth the effort. I have invested around 40 hours of effort over the past four years on the document (an indicator of how often I get back to my development projects). Still, it pays off every time, because I have a reasonably well-developed SDLC and publishing process implemented, and I need to make sure each new project follows established standards - and adds to the standards when necessary.
Enter
MySQL and WordPress - since I will be hosting my own blog, I need a new and different flavor of Development, Test, and Production environments. No more dabbling - I need to tighten up security and document the installation and maintenance processes for the database.
Which is where I hit a wall, of sorts; I could not successfully change the root password on the MySQL database, kept on getting the
UPDATE command denied to user ''@'localhost' for table 'user' message.
Hours of surfing, searching, starting and stopping, installing and reinstalling, to no avail. However, I had seen the
AppArmor framework mentioned a few times, and had seen error and warning messages in the system logs that kept hinting at something in that direction. So I finally followed the advice noted in
this thread, and disabled AppArmor during the MySQL installation process. A few notes:
- Use the Synaptic Package Manager utility to enable / disable AppArmor; I didn't want to throw the whole thing out, just needed to disable (Mark for Removal) and then Install (Mark for Installation), did not want to completely smoke it (Mark for Complete Removal).
- After disabling in Synaptic (Mark for Removal), ran the mysql_secure_installation script from the command line for the umpteenth time - but this time, the password change for root user worked.
- Rebooted the machine, and reinstalled (Mark for Installation) AppArmor in Synaptic.
A quick validation that I could use the MySQL graphical admin tools and
phpMyAdmin, and I was back to getting the Dev instance of WordPress going.
Ah, but now I have to get ready for the work week, and time is ticking away ...
Previously ...Technorati Tags: MySQL, WordPress, development, documentation, hands on, technology
Invisible Technorati Tags: cazh1, James P. MacLennan, jpmacl MacLennan,
Labels: development, documentation, hands on, mysql, technology, wordpress
Underwhelming experiences with Google Wave
Took some time today to work with the new communication meme -
Google Wave. I wouldn't call it a fundamentally new way to communicate - well, not yet. I think Google is safe to continue with a "preview" label - clearly not even "beta" yet. No horrible bugs - at least on the Windows platform - but some obviously missing features. And, I am not all that impressed with the basic idea - it's just a mashup of Google Docs, instant messenger, and eMail.
ProblemsAll of my experimentation has been from a Windows machine - I am experiencing horrible performance issues with Firefox 3.5.3 on Ubuntu 9.04. I freely admit that this might not be a Wave issue - for the last two weeks, all of my Google sites (Mail, Docs, iGoogle, Reader ...) run brutally slow, timing out by graying the browser window. I know it's a weird issue because I can't
Google for an answer (a disturbingly tight loop). Wave refused to even show me the stills from the introductory videos until I disabled
Greasemonkey. Yes, I'm sure it has something to do with my setup, my installed plugins - I'm just surprised that the problems have been this stubborn.
So, to get anything done, it's back to Windows - still using Firefox, but no hint of platform troubles. Just an underwhelming experience with the fancy new toy.
I Am LegendInterconnections on the internet are a wonderful thing; I put out a
Tweet (sic) regarding my Wave invites, and a note in LinkedIn as well. Twitter generated the most responses, with folks I'd never met - great fun to connect like that. The following day, I got a note from someone looking to connect via Wave - I'm guessing from the information that I can see, this person saw one of my original notes via Friendfeed. Amazing how those copnnections were practically spontaneous ...
... while Wave feels like I'm in a walled garden. I still feel very cut off in the Wave world - a different domain from gmail.com means a new address to track, a new contact list to build. And it's difficult to find connections with folks you already know; I received another Wave invite from a friend, but since I didn't need it, I tried to figure out how to connect to him via Wave (I thought it a reasonable assumption that he, like me, has dived in). Unfortunately, I had to resort to an email message and some detective work to find out his Google ID - not something I could explain to most business users.
Yet Another Email ClientYes, I am still at that opinion. Most of the opinions and articles I've scanned make it sound like we are working with a
next-gen email client that does
some of the basics right. I do note that the amplifiers tend to gush a bit, while the attenuators work hard to impress with wit.
Generally ProGenerally ConMaybe It's Just MeOne of my random invites went to
this guy, who's review was a bit more positive than mind. Ok, maybe I'll jump into the
with:public pool and wade around a while - it's probably the only way I'll really
get it. However, I am very willing to be patient and continue the experiment - took me about 3 months to
get Twitter.
Previously ...Technorati Tags: collaboration, hands on, innovation, Knowledge Management, Social Networks, technology, twitter, Web 2.0,
Invisible Technorati Tags: cazh1, James P. MacLennan, jpmacl, MacLennan
Labels: collaboration, communication, hands on, innovation, Knowledge Management, Social Networks, technology, twitter, Web 2.0
Real Business Users and SharePoint
Introducing buzzword-compliant technology like a wiki, or integrated collaboration spaces like SharePoint, will typically go well with a motivated audience like your internal IT department. But if you really want to understand how this stuff works, try it with "real people" - line employees in sales and marketing, operations, and finance.
Sure, you've heard complaints from these folks (they have better PCs at home, the SAP/Oracle UI is brutal compared to Amazon and AT&T U-Verse, and why can't they just connect their new iPhone to the corporate mail server?). Be warned; demanding users are not necessarily technically savvy when it comes to groupware.
Case in point; we are working a rather large project (many months in length, over 100 people throughout the business) using SharePoint as our collaboration space - and learning an awful lot about what we
thought we understood about ease-of-use and intuitive user interfaces. Our collaboration space is a basic SharePoint project site, featuring the usual suspects - a Shared Document library, an Issues list, and an Announcements section. Simple right? Well, maybe not ...
Documents Check In, but they Don't Check OutJust kidding, the actual check-in / check-out mechanism works fine. It's just very interesting that this basic concept of version control is lost on most end-users.
But let's start with the document library itself - it looks like a really nice version of File Explorer, but becomes very frustrating to folks when they try basic tasks like drag-and-drop. Yes, we found the simple solution - there is an option to open the folder in Windows Explorer, but since this menu option is buried right above the file list, it's hard to find - certainly not "intuitively obvious".
Version control was a difficult thing to explain - thank goodness for the tight integration with Office 2007. We found it easier to show folks how to edit documents with a simple double-click - that works just like their shared folders on the old file server! You can explain the concepts of version control quite easily, but the whole check-in / check-out, keep-a-copy-on-your-local-drive thing just gets too complicated. We did have to deal with the one-time task of checking in a new document after you upload it, but after that, they just open the files directly, and that's it.
There is one feature of Shared Document libraries that I really like - the ability to add custom attributes to documents that can appear as columns in the view. Makes it easier to sort / select / search on documents, and people "get it" relatively quickly. Just go easy on the version control.
... Here's a SharePoint TissueI think the most powerful and elegant feature of SharePoint is the flexibility you have with basic list management - even with WSS. Truly, this stuff should cover over half of the "fancy" automation tasks that folks are are asking for. However, I'm still surprised / dismayed by the fact that SharePoint doesn't include a standard graphical indicator - you know, the classic "stoplight" (green is good, yellow warning, red means um, er...). I've written about this one
before - why can't I have a simple datatype (vs. putting together a
sneaky little script to make it work).
I also have a significant warning / insight about trying to do too much with your Lists. Do you realize that most end-users in a typical SMB have older CRTs? I'll bet you still have a large number of 15" CRTs with slightly foggy tubes, on their last legs (but too expensive to change out for all but the executive staff) (ok, and IT too, sorry). In addition - well, let's just say that I'm not the only one whose eyesight is
beginning to fail them; I can't tell you how often I've tried to talk folks into moving their screen resolution higher than 800x600 - but it just doesn't work.
What's my point? Before you put too many columns in your Lists, or too many gadgets on your Site, check with the average user to make sure that it looks okay on their Screen. Heck, before you even begin your design, use SMS or a simple script to poll the user community and find out what kind of screen resolutions have been set. Catering to the lowest common denominator is not a cop-out, especially when the point of a collaboration site is to get people to actually participate!
Push vs. Pull Messaging(Another opinion:) I think most powerful aspect of collaboration sites is the aggregation of all knowledge about a project into a single, searchable repository. When people send project updates or resolve issues / hold discussions over e-mail, all that knowledge is buried and quickly lost inside people's inboxes. In SharePoint, a typical Announcements web part (yes, I know it's just another kind of List) is quite practical as a messaging medium, because folks can sign up for e-mail alerts.
Don't underestimate the attraction of the e-mail. People are used to getting information delivered to them in their inboxes - it's expected! All I'm saying with my Announcements list is that you have to subscribe to the information and pull it towards yourself (versus expecting me, the project manager, to remember to push it to you - and everybody else that might be interested).
Real-world learning: this concept didn't take long to grab hold in our project. It makes sense, people understand it relatively quickly.
On The Good SideDon't get me wrong, there is lots of good that's going on. Now that the larger project is getting used to this new collaboration space ...
- ... our issue tracking list gets better every time someone touches it - and now we have consistent consolidated issue lists for all aspects of the project
- ... we are advancing our state-of-the-art for shared authorship; there is a lot more visibility to who is working on what, and we're getting more participation than a normal project
- ... the combination of all these different pieces - shared documents, issues, announcements, and other things - are massively facilitating communication, and it is noticed by the folks on the team
Yes - these collaboration tools will definitely will bring huge value and streamline communications to your project. Just don't think it's easy or obvious.
Previously ...- Update on Blogs as PM Tools - Tales from the Front Lines (January 20, 2008)
- Butting In to the Conversation: PM Communication Tools (February 26, 2008)
- The Best Way to get Web 2.0 Into the Enterprise (March 3, 2008)
- Optimizing the Wrong Part of Knowledge Management (March 16, 2008)
- The Innovation Generation and User Interfaces (April 9, 2008)
- The Right Web2.0 Tool for the Audience (Twitter, LinkedIn, Facebook) (May 9, 2008)
- Enterprise 2.1: Exiting the Trough of Disillusionment (July 22, 2008)
- Facilitating Innovation: Establishing an Environment of Possibilities (August 22, 2008)
- Is SharePoint WSS dangerous to SharePoint contractors? (February 4, 2009)
- Low Tech SharePoint Hack: Project Status Indicator (March 14, 2009)
Technorati Tags: collaboration, hands on, Knowledge Management, people management, PMO, project management, technology, Web 2.0, wiki,
Invisible Technorati Tags: cazh1, James P. MacLennan, jpmacl, MacLennan,
Labels: collaboration, communication, design, documentation, hands on, Knowledge Management, people management, PMO, project management, SharePoint, Social Networks, tech management, technology, Web 2.0, wiki
Notes from SAPPHIRE 09
Yesterday at work was "catch-up day" from a week at
SAPPHIRE 2009, the annual user conference for SAP. As with the
JDA/Manugistics conference earlier this year, there were concerns that attendance was going to be low, because so many companies are limiting travel expense. At the conference, I did hear that attendance was only was 60% lower than last year.
Conferences like this are great opportunities for IT to do a ton of learning - about the specific technology, of course, but also about the state of mobile computing and collaboration, tools that we are apparently trying to get the rest of the business world to adopt. Experiential learning, real-world experience - always better to talk about something that you know works / doesn't work in a practical setting. (No, I don't suggest you replace Quicken with SAP at home, although that might be a growth area for
BbD).
Twitter at a ConferenceI wrote up my trip report / internal blog entry yesterday (Friday), but I was twittering a lot during some of the sessions, so it was an easy write up - I just cut-and-paste from my personal timeline. Using the Blackberry during the conference was a pretty good experience; I could take fairly detailed notes on what was being said - plus, I can throw out passing Tweets on the way. Near-real time knowledge sharing - very nice for folks in the Tweeterverse, watching the information go by.
Unfortunately, it's a bit difficult to engage in a Tweet-versation with these client devices; the screen is too small, and you only see what you are typing. I did, however, latch on to the #sapphire09 hash tag to come up with a workable monitoring process. I found that
search.twitter.com presents a
decent RSS feed, one that the Blackberry browser consumes quite nicely. I don't know if this is a "native" RSS reader in the blackberry, but it worked amazingly well - I made a
passing mention of one of the sessions I attended, and someone
asked for more detail - so I ended up
tweeting almost every slide.
ApothekerThe Tuesday morning address by Leo Apotheker started with some doom and gloom about the economy, but that was just a lead-in to SAP's new branding message of promoting "clarity" for the enterprise; making pertinent business information easy to access, easy to see. Some of my tweets from the speech … I clearly (sic) have a different editorial style ...
- Apoetheker starting with the doom and gloom #sapphire09 7:38 AM May 12th
- My inner cynic is subsiding - I actually like the appeal for "clarity" #sapphire09 7:42 AM May 12th
- Are "clear enterprises" like "glass houses"? (Sorry, cynic is back) #sapphire09 7:44 AM May 12th
- Is he about to say sap could have prevented the economic collapse? #sapphire09 7:56 AM May 12th
- Ah, just the story of how goldman sachs did ok because they actively manage risk #sapphire09 7:57 AM May 12th
- We need a simple example of how a manufacturer manages risk #sapphire09 7:58 AM May 12th
- SUGEN KPI Framework for enterprise support - nice focus on transparency #sapphire09 7:59 AM May 12th
- Props - a pretty effective live demo of a blackberry enabled work process #sapphire09 8:03 AM May 12th
- The carbon footprint app looks interesting - this is a recurring theme for recent presentations for me #sapphire09 8:17 AM May 12th
- I think its a harsh. retroactive self criticism when this "speedy query" demo admits that a simple query would take 'weeks' #sapphire09 8:27 AM May 12th
- SRO crowd at presentation for information "dashboards" - yet another recurring topic, still unmet need #sapphire09 1:11 PM May 12th
- Sap guy was apparently unable to say "eat our own dogfood", too closely related to microsoft hhh #sapphire09 1:19 PM May 12th
The most interesting areas of Leo's conversation had to do with the metrics being created by SUGEN (not), a collection of all the national user groups (like ASUG). SAP continues to get lots of pushback from the customer base about their increased support fees, and these metrics are going to allow us all to see how SAP is performing.
Plattner
The Wednesday morning address by Hasso Plattner, one of the founders of SAP and a pretty interesting guy, started out like a technical lecture at engineering school about in-memory databases and columnar data. By the end, it had transitioned to a Business Objects demo and a tool "easy enough that a CEO can use it". Here are some tweets from that speech …
- Hasso on speed [sic] - spotlighting the reams of data and the need for decent access tools #sapphire09 7:44 AM May 13th
- Hasso is very professorial - if it weren't for the subject matter, methinks more would pass on the talk #sapphire09 7:53 AM May 13th
- Ok, reading other #sapphire09 tweets now - is a shoe dropping right now? Re sap and hardware ... #sapphire09 7:57 AM May 13th
- Someone should register spaghettibeforecooking.com #sapphire09 7:59 AM May 13th
- Maybe hasso's point is that clarity / speed yap from yesterday is not smoke and mirrors - solid tech supporting this sales stuff #sapphire09 8:16 AM May 13th
- Insert only - like the old one-write accounting systems - ledgers in pen. Make a mistake, back it out. Complete auditability #sapphire09 8:19 AM May 13th
- Is insert only / read only db stuff analogous to RISC chips? Who needs elegance when you think Real Fast. #sapphire09 8:20 AM May 13th
- Head-snapping shift from professor to jester #sapphire09 8:23 AM May 13th
- Hasso rips on EIE processing (everything in excel) #sapphire09 8:24 AM May 13th
- Oh, I think he just said he is talking about t-rex #sapphire09 8:29 AM May 13th
- Hasso is definitly tech at heart, rips into classic demo style of demo on mini data set #sapphire09 8:30 AM May 13th
- hasso's enthusiasm is honest, like the literate engineer given a moment of exec management's attention #sapphire09 8:34 AM May 13th
- Awesome animated pipeline #sapphire09 8:41 AM May 13th
- Boy he started slow but has he hit stride in last 10 min #sapphire09 8:43 AM May 13th
- Table scans not considered harmful #sapphire09 8:48 AM May 13th
This was pretty interesting technology - high-speed, insert only databases. Not sure what that means for the long term of our existing databases, data warehouses, and hardware. But hey, it's only capital - right?
Elsewhere On the WebPreviously ...- Two observations from SAPPHIRE (April 24, 2007)
- Supply & Demand and Expectations for SAP talent in the US (April 30, 2007)
- Innovation That Matters - Substance Over Style (January 12, 2008)
- Five More Realities for Driving Business Value from Technology (January 30, 2008)
- The Innovation Generation - Communication Styles (April 1, 2008)
- Opportunistic Insights from the RSS Stream (June 5, 2008)
- On the Road: Business Travel, Fall 2008 (October 13, 2008)
- Field Notes: Video Conferencing for Business Conversations (March 22, 2009)
- Five Stages of Twitter Relevance (April 21, 2009)
Technorati Tags: blackberry, collaboration, SAP, sapphire, sapphire09, #sapphire09, technology, twitter
Invisible Technorati Tags: cazh1, James P. MacLennan, jpmacl, MacLennan
Labels: #sapphire09, blackberry, collaboration, hands on, SAP, technology, twitter
Practical Applications of Twitter in Manufacturing?
Over the past few weeks I've had a couple of interesting discussions about the introduction of Twitter to Manufacturing. When someone poses a question like this to me, it throws me for a minor loop, because for very basic, practical reasons, it just doesn't seem to apply. More keyboards & data entry on the floor? Not likely.
However, a few months ago I wrote this rather
breathless item, expounding on a brainstorm regarding the use of
YouTube and
Twitter in a manufacturing setting. Back then, my summary point was about the value of alternative mechanisms for capturing and distributing
process documentation. I noted that Twitter was less intimidating than other
documentation tools - it's all about capturing status or best practices. But after the past few months of heavier use (
@jpmacl), I typically explain Twitter as a keyboard-enhanced conversation - a "false path" for
Lean aficionados if you are trying to capture knowledge (the
Archaeopteryx of Manufacturing
KM?)
But Twitter as an alternative communication medium for folks on the floor? I really don't think it's a good fit - and this is based on practical experience as well as a little common sense.
The Tweeter as Information SourceAre you trying to understand how Twitter would work in your environment? Don't think you can get it right without some decent hands-on time. You'll find that it's very intrusive - not something that you want on 100% of the time. For me, it makes sense when I'm catching up on notes for the day, clearing e-mails, scheduling meetings, or other lighter work that doesn't suffer greatly from periodic chirps from my
Tweetdeck. It's running on the second monitor; every once in while I will glance over to scan the latest potentially valuable conversations to jump into.
This scenario would
never work on the manufacturing floor. There's no way the Environmental Health & Safety folks will allow
anything to distract folks from completing the tasks at their workstation.
Besides, hitting the keyboard for status updates is exactly the kind of non-value-adding data entry that Lean mavens are working to eliminate. Note that when I say "non-value-adding", I am referring to
Finished Goods; standard work, training and knowledge retention are important in a Lean world, but not while you're actually getting work done.
The Tweeter as Information ConsumerOn the other hand, if there is a Tweetdeck-style application available, running on a screen that is visible to an entire workcenter - well, maybe the folks on the floor can be _consumers_ of Tweets. Then again, it's just another
RSS application, nothing Twitter-specific.
Web 2.0 Technology and ManufacturingAre manufacturing firms using Twitter? I'd say that few are - and it's based on the "personality" of a typical manufacturing company.
- IT is typically <3% of total revenue - not an environment that fosters experimentation / cutting edge IT work
- Lean is a growing force in manufacturing, and Lean is decidedly anti-computer - so no one will have a keyboard at the ready to start Tweeting!
Now, to be fair, you could cherry pick high-tech manufacturers; certainly, there are many engineering departments that are sharing information and communicating real time. But when I hear "manufacturing" I'm thinking line managers, shift supervisors ... not typically the keyboard types. They like their
push-to-talk phones, and that's really all the instant communication they need.
Aren't there any potential benefits of Twitter for manufacturing? Directly - not much, I'm afraid. However, as with any area of the business that traffics in knowledge capital, the Design Engineering and Manufacturing Engineering folks might find benefit in information-sharing collaborative networks and "real-time" connections.
Note, however, that I am greatly interested in hearing counter-examples of the above. Anyone aware of interesting Twitter-ing on the floor?
Previously ...Technorati Tags: best practice, collaboration, hands on,
innovation, Knowledge Management, operations, productivity, supply chain, technology, twitter, Web 2.0,
Invisible Technorati Tags: cazh1, James P. MacLennan, jpmacl, MacLennan,
Labels: business value of IT, collaboration, documentation, hands on, innovation, Knowledge Management, supply chain, technology, twitter
Field Notes: Video Conferencing for Business Conversations
This past week saw my first experience with
video conference calling - something obvious to consider in these tight economic times. Some observations -
- I got quick feedback that my original camera position was disconcerting for the others. I had put it off to the side, which made me look “off camera”, almost in profile, while in conversation. As I thought about it, I agreed - because if I was looking at me, it would be weird / annoying. I do not like it when the person I am talking with is not looking me in the eyes.
- On that note - when we're in a conversation, I'm typically looking at a 6” circle around your eyes. When on a business / working video conference, however, I’m looking at a 2 x 2 inch square picture of the speaker - because we all have other windows open, looking at documents / programs under review. It’s feels more like a “talking heads” newscast than a conversation ...
- … but you have to take the good with the bad. The ability to bring up a spreadsheet or presentation or application on a shared screen is quite powerful - participants can “see what I see”. You just need to understand that this is a multimedia conversation, and not simply a replacement for a phone call.
- On the other hand - my family uses Skype to stay connected with our daughter away at college. When we make the call, we’ll flip the video feed to full screen - and since the web cams on our respective laptops are perched right above the screen, our eyes are focused reasonably close to the other person's face. Simple conversational video calls, without the multitasking overhead, are reasonably effective.
- Microphone configuration is also very important; some folks are using headsets, while I use the microphone incorporated in the video camera. I prefer this arrangement; I’m already comfortable with using a speakerphone on normal calls, and prolonged use of an earpiece gets a bit annoying. The key, however, is to get everyone to correctly configure microphone settings. Everyone's volume was a little different, and it impacted the smooth flow of conversation.
- We are using inexpensive web cams, not highfalutin’ conference calling hardware. In this scenario, the system does a reasonably brilliant job of flipping camera control to whoever is speaking. This seems obvious, but I noticed that when I was speaking, your remote view doesn't bother flipping to your feed - it stays on the last speaker. This can be a tad disconcerting if that person reverts to typical conference call habits, and looks away / does a little multi-tasking.
- I also noticed that people were much more cautious, or overly polite, about talking over one another. I assume that as we get used to holding conference calls in this format, we’ll get more comfortable with the interruptions.
Later in the week, I had a long conversation with a colleague in Germany. Here, the video call format is very effective. Typically, I prefer face-to-face conversations to phone calls - you can react when someone's facial expressions signal a lack of agreement or comprehension. Of course, this is not practical with
meine freunde in Deutschland, where language differences exacerbate the situation. The video call solves that problem immediately and effectively - I found myself communicating in face-to-face mode now, with hand gestures (ex.
air quotes) and facial expressions indicate agreement, keep the conversation moving along.
Like any bit of technology, reality is not as smooth as the sales pitch makes it out to be, but still a very effective tool, and something that can be experimented with quite inexpensively.
Experimentation leads to experience, leads to effectiveness.
Previously ...
Technorati Tags: collaboration, hands on, Knowledge Management, productivity
Invisible Technorati Tags: cazh1, James P. MacLennan, jpmacl, MacLennan
Labels: collaboration, hands on, Knowledge Management, productivity, technology
Another Take on Enterprise Open Source
Today's best conversation was with Christopher Young, of
B2BSX, a startup software exchange where corporate IT departments can buy and sell their development efforts, and make a little cash to offset stressed budgets. It's an interesting idea, and spawned some ideas in a couple of different directions.
Andy Hardy, IT DirectorEvery company I've
worked for has toyed with the idea of selling some of their custom-developed stuff - well, every company except the first one, since it was a software development house (we weren't
playing around). My "growing up" years as a developer have really jaded me on the idea of selling the deliverables from IT- or business-funded projects, typically for one simple reason - everyone
underestimates technical support.
Operating systems change, DLL or JVM dependencies must be managed, and no one reads the manual -
they all want support over the phone. Unfortunately, wide-eyed project sponsors or IT directors with dreams of P&L responsibility see COGS limited to the price of a CD, and revenues that match their ERP packages -
it's not that simple.
Vertical Open SourceA solution, as presented by B2BSX, is to tweak the open source model a bit, offering source code for specific customizations, at low cost (well, much lower that building it yourself, I would assume). No long term warranties, no 1-800 support lines, you are on your own - but you are getting pre-built solutions that you can adapt into your own business, jump-starting your efforts with a basic shell, and adding your own refinements later.
I think of it as highly verticalized open source - sounds like they are limiting things to SAP right now, and I'd expect to see very specific solutions listed. By vertical, however, I'm thinking about reports / queries /
wrappers that are very specific to a particular type of industry - the "long tail" of software niches, where most IT departments really do need to tweak that "collection of
best practices" you were sold. I'm expecting to see stuff that is too specialized for a global software company to bother adding to their product.
<aside> Maybe the "long tail" of ERP requirements is where the untapped value is for those guys ... </aside>
Custom Often Means Really CustomOf course, there are still predictable hurdles for this model - not the least of which is the fact that this stuff is written by corporate IT. Hey, most of
us have short deadlines and long backlogs, and little experience developing flexible software architected for iteration and flexibility. "Hard Coding" stuff is an academic Bad Thing that is often required to git 'er done (yes, I went there ...). Chris characterized this as software with
tentacles, reaching all over your portfolio and gripping on tight - makes it tough to pull out and wrap into a nice package.
There may also be IP concerns - something to work carefully through with your legal department. Note: don't think that Legal has little to offer here, because every company should have some concern about IP and competitive advantage, even if you are not in the software industry. You should be maintaining control of your software IP when you customize
COTS or
contract work out - now might be the time to leverage it!
We're All from Missouri I have no idea yet whether this exchange idea makes sense - but it could be just the time to look into this. We're all under budget pressures, and
Mr. Young tells me that once you get the basic relationship set up, putting software out there takes very little effort.
Maybe this is where the real future of ERP is going. What if our maintenance fees kept increasing, but the acquisition costs plummeted - all the money is in the add-on services? The Xerox model, where you give away the copiers and sell toner and paper? Gives a whole new meaning to the term "copy protection" ...
Previously ... Technorati Tags:
business value of IT, design, development, entrepreneur, innovation,
SAP, tech management, technology,
Invisible Technorati Tags: cazh1, James P. MacLennan, jpmacl, MacLennan,
Labels: application development, business value of IT, development, hands on, innovation, SAP, tech management, technology
Hacking the Google Chart API from Excel
a bit of code on a Saturday night ...I've
written before about a simple way to measure and report IT value to the business - quantifying alignment with strategic initiatives project spend in context. It all culminated with a single, simple slide - numbers, with some Tufte-esque Sparklines thrown in.
Click on the picture for a full-size image!
Well, technologies come and go, and without going into the boring details, I've had to come up with a new way to generate the mini-bar charts along the left side there. It ended up being a relatively straightforward task in Excel VBA - yes, of course the table of data is being driven from a spreadsheet.
Here's the macro that does the trick - I just create a little HTML file that generate the bar charts in series (please excuse the hard-coding) ...
Sub CreateSparklinesDisplayFile()
Dim sOutFile As String
Dim iStartRow, iStopRow As Integer
Dim iStartCol, iStopCol As Integer
Dim i, j As Integer
Dim sDataString As String
sOutFile = "C:\Temp\BizUpdates.html"
iStartRow = 45 ' First row of data to be graphed <<< Evil hard coding!
iStopRow = 51 ' Last row of data to be graphed
iStartCol = 12 ' First column of data to be graphed (includes column of series names
iStopCol = 24 ' Last column of data to be graphed
Open sOutFile For Output As #1
Print #1, "<html><head><title>BizUpdate Sparklines</title></head>"
Print #1, "<body>"
Print #1, "<p>Sparklines for last 12-months spend, IT Projects, by Initiative</p>"
' Loop thru the lines in the table to generate the separate sparklines
For i = iStartRow To iStopRow
Print #1, "<P>" & Cells(i, iStartCol).Value & "</P>"
Print #1, "<img src='http://chart.apis.google.com/chart?"
Print #1, "chs=100x35" ' Size (length x height) of final graphic
sDataString = "&chd=t:"
For j = (iStartCol + 1) To (iStopCol - 3)
sDataString = sDataString & Cells(i, j).Value & ","
Next j
sDataString = sDataString & "0,0,0|0,0,0,0,0,0,0,0,0"
For j = (iStopCol - 2) To (iStopCol)
sDataString = sDataString & "," & Cells(i, j).Value
Next j
Print #1, sDataString
Print #1, "&cht=bvs"
Print #1, "&chbh=a,2"
Print #1, "&chco=CCCCCC,FF3300"
Print #1, "&chds=0,100,0,100'"
Print #1, "title='" & Cells(i, iStartCol).Value & "' />"
Print #1, ""
Next i
Print #1, "</body>"
Print #1, "</html>"
Close #1
End Sub
The output file looks something like this (a simplified version ...)
<html><head><title>BizUpdate Sparklines</title></head>
<body>
<p>Sparklines for last 12-months spend, IT Projects, by Initiative</p>
<P>Cost Reduction</P>
<img src='http://chart.apis.google.com/chart?
chs=100x35
&chd=t:52.25,65.3,72.15,33.15,33.95,33.65,47.7,92.88,79.49,0,0,0|0,0,0,0,0,0,0,0,0,70.57,87.85,55.25
&cht=bvs
&chbh=a,2
&chco=CCCCCC,FF3300
&chds=0,100,0,100'
title='Cost Reduction' />
<P>Growth</P>
<img src='http://chart.apis.google.com/chart?
chs=100x35
&chd=t:67.05,88.25,85.61,95.25,86.70,55.49,54.75,81.19,65.62,0,0,0|0,0,0,0,0,0,0,0,0,55.65,42.05,18.41
&cht=bvs
&chbh=a,2
&chco=CCCCCC,FF3300
&chds=0,100,0,100'
title='Growth' />
</body>
</html>Some things I noted when constructing this stuff ...
- The Google Chart API seems to be picky about the order of the various parameters. I had some troubles getting the charts to work unless I output things just so
- I can control a lot about these graphs, but I couldn't get rid of the x-axis. Yes, there is a chart type for "sparklines" (cht=ls), but that's for line graphs only
- I am calling out the last three months spend in the table, so I want to highlight them in the charts, hence the little hiccup in the j loop
I can publish a version of my spreadsheet that puts it all together, just let me know ...
Previously ...Technorati Tags: application, business value of IT, development, documentation, hands on, presentations, Excel, VBA,
Invisible Technorati Tags: cazh1, James P. MacLennan,
jpmacl, MacLennan,
Labels: application development, business value of IT, development, excel, hands on, presentations, technology, vba, visualizations
Third Time's the Charm? Blackberry Bold
I recently had to part ways with my
Blackberry Pearl - some
heartache, I suppose, but time and product innnovation march on. There is a lot to like about the
Blackberry Bold - I am definitely happy to have made the change ...
<aside> ... although my inner conspiracy theorist sees a case of planned obsolescence. Apparently, others have experienced the same problem - a sticky trackball that refuses to scroll down. Try as I may, nothing would improve the situation - and so I was compelled to upgrade. </aside>
- Acceptable Form Factor: Yes, the Pearl was "perfect" because of it's candy-bar size - unlike the classic 7200 series, which felt strange when held up to your ear as a cell phone. Bottom line - the Bold still fits comfortably in jacket, shirt, and pants pockets. Plus, when I'm using it as a phone, I've typically got the Bluetooth headset plugged in.
- QWERTY is Back: You can get used to the predictive typing on the Pearl's compressed, two-letters-to-a-key keyboard, but the Bold's "standard" layout has help reduce my typos considerably (alas, I have to take ownership of misspelings again).
- So That's What WiFi is For ... It didn't register until I connected to my local Tomato to get out to the intarweb - much faster than anything I'd ever seen before, very useful.
- Improved Screen: More real estate really helps here, and the applications are much more useful. Not just the "native" Contacts, eMail, and Calendar clients, but the web browser as well; pages just render better on this thing. I mean, it was usable before, but now it's actually quite effective.
- More Applications: A few more games, big deal - I don't play in meetings anymore. However, there is a wide range of free, Blackberry-aware apps that are really useful - the Google suite, of course, plus Facebook and the Wall Street Journal. I've even re-downloaded Twitterberry, which has made a few updates since I last played with it (trying microblogging again ...)
<aside> I heard of a law firm, touting the effectiveness of their corporate-supported iPhones with enthusiastic praise for the Bloomberg application. "How wonderful", says the barrister, "that we can proactively contact our clients when a story comes across the wires involving their firm". What do they call that app - iAmbulanceChaser? </aside>
- Subtleties that Really Deliver: No, I'm not an iPhone hater - but I have discovered a number of little features - not widely talked about, but spot-on useful - that apparently are not matched in the BBKWT. Face it - the Blackberry is spooky self-aware that it's a phone, first and foremost; open up an eMail, and if a phone number appears in the body, you can click on it to initiate a call. Or start a conversation with Messenger, and click the green phone button - a pop up asks if you want to call the person you are chatting with. Nice.
- My Desktop: I also like the fact that I can add custom folders and rearrange icons, even moving them within these new folders. The home screen gives me space for six icons, so I've got a folder for messaging apps (email, gmail, IM, SMS, and tberry), Internet apps (browser, Google apps, WSJ, Facebook), plus direct licks to calendar, contacts, and Google Maps (my fave application for the handheld).
No, it's not perfect - I don't understand why I can't create shortcuts for my favorite web sites (
Bloglines,
Ping,
Weather Underground, etc.) in the folders - but I can see myself growing more independent from the
luggable [notebook]. If I could only get a decent
VNC client ...
Previously ...- eMail on Blackberry Changes Definition of Acceptable eMail (September 19, 2005)
- My first month with the Blackberry Pearl (February 26, 2007)
- Rare event: Design problems with my Blackberry Pearl (May 24, 2007)
- New Twitter features starting to make things more relevant (June 3, 2007)
- Communication is the responsibility of ... (August 19, 2007)
- Innovation That Matters - Substance Over Style (January 12, 2008)
- The Innovation Generation and User Interfaces (April 9, 2008)
- Stretching Your User Interface Design Muscles (April 16, 2008)
- Finally! Relevant Applications for YouTube and Twitter in the Enterprise! (July 11, 2008)
- On the Road: Business Travel, Fall 2008 (October 13, 2008)
Technorati Tags: blackberry, design, hands on, innovation, productivity, technology, twitter
Invisible Technorati Tags: cazh1, James P. MacLennan, jpmacl, MacLennan,
Labels: blackberry, design, hands on, innovation, productivity, technology, twitter
Excel 2007 is a BOB system (Bag'O'Bugs)
I am getting seriously aggravated with the flighty behavior of Excel 2007. Yes, I acknowledge that the spreadheets in question is quite complicated ...
- shared VBA modules in an XLA file
- database read/write using ADO
- array-manipulation for ranges of cells (see this post)
- lots of macro (VBA) logic to control look/feel of the tabs
- code to automatically insert formulae into cells
... and so on. However, some of the observed flightiness is specific to the
UberSheet, while other weirdness happens with even the simplest files.
Obtuse Errors that Don't Break in Excel 2003: One of the big, complicated macros does a lot of formatting, so tables of data look nice when printed out. And yes, I freely admit that some chunks of my code are derived from recorded macros, and not 100% hand-crafted goodness. So, when a certain set of circumstances are in place, I get the
Run-Time Error 1004: Unable to Set the LineStyle Property of the Border Class error message. A Google search turned up
this little item, calling out a known bug in Excel 2002. The macro recorder generates something like this:
With Range(Cells(iRow, iDataStartCol), Cells(iRow, iDataStopCol))
.Borders(xlEdgeBottom).LineStyle = xlLineStyleNone
End With
... but if I make this minor change ...
With Range(Cells(iRow, iDataStartCol), Cells(iRow, iDataStopCol))
.Borders.Item(xlEdgeBottom).LineStyle = xlLineStyleNone
End With
... the errors cease. Again - the
original error is from Excel 2002, it never breaks in Excel 2003, but fails intermittently in Excel 2007. Nice.
Taking Features Away: I can be a stickler for sharp-looking presentations, and I've written about one of my favorite
PowerPoint best practices - creating complex pictures or tables using a separate application like Excel or Visio, and then pasting into the PPT as a
metafile. Unfortunately, Excel 2007 has broken this handy feature - by inexplicably making it unbelievably difficult to
copy to the clipboard, and then
ruining the metafile that gets pasted. It's not PowerPoint 2007's fault - the metafiles I cut and paste using Visio still work perfectly!
The Pause that Refreshes ... Something: When loading a file from shared folder, extra stuff happens that I can't explain
- Lower left on the status bar - message saying Contacting \\my.domain.server for information. Press ESC to Cancel appears, and we wait a bit ...
- Then, a message appears lower right on status bar - Opening filename.xls - with a nice little progress bar.
- When I save the file, a dialog pops up - Saving filename.xls - with a nice little progress bar. (Why the marked difference between Load and Save status indicators?)
The Pause that Annoys: This last one is the most frustrating (and disturbing!) for me. Among heavy Excel users, I've seen 50/50 split - some hate the ribbon, some are ambivalent - but all long time users love their keyboard shortcuts - especially the oldsters among us that remember
Lotus 123 and
Quattro Pro (first with tabs - rah!). For ages, Microsoft has supported the "/ menu" - a throwback to 123, and a boon to those speed demons who would eschew the
rodent. For years now, I've deleted rows using
/edr[enter]. I can slow that down a bit for clarity ...
- Edit (menu)
- Delete (menu option)
- Entire row (radio button on a dialog)
- (Enter key makes the row disappear)
... but when I'm in the zone, I can type
/edr[enter] /edr[enter] /edr[enter] /edr[enter] and nail a number of rows very quickly. Well, ok, I
used to be able to do that; unfortunately, Excel 2007 (
Bob) has introduced a weird little delay between steps 2 and 3. This means that the default option on the dialog (
Shift cells up) does not change to
Entire row. The r keystroke is lost to the bit bucket, I hit enter - and now my spreadsheet is ruined, because I've taken a cell out (and "broken" the rows below) instead of taking the whole row out. This can be a very tricky problem, because you may not notice it right away, and it can be difficult to see the cells you've deleted (instead of rows) until the sheet is a real mess.
No idea how to get to root cause on these issues, and I'm certainly not
blaming Excel for the latest Wall Street
problems. Still, folks need to be mindful of very subtle differences in this "new" tool.
Previously ...Technorati Tags: development, hands on, presentations, technology,
Invisible Technorati Tags: cazh1, James P. MacLennan, jpmacl, MacLennan
Labels: development, excel, hands on, powerpoint, presentations, technology
Linkfest: Data Visualization
I'm a long-time fan of effective visualizations, and I've often written about the effective use of visual information when making presentations or communicating complex information. I've subscribed to my share of blogs and feeds on the topic, and have amassed quite a backlog of interesting links ... presented here for your hyperlinking enjoyment ...
Best Blogs
information aesthetics - If you appreciate the good stuff when you see it, and like to see the best (to stimulate your own thinking), this is a great resource
kottke.org - a broad range of topics, but they have posted a lot on information visualizations - this tag link will take to to the latest and greatest
General Reading
Amazing insights into the relationship between information overload and visual thinking (Chuck Frey) - Slipping some mind-mapping in the discussion of the ability of effective visualizations to help comprehension in a saturated environment.
Stunning Examples
Track Hurricanes On Stormpulse (via TechCrunch) - A great example of both historical data visualization and effective analytics interface design
Baby Name Trends (via kottke.org) - A classic web / info applet - Martin Wattenberg's Name Voyager - mau have been surpassed by NameTrends. This one is significant because it's a nice example of sparklines in production.
Other Good Stuff
Info Design Patterns (via information aesthetics) - Sophisticated collection of design patterns
Track-n-Graph (via information aesthetics) - Interesting free web service
Google Visualization API (via information aesthetics) - They're everywhere ...
Facebook Social Network Graph (via information aesthetics) - I've finally put a bit of work into Facebook - I'm beginning to understand it to be a necessary complement to LinkedIn - so this application looks interesting. Of course, I need to get more than three "friends" ...
catalog tree (via information aesthetics) - This site is loaded with a wide variety of infographics - definitely will get the creative juices going
Previously ...
Technorati Tags:
design,
innovation,
presentations
Invisible Technorati Tags:
cazh1,
James P. MacLennan,
jpmacl,
MacLennan,
Labels: design, facebook, innovation, presentations, technology, visualizations
Does Excel 2007 VBA have Sneaky Hidden Issues?
Does Excel 2007 VBA have Sneaky Hidden Issues?
I've done a lot of coding over the past few years, on a number of platforms - but since I'm not a full time developer, it's typically limited to VBA, PHP, SQL, some simple web stuff. Still, I've developed some tools that people use - and need to carry forward as the underlying technology moves along. And so, as I've finally made the leap to Office 2007, I had to come to terms with yet another VBA upgrade.
I remember the move from Office 2000 to 2003 - the large number changes in Excel's VBA object model was surprising. I didn't have to rewrite as much this time around, but I did make some interesting discoveries ...
Macro Security
They certainly don't make it easy to lighten up your macro security! By default, Excel 2007 comes with macro security set to High (or harsh, or Suspicious, or something like that). For most of my stuff to work, we need security set to Low - friendly, trusting, etc. The step-by-step process is comical - they are really trying to hide this stuff ...
- From your Excel spreadsheet, click on the Office Button - the nice, round, logo'd guy in the upper left corner
- Click on the Excel Options button (at the bottom of the dialog that pops up)
- In the left-hand column, click on Trust Center
- Click on the Trust Center Settings button
- In the left-hand column, click on Macro Settings
- In the Macro Settings sections, select the radio button for Enable all macros ...
- Exit the workbook, then open it up again - the spreadsheet should process just fine
Workbook_Open()
This is a strange problem - the Workbook_Open() event just does not want to fire. This always worked perfectly for me in Excel 2003, but not in the newest version. I'm not too wrong here - this has previously been seen "in the wild" (here, here, here, and here ... Google your problems away ...)
The Fix: Copy the contents of the Workbook_Open() event into a new Public subroutine, called Auto_Open. All will work as you expect it.
Confusion: this one frustrates me to no end - I haven't found a reasonable explanation of why this happens - but this afternoon, I saw the Workbook_Open() event work as expected in one spreadsheet, yet fail in another. There are some tantalizing clues in this post (something to do with ambiguous names?), or maybe this post (objects copied from one project to another having mysterious interactions?)
VBA cell operations slow down
If you use a VBA procedure to write values to a range, most people would probably create a loop and write the values one cell at a time. This is not the fastest way to do things, and for Very Large Ranges, you will see some performance degradation. (Walkenbach, of course, has the best write up here). Well, I thought my code was reasonable, but my slow-ish code got much worse under Excel 2007. Looping through a range of cells actually slowed down as you progress through bigger and bigger ranges - I put some breakpoint messages in there, and it was sad to see, I was you will be forced to rewrite these sections as outlined in Walkenbach's method - note that his post is many years old, and this method works in Excel 2003 as well. After I did my rewrites, because the slowdown was brutal, and goodness! My routines are an Order of Magnitude faster! I felt the need to drop a quick note to the users, letting them know that the spreadsheets still worked - the instantaneous response time was not indicative of skipping code.
Hmmm: This behavior, combined with the previous problems with Workbook_Open(), plus a few 1004 bugs (mysterious code that never seems to indicate what the real problem is ...) makes me think there are subtle memory management problems in this version of Excel VBA. Nothing that makes me swear off VBA forever - you just need to be smart about your VBA projects. Excel is for light-duty programming. If you think your project is getting unwieldy, consider another platform - don't let Excel be the hammer for every nail that you see.
AutoFilter
Columns that allowed "selectivity" via the AutoFilter command act differently when brought up under Excel 2007. Not necessarily an issue - unless your macros try to manipulate these things programmatically. I do this a lot, but I found I've been overcomplicating things ...
Before
' Clear AutoFilter settings
wst.Activate
With ActiveSheet
If .AutoFilterMode Then
For i = 1 To .AutoFilter.Filters.Count
Selection.AutoFilter Field:=i, Criteria1:="="
Selection.AutoFilter Field:=i, Criteria2:="="
Next i
End If
End With
After
If ActiveSheet.AutoFilterMode Then Selection.AutoFilter ' take off autofilter
Selection.AutoFilter ' put it back on again
Ribbon vs. Menu
The new Ribbon approach for commands across the top of your documents means the Menu meme is dead. After you get used to finding your way, it's not really a big problem - unless you have coded custom menus for your macros. They won't entirely disappear - they get shuffled off to the Add-Ins tab - just not as convenient.
All in all ...
Am I surprised by the glitches? Not really, but I am pleasantly surprised by the relatively small number of problems my past automation efforts experienced. When they moved from Office 2000 to Office 2003, I had many more problems - Microsoft made some basic changes to some of the Excel objects, and the fixes were not backward compatible. This time, however, folks can use either Excel 2003 or Excel 2007 to use most of the stuff I've created for them - but seriously, shouldn't you get around to converting already? You are running out of excuses.
Guaranteed To Work Under Excel 2007 (?!?!)
What, are you kidding me? I tested my spreadsheets a lot, but it won't surprise me when someone comes up with a use case / scenario that I didn't check for. Just tell your end users to continue with that terrific patience they have shown over the years, and to let you know if/when you see things that don't look right. Hint: encourage them to call you over to their desk when issues occur, so you can take a look at the screen. Screen prints cut and paste into emails, or lengthy explanations over the phone just don't cut it.
Previously ...
- The good and the bad about being a hands-on tech manager (January 25, 2005)
- If you want to be more than a programmer, stop programming (April 8, 2005)
- Fighting with MS Access and version incompatibility (September 26, 2005)
- Code Mover / Transport: Managing source, environments, and deep-diving into multiple technologies (November 6, 2005)
- Look your best with little effort - Excel, Project VBA for Page Formatting (June 11, 2006)
- Three Best TLAs of all time, the hegemony of Excel, and the Intuitive Front End (August 12, 2006)
- Excel vs. RDBMS: Choosing the Technology, Winning the Arguments (March 11, 2007)
- The Joy of Programming, the Challenge of KM (May 5, 2007)
- Stop Thinking, Start Doing - Else Your Career/Skills/Network Will Fade Away ... (January 2, 2008)
- Stretching Your User Interface Design Muscles (April 16, 2008)
- There ain't much IT in IT Management (May 7, 2008)
- Home Development Workstation - Part 1 (May 13, 2008)
Technorati Tags:
application,
development,
hands on,
vba,
technology
Invisible Technorati Tags:
cazh1,
James P. MacLennan,
jpmacl,
MacLennan,
Labels: application development, development, excel, hands on, technology, vba