Monday, December 27, 2010

Sunday, December 26, 2010

Clojure pods

This article discusses a new feature planned for the next version of Clojure:

http://kotka.de/blog/2010/12/What_are_Pods.html

They will be a new reference type which actually holds transients internally. Storing a value will make it a transient, retrieving a value automatically turns it into a persistent structure again. Updating the value however will work on the transient and hence be fast. So transients will become a low-level implementation detail hidden behind pods.

Posted via email from miner49r

Friday, December 24, 2010

InfoQ: Rich Hickey on Protocols and Clojure 1.3

http://www.infoq.com/interviews/hickey-clojure-protocols

Rich Hickey explains the ideas behind Clojure 1.2's new polymorphism constructs deftype and protocols. Also: Clojure 1.3 features such as faster arithmetic and future features like Pods.

Posted via email from miner49r

Friday, December 17, 2010

Solving the Expression Problem with Clojure 1.2

http://www.ibm.com/developerworks/java/library/j-clojure-protocols/index.html

Clojure expert Stuart Sierra introduces you to new features in Clojure 1.2 that solve the Expression Problem, a classic programming dilemma. Protocols let you extend preexisting types to new methods, and datatypes let you extend preexisting methods to new types — all without changing the existing code. You'll also see how Java™ interfaces and classes can interact with Clojure protocols and datatypes.

Posted via email from miner49r

Thursday, December 16, 2010

Apple's Best Kept Secret: Ad Hoc Installs for Testing Purposes

http://www.readwriteweb.com/mobile/2010/12/apple-best-kept-secret-how-to-do-ad-hoc-installs.php

Apps can be distributed via the "ad hoc" method for testing purposes, which means over-the-air, one-click installs for app beta testers.

Posted via email from miner49r

Wednesday, December 8, 2010

Christmas Concert by North Point's iBand

Christmas music using iPhones and iPads at North Point Community Church.

Posted via email from miner49r

What's new in purely functional data structures since Okasaki?

(via Hacker News)

A great reading list for anyone interested in persistent data structures (as used in Clojure):

http://cstheory.stackexchange.com/questions/1539/whats-new-in-purely-functional-data-structures-since-okasaki

Posted via email from miner49r

Tuesday, December 7, 2010

Learn Clojure

Another website dedicated to learning Clojure:

http://learn-clojure.com/

Posted via email from miner49r

Tuesday, November 30, 2010

Stanford looking for a BCS Bowl Game

http://sports.espn.go.com/ncf/news/story?id=5861059

Stanford (11-1), fresh off a shutout against Oregon State, is No. 4 with one week to go in the season. Should Stanford finish at No. 5 or lower, it would be in danger of getting left out altogether because its fans generally don't flock to long distance bowl sites. As long as the Cardinal don't fall when the final standings are released next week -- and there's no good reason why they would -- one of the bowls will be forced to take them.

I love that last line: "forced to take them".  I guess that's the way East Coast writers think about Stanford.  Nobody wants them around, but you have to admit they're a good team.  The Cardinal may have problems filling their own stadium for home games (that's a long story), but I have no doubt that Stanford will be able to sell out their allotment of tickets to whatever bowl game takes them.  If you're running a bowl game, don't you want a team with a high-powered offense and a suspect defense?  I thought everyone liked high scoring games on TV.

If South Carolina somehow manages to defeat #1 Auburn, that moves TCU into the National Championship Game against Oregon, and opens up the Rose Bowl for Stanford.  It's more likely that TCU will end up in the Rose Bowl under the special non-automatic-qualifier preference that they're using for the first time this season.  Either the Orange Bowl or the Fiesta Bowl will then be forced to take Stanford.  Personally, I'm thinking Orange.  We'll find out on December 5.

Posted via email from miner49r

Saturday, November 27, 2010

What the HTTP is CouchApp?

http://couchapp.org/page/what-is-couchapp

A CouchApp is just a JavaScript and HTML5 app that can be served directly to the browser from CouchDB, without any other software in the stack. 

Posted via email from miner49r

Tuesday, November 23, 2010

AppEngine-Magic 0.3.0

appengine-magic abstracts away nearly all the boilerplate necessary to
deploy an App Engine application. It also enables interactive
development through the REPL. The new version has full support for
many App Engine services: the datastore, memcache, user Google account
authentication, the blobstore, sending and receiving email, task
queues, and remote URL access.

http://github.com/gcv/appengine-magic

Posted via email from miner49r

What should a developer know before building a public web site?

Thursday, November 18, 2010

ClojureQL - 1.0.0 now in beta

http://bestinclass.dk/index.clj/2010/11/clojureql--1.0.0-now-in-beta.html

ClojureQL 1.0 is has been a long time coming, but I feel confident that the interfaces and primitives of this implementation are whats needed to provide the ultimate SQL integration experience. ClojureQL is similar in intent to Rubys Arel. The current implementation is the refined experience of the previous 2.5 years boiled down into about 700 lines of pure Clojure.

Posted via email from miner49r

Monday, November 15, 2010

The new Plantilus.com website

Lisa is working on a new website: http://www.Plantilus.com

"A place for plants"

I will be doing some programming in Clojure to generate web pages from her database of plant information.

Posted via email from miner49r

Sunday, November 14, 2010

Hacker News discussion on writing apps in HTML5

Interesting discussion.  Several developers are doing most of their work in HTML5, but writing a native wrapper for the web view so that can participate as a native app in the App Store.  Other people say that the web UI is too slow -- for example, it can't keep up with a pinch gesture like a native app.  PhoneGap is mentioned several times as a useful framework.

http://news.ycombinator.com/item?id=1903074

Posted via email from miner49r

Friday, November 12, 2010

Stanford Cardinal Stats, Scores, and News

StatSheet.com follows college sports.  Their robots assembly the news for you.  For now, there's much less noise than on gostanford.com.

http://statsheet.com/cfb/teams/stanford

Posted via email from miner49r

Oracle and Apple Announce OpenJDK Project for Mac OS X

Good news for Java and Clojure on the Mac:

http://www.apple.com/pr/library/2010/11/12openjdk.html

November 12, 2010—Oracle and Apple® today announced the OpenJDK project for Mac OS® X. Apple will contribute most of the key components, tools and technology required for a Java SE 7 implementation on Mac OS X, including a 32-bit and 64-bit HotSpot-based Java virtual machine, class libraries, a networking stack and the foundation for a new graphical client. OpenJDK will make Apple’s Java technology available to open source developers so they can access and contribute to the effort.

Posted via email from miner49r

Oracle and Apple announce OpenJDK Project for Java on Mac OS X

http://www.appleinsider.com/articles/10/11/12/oracle_and_apple_announce_openjdk_for_java_on_mac_os_x.html

Oracle and Apple on Friday announced a new partnership that will bring the Java SE 7 and future versions of Java for Mac OS X to users directly from Oracle.

With the OpenJDK project for Mac OS X, Apple will contribute most of the key components, tools and technology required for a Java SE 7 implementation on Mac OS X, including a 32-bit and 64-bit HotSpot-based Java virtual machine, class libraries, a networking stack and the foundation for a new graphical client. OpenJDK will make Apple's Java technology available to open source developers so they can access and contribute to the effort.

Posted via email from miner49r

Saturday, November 6, 2010

Tuesday, November 2, 2010

Google Web Toolkit

I haven't used these, but I've been meaning to look into them...

GWT lets you design AJAX apps in Java and compile to JavaScript for deployment

http://code.google.com/webtoolkit/download.html


WindowBuilder Pro is GUI designer for Java

http://code.google.com/javadevtools/wbpro/index.html

Posted via email from miner49r

Get Started with Git

Once you start using Git, you’ll want to throw everything into it, from full-blown apps to blog post drafts, because it’s so easy and versatile.

http://www.alistapart.com/articles/get-started-with-git/

Posted via email from miner49r

Ultimate Guide to Website Wireframing

This guide covers what you need to know about website wireframes to get started.

http://sixrevisions.com/user-interface/website-wireframing/

Posted via email from miner49r

Thursday, October 14, 2010

Why You Should Start Marketing the Day You Start Coding

Let me address the fear of someone stealing your idea with the following: Wake the hell up! No one cares about your idea. Not even your mom (I know she said she does, but she was just being nice).

Posted via email from miner49r

Tuesday, October 12, 2010

IBM joins Oracle on OpenJDK

http://www.jroller.com/scolebourne/entry/no_java_7_the_end

Today, IBM took the pragmatic decision to end hostilities over Apache Harmony and move on. This is clearly a good choice for IBM, and probably the best we could hope for Java. It does mean that Apache Harmony is effectively dead.

But frankly, Sun, now Oracle, have got away with murder.

Whether the Apache Software Foundation can stomach staying in the JCP is, I would say, still an open question. Let's hope the deal that was cut is really positive. Because it really is time for the Java industry to move on.

Posted via email from miner49r

Monday, October 11, 2010

Deploying Clojure Services with Crane

http://measuringmeasures.com/blog/2010/10/11/deploying-clojure-services-with-crane.html

Crane is useful for deploying any kind of service and has many built-in capabilities.

The model is simple - use Crane as a library, define functions, and use Crane will call those functions as targets.  Use Crane's conf and cred capabilities to get all the configuration and credentials required to write your deploy functions in deploy.clj.

Posted via email from miner49r

Vintage Victors For a Cure 2010

Our Second Annual Vintage Victors for a Cure was a huge success.  The event  raised over $17,000 for the MCG Foundation- Breast Cancer Prevention Coalition.  125 residents and MCG guests attended our dinner and donated actively to our “mega” raffle, silent auction and live auction.  All of our auction items, raffle prizes and golf prizes were donated by our very talented residents and our area businesses.  28 Hole sponsors also helped us exceed last years results by 64%.

 96 Golfers competed on our beautiful Mount Vintage Golf Course in a Captain’s Choice Scramble.

             First Place winners were the team of Judy and Joe Ward, Ashley Rose and Jerry Horak with a net 54

 Longest Drive for Men was won by John Wehner and Longest Drive for Women  was won by Ashley Rose.


A few pictures are shown below.  To see additional winners and to view photos of the event please visit Diane’s Photo Album

 

Vintage Victors for a Cure 2010

 

Carl and Patty

 

Silent Auction

 

Second Place

 

First Place

 

Posted via email from MountVintage.org

Saturday, October 9, 2010

Here’s what we’ve learned about doing UI for mobile web apps with WebKit - (37signals)

http://37signals.com/svn/posts/2603-heres-what-weve-learned-about-doing-ui-for-mobile-web-apps-with-html5

Browser-based mobile apps clearly have the potential to offer user experience that is on-par with native apps. Of course designing that kind of experience is going to require more than emerging mark-up and style techniques—it’s not going to be enough to just serve a mobile stylesheet for your app. Offering a native-worthy mobile experience requires you to rethink the UI of your app and deliver it within an environment where touch is the rule.

Posted via email from miner49r

Wednesday, October 6, 2010

Tuesday, September 7, 2010

Android & iPhone App Design: Is it twice the work?

http://johnnyholland.org/2010/09/06/android-iphone-app-design-is-it-twice-the-work/

So we’re back to the dilemma: do designers have to do twice the work to create native apps for the iPhone and Android?  Based on my recent analysis, I came to this conclusion: the app definition and concept phases would be very similar regardless of platform, but the app refinement and production phases would require adaptions to create full-fledged native apps for each platform.

Posted via email from miner49r

Thursday, September 2, 2010

DBMS Musings: The problems with ACID, and how to fix them without going NoSQL

http://dbmsmusings.blogspot.com/2010/08/problems-with-acid-and-how-to-fix-them.html

Our objective in this post is to explain why ACID is hard to scale. At the same time, we argue that NoSQL/NoACID is the lazy way around these difficulties---it would be better if the particular problems that make ACID hard to scale could be overcome. This is obviously a hard problem, but we have a few new ideas about where to begin.

The full paper is here:  

Posted via email from miner49r

Sunday, August 29, 2010

Less Framework 2

http://lessframework.com/

> A css framework for cross-device layouts

Posted via email from miner49r

Thursday, August 26, 2010

Java tip: How to read files quickly

http://nadeausoftware.com/articles/2008/02/java_tip_how_read_files_quickly

For the best Java read performance, there are four things to remember:

  • Minimize I/O operations by reading an array at a time, not a byte at a time. An 8Kbyte array is a good size.
  • Minimize method calls by getting data an array at a time, not a byte at a time. Use array indexing to get at bytes in the array.
  • Minimize thread synchronization locks if you don't need thread safety. Either make fewer method calls to a thread-safe class, or use a non-thread-safe class like FileChannel and MappedByteBuffer.
  • Minimize data copying between the JVM/OS, internal buffers, and application arrays. Use FileChannel with memory mapping, or a direct or wrapped array ByteBuffer

Posted via email from miner49r

Monday, August 16, 2010

Clojure Workers and Large Scale HTTP Fetching

http://measuringmeasures.com/blog/2010/8/16/clojure-workers-and-large-scale-http-fetching.html

In this post, we will build the core fetcher and core workers for a single machine, and introduce a new project for workers in clojure, called work

work uses clj-http:

clj-http is a new Clojure HTTP client library inspired by Ring and designed for simplicity, robustness, extensibility, and testability.

Posted via email from miner49r

John Cleese on Creativity

Headius: My Thoughts on Oracle v Google

This is a long article with some useful comments on the history of Java and the details of the patents in dispute.

http://blog.headius.com/2010/08/my-thoughts-on-oracle-v-google.html

Now we come to the biggest question of all: how does this suit affect the Java world, regardless of outcome?

Well it's obviously not great to have two Java heavyweights bickering like schoolchildren, and it would be positively devastating if Android were obliterated because of this. But I think the real damage will be in how the developer community perceives Java, rather than in any lasting impact on the platform itself.

Let's return to some of our facts. First off, nothing in this suit would apply to any of the three mainstream JVMs that 99% of the world's Java runs on. Hotspot and JRockit are both owned by Oracle, and J9 is subject to the Java specification's patent grant for compliant implementations. The lesson here is that Android is the first Java-like environment since Microsoft's J++ to attempt to unilaterally subset or superset the platform (with the difference in Android's case being that it doesn't claim to be a Java environment, and it may not actually need the patent grant). Other Java implementations that "follow the Rules" are in the clear, and so 99% of the world's use of Java is in the clear. Sorry, Java haters...this isn't your moment.

Posted via email from miner49r

Thursday, July 29, 2010

CDT - The Clojure Debugging Toolkit

http://georgejahad.com/clojure/cdt.html

> The CDT, (Clojure Debugging Toolkit,) is a set of clojure functions/macros that use the Java Debug Interface, http://java.sun.com/javase/6/docs/jdk/api/jpda/jdi/index.html, to debug a remote vm, from a repl running on another vm.
>> You can set breakpoints, catch exceptions, examine the stack frame/locals; what makes it unique, (afaik,) is that you can eval arbitrary clojure forms in the lexical scope of a suspended, remote-thread's stack frame.

Posted via email from miner49r

Monday, July 26, 2010

Clojure quick reference (for 1.2 beta)

http://faustus.webatu.com/clj-quick-ref.html

So here is a quick reference to all core operations - core API, special forms, reader macros and Java interop - in Clojure 1.2.

Posted via email from miner49r

Saturday, July 24, 2010

Developing and Deploying a Simple Clojure Web Application

http://mmcgrana.github.com/2010/07/develop-deploy-clojure-web-applications.html

The post walks through the process of developing and deploying a simple web application in Clojure. After reading this you should be able to build your own app and deploy it to a production server.

Posted via email from miner49r

Tuesday, July 20, 2010

Saturday, July 17, 2010

cljr

http://github.com/liebke/cljr

Cljr is a Clojure REPL and package manager. It’s designed to complement the project-oriented approach of dependency management systems likeLeiningen and Maven, both of which are my preferred tools for managing traditional-project dependencies. However, much of what I use Clojure for, including Incanter-based data analysis, is not really project-oriented. In these cases, it is more convenient to have access to a REPL (and Swank server) backed by a global package-management system.

Posted via email from miner49r

Wednesday, July 14, 2010

HDMI is Dead. Introducing HDBaseT Networking

HDMI is dead. How can we say this? Because we have seen the future and it is HDBaseT. HDBaseT technology runs over STANDARD Cat5e/6 cable and implements something it calls 5Play, an unrivaled feature-set that converges full uncompressed HD video, audio, 100BaseT Ethernet, and various control signals. Oh, it also transmits up to 100W of power - that's enough to drive a 37-inch TV. And it can extend up to 100 meters passively. HDBaseT has the bandwidth to support the highest video resolutions such as full HD 1080p as well as 3D and 2Kx4K formats. HDBaseT is the first to provide all-in-one connectivity, making it possible for a single-connector TV to receive power, video/audio, Internet and control signals from the same cable.

Finally, something I predicted a decade ago might actually happen.

Posted via email from miner49r

Better Clojure Test Results with Deview

http://formpluslogic.blogspot.com/2010/07/better-clojure-test-results-with-deview.html

Does a nice diff on the actual versus expected results and cleans up the stack trace for quicker debugging.

Posted via email from miner49r

Tuesday, July 13, 2010

Clojure quick reference

http://faustus.webatu.com/clj-quick-ref.html

So here is a quick reference listing all core operations - core API, special forms, reader macros and Java interop - in Clojure 1.2.

Posted via email from miner49r

How to setup Clojure from scratch

http://programmingzen.com/2010/07/13/how-to-setup-clojure-from-scratch/#comment-10771

This post explains how to setup a Clojure environment step-by-step, including a workingclj script (the common name for Clojure’s REPL). For this post I used the clj script contained within the Getting Started guide on Wikibooks as a base, but I built on top of it , so as to customize and improve it. 

Posted via email from miner49r

new slogan from Apple

I don't know what all the complaining is about.  Judicious use of duct tape fixes the problem.  It also allows you to go hands free.

Posted via email from miner49r

Monday, July 12, 2010

Cultural impact of 'Lost'

clojure.core - Clojure Examples Wiki

App Inventor for Android

To use App Inventor, you do not need to be a developer. App Inventor requires NO programming knowledge. This is because instead of writing code, you visually design the way the app looks and use blocks to specify the app's behavior.

Posted via email from miner49r

Thursday, July 8, 2010

Clojure's edge on Node.js - dosync

http://dosync.posterous.com/22397098

 aleph is a new ultra-thin wrapper around the popular Netty framework by Zachary Tellman.

In Clojure we don't need to use callbacks. This means for common things like talking to databases, we don't need them to have asynchronous interfaces. That's because we have really fantastic primitives in the language itself for dealing with concurrency. This code runs twice as fast as the Node.js counterpart - probably due to the excellent perf of Clojure coupled with leveraging multiple cores.

Posted via email from miner49r

Wednesday, July 7, 2010

CDT - The Clojure Debugging Toolkit

http://georgejahad.com/clojure/cdt.html

> The CDT, (Clojure Debugging Toolkit,) is a set of clojure functions/macros that use the Java Debug Interface, http://java.sun.com/javase/6/docs/jdk/api/jpda/jdi/index.html, to debug a remote vm, from a repl running on another vm.

Posted via email from miner49r

Thursday, July 1, 2010

baby Quinlan

Congratulations to Duane, Hope and baby Quinlan in Nebraska.

Posted via email from miner49r

Wednesday, June 30, 2010

alter-ego - A Reactive AI Library

http://nakkaya.com/2010/06/29/alter-ego-a-reactive-ai-library/

> alter-ego is a reactive AI library based on the concept of behavior trees. Behavior trees combines a number of AI techniques such as Hierarchical State Machines, Scheduling, Planning, and Action Execution. Their strength comes from the fact that it is very easy to see logic, they are fast to execute and easy to maintain.

Posted via email from miner49r

Tuesday, June 29, 2010

VoltDB Decapitates Six SQL Urban Myths

http://highscalability.com/blog/2010/6/28/voltdb-decapitates-six-sql-urban-myths-and-delivers-internet.html

 VoltDB: a pure SQL, pure ACID, pure OLTP, shared nothing, sharded, scalable, lockless, open source, in-memory DBMS, purpose-built for running hundreds of thousands of transactions a second. VoltDB claims to be 100 times faster than MySQL, up to 13 times faster than Cassandra, and 45 times faster than Oracle, with near-linear scaling.

Posted via email from miner49r

Monday, June 28, 2010

Clojure's n00b attraction problem

A good article from Greg Slepak:

http://gregslepak.posterous.com/clojures-n00b-attraction-problem

Clojure is a beautiful language, but if its community wants more people to appreciate the language, then it may want to consider making the getting started experience beautiful too.

They're working on it.  I think it's still early in the game, but once Clojure 1.2 is done, it makes sense for the community to work on the initial programming experience.

Posted via email from miner49r

Friday, June 25, 2010

JGC: What's wrong with Flash Cookies?

All the major web browsers have control for regular HTTP cookies built in. In contrast, none of them provide control of Flash Cookies. That's a pity since we know that people delete their HTTP cookies very regularly. If you want to delete them then you need to visit this page on Adobe.com.

Posted via email from miner49r

Wednesday, June 23, 2010

Stop Forking with CSS3: eCSStender

http://www.alistapart.com/articles/stop-forking-with-css3/

I decided to build a JavaScript library that supports clean living (or at least clean CSS): eCSStender.  [...] Boiled down to its essence, eCSStender (pronounced “extender”) is a JavaScript library (akin to jQuery or Prototype) specifically built for working with CSS. On its own, eCSStender doesn’t do anything but analyze your stylesheets. When powering “extensions,” however, eCSStender allows you to use properties such as @border-radius and selectors like@.seven:nth-child(even) without having to resort to forks or hacks.

Posted via email from miner49r

HTML5Rocks

HTML 5 info and demos (from Google):

http://www.html5rocks.com/

Posted via email from miner49r

disclojure: public disclosure of all things clojure

Monday, June 21, 2010

iOS 4 walkthrough

Complete feature guide to Apple’s latest iOS 4 (with video demos):

http://www.tipb.com/2010/06/14/ios-4-walkthrough/

Posted via email from miner49r

Thursday, June 17, 2010

'Diverging Diamond' Traffic Flow

It's not often that you can make traffic flow more smoothly and safely without spending significant time and money. But drivers in Springfield, Mo., are the first in the United States to use a new interchange design that transportation officials say is quick, cheap, and safe.

The "diverging diamond" is being put to the test. Fans of the new highway interchange design say it improves traffic flow by eliminating problematic left turns. There's just one catch: It briefly sends all cars over to the left side of the road.

Follow the link for a diagram.

Posted via email from miner49r

Wednesday, June 16, 2010

Plaxo plugin disabled by 10.6.4 update

Just FYI: After updating to Mac OS X 10.6.4, Apple Mail complains about an incompatible plugin.

> Mail has disabled the following plug-ins:
>> PlaxoMailCTC
>> Contact the makers of these plug-ins for versions that are compatible with Mail 4.3 and Message 4.3.

I reported the problem to Plaxo.com. As long as the rest of plaxo works, I'm not too worried, but I'll need to do some more testing before I'm sure it's OK.

By the way, Plaxo is a free tool that synchronizes your contacts and calendars among several computers. It mostly works fine.

Posted via email from miner49r

Carte - clojure relational mapping

http://github.com/brentonashworth/carte

Carte is relational mapping for Clojure. It maps nested immutable data structures to an underlying relational database management system. It is meant only to provide simple access and manipulation of relational data, it is not meant to be a replacement for SQL

 or relational algebra.

Posted via email from miner49r

Tuesday, June 15, 2010

Tom Watson at the US Open

Tom Watson is my favorite Stanford golfer.  He'll be playing in the US Open at Pebble Beach starting on Thursday.  Good luck, Tom!

In Watson’s 1982 U.S. Open win at Pebble Beach, he holed a touchy chip shot from the greenside rough to birdie the 71st hole—arguably one of the greatest pressure shots ever—and then birdied the 18th to top Nicklaus.

Posted via email from miner49r

Monday, June 14, 2010

JavaScript Blacklist - extension for Safari

I used to edit /etc/hosts to block these bad guys.  Now, there's a Safari extension for non-programmers to use.

http://homepage.mac.com/drewthaler/jsblacklist/

JavaScript Blacklist is a simple extension for Safari 5 which blacklists scripts from a configurable list of domains. If a common "utility" script used by sites that you visit is annoying you, this will let you opt out quickly and easily.

Here are some examples of common annoying scripts. JavaScript Blacklist comes pre-configured to block these by default.

Posted via email from miner49r

Wednesday, June 2, 2010

Mac Vintage meeting tonight (Wednesday) at 7 p.m.

The Mac Vintage (Macintosh Users) Group will meet on Wednesday at 7 p.m. in the Town Center. The main topic is iPhoto.

Posted via email from MountVintage.org

Tuesday, June 1, 2010

Accessing the App Engine Datastore - Compojure on GAE

http://compojureongae.posterous.com/accessing-the-app-engine-datastore

To use the datastore API I need to include a jar that comes with the GAE SDK in my app. I could call the Java API directly, but there are already a few Clojure libraries that provide friendly wrappers around it. One of the first (that I know of) was appengine-clj by John Hume (who was also one of the first to write about using Clojure on GAE).

I decided to go with this fork of appengine-clj by Roman Scherer, which seems to be more complete and actively maintained.

Posted via email from miner49r

Friday, May 28, 2010

Android versus iPhone

Red Sweater Blog – Pain Is A Gift

http://www.red-sweater.com/blog/1292/pain-is-a-gift

The risk to Apple is not in losing the masses, but in losing the faithful core. In their unchallenged position, Apple made a lot of right decisions, but they also made mistakes, particularly in the form of political moves that limit what developers can distribute on the platform. These restrictions are done in the name of quality control, but anybody who has browsed the App Store knows that all this autonomy has done little to stem the flow of trashy, embarrassing apps.

What they have done is alienated developers, and ultimately deprived users of software they want to see on the platform. My fear is these botched decisions are hurting Apple, but they aren’t feeling it. Pain is a gift: the signal that prevents a burned finger tip from becoming a body engulfed in flames. Apple is numb from success, and I hope the emerging competition from Google and others will re-sensitize them to the threat of failure.

Google’s Android is the best challenge yet to the political and technical decisions made by Apple for its iPhone and related products. I welcome the challenge, and look forward to Apple’s scrappier, revitalized retaliation.

Posted via email from miner49r

Monday, May 24, 2010

Alternate LOST Endings

Pretty funny:

Personally, I was hoping for a Gilligan's Island inspired ending.

Posted via email from miner49r

Tuesday, May 11, 2010

access the Google App Engine datastore from Clojure

http://www.hackers-with-attitude.com/2010/05/dsl-to-access-google-app-engine.html

This is all you need to know to write code to access the datastore. If you are new to Clojure (and any other Lisp language), than you might get a feeling why Paul Graham once said: "Lisp's power is multiplied by the fact that your competitors don't get it." Use simple data structures. Create powerful functional abstractions. Write less code. If you want to give our mini-languages a try, you can find the code here. You will find features for :pre-save and :post-load functions on entity level, transactions with automatic retries, query by key, return only keys from a query, automatically resolving parent/child relationships between entities and automatically resolving entities from attributes that contain keys.

See also:

Posted via email from miner49r

Monday, May 10, 2010

Guy Steele: Organizing functional code for parallel execution

http://labs.oracle.com/projects/plrg/Publications/ICFPAugust2009Steele.pdf

> The Big Messages
> • Effective parallelism uses trees.
> • Associative combining operators are good.
> • MapReduce is good. Catamorphisms are good.
> • There are systematic strategies for parallelizing superficially > sequential code.
> • We must lose the “accumulator” paradigm and emphasize > “divide-and-conquer.”

> The Parallel Future
> • We need parallel strategies for problem decomposition, data > structure design, and algorithmic organization:
>
> The top-down view: Don’t split a problem into “the first” and > “the rest.” Instead, split a problem into roughly equal pieces; > recursively solve subproblems, then combine subsolutions.
>
> The bottom-up view: Don’t create a null solution, then successively > update it; Instead, map inputs independently to singleton solutions, > then merge the subsolutions treewise.
>
> Combining subsolutions is usually trickier than incremental update > of a single solution.

Posted via email from miner49r

Friday, May 7, 2010

History of St. Christopher's Parish in San Jose

Someone should write a history of St. Christopher's Parish in San Jose.  My grandmother, Aileen Miner, was a founding member of the parish, but I don't know much about the early days in the 1950s.  There's a page for the history of the school, which gives September 1955 as the opening date of the school.  The current church was finished in 1957.  The original church building was taken over by the school at that time.  I believe that Msgr. Healy was the original priest.  He was the longtime pastor when I was growing up.  Msgr. Norman Allen took over as pastor after the death of Msgr. Healy.  Msgr. James Walsh has been pastor for many years.  He is planning to retire this summer and return to his native Ireland.  Fr. Walsh had been an associate priest at St. Chris when I was a student there in the 1970s. Everyone loves him and wishes him all the best in his retirement.  He will be missed. I have been informed that the next pastor will be Fr. Wifredo Manrique, known as "Fr. Willie".  I look forward to meeting him on my next visit.

Posted via email from miner49r

Thursday, April 29, 2010

Conjobble: a Clojure programming blog

conjobble: To discuss programming in Clojure. 

The conj function is used to conjoin an item to a collection such as a list or vector.

Original definition from to http://www.answers.com/topic/conjobble
to chat together; 'to concert, to settle, to discuss: a low cant word' - Johnson 

Posted via email from Conjobble

Masters Practice Round tickets for 2011

http://www.masters.com/en_US/about/tickets.html

Practice Round tickets are limited and sold in advance by application only. Applicants are allocated tickets on a random selection basis. 2011 Practice Rounds applications will be mailed in June, after the 2010 Tournament. Those people who applied in 2009 and/or 2010 will automatically receive an application for 2011 tickets. The deadline for 2011 applications is July 15, 2010. Successful applicants will be notified in September. Unsuccessful applicants will not be notified. 

If you are not on the Practice Rounds mailing list and would like to be added for 2011, please send your name, address, daytime telephone number, email address and last four digits of your social security number no later than May 1, 2010, to: 

Masters Tournament 
Practice Rounds 
PO Box 2047 
Augusta, GA 30903-2047

Posted via email from miner49r

Wednesday, April 28, 2010

John McCarthy poster

link from a Clojure discussion...

Posted via email from miner49r

CSS3 Action Library

CSS3 Action Library aims to gather all the best CSS3 effects in one place.

http://code.google.com/p/css3-action-framework/

Posted via email from miner49r

Monday, April 26, 2010

The CSS 3 Flexible Box Model

http://hacks.mozilla.org/2010/04/the-css-3-flexible-box-model/

CSS 3 introduces a brand new box model in addition of the traditional box model from CSS 1 and 2. The flexible box model determines the way boxes are distributed inside other boxes and the way they share the available space.

Posted via email from miner49r

Wednesday, April 21, 2010

Introducing SproutCore Touch

http://blog.sproutcore.com/post/531215199/introducing-sproutcore-touch

SproutCore Touch is the first edition of SproutCore that includes complete support for touch events and hardware acceleration on the iPad and iPhone.  It will also eventually work with Android, Palm once we have a chance to work with those platform vendors to tie into their custom features as well.

Posted via email from miner49r

Tuesday, April 20, 2010

The keyboardless Office: a review of iWork for iPad

http://arstechnica.com/apple/reviews/2010/04/iwork-for-ipad-clever-subtitle-goes-here.ars/4

So while iWork is usable on Apple’s new "magical" device, it probably won't cut it for serious users. If you need to make an on-the-fly change to a document or presentation, you might lose some formatting or suffer some other unexpected quirks. What Apple calls file sharing, I call a pain, and the inability to print just magnifies things.

Posted via email from miner49r

HTML5 presentation

Probably not supported by IE 6, but try a newer browser to see some of the effects.

http://apirocks.com/html5/html5.html#slide1

Posted via email from miner49r

Droid Incredible review -- Engadget

http://www.engadget.com/2010/04/19/droid-incredible-review/

Let's just put this out there: the Droid Incredible is the best Android device that you can purchase in America right now. ...  if you're looking for an ultra-fast, extremely capable smartphone that has the guts and gleam to go the distance, the Incredible just might be the Droid you're looking for.

Posted via email from miner49r