November 2011
1 post
1 tag
Threads in Ruby
The current (as of Ruby version >= 1.9) situation concerning threads, concurrency and parallelism in Ruby is nicely explained in this article.
The GIL (Global Interpreter Lock) in the MRI Ruby interpreter gets mentioned and its purpose of data protection is exemplified here. The same author previously published a piece that described threading in Ruby in a more general way, including the topic...
October 2011
6 posts
ThoughtBot: cd'ing to frequently-used directories... →
thoughtbot:
Josh just dropped some sweet, sweet ZSH knowledge. I spend a lot of time in the directories under $HOME/thoughtbot/ and $HOME/src, and to get there I type (for example) cd ~/thoughtbot/hoptoad. There is a better way!
First, add this to your ~/.zshrc and source it:
setopt...
What Someone (not me) Learned About Testing Over... →
Note that these three things cover the entire life cycle of code; correctness applies to the present of the feature, confidence comes into play when the feature is in the past, and design feedback sheds light into the future of your code.
Real Software Engineering →
Video from Glenn Vanderburg’s talk at Scotland Ruby 2011.
Software engineering is the science and art of designing and making, with economy and elegance, […] systems so that they can readily adapt to the situations to which they may be subjected.
In classical engineering, the construction is by far the most expensive part while in building software, the construction (done by...
3 tags
Talk on fast Rails tests (Corey Haines) →
At GoGaRuCo 2011, Corey Haines shared ideas about how to speed up a unit test suite in Rails by treating Rails as a third-party component that can be isolated. He extracts business/domain logic into plain old Ruby classes which can be tested without the framework overhead. He maintains a github repository with an example Rails app that illustrates his approach in branches.
2 tags
About (not) testing private methods →
Gregory Brown (author of Ruby Best Practices - available for free as PDF) discusses the issues around tests involving private methods. The gist of it is that private methods should only encapsulate auxiliary functionality that is so trivial that it doesn’t need to be tested. Any more complex code found in private methods can be regarded as code smell indicating that the method should be...
1 tag
Private methods in Ruby
Method visibility in Ruby is different from other languages, especially Java. In Java, public methods or data members are accessible from everywhere, protected ones can only be accessed by the containing class or subclasses and private members are visible only to the class where they are defined. In contrast to that, method visibility in Ruby is all about the receiver of the message as this blog...
August 2011
1 post
Examples for responsive web design →
Found in this presentation.
July 2011
4 posts
Extensive list of OS X keyboard shortcuts and... →
When your goals and your user’s goals are truly aligned, you don’t need pixie...
– Kathy Sierra in Pixie Dust & The Mountain of Mediocrity
Beautiful Markup (or: curing DIV-itis with... →
Everything we hear is an opinion, not a fact. Everything we see is a...
– Marcus Aurelius
June 2011
6 posts
How to silence PostgreSQL in Rails →
Get rid of messages during executing rake tasks and log statements for meta queries.
10 One Liners to Impress Your Friends
Scala vs. Ruby vs. CoffeeScript
RubyMine, Spork, RSpec, Cucumber →
Explains how to include Rubymine’s special RSpec formatters into spork’s prefork to enable running specs against spork from Rubymine.
Debating test distribution
Two guys from ThoughtWorks (one dev and one test fellow) share their take on testing and test distribution (unit vs. integration vs. acceptance). The dev guy thinks that ~70% unit tests, ~20% integration tests and ~10% acceptance tests form a reasonable test pyramid. The test guy begs to differ and explains how acceptance tests can be prevented from becoming unmaintainable and brittle in a...
May 2011
3 posts
The Only Way to Get Important Things Done →
The answer, surprisingly, is not that they have more will or discipline than you do. The counterintuitive secret to getting things done is to make them more automatic, so they require less energy.
It turns out we each have one reservoir of will and discipline, and it gets progressively depleted by any act of conscious self-regulation. In other words, if you spend energy trying to resist a...
What pythonistas think of Ruby →
Turns out that Python can’t implement the smooth syntax of RSpec… and “Ruby takes full advantage of the Lisp chainsaw.”
Dictionary of Algorithms and Data Structures →
Could come in handy to brush some dust off half-forgotten computer science knowledge.
April 2011
2 posts
The only thing that interferes with my learning is my education.
– Albert Einstein
February 2011
3 posts
Good artists copy; Great artists steal.
– Pablo Picasso
Immature poets imitate; mature poets steal.
– T.S. Eliot
The History of Computing | Boy with a Camera →
minimalmac:
Some wonderful photos here. From the Commodore 64 to the iPhone. To choose any one would be a disservice to the rest.
(via Pat Dryburgh)
January 2011
1 post
Kent Beck talks about beyond agile programing at the Lean Startup Conference 2010.
Take these extensions of the Agile Manifesto away with you:
Team vision and discipline (over individuals and interactions over processes and tools)
Validated learning (over working software over comprehensive documentation)
Customer discovery (over customer collaboration over contract negotiation)
Initiating...
December 2010
5 posts
The technological revolution is more intertwined every day with our economy and...
– Steve Jobs to Playboy in 1985. We’re still waiting for this to happen. (via marco)
Same here in Europe.
W3C HTML5 spec for authors →
… and not for browser vendors.
10 Laws of Productivity - (via The 99 Percent) →
1. Break the seal of hesitation.
2. Start small.
3. Protoype, prototype, prototype.
4. Create simple objectives for projects, and revisit them regularly.
5. Work on your project a little bit each day.
6. Develop a routine.
7. Break big, long-term projects into smaller chunks or “phases.”
8. Prune away superfluous meetings (and their attendees).
9. Practice saying “No.”
10. Remember that...
Innovation Made Personal - Tom Kelly (transcript) →
This is the transcript of a talk given by Tom Kelley, the General Manager of IDEO. The videos are available at http://ecorner.stanford.edu/authorMaterialInfo.html?mid=2105
Think and see with new eyes like a traveler. Use your powers of observation. Have that part of your brain turned up as high as you can all along.
Treat life as an experiment. Be willing to tolerate lots of failures (like...
Our societies have achieved a general level of prosperity of which most of all...
– The School of Life : John Lanchester on Enough (via Merlin Mann)
It is about time
November 2010
2 posts
Usage is like oxygen for ideas →
if you’re not embarrassed when you ship your first version you waited too long
if you have a halfway decent idea, you can be sure that there are two or three teams somewhere in the world that independently came up with it and are working on the same thing, or something you haven’t even imagined that disrupts the market you’re working in
By shipping early and often you have the unique...
October 2010
2 posts
Inspiring talk by Eric Ries of lean startup fame. Quotes to take away:
So, the thing about startups is that they are human institutions designed to create something new, under conditions of extreme uncertainty. And it’s that uncertainty that really makes it difficult to transplant practices from other contexts into the startup domain.
And so because our goal as entrepreneurs is to...
The aim of life is self-development. To realize one’s nature perfectly -...
– Oscar Wilde
September 2010
3 posts
Google: HTML, CSS, and Javascript from the Ground... →
Didn’t know Google has a “code university”…
Best of Vim Tips →
Great reference and source for new stuff to try at the same time. And it seems to be growing continually.
✚ An iPad Buyer’s Guide and Other FAQs →
An excellent guide to decide if an iPad is right for you and which one to buy if it is.
August 2010
6 posts
Collection of RIA related links
15 common component patterns
30 essential contols
12 standard screen patterns
Ultimate guide to table UI patterns
Most of these links are also mirrored on http://designingwebinterfaces.com, the accompanying website for this book. The latter introduces 6 design principles which are illustrated here.
50 Most Usable RIAs →
These example sites can serve as references to explain what RIAs are about.
Your world is wired →
via @rands
Ben Pieratt's Blog: (Alternate title: The New Work... →
…for some people, work is personal. Personal in the same way that singing or playing the piano or painting is personal.
…
Creation is entirely dependent on ownership.
Ownership not as a percentage of equity, but as a measure of your ability to change things for the better.
A post from 2005 concisely defines the term RIA →
Bill Scott, former UI director at Netflix and author of “Designing Web Interfaces: Principles and Patterns for Rich Interactions”, defines RIAs (Rich Internet Applications) to have these characteristics:
The user interacts with items on the page and the feedback is immediate.
The page does not have to refresh to complete the user’s interaction
The page can be more like a canvas or...
Hipmunk: A new flight search engine →
Looks neat. Maybe I can use it the next time planning a vacation.
July 2010
6 posts
Paul Graham: The Acceleration of Addictiveness →
Go and read the whole post. These paragraphs hit me most:
Which means that as the world becomes more addictive, the two senses in which one can live a normal life will be driven ever further apart. One sense of “normal” is statistically normal: what everyone else does. The other is the sense we mean when we talk about the normal operating range of a piece of machinery: what works...
A late change in requirements is a competitive advantage.
– Mary Poppendieck
Marco.org: Great since day one →
The original iPhone was great on day one. It couldn’t do as much as today’s iPhone, but it performed its feature-set extremely well. There were almost no rough edges or unpolished areas in its hardware or software, and nearly everything seemed justifiable, well conceived, and well executed. Apple…
Something is wrong if workers do not look around each day, find things that are...
– Taiichi Ohno, father of the Toyota Production System.