Thursday, December 29, 2011

Changing Times: The Hanke-Henry Permanent Calendar

I have a long history of supporting worthwhile but hopeless causes so it should come as no surprise that I am officially declaring myself as a Hanke-Henry man.

Steve H. Hanke and Richard Conn Henry have proposed a new calendar.  Dates would always fall on the same day of the week.  For example, December 25 would always be a Sunday.  (That saves me an extra church day every year.) No more leap days, but every 5 or so years we'd have to add an extra week to keep the seasons in line.  (Call it an extra week of vacation and you have my vote!)  The best part is that they get rid of Daylight Saving Time.

The transition to the new calendar works well for 2012 as January 1 is a Sunday in both the old and the new calendars.  I'm switching and I hope you'll join me on New Year's Day.

For more details, read here:

We propose a new calendar that preserves the Sabbath, with no exceptions. That calendar is simple, religiously unobjectionable, business-friendly and identical year-to-year. There are, just as in Eastman's calendar, 364 days in each year. But, every five or six years (specifically, in the years 2015, 2020, 2026, 2032, 2037, 2043, 2048, 2054, 2060, 2065, 2071, 2076, 2082, 2088, 2093, 2099, 2105, ..., which have been chosen mathematically to minimize the new calendar's drift with respect to the seasons), one extra full week (seven days, so that the Sabbath is unaffected) is inserted, at the end of the year. These extra seven days bring the calendar back into full synchrony with the seasons. In place of Eastman's 13 months of 28 days, we prefer 4 identical quarters, each having two months of 30 days and a third month of 31 days (see the accompanying permanent calendar**).

Moving on from the calendar to time, we recommend the abolition of all time zones, as well as of daylight savings time, and the adoption of atomic time — in particular, Greenwich Mean Time, or Universal Time, as it is called today. Like the adoption of a modern calendar, the embrace of Universal Time would be beneficial.

The new calendar is available here:

Posted via email from miner49r

Tuesday, December 27, 2011

MoveYourDomainDay - Dec 29, 2011 • Show your support against SOPA •

Some of our competitors support SOPA, despite the untold damage it can do to the internet as we know it.

Because of this, we're declaring December 29th “Move Your Domain Day”, as a call-to-action for those who oppose SOPA and wish to leave service providers who support SOPA.

On December 29th, we’re offering transfers below cost ($6.99* per transfer) using the coupon code SOPASucks. Additionally, for every domain transfer initiated on the 29th, Namecheap will donate $1 to the Electronic Frontier Foundation, to help them continue the legal fight against SOPA, PROTECT-IP, and other overbroad and ill-considered legislation.

Posted via email from miner49r

Thursday, December 15, 2011

The Real Story Behind Apple's 'Think Different' Campaign - Forbes

[Rob Siltanen] was the creative director and managing partner at TBWA/Chiat/Day working on the Apple pitch alongside CEO and Chief Creative Officer Lee Clow. 


This is a message from the MailScanner E-Mail Virus Protection Service
The original e-mail attachment "300px-Apple_logo_Think_Different_vectorized.svg.png"
is on the list of unacceptable attachments for this site and has been
replaced by this warning message.

Due to limitations placed on us by the Regulation of Investigatory Powers
Act 2000, we were unable to keep a copy of the original attachment.

At Thu Dec 15 08:01:34 2011 the virus scanner said:
Attempt to hide real filename extension (300px-Apple_logo_Think_Different_vectorized.svg.png)

Posted via email from miner49r

Tuesday, December 13, 2011

Ember.js (formerly SproutCore 2.0)

SproutCore 2.0 has been renamed to Ember.js

Ember is a JavaScript framework for creating ambitious web applications by eliminating boilerplate and providing a standard application architecture.

Posted via email from miner49r

Monday, December 12, 2011

The Day I Saw Van Gogh's Genius in a New Light

Here's an interesting article theorizing that Van Gogh may have had color deficient vision.  A protanope (like me) is less sensitive to red wavelengths than a person with normal color vision.  Personally, I can't tell the difference between the two images.  Maybe there's a good reason I've always liked Van Gogh.

And “The Cafe Terrace at Night.” 

Each of the stones in the stone pavement become more solid. The building of the slender cafe’s terrace emerges with depth in the moonless night. Under the stars in the infinite sky, people relax and are enjoying a meal and drinks. And the warm light illuminates them.

Left: Original / Right: 

Protanomal simulation (60%)

Posted via email from miner49r

Wednesday, December 7, 2011

Bellarmine defeats Palo Alto for CCS championship

Last Friday evening, the Bellarmine Football Team captured the school’s sixth Central Coast Section championship and its third in four years when the Bells defeated Palo Alto, 41-13.

Posted via email from miner49r

Monday, November 28, 2011

Tuesday, November 22, 2011

Slides from Clojure/conj

Why Fantom?

Fantom wants to be the next Java, which means it's competing directly with Scala.  I haven't heard much about Fantom, but it sound like it would be worth a look for Java fans.  (Of course, Clojure is the future for serious programmers.  :-)

Fantom is designed as a practical programming language to make it easy and fun to get real work done. It is not an academic language to explore bleeding edge theories, but based on solid real world experience. During its design we set out to solve what we perceived were some real problems with Java and C#.

Stephen Colebourne's "Guide to evaluating Fantom":

Brian Frank's article in Dr. Dobbs:

Posted via email from miner49r

Stephen Colebourne's blog: Scala feels like EJB 2, and other thoughts

I don't know Scala. By reputation, it's supposed to be a "better Java".  Here's a prominent Java programmer who doesn't like Scala:

Personally, I'm committed to Clojure, but I think we all can learn from other languages and their critics.

Posted via email from miner49r

UnConj review

Like many great conference, the story of the 2011 Conj wasn't limited to the regularly scheduled program. In fact, some of the most meaningful conversations and demoes occurred in between talks and after hours. In this post I'll discuss some of the interesting side discussions that I participated in or heard of secondhand.

Read the whole thing.

I'll add a comment of my own:  The Friedman and Byrd special session on cKanren was a big hit.  David Nolen deserves some Karma points for inviting them to the conference.  Their work is in Scheme, but maybe they'll think about Clojure in the future.  David has ported miniKanren to Clojure (as core.logic), and he plans to do port some of the constraint work from cKanren to core.logic in the future.

Posted via email from miner49r

Wednesday, November 16, 2011

This Guy Broke Jeopardy's All-Time Record, with an app

Roger Craig is a computer scientist who now holds the single-game record for winnings on Jeopardy.  He wrote an app to train himself to be a better player.

Posted via email from miner49r

Tuesday, November 8, 2011

pmetzger forks growl

Forked version of Growl, bringing the "open" back into the formerly open source project.  The forker was banned from the official Growl mailing list.  (That seems a bit heavy-handed to me.)

I forked the Growl sources largely because Growl 1.3, available only on the Mac App Store, seemed to fail very badly for most of the people who installed it (including me), and the growl developers seemed fairly unsympathetic to people's complaints, claiming that there was no way they could have known of the various installer bugs it has, and that the failure of applications using old frameworks to talk to the new growl is the fault of the app developers. The 1.3 distribution also lacks working versions of the various "extras" that were in the past distributed with Growl.

Posted via email from miner49r

Wednesday, November 2, 2011

BEFSR41 V3 activating UPnP resets admin password

I wanted to try FaceTime on my Mac but it wasn't working. I found a posting on the internet that said you should enable UPnP on your home router. So I did that and the old Linksys router apparently reset the admin password. After googling around, I found this posting which gave me the work-around to a strange bug. Another posting said to make sure you always re-enter your password when enabling UPnP and you'll be OK. I didn't change it (expecting it to remain unchanged). The default behavior replaced the password with garbage. Fortunately, it's consistent garbage so you can recover...

> Re: BEFSR41 V3 activating UPnP [ Edited ]
> 01-15-2008 01:09 PM - last edited on 01-15-2008 01:37 PM
>> I keep running into this problem too. Didn't know what caused
> it at first but it is VERY annoying. I didn't want to have to
> reset my router and reconfigure all my settings again, so I
> had a dig around too and found that it sets the password to
> something weird as LowTek mentions in his post.
>> For future reference for anyone else running into this issue
> the password it always seems to set appears to be :
>>> d 6 n w 5 v l x 2 p c 7 s t 9 m & # 6 5 5 3 3 ;
>> (without the spaces - sorry this forum doesn't format it correctly and it doesn't allow html formatting)
>> This is regardless of what password was previously set so it
> is not some encrypted form of the old password.
>> Hope this helps someone.

You can copy and paste this -- no spaces:d6nw5vlx2pc7st9m�

Posted via email from miner49r

Thursday, October 27, 2011

Jon Stewart interviews Jobs biographer Walter Isaacson

The real gem of the interview comes at the end, when Isaacson describes the difference between Jobs and Bill Gates. "In the end, [Bill Gates] makes the Zune and Steve makes the iPod."

Posted via email from miner49r

more on John McCarthy

Stanford's John McCarthy, seminal figure of artificial intelligence, dies at 84

John McCarthy, a professor emeritus of computer science at Stanford, the man who coined the term "artificial intelligence" and subsequently went on to define the field for more than five decades, died suddenly at his home in Stanford in the early morning Monday, Oct. 24. He was 84.

McCarthy was a giant in the field of computer science and a seminal figure in the field of artificial intelligence. While at Dartmouth in 1955, McCarthy authored a proposal for a two-month, 10-person summer research conference on "artificial intelligence" – the first use of the term in publication.

Posted via email from miner49r

Thursday, October 20, 2011

Rich Hickey: "Simple Made Easy" from Strange Loop 2011

> Rich Hickey emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path.
Thanks to Alex Miller for posting the video.

> The video is up:
>> Places to watch for comments (or vote if you like):
>> -
> -
> -

Posted via email from miner49r

ClojureScript browser-connected REPL on Vimeo

> A short demonstration of using the ClojureScript browser-connected REPL to work with the twitterbuzz sample application.

Posted via email from miner49r

Tuesday, October 11, 2011

Steve Jobs, BMW & eBay

Adam Nash writes about Steve Jobs and Michael Dell.  I was at this meeting, and I think Adam captures the mood well.  I remember Adam as a smart kid at Apple.

Steve got on stage at the front of the room in Infinite Loop 4, and put a huge, larger than life picture of Michael Dell on the wall.  He repeated the news fodder that Michael Dell had been asked recently what he would do if he was running Apple Computer.  (At the time, Dell was the ultimate success story in the PC industry.)  Dell said that he would liquidate the company and return the cash to shareholders.
A few gasps, a few jeers and some general murmuring in the audience.  But I don’t think they expected what he said next.
And you know what? He’s right.
The world doesn’t need another Dell or HP.  It doesn’t need another manufacturer of plain, beige, boring PCs.  If that’s all we’re going to do, then we should really pack up now.
But we’re lucky, because Apple has a purpose.  Unlike anyone in the industry, people want us to make products that they love.  In fact, more than love.  Our job is to make products that people lust for.  That’s what Apple is meant to be.
What’s BMW’s market share of the auto market?  Does anyone know?  Well, it’s less than 2%, but no one cares.  Why?  Because either you drive a BMW or you stare at the new one driving by.  If we do our job, we’ll make products that people lust after, and no one will care about our market share.
Apple is a start-up.  Granted, it’s a startup with $6B in revenue, but that can and will go in an instant.  If you are here for a cushy 9-to-5 job, then that’s OK, but you should go.  We’re going to make sure everyone has stock options, and that they are oriented towards the long term.  If you need a big salary and bonus, then that’s OK, but you should go.  This isn’t going to be that place.  There are plenty of companies like that in the Valley.  This is going to be hard work, possibly the hardest you’ve ever done.  But if we do it right, it’s going to be worth it.
He then clicked through to a giant bullseye overlayed on Michael Dell’s face.
I don’t care what Michael Dell thinks.  If we do our job, he’ll be wrong.  Let’s prove him wrong.

Jobs also talked about the respect he had for Sony and Nike as companies.  (Sony hasn't done so well lately.)  I remember rumors that Sun might buy Apple, but they decided there wasn't much value left in the company.  Back in '97, the San Jose Mercury considered "beleaguered" to part of the company name.  The company was fighting for its life, but it still had some amazing talent.  And as it turns out, Apple also had the greatest leader the tech world has ever known.

Posted via email from miner49r

Tuesday, October 4, 2011

Bootstrap, from Twitter

> Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.
> It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.

Posted via email from miner49r

Sunday, October 2, 2011

Using JavaScript libraries in ClojureScript

Fortunately, using external or foreign libraries in ClojureScript is quite easy and effective once you know how to do it. An important first step is understanding what the Google Closure compiler does, and why ClojureScript uses it.

Posted via email from miner49r

Raphaël — JavaScript Library

> Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library.

> Raphaël ['ræfeɪəl] uses the SVG W3C Recommendation and VML as a base for creating graphics. This means every graphical object you create is also a DOMobject, so you can attach JavaScript event handlers or modify them later. Raphaël’s goal is to provide an adapter that will make drawing vector art compatible cross-browser and easy.

Posted via email from miner49r

Saturday, September 24, 2011

Clojure 1.3 released

The announcement was posted on the Clojure mailing list:

> We are pleased to announce today the release of Clojure 1.3:>>>> For maven/leiningen users, your settings are now:>> :dependencies [[org.clojure/clojure "1.3.0"]]>> This release includes many significant features and performance> enhancements, documented here:>>>

Posted via email from miner49r

Thursday, September 22, 2011

HTML 5 Canvas Deep Dive

Today we will dive very deep into the Canvas API and learn how to make both useful and graphically intense effects using pure web technology, no plugins required.

Posted via email from miner49r

Wednesday, September 7, 2011

NodeJS Mac OS X Packages

By the way, you can get a prebuilt Node.js for Mac OS X here:

It's probably easier to install than building from scratch.  Of course, you can find all the information you need to build from source if you follow the installation instructions found here:

Posted via email from miner49r

ClojureScript and Node.js

In this post we’ll demonstrate the mechanics of using ClojureScript with Node.js and see some programs written with this stack. The information here should provide a good starting point for you to explore using ClojureScript and Node.js in your own applications.

The code for the programs described below is available on Github.

Posted via email from miner49r

Tuesday, September 6, 2011

Lacij: dynamic SVG in Clojure

> Lacij is a graph visualization library written in Clojure. It allows the display and the dynamic modification of graphs as SVG documents that can be viewed with a Web browser or with a Swing component. Undo/redo is supported for the dynamic modification. Automatic layout is provided for the visualization.

• Uses Tikkba, library for the creation and the dynamic modification of SVG
• Tikkba uses Apache Batik
• Tikkba uses the SVG DSL of the Analemma library

Posted via email from miner49r

D3 in ClojureScript

A ClojureScript façade for the D3 JavaScript DOM-manipulation library

More background info:

Posted via email from miner49r

Monday, September 5, 2011

Just some other awesome CSS3 buttons

In this article you’ll learn how to create some cool CSS3 buttons in just a few steps.

Posted via email from miner49r

Tuesday, August 23, 2011

Friday, August 19, 2011

HOWTO Use UTF-8 Throughout Your Web Stack

UTF-8 is extremely sane. Well, as sane as an encoding can be that features backwards-compatibility with ASCII.

Everything you care about supports UTF-8. Trust me: you want it everywhere.

Posted via email from miner49r

Sunday, August 7, 2011

Configuring logging for Clojure applications

> Clojure logging neatly solves the problems of Java logging.
>> First, there’s a single API to use: Thank Alex Taggart and others for this. Second, it integrates with all the important logging frameworks: log4j, java.util.logging, Apache’s commons-logging and now slf4j. Finally, it side-steps many of the performance penalties associated with logging.

Posted via email from miner49r

Saturday, August 6, 2011

Sprite3D.js, a javascript library for 3D positionning in WebKit

Sprite3D wraps HTML elements with the necessary behaviours to easily control their 3D-position using a simple Javascript syntax.

Posted via email from miner49r

Friday, August 5, 2011

TidBITS: Video Viewing in Lion Freezes New iMacs

> Viewing videos of any kind on new iMacs, both the 21.5-inch and 27-inch models, can cause freezes. This doesn’t happen every time one views a video, and only happens after an iMac has been put to sleep at least once. These videos can be Flash, H.264, or QuickTime formats, and viewing may occur in Safari, Firefox, QuickTime Player, iTunes or any other program.

Posted via email from miner49r

Software Patents

Martin Fowler writes:

In theory, I'm not against software patents if we were able to get back to the core beneficial principles of patents and apply them properly. This would imply developing a process that would ensure that patents were only granted for truly novel ideas. But unless such a process were properly put together, I'd rather see software patents eliminated completely. A world without software patents would be better than the mess we're currently in.

A collection of relate links from Tim Bray:

Posted via email from miner49r

Monday, July 25, 2011

Agenda for HOA Meeting

Mount Vintage Plantation Homeowners Association Meeting

Monday, August 1, at 6:00 pm in the Town Center

  1. Welcome – comments by HOA Board President, Talmadge Knight
  2. Introduction – brief overview
  3. Financial report
  4. Key issues review:
    1. Legal fee recovery from insurance company
    2. Special Assessment status
    3. Advisory Committee projects status
      1. Security study
      2. Town Center
      3. Equestrian Center
  5. Conclusion – any final questions/comments



Posted via email from

Sunday, July 17, 2011

a new Enlive tutorial

Brian Marick <> has

finished a second - close to final, I hope - draft of an Enlive tutorial. It's on the wiki.

Posted via email from miner49r

Thursday, July 14, 2011

On Google+

Not sure what I'm going to do with it, but I'm on Google+ thanks to an invitation from Brent.

Posted via email from miner49r

Tuesday, July 5, 2011

Clojure on Heroku

Heroku is a cloud application platform – a new way of building and deploying web apps.

We're very excited to announce official support for Clojure, going into public beta as of today. Clojure is the third official language supported by Heroku, and is available on the Cedar stack.

Posted via email from miner49r

Saturday, July 2, 2011

OS X Java 6 update 5: how to reconnect the source… « A Wicket Diary

How do you get the source again in your IDE (in my case Eclipse Indigo):

  • Download and install the javadeveloper_for_mac_os_x_10.6__10m3425.dmg from (free registration required)
  • Install the client update (comes from the automatic update functionality in OS X), it doesn’t matter in which order you do these two steps)

Next run the following commands in a terminal:

cd /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home sudo ln -s /Library/Java/JavaVirtualMachines/1.6.0_26-b03-384.jdk/Contents/Home/src.jar sudo ln -s /Library/Java/JavaVirtualMachines/1.6.0_26-b03-384.jdk/Contents/Home/docs.jar

Eclipse will now be able to find the sources for the Java classes.

Posted via email from miner49r

Twitter Engineering: Fast Core Animation UI for the Mac

Starting today, Twitter is offering TwUI as an open-source framework( for developing interfaces on the Mac.

Until now, there was not a simple and effective way to design interactive, hardware-accelerated interfaces on the Mac.

Posted via email from miner49r

Tuesday, June 28, 2011

Javascript Applications 101

Native style momentum scrolling to arrive in iOS 5

> overflow: scroll;
> -webkit-overflow-scrolling: touch;

> And the content inside that element should get native style momentum scroll. Just like any other app in iOS.

Posted via email from miner49r

Wednesday, June 22, 2011

Noir: websites in Clojure

> Noir is a micro-framework that allows you to rapidly develop websites in Clojure. ... Noir uses Hiccup to generate HTML. ... Noir is built on top of Ring and Compojure, which take care of handling HTTP requests and responses.

Posted via email from miner49r

Thursday, June 16, 2011

Rhino - JavaScript for Java

I came across an old blog post by Brian Carper mentioning that he used Rhino to run JavaScript in Clojure, allowing him to have access to a good implementation of Markdown. "Clojure and Markdown (and Javascript and Java and...)"

Posted via email from miner49r

Wednesday, June 15, 2011

Mathematical Background

An excellent summary of mathematical terms that apply to computer science:

> This web page is a revised and extended version of Appendix A from the book Conceptual Structures by John F. Sowa. It presents a brief summary of the following topics for students and general readers of that book and related books such as Knowledge Representation and books on logic, linguistics, and computer science.

Posted via email from miner49r

Friday, June 10, 2011

Rich Hickey Q&A in Code Quarterly

Excellent interview:

Rich Hickey Q&A
by Michael Fogus

Some highlights:

 Clojure’s threaded concurrency story is very solid with numerous flavors of reference types providing different usage scenarios. Do you feel satisfied with Clojure’s current concurrency offerings, or do you have plans to expand on the current reference model, or perhaps venture into distributed concurrency?
 Over time I’ve come to see this as more of a state/identity/value/time/process thing rather than concurrency in and of itself. Obviously it matters greatly for concurrent programs. I think there is room for at least one more reference type. To the extent one value is produced from another via a transient process, you could have a construct that allowed that process to have extent and/or multiple participants. This is the kind of thing people do on an ad hoc basis with locks, and could be wrapped in a reference-like construct, pods, that would, like the others, automate it, and make it explicit and safe.
I don’t see distributed concurrency as a language thing. In addition, I don’t think most applications are well served with directly connected distributed objects, but would be better off with some sort of message queues instead.
 While there are also primitives supporting parallelism, Clojure’s story here has a lot of room for expansion. Do you plan to include higher-level parallel libraries such as those for fork-join or dataflow?
 Yes, there are plans, and some implementation work, to support fork-join–based parallel map/reduce/filter etc. on the existing data structures.

Read the whole thing.

Posted via email from miner49r

On Types [and Clojure seq]

Interesting essay on the meaning of (seq ...)

The work horse in the very low-level code of the sequence library is the lazy-seqmacro. It returns an instance of class clojure.lang.LazySeq which encapsulates the abstract instructions to realise the actual sequence according to the body of the lazy-seq macro.

Should this class implement the clojure.lang.ISeq interface?

Posted via email from miner49r

Wednesday, June 8, 2011

Scott Davis inducted into the ITA Hall of Fame

Scott Davis is an old friend from Stanford.  He was inducted into the Intercollegiate Tennis Association Hall of Fame on May 25.  Great guy, and a fantastic athlete.  He was the number one player on Stanford's 1983 NCAA championship team.  US Davis Cup team member (1980-1991) . . . Australian Open Doubles Champion (1991) . . . Ranked as high as No. 11 in the world in singles (1985) . . . Ranked a high of No. 2 in the world in doubles (1991).  Winner of three professional titles.  He's now the club pro in Newport Beach.  Congratulations, Scott!




Posted via email from miner49r

Monday, June 6, 2011

Simple Thrift in Clojure

Thrift provides some nice features such as client and server implementations (not just serialization), support for richer datastructures, and Javascript bindings. Despite these advantages, it can be a pain to figure out how to use Thrift because of spotty documentation.
To that end, I've just created an extremely simple wrapper library and example that demonstrates how to use Thrift in clojure.

Posted via email from miner49r

Saturday, June 4, 2011

Chameleon - UIKit for Mac development

> If you're an iOS developer, you're already familiar with UIKit, the framework used to create apps for the iPhone, iPod and iPad. Chameleon is a drop in replacement for UIKit that runs on Mac OS X. In many cases, your iOS code doesn't need to change at all in order to run on a Mac.

Posted via email from miner49r

Friday, June 3, 2011

A Brief Overview of the Clojure Web Stack

This article introduces Clojure's web application stack. The heart of this stack is Ring: an interface for conforming libraries, a set of adapters for various HTTP servers, and middleware and utilities. This article aims to help you navigate the increasingly broad range of libraries and choose some solid libraries and get an app moving with Ring.

Posted via email from miner49r

Thursday, May 26, 2011

Announcing SproutCore 2.0 Developer Preview

“Web-style” applications, such as GitHub and New Twitter, provide rich functionality while still retaining the feel and layout of a traditional web page. SproutCore’s strong MVC architecture and bindings make it significantly easier to build these kinds of apps than other lightweight frameworks, but developers also have to opt-in to SproutCore’s view layer that includes many features these kinds of applications don’t need.

Today we’re announcing SproutCore 2.0: a rebuilt SproutCore, designed from the ground up to support every kind of web application. SproutCore 2.0 is highly modular and decoupled, allowing you just to opt in to the features you need.

We’ve been working hard on SproutCore 2.0 and today we are releasing our first milestone: SproutCore 2.0 Developer Preview, designed for developers who want to create web-style apps and don’t need the features of SproutCore 1.6′s view layer.

Posted via email from miner49r

Thursday, May 19, 2011

Interactive Exploration of a Dynamical System on Vimeo

Interesting video demonstrating dynamic data visualization on an iPad

Posted via email from miner49r

Wednesday, May 18, 2011

Clojure and Emacs

Technomancy simplifies running Clojure in Emacs...

"in which radical simplification ensues - Technomancy"

  • Install clojure-mode via Marmalade or from git.
  • lein plugin install swank-clojure 1.3.1
  • Invoke M-x clojure-jack-in from a project
  • Posted via email from miner49r

    Tuesday, May 3, 2011

    JLG on iOS licensing certificate!

    Jean-Louis Gassée (former Apple VP) covers some history of Mac versus PC fight which some people want to apply to the iOS/Android competition of today. In the old days, we used to say that the SJ Mercury thought "beleaguered" was part of Apple's corporate name.

    > Apple is doing it wrong, Apple is living on borrowed time! Apple will Fail Again! This idea, this meme, isn’t new. For more than 30 years we’ve heard a number of versions of the “Apple is doomed” requiem.

    Posted via email from miner49r

    Best In Class: Building a Social Media site [in Clojure]

    Following my now dated "Reddit Clone" tutorial, I've made a revised version which demonstrates how easy it is to build interactive websites using  Moustache, Enlive and ClojureQL. 

    Posted via email from miner49r

    Monday, April 25, 2011

    swank-cdt: Using Slime with the Clojure Debugging Toolkit

    > Swank-cdt is a port of swank-clojure to use the CDT, as a debugger backend. The CDT is a Clojure command line debugger which allows you to debug through the Java Debug Interface.
    >> With swank-cdt, you can step, set breakpoints, catch exceptions, and eval clojure expressions, in the context of the current stack frame, from within the sldb buffer.

    Posted via email from miner49r

    Man Unveils Interactive Toothpick Sculpture of San Francisco That Took 35 Years to Create « Thought Catalog

    Artist Scott Weaver recently unveiled “Rolling Through the Bay,” a toothpick Rube Goldberg machine of the Bay Area.

    Direct link to video:

    Posted via email from miner49r

    Friday, April 22, 2011

    Exploring Yahoo S4 with Clojure | opus artificem probat

    Unfortunately, when using Clojure types, the resulting Java classes will not integrate easily into the S4 model since they don’t implement the standard bean interface and, as a result, could not be easily configured in a Spring configuration file. Furthermore, the standard serialization mechanism used in S4 at the moment, the Kryo serialization library, cannot serialize most of Clojure generated classes and default types, since it is unable to deserialize fields marked as final and because it requires argument-less constructors that clojure core types, like Keyword do not implement. In fact it makes even impossible to generate a serializable bean using the gen-class macro since this macro places the state into a final field.

    Clj-s4 solves this issue introducing a new macro def-s4-message similar todeferecord that generates a mutable java bean for the provided field descriptions.

    Update on Kyro: the serialization of final fields has been fixed according to the bug report.

    Posted via email from miner49r

    Thursday, April 14, 2011

    Is HTML5 Ready for Prime Time vs. Native?

    > In my last post I compared frameworks for building app-like mobile experiences with Web technologies: Sencha Touch, jQuery Mobile,jQTouch, and Titanium Mobile. For my own app, Pints, I went with Sencha Touch. But in truth there isn’t a clear winner: for a simpler, more page-based app I’d probably go with jQuery Mobile. (David Kaneda wrote a nice comparison of jQTouch and Sencha Touch — both of which he created. Much of what he says about jQTouch applies equally to jQuery Mobile.)

    Posted via email from miner49r

    Friday, April 8, 2011

    Dropbox + git

    Our solution is to clone the project's git repository into a folder inside a shared Dropbox folder.

    Posted via email from miner49r

    Monday, April 4, 2011

    Enable certificate checking on Mac OS X

    My colleague Craig Watkins at Transcend, Inc. points out that not everyone has revocation enabled and provided a detailed explanation of how Mac OS users can enable this defense [...]

      To do this on Mac OS 10.6:

    - Open Applications -> Utilities -> Keychain Access

    - Under Keychain Access menu, select Preferences...
    - Select the Certificates tab
    - Set "Online Certificate Status Protocol (OCSP)" to 
      "Best Attempt"

    - Set "Certificate Revocation List (CRL)" to "Best Attempt"
    - Set "Priority" to "OCSP"

    Posted via email from miner49r

    Tuesday, March 22, 2011

    How html5-boilerplate helped drastically improving our website performance

    And this is where html5-boilerplate really starts to shine. One of it’s best although often overlooked features is the automated build system (with ant and build.xml), which automatically compresses and concatenates stylesheets, javascript files and images, producing a heavily optimized version of the website and all resources.

    We just needed minimal adaptations to make it play nicely with AppEngine, in order to provide a base template all the others can extend, and a full integration of the build process (you can find our adaptation as on github).

    Posted via email from miner49r

    Parallelism is not concurrency

    The effectiveness of the language-based model of parallelism lies entirely in its ability to expose the dependency structure of the computation by not introducing any dependencies that are not forced on us by the nature of the computation itself.  And the key to this is functional programming, which manifests itself here in the transformational approach to computation: sorting is conceived of as a mathematical function that transforms a given sequence into another sequence.  It does not destroy the given sequence any more than adding two numbers destroys those numbers!  Since Quicksort is a mathematical function, we need not worry that execution of qs xsl 

    interferes with (depends on) 
    qs xsg; we can readily run them in parallel without fear of untoward consequences.  The payoff is that there are many fewer dependencies among the subcomputations, and hence many more opportunities for parallelism that can be exploited, in accord with Brent’s Principle, when scheduling the work onto a parallel fabric.

    The upshot of all this is that functional programming is of paramount importance for parallelism.

    Posted via email from miner49r

    Monday, March 14, 2011

    No, really, pi is wrong: The Tau Manifesto by Michael Hartl | Tau Day, 2010

    This manifesto is dedicated to one of the most important numbers in mathematics, perhaps the most important: the circle constant relating the circumference of a circle to its linear dimension. For millennia, the circle has been considered the most perfect of shapes, and the circle constant captures the geometry of the circle in a single number. Of course, the traditional choice of circle constant is π—but, as mathematician Bob Palais notes in his delightful article “π Is Wrong!”,1 π is wrong.

    Posted via email from miner49r