background preloader

The GitHub Blog

Flattr - Social microdonations Writing Robust Bash Shell Scripts : David Pashley.com Many people hack together shell scripts quickly to do simple tasks, but these soon take on a life of their own. Unfortunately shell scripts are full of subtle effects which result in scripts failing in unusual ways. It’s possible to write scripts which minimise these problems. In this article, I explain several techniques for writing robust bash scripts. How often have you written a script that broke because a variable wasn’t set? I know I have, many times. chroot=$1 ... rm -rf $chroot/usr/share/doc If you ran the script above and accidentally forgot to give a parameter, you would have just deleted all of your system documentation rather than making a smaller chroot. david% bash /tmp/shrink-chroot.sh $chroot= david% bash -u /tmp/shrink-chroot.sh /tmp/shrink-chroot.sh: line 3: $1: unbound variable david% Every script you write should include set -e at the top. Using -e gives you error checking for free. command if [ "$?" could be replaced with command || { echo "command failed"; exit 1; } or

Recruiting Developers? Create An Awesome Candidate Experience tl;dr: If you're trying to attract awesome developers, you need to create an awesome candidate experience (CX). Something that makes them go "WOW!". It's like UX -- but for the people interviewing to join your team. It seems that every startup I know out there is trying to grow their development team. Yesterday, I sat in a HubSpot "Tech Talk". Ideas for Creating An Awesome Candidate Experience (CX) Here are some ideas for what I think would make a great candidate experience. 1. a) Recruiting great people is hard -- and competitive. 2. 3. a) On a scale of 0-10 how likely are you to recommend that a friend or family member interview here? b) Why did you give us that score? You don't have to use these specific questions -- the benefit is that NPS is that it is simple, and widely used as a way to measure customer satisfaction (or more accurately, customer delightion). 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. a) Thank them for their time and stop the interview process? 14. 15. What's Your Take? Whew!

Sequoia- La forêt apatride Fear Those Tiers Udi Dahan December 2007 Summary: Tiers and networks are not to be taken lightly, in any architecture. Contents IntroductionCanned AnswersBack to the Drawing BoardDistribution Trumps OOConclusionCritical-Thinking QuestionsFurther StudyGlossary Introduction I was horrified: My beautiful tiered architecture was buckling under the stress tests—at one tenth of the expected load of the system. The only redeeming thing about this situation was that I had learned the hard way to do performance tests early in the project; with that skill mastered, I thought that there might still be enough time to save the situation. Since then, I've learned that tiers and networks are not to be taken lightly, in any architecture. Canned Answers I got into architecture by the usual route: rising through the ranks from programmer to team lead; specializing in a field or two (transaction-processing, in my case); eventually, splitting my time among a number of projects. Back to the Drawing Board Distribution Trumps OO

Zappos, visite guidée de la maison du bonheur Qui? Tony Hsieh, CEO de Zappos et auteur de "Delivering Happiness" et Mandy, l'une des responsables des visites qui ont lieu chaque heure, par groupe de 6 personnes. Quoi ? La visite guidée du siège de Zappos, cette filiale d'Amazon spécialisée à l'origine dans les chaussures, qui vend à présent toutes sortes de produits, des cosmétiques aux couteaux de cuisine. Combien ? Comment ? Dès l'entrée, on sent que l'on visite un lieu spécial, entre Tinguely et Ben. Un bouton rouge est accompagné de la mention "Surtout ne pressez pas ce bouton". La déco est maison et proclame la culture d'entreprise "happiness is gold". Ceci n'est pas un décors de kermesse, mais le plateau des télévendeurs. A côté des statistiques d'appel, des items comme le nombre de cookies reçus en remerciement des clients. La "Royalty Room" est la pièce du coach gratuit. Le quilt de l'humilité orne les murs. Le bureau de Tony, dans la "Monkey Alley"a la même taille que celui des télévendeuses.

Connexion | Tumblr AI Computer Vision: Scala vs. Haskell vs. Python Functional programming is on the upswing, but should you bet your career on it, or is it a short-lived technology fad? I have long wanted to use functional programming professionally and for the last year I have. Mainly Scala, written in Haskell style, plus some real Haskell programming. Here is my impression of Scala and Haskell compared to my benchmark language, Python. Scala Scala is a functional object oriented hybrid language running on the JVM. Issues It is very complexIt is a kitchen sink languageConfusing to keep Scala collections and parallel Java collections apart Eclipse Plugin Scala IDE for Eclipse The Scala Eclipse plugin is very solid, but not quite as good as the fantastic Java support. Syntax highlighting Code completionDebuggerShows compile errors with explanationRudimentary refactoringJump to definition Monad and Applicative Functor Two very important concepts in functional programming are monad and applicative functor. Scalaz Haskell There is a steep learning curve for Haskell.

Related: