Friday, February 20, 2015

John Wick's Red Matrix

#JohnWick #KeanuReeves #TheMatrix

Wednesday, January 14, 2015

Logitech k400 Wireless Touch Keyboard Review

As many "smart TV" owners know, "typing" with your TV remote control can be a hassle at best, a pain at worst. Fortunately, there are alternatives when you want to access your TV like you would a PC. 

One is a smartphone app, such as this unofficial one for use with Samsung TVs. Another, especially handy if you don't use a smartphone, is the Logitech k400 keyboard.

Logitech k400 Keyboard

The keyboard has smallish keys and is nearly full-size, but may be a bit irritating for those with fat fingers. The package includes a small transceiver which plugs into a free USB port on your smart TV, as well as a USB range extender smaller than many USB flash drives. 

Samsung, manufacturer of my particular smart TV, "...does not guarantee compatibility with all devices..." (source), but freely list their very own keyboard as wholly compatible, which is convenient for them. However, at least for my Samsung UN46EH5300, this particular keyboard worked out of the box for me.

The keyboard itself uses two AA batteries, and the transceiver runs off the TV's USB power. For your Samsung TV, a button with a right-mouse-button icon will, assuming you're viewing a TV channel, pop up a menu which lets you open Samsung's trademark on-screen menu. From there you can open YouTube and various other online services, and thereafter type URLs in as desired.

So far, my only complaint is that as far as Samsung's built-in web browser goes, you're stuck with ads (which might otherwise be blocked on your PC with the AdBlock Plus browser add-on or other means), and the browser itself for the few sessions I've opened with it so far has frequently crashed.

This does not impugn my impression of the Logitech k400 itself, though; it seems to do exactly what I expect it to do, enable both keyboard and mouse control of my smart TV.


Sunday, January 4, 2015

Videos Added To Serviio Do Not Appear In Library

Recently my DLNA setup based on Serviio version running under Windows 7 inexplicably started to not recognize newly-added videos. When attempting to browse them via my Samsung smart TV, the latest entries did not appear.

Serviio console, showing status and devices configured for streaming.

I hadn't dramatically changed the file and folder structure from which Serviio streams recently, nor had I made any huge changes to the configuration of Serviio nor my server. Finally though I found a solution which seems to have done the trick. It involved simply configuring Windows' file and folder permissions and file sharing permissions to allow the Everyone group to have read access.

Modifying Windows file and folder permissions to enable Everyone to have read access.

Modifying advanced file sharing permissions to give Everyone read access.

Some users in the Serviio forum suggested giving the PC's local system account read access to one's video repository. I tried this, but after restarting the server and the TV, the situation remained the same. I later discovered a blog post which clarifies the difference between Everyone and other authenticated accounts in Windows:
The Everyone group includes all members of the Authenticated Users group as well as the built-in Guest account, and several other built-in security accounts like SERVICE, LOCAL_SERVICE, NETWORK_SERVICE, and others.

The "local system account" I'd read about in my research on Serviio's forums might not be the same one I gave read access to, so I tried simply giving the Everyone group read permissions, and upon forcing Serviio to refresh its database of videos, it began churning through them and finally resulted in them being visible again via the TV.

One drawback to doing this is that anyone else on my LAN would be able to access my video collection, given that the folder is now openly shared to essentially "everyone". I might need to ramp up the frequency with which I routinely change up my WiFi passphrase, but in the end this is no big deal.

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.