Here's an interesting idea I've been trying to figure out what to do with: it seems like some days have particular moods. Maybe because of the things you have planned that day, or other things that happened recently, or just your general mood taking form in what you do. Some days seem very productive, other days don't. Some days seem energetic, others are relaxed.
I've noticed that on the days I know are going to be very distracted, there seems to be very little point in fighting it and trying to focus. I've previously gotten quite frustrated trying to fit in an hour of focused thought between visitors and social events. The solution was presented to me by a friend: don't fight mood days, embrace them. If it's going to be a crazy distracted day, use the opportunity to knock off a lot of small tasks that might otherwise disrupt a perfectly good focused day.
Of course, the flip side is that if you're feeling particularly calm and focused, that's a bad time to start ticking off little to-dos or answering emails. And there's obviously some degree to which you can influence the mood of a day, especially if you have a lot of time to play with. But often you don't, and I think learning how to make the best of what the day has to offer is a big improvement over trying to swim against the tide.
There's been a lot of buzz about 3D printing - justified, in my opinion, but maybe not for the reasons people think. Obviously, additive manufacturing opens up a lot of possibilities that the subtractive equivalent isn't capable of. But actually I think the community and the attitude that has appeared around 3D printing is more important than the technology itself.
With a little effort, we could have the same revolution in CNC routing. Machines right now tend to be big and expensive, and they don't have the same DIY community support, but there's no reason that has to be the case. We could make DIY router parts out of other parts, share designs, interoperate with standard model files and design better software for novices to use.
If we did this, I think it would become much more obvious that the glorious future of home DIY manufacturing can't be realised with 3D printing alone, for the very same reason it was invented in the first place: some things are easier to create additively, and some subtractively.
Maybe at some point we'll even have a desktop-sized combined printer/cutter. That would really be something.
There's a great trick I used to use when doing unit conversions using Google's calculator. It's great for asking natural questions in units it knows about, like how long it would take to download 1 gigabyte on dialup or how many years before the Opera House is underwater. But sometimes you have an important question where you want to refer to a unit it doesn't know about, like how many sneezes it takes to fill the Goodyear Blimp.
It turns out the answer is 4.78 million dollars or, uh, 4.78 million sneezes. Dollars make a great "generic standin" unit. They're readily available, easy to remember, and don't accidentally cancel with any other units leaving you with some funny number in megahertz per square nanofarthing or something. Unfortunately, at some point Google added the "unit" unit, which works even better but doesn't feel as clever.
But something occured to me along the way: the dollar really is the perfect everyunit. There isn't a good way to convert, say, degrees celsius into metres, or seconds into kilograms. But there are tonnes of great ways to convert degrees, metres and seconds into dollars. I've sometimes run into the issue of explaining or justifying decisions to people who have decisionmaking oversight but very little knowledge of the decision domain. Or, to put it in another way, they have to check my numbers but they don't know the units.
Maybe you start off explaining that bigger monitors make programmers more productive, or that you need to buy better servers to keep the site up. But as soon as you start talking quantities you immediately run into lots of domain-specific units. How big are these monitors? How much more productive? What's the productivity per inch? You want me to pay x dollars for y servers with z IOPS? What's an IOPS again?
The dirty secret is that you can save yourself a lot of trouble if you can convert everything into dollars and cancel out the units. Figure out dollars profit per IOPS, multiply through by IOPS per dollar cost. You end up with the wonderfully unitless dollars per dollar, which is very easy to reason about.
Here's a nifty idea I had a while back. I've occasionally had that issue where you're meeting up with someone and can't figure out where they are, particularly at big events. Sometimes there's a landmark we can refer to, but other times I really just want something that can just tell me which direction to walk in.
My idea for solving that is called Friend Compass. It just displays a simple compass but instead of (or, I guess in addition to) showing you which way is north, it shows you which way someone else with the app is. You pick a friend from your contact list, they get a message asking them to install/open the app if they want to be found. Once the pairing is done both apps would show where the other is relative to you.
There might be some tricky stuff to get good results in crowded areas with bad GPS reception, but hopefully with not too much effort Friend Compass could eliminate the entire class of "Where are you? I thought you said near the tree. No, I meant the other tree!" problems for good.
I've been running the "which web framework is everyone using now?" gauntlet again for a project, and finding the whole thing pretty exhausting. I'm sure at some point we'll figure out the right answer and stop making new web technology stacks, but not any time soon. While it's nice to see so much developer effort going into making the web better, it is tough to stay on top of.
What would be really helpful is a website to catalogue and track the stack trends in web development. For example, one of the biggest up-and-coming frontend stacks is Webpack + Flux + React. I would call that the early-2015 trend. The 2014 equivalent is Browserify/Gulp + Angular + Bootstrap. The 2013-ish era was Grunt + Backbone + jQuery. I think there are a few candidate late-2015 trends on the rise. Maybe Om or one of the Web Component-based systems (Polymer seems like the front-runner but I quite like the hybrid model of RiotJS).
A lot of this you can figure out by just paying attention to what you read on Hacker News or hear recommended by other developers, but it sure would be nice to have a concrete reference for the generations of web technology. Often each generation is a refinement or a reaction to technologies from the previous generation, so you can learn a lot from finding out why those technologies changed. Different components of the stack usually complement each other, too - advances in one area lead to new tools in another.
And aside from being able to share a common language of stack trends, probably the greatest benefit would be just having a single place to look for a complete list of new hotness to evaluate when starting a project.