Blog

  • No Starch Press book: Ruby Wizardry

    Ruby Wizardry is a modern day fairy tale that teaches programming skills kids can use.

  • O’Reilly Media book: The Uncertain Web

    What’s the best way to develop for a Web gone wild? That’s easy. Simply scrap the rules you’ve relied on all these years and embrace uncertainty as a core tenet of design. In this practical book, veteran developer Rob Larsen outlines the principles out what he calls The Uncertain Web, and shows you techniques necessary to successfully make the transition.

    Who Should Read This Book
    The primary audience is intermediate to advanced web developers—the folks on the front lines of dealing with these issues on a day-to-day basis and those who serve as the main channel for new frontend development techniques and trends to make their way into organizations. This book is geared toward developers who work primarily in HTML, CSS, and JavaScript and who have a solid understanding of cross-browser (if not cross-form-factor or cross-device) development techniques.
    The secondary audience consists of user experience designers, web-focused visual designers, and web-focused engineers from other programming disciplines. To properly build for the modern Web, there needs to be cohesion in site design and architecture from start to finish. The material here should familiarize other disciplines with the best way to approach designing and developing for the present and future of the Web. As a natural bridge between design and the server, the core web developer is always going to be the glue that binds this process together, but having everyone on board will help improve the finished product.

  • O’Reilly Media book: Mastering Bitcoin – Unlocking Digital Cryptocurrencies

    Want to join the technological revolution that’s taking the world of finance by storm? Mastering Bitcoin is your guide through the seemingly complex world of bitcoin, providing the requisite knowledge to help you participate in the internet of money. Whether you’re building the next killer app, investing in a startup, or simply curious about the technology, this practical book is essential reading.

  • O’Reilly Media book: Being Blameless – The Best Way To Learn From Failure (and Success)

    Failure is inevitable and a postmortem analysis, conducted in an open, blameless way, is the best way for IT techs and managers to learn from outages and near-misses. In this insightful book, IT veteran Dave Zwieback shows you an approach for making postmortems blameless, so you can focus instead on addressing areas of fragility within systems and organizations. If you’re involved with assessing why something goes wrong on a project or at your company, the concrete steps in this guide will help you find a real solution that works.

  • O’Reilly Media book: Bitcoin – A Blueprint for a New World Currency

    Bitcoin is starting to come into its own as a digital currency, but the blockchain technology behind Bitcoin could prove to be much more significant. This O’Reilly report takes you beyond the currency (Bitcoin 1.0) and smart contracts (Bitcoin 2.0) to demonstrate how the blockchain might become the fifth disruptive computing paradigm after mainframes, PCs, the Internet, and mobile/social networking.

    Author Melanie Swan, Founder of the Institute for Blockchain Studies, explains that the blockchain is essentially a public ledger with potential as a worldwide, decentralized record for the registration, inventory, and transfer of all assets—not just economics, but property and intangible assets such as votes, software, health data, and ideas.

    Topics include:

    • Concepts, features, and functionality of Bitcoin and the blockchain
    • Using the blockchain for automated tracking of all digital endeavors
    • Enabling censorship?resistant organizational models
    • Creating a decentralized digital repository to verify identity
    • Possibility of cheaper, more efficient services traditionally provided by nations
    • Blockchain for science: making better use of the data-mining network
    • Personal health record storage, including access to one’s own genomic data
    • Open access academic publishing on the blockchain

    This book is part of an ongoing O’Reilly series. Mastering Bitcoin: Unlocking Digital Crypto-Currencies describes the definition and technical background of Bitcoin and blockchain technology. Bitcoin: A Blueprint for a New World Currency considers theoretical, philosophical, and societal impact of cryptocurrencies and blockchain technologies.

    Melanie Swan founded and participated in new markets startups GroupPurchase and Prosper, and developed virtual world digital asset valuation and accounting principles for Deloitte. She was also involved in the early stages of the Quantified Self movement, and founded DIYgenomics. Melanie is an instructor at Singularity University, and an Affiliate Scholar at the Institute for Ethics and Emerging Technologies.

  • “TV Transcript Database” – wow!

    I came across this site, when I searched for quotes from Downton Abbey.

  • Mac OS X, “Mission Control”, multiple desktops, switching to other desktops with a keyboard shortcut

    • Yes, I know, I can switch to Mission Control,
    • use the keyboard shortcut to switch to another desktop,
    • and them switch back from Mission Control,
    • but all that should work without interacting with Mission Control,
    • but once in a while OS X forgets that,
    • and it will only work smoothly again after rebooting OS X.
  • shell scripting: “for i in $( … )” or “… | while read” ?

    The link refers to some code like the one I am working on right now:

    $ for i in $(seq -w $n); do …; done

    And the guy replying on that ml thread suggests to better write it this way:

    $ seq -w $n | while read i; do …; done

    His reason:

    to prevent all of seq’s output having to be buffered at once.

    I actually second that, and that reminds me of a rather snobby programmer I met last year. That guy’s code was like that, and I was close to a heart failure because of the many times I had struggled with code like this during the last 30 years:

    $ for i in $(/bin/ls); do …; done

    People even do it with “find“, and then they wonder, what “command line too long” would mean.

    Why not simply feed it into a “… | while read …“?

    And if that’s not good enough, have you come across “xargs” and esp. “xargs -0“?

    He said, he had found, that all the read-s would get started in their own process (WTF? what a crappy, crappy thought!), and he allowed no doubting at all. The guy (“JF”) was the customer’s guru shell and perl script programmer, so why struggle on this issue? The life-time I had spent there wasn’t paid bad, but that snobbish programmer guy was of a rather discouraging kind. That cost me quite some productivity in our intersecting area, but then: energies not spent in one area are usually available in other areas, which isn’t that bad after all.

    Having said all that I still like my current code, as I think it reads well and 12 will not really exhaust the command line buffer:

    $ for i in $(seq -w 1 12); do …; done

    I am creating place holder files resp. directories for 2015 this way. This has actually long been in place, but coreutils’ seq is buggy on one of my NAS-s, and I had to find a way around the bug, and I finally resorted to BusyBox’s seq, as the NAS is operating BusyBox anyway. Now I am calling /usr/bin/seq instead of simply calling “seq” through PATH – there are worse things than that.