June 2013 Newsletter
Power operates by division, influence by multiplication. With power, the more we share, the less we have. With influence, the more we share, the more we have… The use of power diminishes others; the exercise of influence enlarges them. –Jonathan Sacks
Youth always tries to fill the void, an old man learns to live with it. –Mark Z. Danielewski
"Kindness" covers all of my political beliefs....I believe that if, at the end, according to our abilities, we have done something to make others a little happier, and something to make ourselves a little happier, that is about the best we can do. To make others less happy is a crime. To make ourselves unhappy is where all crime starts. We must try to contribute joy to the world. That is true no matter what our problems, our health, our circumstances. We must try. I didn't always know this and am happy I lived long enough to find out. –Roger Ebert, Life Itself: A Memoir
The tragedy of life is what dies inside a man while he lives. –Albert Schweitzer
One of the more frustrating and intractable problems in software
development is estimating
how long tasks will take. This is
especially true when communicating to business customers, because they think
that with enough experience, you should be able to quite accurately project how
long it will take. This article examines
the problem and explores some possible solutions.
http://blog.patchspace.co.uk/why-cant-developers-estimate-time
This author makes a strong case for why daily
scrum meetings are rarely effective and should be replaced by each team member
providing a simple status update (or perhaps have a 30-second
standup meeting).
Most of us have probably been confronted with the perception by our
business customers that agile development is chaotic and unpredictable. This article gives some examples how
experienced agile teams have changed the minds of their stakeholders.
Some of you may remember the “reusable component” wave in software
development of the 1990s. It never quite
made the splash that was anticipated. In
this article, the author discusses some principles of building an architecture
that allows an application to evolve over time.
Rather than providing a prescriptive solution, it helps you look at the
areas where flexibility should be considered.
http://effectivesoftwaredesign.com/2013/05/05/adaptable-designs-for-agile-software-evolution/
This article suggests that organizations, and IT
particularly, are too fixated on “agile” methodologies, but should instead be
focused on agile thinking to improve
the business value of IT development projects.
http://www.cio.com/article/734338/Why_Agile_Isn_t_Working_Bringing_Common_Sense_to_Agile_Principles
Most software development work involves automation of repetitive business
processes. However, as programmers,
sometimes we need to look at how we can automate some of our own practices to
improve efficiency. This article looks
at how we can develop simple habits that make our frequent tasks more
efficient.
http://spin.atomicobject.com/2013/05/20/automate-human-good-development-habits/
To help improve the view of IT among business customers, this author says
that it comes down to two main matters:
managing relationships and expectations and crisp communication with
business customers.
http://www.techrepublic.com/blog/tech-manager/improve-the-image-of-your-it-department/8364
Most of us know Java, Python, Ruby, SQL, or another (or maybe all!)
programming language as “native speakers”.
But none of those matter very much if we can’t communicate well with our
customers in the business. Here are some great tips on how to improve
your communication with non-technical co-workers.
http://www.coderslexicon.com/the-language-all-polyglot-programmers-should-know-business/
While certainly oriented toward the philosophical side, this articles provides some good big-picture perspective on the meaning of “quality” and how people often perceive it in different ways.
Do you have trouble remembering the algorithmic complexity of the various sorting algorithms or data structures. This site is a handy reference which shows both time and space complexity and has an at-a-glance indication of relative performance.
Whether you’re a designer, developer, or programmer, you are sure to find some gems in this list of CSS2 and CSS3 examples. Even if you don’t use any of them “out of the box”, they’ll provide plenty of inspiration for improving your own CSS.
http://www.hongkiat.com/blog/css-snippets-for-designers/
APIs are almost mandatory for any type of online service now. This comprehensive article gives you some best practices for designing your API, so that others can use it effectively. All of the ideas apply equally to “public” (product) and “internal” (enterprise) APIs.
http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api
Many of the principles of the “clean code” philosophy, developed by “Uncle Bob” Martin, are applicable, even if you don’t practice all of them. This reference includes coverage of TDD, class and package design, and more, along with the core clean code concepts.
http://www.planetgeek.ch/2013/06/05/clean-code-cheat-sheet/
Being a new convert (yes, I came kicking and screaming!) to using Git for version control, this is an interesting debate about the “right” way to refresh your local source code. As you can see, opinions vary widely and people are passionate about their approach. The key is make a decision based on the particular environment that you work in.
http://jrb.tumblr.com/post/49248876242/git-pull-rebase-until-it-hurts
http://geekblog.oneandoneis2.org/index.php/2013/04/30/please-stay-away-from-rebase
https://gist.github.com/tooxie/fbe5e1cff588c7cc8275
http://www.derekgourlay.com/archives/428
Successful leaders recognize that people learn and adapt in a variety of ways. This excellent article shows how leaders can help workers be more effective by reducing the burden and stress on their brains and improving the ability to focus on the tasks at hand.
http://blog.christianleadershipalliance.org/2013/04/22/how-to-lead-so-peoples-brains-can-function/
As we mention from time to time, your career is essentially in your own hands and you are responsible for improving your skills. So what skills should you brush up on? This article lists the most sought after skills by hiring managers.
http://www.cio.com/slideshow/detail/97819
According to a new survey, most people prefer to work in the office, but they feel less productive when they do, because of noisy co-workers and other distractions. Also, younger workers tend to gravitate more toward open-plan offices compared to older workers.
http://about.ask.com/press-releases/new-ask-com-study-reveals-workplace-productivity-killers/
Mental health does not seem to be a topic that you’d expect to hear about at development conference. However, as someone who has battled depression for nearly all of my adult life, I found that this presentation was valuable in hopefully erasing some of the stigma and silence on this topic that is probably much more pervasive than we realize (or want to admit).
http://agilescout.com/developers-and-depression-killing-our-knowledge-workers/
Men are starting to take a more pro-active stance about work-life balance and spending time with their kids. Many are also blocking off work from evenings and weekends to be more “present” with family.
This seems to be one of the debates that won’t easily be settled, but couple of things that I found interesting from this article are that almost ¾ of employees today work on open-plan offices and that noise tends to be more distracting to older workers.
Even more than 50 years after his death, people are still fascinated by Albert Einstein and his incredible mental faculties (perhaps because there is a fear that we are running out of such geniuses). This essay looks at his style of problem solving (focus on the actions rather than words of those you admire) and how you can apply those principles yourself.
http://www.pitt.edu/~jdnorton/Goodies/Einstein_think/
If you frequently have need to create/insert special characters in text, then you need WinCompose. It’s lightweight and runs in the background. Just press the activation key sequence (Right <Alt>, by default) and then the two key combination to create the desired character. That’s it!
https://github.com/SamHocevar/wincompose
If you use Windows, then you probably know that the normal way to move a window is left-click on the title bar and drag the window. WinDrag is a tiny utility that runs in the background and makes this a bit easier: Just hold down the left <Ctrl> key and left-click ANYWHERE on the window to move the window!
http://sourceforge.net/projects/winboss/
YUMI is a simple USB thumb drive utility that allows you to boot multiple Linux distributions, stored as ISO live CDs/DVDs, from a single thumb drive. Simply run the utility and select the Linux distributions that you want to install and then boot from the thumb drive. You can even add your own ISO image for most any Linux distribution, which is great for adding specialized distributions like Clonezilla.
http://www.pendrivelinux.com/yumi-multiboot-usb-creator/
Print Edit is a Firefox add-on that allows you to edit web page content in Print Preview mode, so that you can remove unwanted content like ads and blank pages. Likewise, you can move content around to "compact" the printed page and apply your own CSS style sheet (or remove the page's style sheet).
https://addons.mozilla.org/en-US/firefox/addon/print-edit/
Check out some of the beautiful traditional Japanese artwork that this man creates using the drawing tools in Excel! He chose Excel instead of MS Paint because he found it easier to use.
http://www.spoon-tamago.com/2013/05/28/tatsuo-horiuchi-excel-spreadsheet-artist/
Need a good story to give the boss for why you’re late? Or maybe a reason that you didn’t get the meeting on time? MyExcuse.is to the rescue! It will give you more funny excuses than you can possibly need.
Rogue (or “Rogue-like”, if you prefer!) is one of the seminal games of the computer era. This site provides a faithful re-creation written entirely in JavaScript, so you can play in your browser.
Interesting explanation of the reason that red paint is used on barns (it’s cheap!) with a strange relationship to the cosmos. I wonder if this is the same reason that fire trucks are (usually) painted red?