Tuesday, September 2, 2014
What If Is Out! What If Is Out!
Tuesday, July 15, 2014
If You Can't Beat Them, Join Them
I obviously am a fan of Trello, and can't imagine anybody finding it difficult to use or confusing. However, I do occasionally run across people who, for various reasons are unwilling to give Trello a try or spend a few minutes with it and give up. I've had a few readers share similar stories- they personally thought Trello was the bee's knees, but their customer wouldn't be bothered.
My first solution, obviously is to tell them about this book. But for work projects, I do have another solution. Instead of asking the other party to participate in the board directly, simply set up a weekly status call using Join.Me. This simple app requires no download or login for the other party- they simply go to the website and see your screen. I've found a short (15-30 minute) weekly call to go over "what's happened, what's happening next, and what's being held up" is a terrific practice for managing projects.
While on the call, pull up your project board, and discuss the project (NOT the board). Be sure it's updated, add and move cards as needed, but don't mention Trello at all unless they ask. Best case your reluctant Trello-er will love what they see and will want to join in, at which point you can simply invite them to the board. Worst case, they still don't care about Trello, but you're organized and gain their confidence.
While it may not work in every situation, this can be a great way to wean projects into Trello without hitting people over the head with it.
Wednesday, July 2, 2014
In Which a 99$ Gadget Gives Me the House from the Future
The box, a $99 gadget from SmartThings called the SmartThings Hub, was set up in under 10 minutes, and connects all sorts of home automation devices to a service that lets me control and monitor them from anywhere using my phone or tablet. They offer tons of switches, dimmers, and sensors on their site. Each has a video showing exactly how to set them up- typically a simple one-minute process. By answering a few questions in the app, I can then add smarts to my home to automatically turn things on and off, alert me to various conditions, and take action for me.
You may be thinking you don't have a need for this, but you may be surprised. Here are some of the conveniences this gadget has brought:
- I can control my lights (and soon, garage door) from my phone, from anywhere. Did I forget to close the garage? My house notifies me and one tap later I close it while I'm out fishing.
- My gun case is locked and up high, but I also have a motion sensor inside. SmartThings alerts me whenever the gun case moves. It could very well save a life.
- Whenever my wife and I both leave the house, my house knows and turns off lights. If there's motion while we're away, it notifies us. When we come back, it can turn on lights as well.
- When there's no longer any motion in the living room, it turns on the bedroom fans and turns off any lights that were left on.
- I'm brewing beer, and SmartThings logs the temperature at the fermenter to ensure a consistent temperature.
Next on my list of things to automate are several more lights, locks, garage door, and watering. What impresses me the most with SmartThings is that after the novelty of controlling lights from your phone wears off, it's still bringing intelligence and value to our home.
If this sounds a little nerdy - well, it is. But, I also think it's the "next big thing" in technology. Think smartphones before everybody had them. Already, the media hype engine is revving up around the "Internet of Things" and various big-name players are jumping into the market. What sets SmartThings apart, though, is that they play well with lots of different systems and do not require a monthly fee. I can pick up a ZWave switch at Lowes, or a Phillips Hue bulb and the system sees it just fine. Similar systems I've tested either require a monthly fee, or are not as polished.
Disclaimer: I'm using a referral link to SmartThings, but it's a good deal. You get 10% as a new customer, and I get $10 to automate my next thing.
Wednesday, June 25, 2014
Those click-bait articles in your feed? They started in 1926.
Shoot, I'm guilty of it myself. Like it or not, in the increasingly noisy world of the internet, titles like this stand out. Websites routinely test and hone in on the titles that grab the most attention. Increasingly powerful analytic tools have made it possible to drill into exactly which titles generate the most traffic and revenue.
What you may not know, however, is that this technique is nothing new. The man credited with first applying the formula to marketing died at the age of 90 - in 1990. The ad he created carried the headline "They Laughed When I Sat Down at the Piano. But When I Started to Play..." Seriously, what cold-hearted soul could read that and not want to immediately buy piano lessons?
I'm no marketing expert, but I personally think this trend is about to fizzle. Like anything, once it reaches a certain volume, people start to tune out.
You'll never believe what trend will be next.
Thursday, June 19, 2014
Internet in the Sticks: A Complete Guide
"Are you sure? This is new construction. Is there a waiting list," I asked.
"No, unfortunately Mr. Root, there are not plans to support your area at this time. There are no slots in your neighborhood," the call center lady said, with a hum of a hundred other calls in the background.
The +1 Most Hated Company in America Does Their Worst
Annoyed, I called Comcast. This call center rep cheerfully took my information and informed me that somebody would be out to install in a couple days. Thirty minutes later, I got a call back. Since it was a _new_ house, they would need me to go in person to the Comcast store 20 minutes away and provide written proof of residency. Emailing said proof was not acceptable. (This is not unlike a taxi company asking you to drive to their office to catch a ride.) Not one to be outdone by moronic business practices, I showed up and waited in line.
When my turn came, the rep looked up at me through her desk window- clearly in place to keep people from reaching across and choking her- picked at her teeth, and told me she had no clue whatsoever what the phone rep was referring to. She gave me a corporate headquarters number that had a friendly recording asking me to call back later. Finally, after about 3 days of pestering various call centers, I got word that Comcast was not supported either.
Internets From Outer Space
That left few options- satellite and wireless. HughesNet, to their credit, had a real person answer the phone and answer a few questions I had. Reluctantly, I tried this option. A few days later a tech came by, gazed up at the south-southeast clouds and told me that to get satellite I had to chop down a few trees. Undaunted, my cousin and I busted out our chainsaws and with various ropes and pulleys tied to his truck cleared three rather large trees. It was dangerous work. We didn't lose our lives, but did lose several limbs.
Two days later the Rootshire was lit up with packets streaming down from the great beyond via EchoStar III. Ah, HughesNet. As is said around here: "bless their heart". They tried really hard, and had fairly good customer service. But it turns out that the fastest a packet can go to space and back is about 700ms, and often as much as 1500ms. This means I would remote into machines for work, click a button or type, and wait a second for the click or keys to register. I imagine this would be sort of like trying to code drunk. Add to that spotty speeds and fairly high cost. Customer service told me it wouldn't be an issue, but within a few hours I could tell internets from the sky was for the birds.
In Which American Telephone and Telegraph Changes Her Tune
I don't know why I would expect a company whose name includes "Telegraph" to do any better, but I decided to hound AT&T again. They sent a "service tech out for a site survey" and after 3 days and about two hours of call center time, I finally found that yes, I _could_ get DSL after all. And so finally, 3 hours after he was supposed to arrive, the tech- a former NASA tech laid off in the 90s it turns out- pushed 5Mbps through the good old telegraph wire to my house. Another two hours futzing with their javascript-error-laden activation process, I finally was able to connect without phoning E.T.
Had DSL not worked out- or if the lousy upload speeds get the best of me- I could have gotten a LTE wireless solution from them or Verizon as well. This would have cost about three times as much and no doubt contributed to my blood pressure, but been faster.
What I Learned Along The Way
Lest this all be just a rant about the lousy state of broadband and customer service in the land that invented the internet, here are a few Dos and Don'ts for others that may struggle getting service.
Don't take "no" from a sales rep. Unlike most salespeople, AT&T and Comcast salespeople really are not interested in actually selling you service, especially if it means they can't follow the call center script. Insist on a "site survey from a local tech" and a call-back when it is complete.
Do bad-talk on social media if you need. On Twitter, @ATTCustomerCare responded to some of my online venting with a $25 credit to cover the wasted cellular minutes I'd gathered. Separate "online reputation" teams handle these requests and often have ways to handle things more efficiently.
Do try to get internet service roughly in this order:
- Any fiber option in your area is usually the fastest and best value
- Cable is generally the next best value if you can stomach horrible customer service.
- DSL is the next best option, but may be slowest of them all.
- If a LTE home solution is available in your area, consider it. It's going to be spendy, but the fastest option- possibly better than DSL
- If nothing else is left, satellite is ok for email and browsing, and even a little video streaming. I would not recommend if you have to remote into machines to work. It's can be a little pricey as well, though I thought HughesNet's lower tier was not unreasonable
So, from my little tube of internet in the sticks, so long and good luck!
Thursday, June 5, 2014
The Bare Minimum Organization Technique
(cc) John Pannell |
Two Folders to Rule Them All...
...And in the Search Box Bind Them
If I need to touch up a wall, I can go to Evernote and search for "paint colors" and get the paint colors in my house because I have a note titled "Paint Colors". If I don't remember what I did to fix a bug at work, I can search in my Outlook "References" folder for the person I sent an email to and one or two words I know will be in the email. Occasionally I will tag something or include a few words if I know they will be useful for finding things later. For example, I do tag most tax-related stuff in Evernote, so that it's easier to find it all when I sit down to do my taxes.
Learning search tricks specific to the application helps here. In Outlook or Gmail, you can search things like "from:@company.com" to find mail from a particular company. In Evernote, one of my favorite features is "Places". Here I can see notes relevant to a particular place. For example, the code to my storage unit pops up right when I'm at my storage.
Not Just For Personal Use
As an aside, a similar concept applies to systems at work. I actually started thinking this way thanks to some document management work I did for a customer in SharePoint. The temptation with these systems is to tag and categorize and organize things out the wazoo. But the reality is SharePoint has fairly decent search built in. So the rule of thumb there: set metadata if you must, but only do the minimum you need to be able to find things later.
For smaller companies, it really may work to just have an Inbox or "Current Projects" folder and a "Reference" folder. This is how the company I work for handles things in Evernote. For larger organizations, it may make sense to break things out further. A common practice in SharePoint is to have "internal collaboration" for divisions or teams, and "public sites" for sharing final content with the rest of the organization.
So to recap: The Bare Minimum Organization Technique is two boxes: Inbox and Reference, and a great way to search them.
Friday, May 30, 2014
Two SharePoint Scripts For those Annoying MissingSetupFile and MissingWebPart Errors
I recently ran across these excellent scripts for doing just this sort of cleanup. But, they don't go far enough. I wanted one script to let me see where exactly the problem was, and optionally to delete the problem files altogether. With that in mind, here are the scripts I came up with, and how to use them.
Find all your errors
Run this script from a SharePoint Admin Powershell to see all such errors in your farm:
get-spcontentdatabase | %{Test-SPContentDatabase $_}
Fixup MissingWebPart Errors
MissingWebPart errors can happen when a solution is removed, but a webpart it contains is still on a page somewhere. SharePoint doesn't tell you _what page_, so finding it is a bit of a challenge and involves sleuthing in the SharePoint Content Database (ill advised unless you absolutely have to!)
This script queries all content dbs for a problem webpart and optionally lets you delete the file. Here's how to use it.
- Copy and paste the script below to a file called fixup-missingwebpart.ps1
- Run the test script above.
- For any MissingWebPart error, copy the web part id from the error message
- run fixup-missingwebpart.ps1 -webpartid
- This will list all pages where the webpart is. You can go to them and manually delete the webpart
OR - run fixup-missingwebpart.ps1 -webpartid
-delete $true
to delete the pages if you know they are not used anywhere. This is not reversible except by restoring from backup, and bypasses the recycle bin, so be careful!
param($webpartid, $delete = $false)Fixup MissingSetupFile Errors
function Run-SQLQuery ($SqlServer, $SqlDatabase, $SqlQuery)
{
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server =" + $SqlServer + "; Database =" + $SqlDatabase + "; Integrated Security = True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]
}
$dbs = get-spcontentdatabase
$dbs | %{
$db = $_
$db.Name
$files = Run-SQLQuery -SqlServer $db.Server -SqlDatabase $db.Name -SqlQuery "SELECT * from AllDocs inner join AllWebParts on AllDocs.Id = AllWebParts.tp_PageUrlID where AllWebParts.tp_WebPartTypeID = '$webpartid'" | select Id, SiteId, DirName, LeafName, WebId, ListId, tp_ZoneID, tp_DisplayName | sort -unique
$files | ?{$_.SiteId -ne $null} | %{
$file = $_
$site = get-spsite $file.SiteId
$web = $site.AllWebs | ?{$_.Id -eq $file.WebId}
$spfile = $web.GetFile([Guid]$file.Id)
$site.WebApplication.Url + $file.DirName + '/' + $file.LeafName + '?contents=1'
if($delete -eq $true){
$spfile.Delete()
}
}
}
MissingSetupFile errors can happen when a solution is removed, but a file it installed is still in a site somewhere. Like the other, SharePoint doesn't tell you where exactly the file is, so finding it is a bit of a challenge and involves sleuthing in the SharePoint Content Database (ill advised unless you absolutely have to!)
This script queries all content dbs for a problem webpart and optionally lets you delete the file. Here's how to use it.
- Copy and paste the script below to a file called fixup-missingsetupfile.ps1
- Run the test script above.
- For any MissingSetupFile error, copy the filename from the error message
- run fixup-missingsetupfile.ps1 -filename
- Note if you are careful, you can also use '%' as a wildcard. For example:
run fixup-missingsetupfile.ps1 -filename "KnowledgeLake/%.xml"
Just check carefully that it only grabs files that you know you no longer need. - This will list all locations of the file. You can go to them and manually delete them
OR - run fixup-missingsetupfile.ps1 -filename
-delete $true
to delete the files if you know they are not used anywhere. This is not reversible except by restoring from backup, and bypasses the recycle bin, so be careful!
param($filename, $delete = $false)
function Run-SQLQuery ($SqlServer, $SqlDatabase, $SqlQuery)
{
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server =" + $SqlServer + "; Database =" + $SqlDatabase + "; Integrated Security = True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]
}
$dbs = get-spcontentdatabase
$dbs | %{
$db = $_
$db.Name
$files = Run-SQLQuery -SqlServer $db.Server -SqlDatabase $db.Name -SqlQuery "SELECT * from AllDocs where SetupPath LIKE '%' +'$filename'" | select Id, SiteId, DirName, LeafName, WebId, ListId
$files | ?{$_.SiteId -ne $null} | %{
$file = $_
$site = get-spsite $file.SiteId
$web = $site.AllWebs | ?{$_.Id -eq $file.WebId}
$spfile = $web.GetFile([Guid]$file.Id)
$web.Site.WebApplication.Url + $spfile.ServerRelativeUrl
if ($delete -eq $true){
$spfile.Delete()
}
}
}
Monday, April 28, 2014
EVERYBODY PANIC II: Operation Clandestine Fox
Well, just as the news of HeartBleed winds down, here's another serious alert. This time, a security vulnerability in all versions of Internet Explorer that is actively being exploited in what the internet hype machine is calling "Operation Clandestine Fox". No fix is available, though one will most likely be out shortly. Homeland Security is taking the drastic step of recommending not using IE.
In the meantime, Chrome is your huckleberry. Lest Google and Apple fanboys get too cocky, 3 days ago saw a similar issue patched by Google and by Apple.
Tuesday, April 22, 2014
Great Classic Kindle Books I've Read to My Son
But less obvious are some bonuses that reading "older kids" books brings. A book with few pictures will often put kids to sleep with no fussing. You can read a chapter or two in a nice dark room and the kid will be droned to sleep before they know it. It's as close as I've found to a magic trick when it comes to The Bedtime Wars. Also, it can be "incentive" for other bedtime routines. "If you hurry up and get your pajamas on, we'll have more time to find out where the submarine goes next". I won't say this always works for ours, but it has helped. Finally, it's also good for you: an excuse to catch up on those classics you never read as a kid, or don't remember from when you were little. I've come to see bedtime reading as a good respite from a hectic day at work and other duties.
But this is a nerd blog, and so I have to involve some gadgetry. Our reading is done primarily on Kindle. This works great because it's easy to read with the lights out, and is available on iPad, Kindle, iPhone or laptop. Plus, while I am a fan of dead-tree books, I've lugged enough boxes of once-read books to appreciate having my library in the cloud and accessible from a 12oz gadget. I recommend either getting a Kindle Paperwhite or an iPad Mini and downloading the Kindle app. Even though Apple has their own bookstore, I like the ability to take my books to any device - Kindle, Windows and Mac laptops, iPhone and iPad.
The downside is that not all titles are available on Kindle. Apparently some publishers are trying to wait out this whole internet thing to see if it's going to really take off. This is especially the case for lots of classics. Here, Kindle and the rest of the online bookstores seem to have a gap. Lots of out-of-copyright books exist, and are even free. However, many of these are not well edited and contain errors. Some even look like they were scanned in and never checked for accuracy. Newer books are often (but not always) available, but many of these are not what I would call "timeless classics"
To that end, I've put together a list of "older" books I've read to our now-four-year-old, and I'm sure yours will enjoy as well. If you have suggestions of other Kindle books that kids may enjoy, leave them in the comments below!
This was the first "older" book I read to ours, and he loved it. He obviously didn't grasp the whole story, but to this day, he wants to be a submarine driver when he grows up.
A timeless classic, and one of my all-time favorite series. Lesser known is the Space Trilogy by C.S. Lewis, though these may not be quite as approachable by younger audiences.
Another classic made popular nowadays by the movies. This does contain some elements that may be scary to younger kids, but the overwhelming arc of the story is perseverance and bravery of unassuming, simple Bilbo.
I was a little skeptical of this at first, but ended up enjoying it. A pioneer tomboy staves off war with Indians.
Flood Friday
This one is about a massive flood in the Northeast. May be heavy subject for sensitive children, but mine does not seem traumatized.
A heroic Mongoose saves a family from deadly cobras. There's just something about this Rudyard Kipling classic that mine enjoy.
Ever wonder where your clothespins, paper clips, and knick-nacks go? This series has spurred little imaginations with a creative new look at everyday objects.
My Father's Dragon: The Classic Story for Children (Illustrated)
We've read this short crazy story a couple times now. A young man sneaks away to Wild Island to rescue a dragon from a host of cruel animals.
Chibi: A True Story from Japan
A True story about a duck that captivated Japan. Very -erm- stereotypical Japanese, but a cute fun story.
Disclaimer: I use affiliate links for some links on this site, but only for items I've tried and think are worth sharing.
Wednesday, April 16, 2014
This Warren Buffet Inspired Trello Board Could Make You a Millionaire
How about that link bait title, huh? Obviously, somebody who's not a millionaire (yet) and has never met Warren Buffet has no business writing irresponsible titles like that. But, a Trello board just like what I'm going to describe has been useful for me personally, and I think is sound advice for those interested in coming up with "the next big thing" or even just "a next pretty good little thing".
Simply put, create a board where you can jot down ideas, prioritize them, then motivate yourself to take action on them. I do this with an "Idea Incubation" board in Trello. I can quickly put ideas for projects or products in a list when inspiration hits. Periodically I review the list, laugh at some ideas (I still think a fly-tying kit for toddlers is going to be EPIC one day) and others I pull to the top of the list (just wait and see). This gives me a good, prioritized list of things I could do one day, but it doesn't help me get them done.
Here's where Warren Buffet comes in. According to a guy on the internet who claims to have met his pilot one time, Buffet suggests focusing on your top five projects at any given time. This only makes sense: we have a limited number of hours, a limited amount of energy, and a tendency to loose focus. So, I keep only five ideas in a "Top Five" list. Periodically I review this list and move things back to 'Ideas' to make room for something else.
On this board I also keep a "Stinkers" list. This is where I keep ideas I once thought were good, but find are impractical or in retrospect not so great an idea. Keeping these less-than-stellar ideas around, spurs creativity. No, the kanban website for organizing kanban boards isn't worthwhile now that I have Trello, but it does make me think of this other thing....
Finally, A Ready To Start list is where I copy ideas from the top five that I'm ready to take action on. Here, I give them legs by creating checklists or linking to other project boards. This helps focus the top five even further- these are my favorite ideas that I can do something about, and the next steps that need to happen to make them come to life.
I've described the board as a personal board- something the next Zuckerberg can use in their dorm room to think up the next Facebook. But this approach can be handy within an organization as well. Invite team members to add ideas and vote for their favorites, then as an organization focus on the top five things that will make you all millionaires.
You can get started with a board just like this one by following these steps:
- Sign in or register for Trello
- Go to the Idea Incubation Trello Board Template
- Click Show Sidebar -> Menu -> Copy board...
- Follow the instructions to make your very own Idea Incubation board!
Monday, April 14, 2014
9 Online Tools to Make Your Day a Little Better
With no ceremony and in no particular order:
- LastPass - Manages all of my family's passwords and online info encrypted and synced to every device. If my wife changes a password to our bank, then she doesn't have to tell me - my phone and browsers already know and will enter it for me next time. This means our (very long, secure) LastPass password is the last password we need to know.
- IFTTT.com - If This, Then That lets you automate all sorts of things very easily and quickly. For example "IF it's going to rain, THEN send a push notification to my phone so I don't forget an umbrella." I use it to automate about two dozen other personal and work-related things.
- Zapier.com - Is IFTTT's bigger brother. It's still pretty simple and has the same concep, but tons more integrations. It is a pay service, but is a more business-oriented service. It has integrations for things like SalesForce, BaseCamp, Trello, etc.
(Side note: those last two are good for learning about other popular web-based services, since each integration is typically a 3rd party service itself)
- Trello.com - Absolutely the best way to manage a project or process or keep a todo list. I've mentioned this one a few times because I'm writing a book Trello Dojo all about how to get the most out of it.
- Feedly.com - I used to use Google Reader for the same thing, but Google killed that service, so I jumped to this. Monitor all your blog feeds in one easy to use interface. This is my "morning paper" and saves me tons of time staying current on my industry. You can also push links from it to Twitter, Facebook, and a variety of other services. IFTTT also works with it, so for example you could add a recipe "IF I bookmark a link in Feedly, THEN add it to Evernote".
- Evernote.com - a note taking app that works on any device. If I paint a room, I snap a picture of the color code so I never forget. Work notes, ideas, recipes, business cards, and more all go in here and I can pull them up on any device.
- Bufferapp.com - Queues up posts to send to Twitter, Facebook, and LinkedIn. I'm just now 'getting' this one, but the idea is not only can you write once and post to all those, you can schedule the posts (or rather, it automatically schedules them based on the best times for posting). This is handy because it means you can sit down once to schedule a bunch of stuff of interest and it sends them out periodically for you.
- StatusCake.com is a site monitoring service. Unlimited checks for free, with paid skus for more frequent and thorough checks. This is probably the best way I've found to be sure all your stuff is "up" and get notified when it goes down. As a bonus, they also give you some stats like performance and uptime percentage. (Disclaimer: I am using an affiliate link here, but seriously, this is the best way to monitor your websites)
- CloudFlare.com is a web accelerator. This one gets a little nerdy, but it sits between the internet and your site and speeds everything up. It can reduce bandwidth to your site by 75% (which may translate to savings on web hosting) and add in all sorts of value-add features at the same time. For example, it will protect your site from DDoS attacks and various other vulnerabilities. Like StatusCake, the free SKU is generous enough that it may be sufficient for many people here.
Wednesday, April 9, 2014
Five Things to Do Right Now To Secure Your Digital Life
Creative Commons Photo by elchode |
Update: Lastpass has just announced a tool to check to see if your sites contain the Heartbleed vulnerability or have been patched.
TwoFactorAuth.org is a great site listing major sites that implement this scheme.
Heartbleed! Everybody PANIC!
The problem is if the site has not been patched, changing passwords won't do any good. Most major institutions probably have patched already, but it wouldn't hurt to check with your smaller banks etc. Just email support and ask if they have patched the "OpenSSL Heartbleed vulnerability".
I have recommended Lastpass before and still do. It was one of the vulnerable sites, but due to the way it's built, theoretically should still be safe. It's still a good idea to change your master password there and the passwords it contains.
One last tip: if you get a password reset email, go to the website directly to reset your password instead of clicking a link in email. This will prevent any related phishing attempts.
PS: Don't really panic. Just be safe and change your passwords regularly and do not use the same ones everywhere.
Friday, April 4, 2014
Use Trello to Slay Debt the Dave Ramsey Way
Debt-Free Trello
Financial Life Plan Template - To use this template as your own, simply click the link and then Show Sidebar -> Copy Board.
Two of my favorite personal finance books of all time are Financial Peace and Total Money Makeover by Dave Ramsey. These excellent guides show step by step how to take control of your finances, get out of debt, and save for retirement. I was introduced to them in college and they have had a huge impact on how I view my personal finances. This template lays out his seven steps with links to information about each one. By using Trello to keep track of where you stand, you have an instant big-picture view of your financial goals. Dave's plan is simple:
- Step 1 - Get a budget and save a $1000 emergency fund.
- Step 2 - Pay off all debt, except for your house. List them smallest to largest and ATTACK! The template above includes a checklist where you can get that gratifying feeling of progress as you check them off.
- Step 3 - Save 3-6 months in your emergency fund.
- Step 4 - Save 15% of your income in tax-advantaged retirement accounts.
- Step 5 - Save for your kids college.
- Step 6 - Build wealth and give!
Thursday, March 27, 2014
Use Trello to Hire The Perfect Employee the PayPal Way
Perhaps you find yourself looking for the perfect employee to fit a particular role. Or, perhaps you are HR staff or hiring manager always on the lookout for great talent for your organization. Getting the right employees can be extremely difficult to say the least. PayPal uses Trello to streamline their employee hiring process. As Bill Scott, their UI Engineering director explains:
What I really like about using Trello is you can visually see the pipeline. You can assign people on the team to candidates, subscribe to candidates, or send notifications to each other about an action that needs to be taken with the talented people we find. It is really simple to move candidates through the pipeline and keep your information centered around the candidate. (Using Trello for Candidate Tracking, Bill Scott, Sr. Director UI Engineering, PayPal)
By focusing on the candidate, and flowing their card through a board where you can log your various inter- actions and even attach resumes and other supporting documents, Trello offers a really simple, inexpensive online hiring process that rivals pay solutions.
This is another case where a little automation using the board’s email address and IFTTT or Zapier can take a board to the next level. For example, you may have your IT staff forward ‘[email protected]’ to the board’s email address. When people submit their resumes via email, they’ll go straight to Trello cards with the resume attached! IFTTT or Zapier can be used to scrape RSS feeds for potential candidates, or even take in candidates from text message.
Thursday, February 6, 2014
@SmartThings and #Arduino: Color the Weather
I’ve been tinkering with SmartThings quite a bit lately and am loving it. We’ve added several switches, a smoke detector, and gotten used to the interface a bit more. For the most part, things have “just worked”. Lights turn on on schedule, and off when people leave. That’s cool and all, but one project I’m particularly excited about is the idea of an ambient colored light around chest-of-drawers, closet, coat-racks and the like to indicate the weather. The idea is that without looking it up, I know if I need to carry an umbrella or jacket right in the place I’m making the decision.
To pull it together, you obviously need a SmartThings hub and some color-changing device that works with it. I haven’t tested with Phillips Hue, but in theory these should work and certainly be easier than what I describe below. In fact, I suspect you could do similar with some IFTTT recipes and not need SmartThings, but where’s the fun in that? Instead, I used an Arduino and SmartThings Shield. A little SmartThings DeviceType and SmartApp code glue it all together. It’s a little convoluted, but here’s a step by step on getting it running:
- Put the SmartThings Shield on the Arduino.
- Clone this project from codebender.cc and push it down to your Arduino
- Copy SmartThingsShieldDeviceType.groovy from this gist to a new Device Type in your SmartThings environment.
- Power up your Arduino in a convenient place and let it pair with the SmartHub.
- Go to My Devices –> SmartShield –> Edit and change the device type to the one you created above.
- Copy ColorTheWeather.groovy from the same gist to a new SmartApp in your SmartThings environment.
- Publish the app
- On your mobile phone, add the app you just published and configure it.
Whenever you switch on the light, or at the schedule you provide, it will look up the weather and color the light accordingly. It will also output the weather forecast to the “Hello Home” page in your mobile app (the little notification button on the top-right).
It’s still an experiment and obviously not for the faint-hearted, but I’ve cobbled together enough of a system to share. One interesting aside related to this project is that it was built entirely using web-based development environments. The SmartThings app was built using their web-based IDE. The Arduino bit I did using CodeBender.cc- a web based IDE for programming Arduino. I’ll let that soak in: I wrote a custom home automation app, including a hardware update, using nothing but my web browser. No funky downloads or library headaches or path variables. I do most of my “day job” development in virtual machines these days, but am keeping a close eye on web-based tools like “Visual Studio Online” and similar. The prospect of never having to install a bunch of “goo” just to write code is pretty inviting to somebody who used to spend days setting up machines for development.
Monday, February 3, 2014
InfoPath is Dead, Long Dead InfoPath
On the one hand, InfoPath has in theory offered users the ability to build web forms without writing code. The sales spiel has always been that power users could simply drag a few fields to the page and build business forms without involving developers or "needing to know HTML". Easy instant form creation FTW!
On the other hand I have yet to see this materialize in real-world organizations. What happens in real life is developers end up being the ones to use InfoPath (and workflow), and often end up frustrated by the tools, which by their very nature are not as powerful as coding solutions from scratch.
We don't know yet what Microsoft's next big thing for forms will be. The official guidance is to keep using InfoPath and wait for more info soon. Andrew Connell and other SP bloggers suggest that writing HTML+JS forms against the SharePoint API(s) are the way of the future. This certainly seems like wise guidance to me. Certainly, HTML+JS is here to stay, and with tools like jQuery, Angular, and Knockout, it's easier than ever to build rich, cross-browser user experiences that InfoPath just can't do.
Maybe it is time to admit that the panacea of a "no code solution" for web forms never really existed, and maybe shouldn't exist. Maybe you should be expected to know HTML and Javascript if you are to do web based forms reasonably well.
Wednesday, January 29, 2014
Why I Chose SmartThings
A reader on my recent post on SmartThings comments to ask “What made you decide on this solution for home automation? What others did you consider?” I thought this was a good question worthy of a full-on post to answer:
If Momma’s Happy…
I decided on SmartThings because it seemed to offer the best balance between "just works" and "hackable". “Just Works” is going to be important for the WAF (Wife Acceptance Factor). She needs to be able to turn things off and on manually or with her phone, and not worry about what crazy thing her dear husband has going on. So far, I’d give SmartThings a B+ on this. Their devices pair up and work out-of-the-box with minimal fuss, and the app lets you do pretty sophisticated smarts by filling out a few wizard choices. We’ve hooked up an Iris thermostat, and they keep a list of compatible devices beyond the ones for sale on the site. The one issue we’ve had so far is adding one user to the account who already had another account set up.
I also looked into Iris (Lowes’ system), Vera, and HomeSeer. Each had merits, but Iris seemed less “hackable”, while the others’s apps didn’t seem as polished. I specifically did _not_ want something that had to run on my PC, because I don’t want to leave the computer on all the time and have moved on to laptop/iPads mostly for home computing in this “post-PC world”. HomeSeer requires a PC to run the software for it. Vera was a contender, but as far as I can tell it does not have the phone location-based presence feature SmartThings does, and in general their “MiOS” seemed less intuitive than SmartThings. Finally, SmartThings is both ZWave and ZigBee compatible, and has WeMo, Sonos, and Philips Hue support in beta.
I Need to Twinkapate the Confabulator Capacitor
I need “Hackable” because I’m driven to tinker. I took apart clocks and old kitchen gear from a young age, and grew up burning out transistors in various electronics kits. Here, SmartThings gets an A. They offer an Arduino shield right on their site, and a pretty sweet web-based IDE for writing your own apps. They would get an A+ if they improved the developer documentation a bit. Then again, “hackable” by it’s definition implies a bit of undocumented exploration. To that end I’ve found I am slowly ‘groking’ how to customize this, and have not burned out any transistors.
Is My Head in the Cloud?
At this point, I have two main concerns I’m keeping an eye on. First, will cloud-based be a boon or an Achilles heel? All of the ‘brains’ of SmartThings run in the cloud. If your internet is down, it doesn’t work (I think this is a true statement?) But, this also means they can push out updates and add new features faster. So, it’s a double-edged sword, and something of a debate in the Home Automation world. Only time will tell if the pros of cloud-based outweigh the cons.
I Need More Power, Captain
Second, some of the devices are battery based. I really don’t like changing batteries, and if these don’t last a year or two on batteries, I’ll probably be annoyed. I don’t have data on this yet, so hopefully it’s a non-issue.
So, this is still a learning process for me, but hopefully that sheds a little light on what I’m thinking. Stay tuned as we continue to build out our system – who knows what twists and turns we’ll take along the way!
Thursday, January 23, 2014
3 IFTTT Recipes To Spice Up Your Trello Boards
The book I’m writing - Enter, Trello Dojo - is all about using the awesome todo-list-and-so-much-more service Trello to be more productive at home and work. One area it explores is automating Trello using tools like IFTTT and Zapier. In the most recent update to the book, I include a handful of If This Then That recipes to automatically create cards based on various triggers. The premise is simple: use various triggers to email to your boards’ special email address (Found in Menu > Settings > Email Settings on every board) Below are three IFTTT recipes that can really make your Trello boards sing.
Send Text Messages to Your Trello Boards
This is great for those times you don’t want to load up the app just to jot a quick task down. Once this recipe is set up, simply text to your IFTTT phone number with a hashtag and IFTTT will email your board to create the card for you. For example, you might set it up so that you can text #grocery Milk to add milk to your grocery list. Recipe Link
Create Trello Cards on a Schedule
Want a card reminding you to do a weekly review every Friday? Have a monthly office task that keeps getting forgotten? Use the schedule trigger to email to your board daily, weekly, monthly or yearly. Recipe Link
Monitor Real Estate in Your Area to Trellofy your Home Search
House hunting service Trulia has a great hidden feature: It lets you create RSS feeds of any search that you can then add to a feed reader, or in this case Trello. Simply build the rss feed you want over at the Trulia RSS tool, then use the RSS trigger and Email action to send houses that match over to your house hunting Trello board. By using a Trello board, you can then take notes, compare favorites, and archive ones that you know aren’t for you. Recipe Link
These are just a few ideas of mashups you can create in minutes to integrate various apps into Trello using IFTTT. If you have other ideas for Trello recipes, be sure to share them in the comments below or on IFTTT with hashtag #trellodojo!
Monday, January 20, 2014
Update: Solar Keyboard and Marathon Mouse
Friday, January 17, 2014
4 Templates For Awesome Requirements Gathering
They might have a general idea of how some process works today, but often even that is a stretch. Maybe the process is not what it needs to be, or was the result of some now-irrelevant technical limitation. Maybe Sue in accounting hates approving the TPS reports, but just does because she always has. So, the pointy-haired ones ask the nerds to build XYZ, and the nerds build it, and it doesn’t do what the pointy-haired ones really wanted. Over and over and over again.
I’m convinced this is an area where our industry can do better. Maybe it’s just me, but our development tools are improving much faster than our people skills. Tools like Trello or Yammer for communication abound, but even these do you no good if you’re asking the wrong questions. I don’t have all the answers, but I have developed a handful of ‘templates’ I often use when asking customers about projects they want to take on. Here are some useful tips for building requirements or helping others do so:
1) Use a simple template as much as possible
Fill in the blanks: “As a [Role name] I would like to [feature] so that I can [business reason]”. This is the classical agile story card statement, and there is just so much packed into that simple phrase. Who, what, and why. Let the nerds build how.
2) Think business-first for reporting and data visualization
Again, fill in the blanks: “As a [Role name], I think it’s been a [good/bad] [day/week/month/year] when [metric] is [up/down]” Too often developers start from some data and try to throw up every chart and report their tool will spit out. Other times, business owners will ask for an updated version of some mainframe report, without thinking about why and what the report shows. By starting with the business problem, you can understand who is needing what exact numbers, and some value judgment about the metric. The template above only works for time series data. An approach for non-time bound data: “As a [Role name], I need to see what values make up [metric], so that [business reason].”
Another favorite: “As a [Role name], when [metric] is [up/down/within range], I plan to [action]”. Even more than the others, this ties the measure to some specific business need. Oh yeah, you _need_ to see the total value of all widgets sold in Timbuktu? What do you plan to actually do if the number is or isn’t what you want?
3) Report bugs clearly
Bugs are requirements too. They are often (but not always), just requirements that need to be fixed quickly because they cause particular pain to the user. A great way to report them is: “When I do [Steps to reproduce the issue], then [detailed description of bad thing]. I expect [description of desired behavior]” As somebody who’s dealt with both sides of the support desk, I can just about guarantee that this pattern will get you a solution faster than the more common “My [vague reference to thing] bombs. Fix it!” If I get a vague bug report, my favorite template for combating it: “When you say it bombs, what do you mean? Tell me the steps and any error you get.”
4) Don’t forget the environment
Another mistake is to not understand the other hardware and software surrounding a given solution. “Tell me about the hardware and other software you all run” is a must-ask for any new customer. Building a solution for a VMWare shop that runs all SQL Server and IIS with Exchange is different from building the same solution for a firm with Oracle and Apache. More and more, you may find that companies have little or no infrastructure in-house. Building for Amazon EC3 or Azure is different again from on-premise.
So, there you have it, 4 ways you may or may not have thought of to ask your customers what it is they want. If you have more ideas, I’d love to hear about them in the comments!
Thursday, January 16, 2014
SmartThings Mini-Review
My wife and I are building a new house, and one of my plans for it is to include a home automation system. This is an area I’ve been looking into for a while now, but have never really delved into with any depth. After some research, I settled on SmartThings’ platform as my starting point. I received my first order yesterday, and while it’s not ready to be installed (we don’t have a roof yet), I couldn’t resist unboxing the kit and setting it up.
The system so far has been a breeze to set up. Simply download the app, plug the SmartThings hub into internet and power, and then use the code included in the packaging to connect the app to the hub. To connect each device, Simply click “Add Thing” in the app and pull the battery tab out of the device. I was able to set up 4 sensors and the hub in about 15 minutes. My only complaint is that a few of them took a little bit longer than expected to join up. The “presence sensor” especially took a while. The app generally handles that gracefully, but at times you wonder if it’s hung.
Once my sensors were set up, I set up a few “Apps”. Apps are the brains of the SmartThing system. They let you do things like turn off and on lights based on presence, schedule, or even weather. Unfortunately, since the switches I bought need to be installed in the wall, I can’t do much actual automation yet. They do offer a “wall-wart” style device, but I’m not a fan of those, since devices can _only_ be controlled through the system set up (ie a lamp plugged in to one can not be turned on remotely if it was turned off manually). But I was able to fairly easily send myself push notifications based on a various sensors by simply choosing my devices and a few options in the app.
The multi-sensor was especially interesting to me. This little device looks like a standard window or door mag sensor you would see with an alarm system. However, it also packs in a temperature sensor and 3-axis accelerometer. This means it can be stuck on doors, windows, and even mailboxes (if in range), to notify you or do things when they open or close or move. But you can also use them as feedback into your HVAC system, or as simple thermostat for plugin heaters and the like.
So far, my main complaint with the system is that, while user friendly, it’s almost _too_ helpful. Videos stepping you through pulling the battery tab out of a sensor are probably handy for some, but just felt “in the way” for me. Large picture buttons for some of the app menus also were a bit distracting. That said, for them to really make prime time they need to be dead easy to use even for non-nerds, and I think they’re getting close to that.
Setup is currently only done through the app, which is only iOS and Android. Meaning if you don’t have one of those, you’re pretty much out of luck. A full-on web interface would be nice so that the system can be monitored both on a mobile device and on a larger screen. The developer site has a start of just such a thing, so hopefully that’s in the works.
I’ll do another review once I’ve had the system for a bit, and installed it in the house. I’ll be especially curious to see how the battery life is for these sensors, and how well some 3rd party devices like thermostats and door locks work.