Japanese translation of “Git From the Bottom Up”

By johnw On May 19, 2011 · 1 Comment

The artice on Git that I wrote a couple years back, Git From the Bottom Up, has been translated into Japanese by Noriyuki Komatsuzaki. Thank you so much, Noriyuki!

 

Letter to the Free Software Foundation

By johnw On April 26, 2011 · 16 Comments

The following is an amalgam of several letters I sent to Richard Stallman, founder of the free software movement, expressing my concern about the direction GPL licensing is taking, and why I disagree with some of the objectives of the Free Software Foundation.

Continue reading »

 

A word on Haskell Monads and C++

By johnw On July 15, 2010 · 6 Comments

After spending a good while trying to understand monads in Haskell, and why the Haskell world is so fascinated by them, I finally understand why they aren’t as exciting to other languages, or why they are completely missing from languages like C++: because they’re mostly already there.

At its simplest, a monad is an abstraction of a value which knows how to apply functions to that value, returning a new monad. In other words, it’s a way to turn values into little packages that wrap additional functionality around that value. Sounds a lot like what an object does…

Continue reading »

 

A C++ gotcha on Snow Leopard

By johnw On October 30, 2009 · 5 Comments

I’ve seen this issue mentioned in some random and hard to reach places on the Net, so I thought I’d re-express it here for those who find Google sending them this way.

UPDATE: According to the discussion at https://trac.macports.org/ticket/27237, the real problem here is not fully dynamic string, but the use of _GLIBCXX_DEBUG. So I recommend ignoring what follows, as it will help you on Snow Leopard or Lion with gcc 4.6 and above.

Continue reading »

 

Branch policies with Git

By johnw On October 28, 2009 · 2 Comments

I’ve been managing my Ledger project with Git for some time now, and I’ve finally settled into a comfortable groove concerning branches and where to commit stuff.

Continue reading »

 

Response to PG’s “How to Do Philosophy”

By johnw On May 13, 2009 · 2 Comments

Back in late 2007, Paul Graham put up an essay titled “How to Do Philosophy”, in which Mr. Graham hoped to elucidate where Philosophy went wrong and why the field, as now practiced, must be renovated to remain useful. In fact, he goes so far as to suggest that much of philosophy has no benefit whatsoever:

The proof of how useless some of their answers turned out to be is how little effect they have. No one after reading Aristotle’s Metaphysics does anything differently as a result.

If I may, as a student of philosophy, I would like to offer my response to this argument, whose tenets have been repeated many times throughout Philosophy’s history.

Continue reading »

Tagged with: graham • philosophy
 

Journey into Haskell, part 6

By johnw On March 26, 2009 · 6 Comments

Another thing to be learned down the Haskell rabbit-hole: Thinking in infinites. Today someone posed a puzzle which I tried to solve in a straight-forward, recursive manner: Building a list of primes. The requested algorithm was plain enough:

Create a list of primes “as you go”, considering a number prime if it can’t be divided by any number already considered prime.

However, although my straightforward solution worked on discrete ranges, it couldn’t yield a single prime when called on an infinite range — something I’m completely unused to from other languages, except for some experience with the SERIES library in Common Lisp.

Continue reading »

Tagged with: infinity
 

Journey into Haskell, part 5

By johnw On March 24, 2009 · 2 Comments

Haskell may be difficult to start out with, but once things start rolling, they roll fast. Yesterday (real world time, these blog entries are staggered) I had started the first lines of HackPorts, but now things are getting close to done for the first version. It’s not that I’ve written much code, but that it was simple to integrate with other people’s code.

Continue reading »

Tagged with: Cabal
 

How laziness changes thinking in Haskell

By johnw On March 22, 2009 · 3 Comments

As I explore Haskell, I’m discovering that one of its trickiest aspects is not structuring things functionally, but the lazy evaluation. It turns out lazy evaluation comes with both great benefits, and significant difficulties. I’d like to point a few of these out, as they’re becoming clearer to me.

Continue reading »

Tagged with: laziness • lazy
 

Journey into Haskell, part 4

By johnw On March 21, 2009 · 1 Comment

I’ve been reading Real World Haskell now, after having finished the delightful Learn You a Haskell Tutorial. I’m up to chapter 6, about to dive into Typeclasses. In the meantime, I’ve picked a toy project that also has a taste of usefulness: a script to convert the Hackage database into MacPorts Portfiles, respecting inter-package and external library dependencies. I call it HackPorts, of course.

Continue reading »

Tagged with: Cabal • HackPorts • MacPorts
 
Set your Twitter account name in your settings to use the TwitterBar Section.
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.