Monday, November 17, 2014

Fragile Agile

One of the twelve core principles of the Agile Methodology is as follows:
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

It would seem intuitively obvious that in order to maintain a constant pace indefinitely, the team would need to collaborate and bolster itself to make this even remotely feasible. At minimum, each team member ought to have a "satisfactory" level of competence in the various areas of expertise integral to an Agile team. Satisfactory doesn't necessarily imply expert.

In Final Patrol: True Stories of World War II Submarines by Don Keith, the author describes the following regarding the training of submarine crews both past and present:
Sub sailors were (and still are) required to graduate from submarine school, where they combined classroom learning with actual onboard training, but they were not finished yet. When they got aboard their first boat, they had to be trained until they could pass a rigorous examination in order to verify that they could take any station on a vessel and perform each job in a satisfactory manner. Once they passed their qualification exam, they were awarded a patch or pin that showed two dolphins, nose to nose. One of a sub sailor's proudest days was when he received his "twin dolphins" and could wear them on his dress uniform. The alternative for those who were not able to pass within a reasonable time was to be assigned to other duty. Incidentally, that procedure is still in place today on nuclear submarines.

In my experience, an Agile team's roles have included software developer, business analyst, and tester. My primary specialty has been software development, but thanks to my wide array of tasks and experience, I am wholly capable of a level of expertise over and above satisfactory with regard to the business analyst and tester roles.

Let's assume that a dump truck happens to transform my brains into goo just as I'm crossing a busy New York intersection. How does this impact the team? Suddenly, there's a gap in expertise and productivity. Not only is one who specializes in software development absent, but one who can also more than competently handle the business analyst and tester roles is removed from the equation.

How does this affect the team's velocity? How does this impact the team's ability to achieve the stakeholders' goals?

I'd wager negatively.

In my view, a relatively slim chance does exist that a superstar could emerge from among those remaining team members for whom software development is not their forté. Perhaps they've been paying especially close attention in pair programming sessions. Typically, though, I'd guess velocity would be decreased for a given sprint while the company investigates either transferring a software development specialist from another department, or hiring someone completely new to the company.

Let's apply this scenario to your modern ballistic nuclear submarine

Perhaps the chief weapons officer (let's call him "weaps" for short) trips and inexplicably falls into a bulkhead, rendering him dead.

Based on Don Keith's information, at least one other member of the submarine's crew possesses the bare minimum qualifications to perform weaps' job, and should it be necessary for weaps to launch a torpedo or nuclear missile, someone else on his team will be able to do this. Perhaps not with the expertise or finesse of weaps, but at least with the bare minimum capability, which means the task can at least be completed.

Can the same be said of the "typical" Agile team, especially your Agile team? 

If not, stakeholders should be very concerned.

Monday, November 3, 2014

Foscam Firmware Update Bricks Camera, And They Don't Care

Foscam once again doesn't seem to respect consumers, nor understand the concept of quality control.

Typically when a company releases a a product to the public, it's been through some testing to ensure that the product is actually serviceable to the consumer. Sadly, in the case of the Foscam FI9821W, they have failed miserably.

Recently, Foscam released a firmware update, version Numerous FI9821W camera owners, myself included, have reported that the camera has been "bricked" following the upgrade. The upgrade begins, then an "Upgrade Failed" message appears, and thereafter nothing happens other than a steady, red LED beside the camera's ethernet port, and the camera is completely unusable.

A user on the Foscam forums, TheUberOverlord, has been shepherding a thread where he provides a solution which involves buying a specialized tool, cracking open the camera, then interfacing with the camera and overwriting its firmware. 


Firmware updates are frequently released for various electronic devices (including wireless IP cameras) in order to fix defects not initially addressed by the manufacturer. Usually, updating is a good thing, because it fixes something the manufacturer neglected to fix in the initial release, whether due to time or budget or other constraints.

Even if a camera is past its warranty coverage, there might be subsequent firmware updates to fix various issues. This was the case with the firmware update for the Foscam FI9821W. Of two FI9821W cameras I own, one of them successfully updated to the firmware, but the other experienced the aforementioned upgrade failure.

I contacted Foscam via email. This was their response.
Thank you for contacting the Foscam RA department. Unfortunately, we are not authorized to replace your FI9821W model as it is out of warranty. The FI9821W models have a one year warranty. We apologize for any inconvenience this may have caused.

Out of warranty, eh? Despite the fact that Foscam released firmware for this out-of-warranty camera model, which turns out to be defective for many of these cameras, they refuse to take responsibility??


I strongly suggest avoiding Foscam until they get their priorities and quality control straightened out. They simply don't seem to care about their customers nor the quality of their products. 

#Foscam #ipcamera #homesecurity

Tuesday, September 9, 2014

Add Custom Ringtones To Motorola Razr v3m

I recently purchased a Motorola Razr v3m phone. My previous carrier used the T-Mobile network (whose reception was iffy at best in my area), so my new carrier uses Verizon, whose coverage is far superior.

Unfortunately, though, the v3m is hobbled beyond belief! 

Aside from Verizon's typical anemic interface for its v3 series phones, the phone provides no easy way to add custom ringtones, for example, in my case from my Windows 7 desktop. The phone itself even has a slot for a micro SD card, but this card is completely inaccessible from the phone's UI. Motorola Phone Tools, the software that usually allows you to quite easily copy multimedia from your PC to your phone, had no such options available for the v3m.

A few phones back I'd owned a Razr v3c, and it at least allowed you to craftily send a text message with an attached MIDI file which you could then assign as a ringtone, but no such luck with the v3m. Verizon has gone out of its way to funnel customers through its online marketplace for the privilege of obtaining custom ringtones, wallpapers, pretty much anything.

After poring over numerous forum threads from people trying all kinds of workarounds, and trying some dozen different methods, I had no luck whatsoever. However, finally I found a solution which enabled me to not only add my favorite MP3 ringtone (which happens to be the "dying phone" one from the movie Crank), but also freely modify and transfer photos and wallpapers and other stuff.

First of all, let me spell out a few details of my particular v3m, which could determine whether you will be successful with these steps or not. These are found via Settings => Tools => Phone Info:
Software Version: 24.1_01.19.09
PRL Version: 59396
ERI Version: 4
Technology: dual800/1900 CDMA 1X-EVDO 

Now, before I outline the steps, here is a ZIP file containing all the utilities which worked in my particular case. Download this file, then follow these steps.

1. Click twice on MotorolaDeviceManager_2.4.5.exe. This will install the drivers for three devices which Windows 7 will need to talk to the Razr v3m, the Motorola USB Modem, Motorola USB Diagnostic Port, and the Motorola USB Compositive Device. Note that these devices will only appear in Device Manager when the phone is actually plugged into your PC via USB.

2. Now, run the file bitpim-1.0.7-setup.exe, which will install the BitPim utility.

3. Assuming you've successfully installed the Motorola drivers in step 1, connect your PC directly to your v3m via USB cable; some have reported problems going through a USB hub. Windows should recognize the phone and begin setting up the drivers for the hardware. Wait for Windows to successfully recognize the hardware before proceeding.

4. In Device Manager, right-click on the Motorola USB Modem, click Properties, click the Advanced tab, and then click the Advanced Port Settings button. This will reveal the COM port the device uses, which is important for the next step.

5. Open BitPim. If prompted that no phone has been detected, hit OK and ignore that for now. Click Edit => Settings, and first ensure that v3c is selected as the phone type (yes, v3c, not v3m).

6. Click the Browse button, and in the Choose a comm port screen, click on Motorola USB Modem (which should be listed as an option under Available Ports if it was detected successfully by Windows), and verify that the message about the port being selectable is displayed, and that the COM port number corresponds to the COM port in Device Manager identified earlier. Click OK assuming all of these check out.

After following the above steps, you should now have access to your Razr v3m's ringtones, wallpapers, and more. I refer you to BitPim's online help to get some tips on how to actually use BitPim to interface with your phone.

  • I've found with my phone that MP3 ringtones for the v3m must be less than 300 KB in size, and have a bit rate no higher than 192 kbps. Also, the length of the actual tone must be under 30 seconds. However, your experience may differ depending on your phone's firmware and options.
  • Upon adding custom ringtones to your v3m, you should navigate the phone's file system as illustrated below, first by clicking Filesystem in the left-hand pane, then clicking the forward slash at the very top (the "root" of the file system). If you don't see any folders or files beneath the root, you can right-click in the white space in that middle pane and click "Refresh Filesystem". Once you can see the files and folders, click on the root up top, and delete the file MyToneDB.db. Then, next chance you get, power the phone off and then on again. This will cause the phone to rebuild its ringtone index to include your custom tones.

Wednesday, August 13, 2014

Depression the Disease

Matt Walsh recently blogged about the tragic suicide of Robin Williams, suggesting his death was solely by choice, not due to the disease that is depression.

I find this viewpoint troubling.
Suicide. A terrible, monstrous atrocity. It disturbs me in a deep, visceral, indescribable way. Of course it disturbs most people, I would assume. Indeed, we should fear the day when we wake up and decide we aren’t disturbed by it anymore.

Walsh's point seems to be to stir the pot and compel people who suffer from depression to chime in, along with their counterparts who believe depression can simply be shaken off like dust or debris. Certainly, many bloggers in the political arena do this and make considerable bank through advertising along the way.

I intend to stick to one question, though. Does suicide not equate freedom:
It is not freeing. In suicide you obliterate yourself and shackle your loved ones with guilt and grief. There is no freedom in it. There is no peace. How can I free myself by attempting to annihilate myself? How can I free something by destroying it? Chesterton said, “The man who kills a man, kills a man. The man who kills himself, kills all men; as far as he is concerned he wipes out the world.” Where is the freedom in that?

Suicide is, ultimately, a selfish act, an act of indulgence, where one sees no other options and succumbs to the one that appears to be the only one left. Yet does suicide not free the sufferer from the shackles of their depression?

Yes, it does.

Depression, insidiously, narrows one's outlook on life so drastically that it seems like the only viable option. Similar to being trapped in a deep, dark hole, all you can see is emptiness above. All the rich landscape of one's life, their loves, interests, hopes, dreams, are stuck above the lip of this hole, a sort of event horizon. Unreachable, out of sight, out of mind.

A person in this frame of mind cares not about loved ones, much less society or humanity. Far from it. Suicide to this person is a means to an end, the end of their pain. At least, in most cases nowadays.

In ancient Japan, samurai who failed their masters might be compelled to perform ritual suicide or seppuku
Seppuku (切腹, "stomach-cutting", "abdomen-cutting") is a form of Japanese ritual suicide by disembowelment. Seppuku was originally reserved only for samurai. Part of the samurai bushido honour code, seppuku was either used voluntarily by samurai to die with honour rather than fall into the hands of their enemies (and likely suffer torture), or as a form of capital punishment for samurai who had committed serious offenses, or performed for other reasons that had brought shame to them. 

In this there are elements of spirituality and practicality. On one hand is the bushido code which holds honor in high esteem and is bound to the warrior's soul. On the other is the simpler wish to evade capture and potentially suffer and be compelled to reveal secrets at the hands of one's enemies, at the expense of their superiors and subordinates.

A combat general, tried and tested on the field of battle, is an asset not to be squandered, and yet numerous such generals would take their own life in the face of failing their leader. Why?

The honor, discipline, and spiritual landscape embraced by samurai generals long past is outside the scope of this discussion. But indeed, seppuku, the act of suicide, is undoubtedly a choice; taking a razor-sharp blade and slicing back and forth to disembowel oneself isn't something someone of sound mind and body would do. It is, though, what someone mired in depression might.
We tend to look for the easiest answers. It makes us feel better to say that depression is only a disease and that there is no will and choice in suicide, as if a person who kills themselves is as much a victim as someone who succumbs to leukemia.

Thing about depression is, it kneecaps one's ability to see beyond the crisis in the now. Past and future are meaningless, only the present matters, and that bleak present is what can lead one to that final, ultimate choice. Depression is the monster that chips away at the individual, bit by bit, and saps them of hope. 

To suggest that the suicide victim's final decision in committing to end their human life is separate from the disease that is depression seems naive. It is a decision made under extreme duress, obscuring outside influence and internal dialog that could pull them out of this tailspin of despair.

If a deeply depressed person could suddenly disable their depression, step outside themselves and judge themselves without prejudice, they'd likely find ample reason not to commit. That this is often hardly possible without outside intervention speaks to the notion that a person in that situation is incapable of choosing something other than a most expedient, tragic route to end their suffering once and for all.

Matt Walsh doesn't know depression, rather, he looks at it at arm's length like a dark jewel, curious and wanting to exploit its darkness for profit in the wake of a celebrity's passing who suffered from this disease.