Sunday, June 19, 2011

Hitting the Muggles from All Sides

The theme of the June INFORMS Blog Challenge is "O.R. for Muggles". I mention that at the outset because I do not want to be accused of using the word "Muggles" to drive search engine traffic to my blog. (For that I use references to naughty videos featuring Dumbledore.) The rationale for the theme is articulated as follows:
[T]hese conversations tend to reach an already involved audience. We’d love to spread the word about OR/MS and analytics to a wider audience.
 So we shall assume here that "Muggles" are people who are not part of the O.R. community (and not students likely to join the O.R. community).

If our goal is to spread the word about the value of O.R. and analytics, and particularly if the ultimate aim is to generate work for O.R. experts and to raise its prestige (and priority) in academic institutions, we might want to adopt a three-pronged strategy.

Top Down


This approach targets C-level executives (or at least executives as high in the corporate food chain as we can reach) along with their governmental counterparts. The key is to convince them that they can achieve competitive advantage using O.R. and analytical modeling (or that they will suffer a competitive disadvantage if they fail to do so). Hopefully they will then give marching orders to subordinates to seek out opportunities to exploit this wonderful new (?) type of magic.

Business honchos are famous both for being very busy and for having short attention spans. Discussing mathematical or statistical details would be the kiss of death here. What might work would be to present them with short, non-technical but compelling stories of organizations that have benefited significantly from O.R. or analytics. Benefiting from O.R. models hard-coded into "canned" software is not what I have in mind; the stories need to involve customer-specific analysis by human (or plausibly human) experts.

I'm pretty sure consultants have been doing this for years, and I think INFORMS is doing a decent job as well. Publicizing the Edelman awards is a step in the right direction, although my impression is that the Edelman videos are way too long to engage a C-level executive. We should probably be doing more along this line, though, perhaps including more focus on non-profits and government organizations. How you get to these people is a question above my rather modest pay grade. Articles in key publications (Forbes? Business Week? Harvard Business Review?) may be part of the answer. Guest speakers at business round tables may be another component.

Bottom Up


Here we try to plant seeds in the minds of students about to enter the working world. I don't mean students majoring in O.R., industrial engineering, management science and augury (oops, make that "analytics"). We need to target generic business students (especially MBA candidates) and try to convince them that there is an arsenal of really useful tools that may avail them down the road (provided they acquire artisans capable of using those tools).

I'm inclined to grade our performance here as at best a C. When I began my academic career (about the same time transistors -- not integrated circuits -- were pushing vacuum tubes out of the computing business), it was fairly common for both undergraduate and graduate business curricula to include mandatory "quantitative methods" courses. Unfortunately, we tended to shoot ourselves in the foot (repeatedly) by putting way too much emphasis on theory and hand computation, too little emphasis on the business consequences of the solutions to the models ("you will save $XXX") ("and earn a quick promotion"), and way too little emphasis on problem identification and classification (where you will actually see this problem in the "real world", how your problem might be amenable to a "transportation model" even though it has nothing to do with transportation, why your actual mess will not be nearly as neatly structured as a textbook problem, etc.). This was exacerbated by a lack of user-friendly software, or perhaps any software at all.

The result was that we produced, at least in the U.S., generations of business graduates who's main take-away from their quant methods course was that they hated it and never wanted to deal with that stuff again. Their lack of enthusiasm when giving feedback to administrators paved the way for other disciplines to push aside quant methods courses and grab their space in the curriculum.  Quant methods is still required at many schools, and is very popular at some, but its "footprint" in the curriculum is often diminished, and it is all too frequently no longer required at all (excluding perhaps a basic statistics course).

Software and hardware are ubiquitous now, and the software quality is quite good. Based on recent market-leading textbooks, though, I believe we are still focusing general quant methods courses heavily on application of specific O.R. tools (linear programming, simulation, decision trees). Some skill building is fine, but it is hard to say whether planting graduates with good skills at small-scale modeling in supply chain, marketing or finance positions will lead organizations to attack larger and more complex problems (where O.R. analysts are needed), or will diminish the need for workers with O.R. training (because the generic business graduate can do enough of the analysis on his or her own). Perhaps more critically, it is not clear to me that a non-O.R. graduate with decent modeling skills for the scope and scale taught in a classroom will necessarily be able to identify larger opportunities that would justify bringing in consultants or creating an internal O.R. group.

The key here may be to dial back a little on teaching specific models and algorithms, and put more emphasis on general modeling and problem-solving skills (including recognizing the actual problem and delineating its scope).

Sideways


This is the direction that I think is most often overlooked. Small to medium businesses (SMBs), small non-profits and small governmental institutions (think your local school district) are probably underserved by the operations research community, particularly as they may tend not to be lucrative potential clients for consultancies. The key decision makers are often not business school graduates, and may have no idea that O.R. and analytics even exist (unless they know "analytics" in the sense of parsing web server logs). Presentations at local Chamber of Commerce meetings, participation in local business forums (do your local businesses have a LinkedIn group?), and even pro-bono consulting will help show people both what O.R. is about and how it can pay off. My guess is that this group is particularly ripe for word-of-mouth marketing.

As I said, this segment is probably not particularly lucrative monetarily. Every once in a while, though, one of those SMBs will take off and become a large company; hopefully they will remember the role O.R. played in their growth. Organizations in this category that benefit from O.R. help may also have the ear of politicians and university administrators, which may foster some growth in O.R. curricula. Finally, press reports of success stories at this level may catch the eyes of executives in larger firms.

Wednesday, June 15, 2011

Do Gremlins Find Mint Tasty?

In my two most recent posts I mentioned upgrading Linux Mint (to "Katya", version 11) and then tweaking it. The upgrade created one or two adventures, notably a loss of the ability to reorder the application buttons in the GNOME panel by dragging them. Editing GNOME panel properties such as its size, or whether it automatically expands, would restore the drag option, but no fix that I found survived the end of a session.

That changed on my office PC, for reasons unknown to me, after a routine application of updates.  I'm not sure which update did what, but suddenly the ability to drag buttons is back. The fix came at a bit of a cost, though.  The first time I logged in at the console after the upgrade (which I did remotely), I found that buttons dragged (good news) and windows minimized and maximized (not news), but that I could neither resize nor move windows (bad news!).  Neither could I switch to any of the other workspaces I have set up. (Workspace Switcher is set for four workspaces.)

A little desperate Googling failed to find any report of the same problem but did lead me, indirectly, to the fix.  In Control Center > CompizConfig Settings Manager > Window Management, Move Window and Resize Window had somehow become deselected and needed to be turned back on.  Similarly, under Desktop the Desktop Wall control had to be turned on.  I have no idea what turned them off -- moving, resizing and switching workspaces all worked the last time I was in the office -- but I assume it was something in the update.  At least the fix was easy.

Meanwhile, I got a new machine at home and configured it to dual-boot Windows 7 (which came preinstalled) and Mint 11.  This time I used the 64-bit version of Mint (my laptop and office PC run the 32-bit version).  Whether due to my choice of the 64-bit version or because it was a clean install (not inheriting any settings from an earlier installation), button dragging worked from the outset on the home machine (once I made a change I will discuss momentarily), and so far there have been no sudden behavioral changes regarding windows.

That one change I made is  rather important, though.  When first installed, the 64-bit version did not create buttons for windows.  If you minimized a window, it simply disappeared (though the app was still running), with no obvious way to recover it.  Dragging buttons was not an issue, since there were no buttons.  I can't picture working in an environment where minimized windows can be reopened.  With a little digging, I discovered that the Window List (the container for the buttons) was not installed on the GNOME panel.  It was easy to install it (right-click the panel, select "Add to Panel..." and then choose it from the menu).  Positioning it was a bit trickier.  You position it the same way you position any applet on the panel: right-click, choose "Move", slide it where you want it and then right-click again and choose "Lock to Panel".  The problem is that the Window List itself is invisible, with neither drawn boundaries nor a distinct background color; so you have to grope for it (right-click where you think it might be and see what context menu you get).  At least that's fixed now (unless another update brings a new gremlin with it).

Wednesday, June 8, 2011

Tweaking Mint Settings

I got myself into a bit of an adventure with my office PC, recently upgraded to Mint 11 (Katya), and I'd better take some notes before I forget and have to relive the adventure.

As installed, Alt-Tab popped up a panel with thumbnails of all open windows, and let me cycle among them in a rather static way.  (Choice of the word "static" relates to what follows.)  In past versions, I've had Mint set up to task-switch with a bit more flair: displaying a rotating list of snapshots of the app windows in a horizontal bar, three at a time, with the center one brought to the foreground behind the switcher, and cycling through the list (ring) each time I hit Tab while holding down Alt.  Bear with me if I don't use the official terminology for this effect, because part of today's adventure was learning some terminology that I do not find entirely intuitive.  All I remembered going in was that (a) Alt-Tab was the key combination to make it happen (the same one used for "cool tabbing" in Windows, and thus easy to remember), (b) it required Compiz (installed by default with Mint), and (c) it was not a default behavior and thus needed to be set.

So I went to the Control Center, thence to CompizConfig Settings Manager, and stared at a multitude of choices, not many of which are self-explanatory.  In tweaking settings, I managed to cause the maximize/minimize/close buttons on all windows to disappear (not desired -- I really use those a lot).  I also found a setting labeled "Compiz Fusion Icon" (in Control Center > Hardware).  It seemed odd that there would be a setting for an icon (doing what? choosing which version of the icon to display?), so I clicked it a couple of times but observed no results (because I'm unobservant ... more about this in a second).  Finally, somewhere in the process of mucking with settings and dealing with messages about conflicts over certain key-combinations (most notably Alt-Tab and Shift-Alt-Tab) I managed to disable Alt-Tab entirely.

So I'll note here the key information necessary to resolve all this, since I'm sure I'll forget it by tomorrow.  First, the "Compiz Fusion Icon" button in Control Center > Hardware actually did something: it added a "Compiz Fusion" icon to the GNOME panel (in fact, one per click, so I ended up with two side by side).  Right-clicking the icon lets you switch between Compiz and Metacity, and gives easy access to the Compiz settings in the Control Center.  I suppose the icon is handy if you plan to switch between Compiz and Metacity regularly; I don't, so I banished the icon again.

Second, to get the desired Alt-Tab variant, I needed to deselect "Static Application Switcher" in CompizConfig > Window Management and select "Application Switcher" instead, then modify key combinations as desired.  (In point of fact, I ended up opting for the fanciest switcher, the "Shift Switcher", once I read about the choices.)  Having very limited memory, I decided to change the keys for "Shift Switcher" so that Alt-Tab and Shift-Alt-Tab rotate forward/backward among windows in the current workspace, and Super-Tab and Shift-Super-Tab do the same in all workspaces.  (Now if I can just remember that second part ...)

Third, the missing maximize/minimize/close controls for the windows were the result of the "Window Decoration" option under CompizConfig > Effects being deselected.  (I don't think I did that, but it's possible an errant click was the culprit.  I've seen one or two forum messages suggesting that it might be the action of a gremlin.)  Here's a prime example of what I mean by unintuitive terminology.  To me, calling those controls a decoration is like calling a door know a decoration.  They're controls!  I think of "decorations" as being not particularly functional, which those controls are.  For that matter, I don't find them all that decorative.  Anyway, turning "Window Decoration" back on restored the controls to their normal positions (and my blood pressure to its normal level).

Thursday, June 2, 2011

Upgrading Linux Mint

I believe that the Mint distribution of Linux, which I use, has a six month release cycle. Something I learned from watching cowboy shows on TV as a kid was that you don't change horses in the middle of a river, so I skip the upgrades that occur during the school year and just do the ones that occur late spring/early summer. As a result, I only get the odd numbered versions, which is fine. I've been champing at the bit to install Mint 11 (Katya), because I want to upgrade to LyX 2.0. I've already done so on my Windows box, but the dependencies for the Linux version would have created issues with Mint 9 (Isadora). Somewhat to my surprise (I've come to expect servers and mirrors to be slammed any time a major software distribution drops), I was able to download Katya within a few days of its release. I think the upgrade on my office machine is done (subject to the inevitable tweaking here and there), and I decided to jot down my notes on the process.

Problems:
  • The upgrade installs a new version of /etc/apt/sources.list.d/local-repository.list. Unfortunately, the sole line of text in it is buggered.  It should end with "binary/" but instead ends with "katya". The result is that attempts to update packages after the installation fail. Fortunately, editing the file is an easy fix. I found the information fairly quickly after a Google search, but I'm surprised it's not listed among the "Known Issues", nor prominently posted on the Mint blog, nor posted in the vicinity of the download instructions.
  • Once I'd fixed the aforementioned bug and started updating packages, I got a lot of error messages about repositories. It turns out that the installation added to Synaptic's repository list a bunch of URLs for ubuntu.com and canonical.com that used "Katya" as the distribution name. The problem is that "Katya" is a Mint name, not an Ubuntu name. (I believe the corresponding Ubuntu distribution is "Natty", and in fact similar URLs containing "Natty" are also present.) So I weeded out the offending repository entries, and after that updates worked just fine.
  • For some reason, I cannot reload the r-cran-vr package. First it complained that several other R packages were unfilled dependencies. Then, after I updated those packages to current versions, it said I would have to revert to earlier versions of them. Perhaps the VR package is for an earlier version of R. In any case, I don't really need it, so I'll leave it uninstalled.
  • While attempting to reinstall software from a backup list of all installed packages, I kept getting an error message saying "fix broken packages first" -- even though Synaptic said there were no broken packages. This might have been related to the r-cran-vr problem. I skipped installing a bunch of packages, including r-cran-vr, and that got rid of the message.
Smooth bits:
  • Once again, having /home in a separate partition paid dividends. I told the installer to remount that partition as /home with the same file system it already had (ext3), and without reformatting. Voila, all personal stuff (including pretty much all software settings) was preserved. The only problem with this approach is that eventually Linux will be using the ext9287 file system, and my home partition will still be ext3.
  • Usually I have the installer reformat everything else to the latest file system, but my other main partition (/) was already ext4, so I told the installer to remount it there but not format it. Most of it gets overwritten anyway, but /opt came through intact, so a couple of (large) software packages I'd installed there survived the upgrade without needing to be reinstalled.
  • I used mintBackup to create a list of installed packages. After fixing the aforementioned problems with Synaptic and doing a couple of updates of the new installation (I'm not sure why two updates were required, but no big deal), I started reloading packages from this list (again via mintBackup). Although it's possible to select all the packages on the list from known repositories and reload in one gulp, I found it more useful to upload in groups. First, it meant that if a problem were going to occur, I didn't have to wait through eight petabytes of downloads to find out. Second, it's a nice way to do a little housecleaning. In particular, I did not select any of the lib* packages. My guess is that quite a few of them were vestigial, and any that were needed would presumably be installed automatically as dependencies of the package(s) that needed them.
  • The few apps I installed under Wine survived the upgrade (since they live in the home partition).
Minor Pains in the Posterior:
  • I have OpenSSH and the free version of NoMachine's NX server installed on my office machine, so that I can remote desktop to it. With every upgrade, I have to remember to: install new keys for OpenSSh; convince client machines to accept the new keys (not a big deal); install new keys for the NX server; distribute the public NX key to every machine running the client; and install the new key into each client session. Life would be easier if someone came up with a script to preserve all public/private key pairs during OS upgrades.
  • I use POPFile to filter spam (it runs continuously on my office PC and filters at the IMAP server, so my laptop and home machines get the benefit of the filtering). Sadly, the corpus (database) for POPFile seems to live somewhere in /usr, which means it gets clobbered by the upgrade, and so I have to retrain POPFile from scratch. Maybe next time I'll remember to track it down and back it up.
  • Apparently printer definitions are not housed in the home partition. I'm having to reselect them, and it took a couple of tries to get the right driver for our networked printer.
  • After the reload, I found I could not reorder application icons (for maximized and windowed applications, not applets) in the GNOME panel. Usually that is just a matter of grabbing the "button" for an application and dragging it laterally. (The corresponding functionality in Windows XP requires a third party application.) A Google search turned up similar reports on a support forum, but nothing very helpful by way of a solution. So I fooled around a bit, and at one point turned the "expand" property of the GNOME panel off (which causes it to size itself just big enough to hold its contents) and then back on (the default, which stretches it to the full width of the screen). I'm not sure if that fixed the problem (could be the post hoc ergo propter hoc fallacy), but after I did that, icon reordering returned.