Posted via email from miner49r
Monday, December 27, 2010
Dilbert: Thirty years
Sunday, December 26, 2010
Clojure pods
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
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
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
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
Posted via email from miner49r
What's new in purely functional data structures since Okasaki?
Posted via email from miner49r
Tuesday, December 7, 2010
Learn Clojure
Posted via email from miner49r
Tuesday, November 30, 2010
Stanford looking for a BCS Bowl Game
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.
Posted via email from miner49r
Saturday, November 27, 2010
What the HTTP 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 tohttp://github.com/gcv/appengine-magic
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.
Posted via email from miner49r
Thursday, November 18, 2010
ClojureQL - 1.0.0 now in beta
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
Posted via email from miner49r
Sunday, November 14, 2010
Hacker News discussion on writing apps in HTML5
Posted via email from miner49r
Friday, November 12, 2010
Stanford Cardinal Stats, Scores, and News
Posted via email from miner49r
Oracle and Apple Announce OpenJDK Project for Mac OS X
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
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
Tuesday, November 9, 2010
Monday, November 8, 2010
Mining the Web with Clojure
http://measuringmeasures.com/blog/2010/11/8/mining-the-web-with-clojure.html https://github.com/clj-sys/webmine
Posted via email from miner49r
Saturday, November 6, 2010
Clojure Web Infrastructure
Posted via email from miner49r
37signals' Chalk Dissected
Posted via email from miner49r
Wednesday, November 3, 2010
Continuous Deployment of Clojure Web Applications
Posted via email from miner49r
How To Build A Mobile Website
Posted via email from miner49r
Tuesday, November 2, 2010
Google Web Toolkit
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.
Posted via email from miner49r
Ultimate Guide to Website Wireframing
This guide covers what you need to know about website wireframes to get started.
Posted via email from miner49r
Monday, November 1, 2010
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
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
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
Vintage Victors for a Cure 2010
Carl and Patty
Silent Auction
Second Place
First Place
Saturday, October 9, 2010
Here’s what we’ve learned about doing UI for mobile web apps with WebKit - (37signals)
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
a better memoize for Clojure
Posted via email from miner49r
Saturday, October 2, 2010
Learning Clojure with Google App Engine and Emacs
Posted via email from miner49r
Thursday, September 23, 2010
Tuesday, September 7, 2010
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
Friday, September 3, 2010
Thursday, September 2, 2010
DBMS Musings: The problems with ACID, and how to fix them without going NoSQL
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.
Posted via email from miner49r
Tuesday, August 31, 2010
Getting started with compojure
The goal of this tutorial is a simple tasklist written with clojure and compojure
Posted via email from miner49r
Sunday, August 29, 2010
Less Framework 2
Posted via email from miner49r
Thursday, August 26, 2010
Java tip: How to 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
andMappedByteBuffer
.- Minimize data copying between the JVM/OS, internal buffers, and application arrays. Use
FileChannel
with memory mapping, or a direct or wrapped arrayByteBuffer
Posted via email from miner49r
Wednesday, August 25, 2010
Sunday, August 22, 2010
Trail - an experiment with particle movement patterns using HTML5
Posted via email from miner49r
The Clean Coder: Why Clojure?
Posted via email from miner49r
Monday, August 16, 2010
Clojure Workers and Large Scale HTTP Fetching
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.
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
Headius: My Thoughts on Oracle v Google
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
>> 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
Wednesday, July 28, 2010
Daring Fireball: An Improved Liberal, Accurate Regex Pattern for Matching URLs
Posted via email from miner49r
Monday, July 26, 2010
Clojure quick reference (for 1.2 beta)
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
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
Friday, July 23, 2010
Tuesday, July 20, 2010
changes for Clojure 1.2.x
Posted via email from miner49r
Saturday, July 17, 2010
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.
Posted via email from miner49r
Better Clojure Test Results with Deview
Posted via email from miner49r
Tuesday, July 13, 2010
Clojure quick reference
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
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 theclj
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
Posted via email from miner49r
Monday, July 12, 2010
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
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
Posted via email from miner49r
Thursday, July 1, 2010
baby Quinlan
Posted via email from miner49r
Wednesday, June 30, 2010
alter-ego - A Reactive AI Library
Posted via email from miner49r
Tuesday, June 29, 2010
VoltDB Decapitates Six SQL Urban Myths
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
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.
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
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
Monday, June 21, 2010
iOS 4 walkthrough
Posted via email from miner49r
Friday, June 18, 2010
WWDC 2010 Session Videos
Posted via email from miner49r
Thursday, June 17, 2010
'Diverging Diamond' Traffic Flow
Follow the link for a diagram.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.
Posted via email from miner49r
Wednesday, June 16, 2010
Plaxo plugin disabled by 10.6.4 update
>> 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
or relational algebra.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
Posted via email from miner49r
Tuesday, June 15, 2010
Tom Watson at the US Open
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
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.
- tynt.com - modifies copy-pasted text
- intellitxt.com - green links with double-underlines
- snap.com - link previews
Posted via email from miner49r
Wednesday, June 2, 2010
Mac Vintage meeting tonight (Wednesday) at 7 p.m.
Tuesday, June 1, 2010
Accessing the App Engine Datastore - Compojure on GAE
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
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
Posted via email from miner49r
Friday, May 21, 2010
Thursday, May 20, 2010
Tuesday, May 11, 2010
access the Google App Engine datastore from Clojure
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.
Posted via email from miner49r
Monday, May 10, 2010
Guy Steele: Organizing functional code for parallel execution
> • 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
Posted via email from miner49r
Monday, May 3, 2010
Thursday, April 29, 2010
Conjobble: a Clojure programming blog
to chat together; 'to concert, to settle, to discuss: a low cant word' - Johnson
Masters Practice Round tickets for 2011
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
CSS3 Action Library
Posted via email from miner49r
Monday, April 26, 2010
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
Sunday, April 25, 2010
Stax Networks - hosting Java apps
Posted via email from miner49r
Wednesday, April 21, 2010
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
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
Posted via email from miner49r
Droid Incredible review -- Engadget
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