Andrew Cooke | Contents | Latest | RSS | Twitter | Previous | Next

Using Mercurial on OpenSuse 11.1

From: "andrew cooke" <andrew@...>

Date: Sun, 26 Apr 2009 19:52:48 -0400 (CLT)

Two separate pieces of information here - how to use Mercurial in a
"centralised" way, and how to get things working nicely in OpenSuse.

First, the "centralised" part.  It wasn't clear to me at first how I would
actually use Hg.  I am used to having a central svn repo that is backed
up, and that I use as a reference from various computers.  I still wanted
that with Hg, but it wasn't clear how to arrange things.

What I ended up doing (and I am still not sure this is correct, although
it seems OK) is the following:

 - create a system group "hg"
 - create a system user "hg" whose empty home directory is /srv/hg
   and whose default group is "hg"
 - create a directory under /srv/hg called repos
 - in that directory, as the hg user, import code from svn
   (I had everything in a single svn repo but am separating things
   out with hg, so there's a single repo for lepl at the moment).
   (this uses "hg convert" - the command I ran was
   hg convert svn://10.2.0.1/default/src/python \
     --config convert.svn.trunk=lepl/trunk \
     --config convert.svn.branches=lepl
   which let me import versions at the same level as trunk)

That places a lepl repo (I had to rename it from whatever it was called by
default) in /srv/hg/repos

Next I wanted to be able to look at it via the web.  There's a fairly
detailed explanation at
http://www.selenic.com/mercurial/wiki/index.cgi/HgWebDirStepByStep but it
places the repo in srv/www for some reason.  That's not necessary (as far
as I can tell so far - I'll post again to this thread if I find out
otherwise).

So I adapted the instructions at that link and did the following:

 - downloaded the entire hg codebase (I think) into a temp directory
   using the command
   hg clone http://www.selenic.com/repo/hg-stable
 - that was the only way I could get hold of hgwebdir.cgi (is it
   just me or do the links in the instructions not work for everyone?)
 - create the directory /srv/www/htdocs/hg
 - put the hgwebdir.cgi in that directory
 - add hgweb.config with contents:

[collections]
/srv/hg/repos = /srv/hg/repos

[web]
style = gitweb

 - make sure permissions, ownership etc were OK (ie same as other
   projects in /srv/www - use wwwrun/www)
 - create the file hg.conf in /etc/apache2/conf.d as in the
   instructions above
 - restart apache

That gave me a very ugly site at http://localhost/hg

I should also have mentioned that I installed mercurial from Yast before
all this.

I spent some time trying to fathom why my site was so much uglier than
others on the web before realising that opensuse's defauly mercurial
install is rather old (1.0.2).  You can install a much more recent version
from the build service at http://software.opensuse.org/search - just type
"mercurial" in the box and click away.

Once that was done, I got the nice web site with trainline graphs that
showed the different release versions.  Nice :o)

Andrew

Writing to Mercurial

From: "andrew cooke" <andrew@...>

Date: Mon, 27 Apr 2009 18:21:31 -0400 (CLT)

The above all seems OK.  Today I looked at writing (pushing) back to the
main repo.

Locally (and I assume via ssh) you can do this by writing to the
repository directly (ie the directory /srv/hg/repos/lepl).  All that was
necessary (as far as I can remember) to do this was to make sure that I
was a member of the hg group (log out and in again) and that the group has
write permissions.

Getting things working by HTTP was a little more tricky.  I added/modified
the following files:

/srv/hg/repos/lepl/.hg/hgrc contains:

[web]
allow_push = andrew


/etc/apache2/conf.d/hg.conf contains:

ScriptAliasMatch        ^/hg(.*)        /srv/www/htdocs/hg/hgwebdir.cgi$1
<Directory /srv/www/htdocs/hg>
  Options ExecCGI FollowSymLinks
  AllowOverride None

  AuthType Digest
  AuthName "svn"
  AuthUserFile "/srv/www/htdocs/hg/.htdigest"
  <Limit POST PUT>
    Require valid-user
  </Limit>

</Directory>


The file /srv/www/htdocs/hg/.htdigest was generated with htdigest2 (see
man pages - the "realm" is "svn" as AuthName above).


/etc/mercurial/hgrc

[trusted]
groups = hg


Some tips: to resolve problems start with the simplest first, so get local
push to a file working.  Then add "GET" to the Limit above and set things
up so that you can read the web page in a browser after entering the
correct password.  Next try push to a http url (add push_ssl = false to
the appropriate hgrc) and use ngrep to sniff the response (which contains
a more detailed error message than appears elsewhere!).  Finally, test
writing to https.  This helps avoid mis-attributing errors (for a long
time I thought apache was complaining about trusted users, but it was
mercurial, and the groups=hg in the global hgrc fixed that).

With the above I now have network (except that the firewall blocks
external access) read access while network write is limited to myself.

I've also done several merges without breaking anything, as far as I can
tell.  In the process I've come to the conclusion that named branches
aren't that great.  Instead, branches are best treated more like temporary
things that you create when needed.  For releases, tagging is enough (if I
ever need to do major development on an old release I think I will clone a
new repository instead of using branches).

Andrew

PS And don't forget to enable mod_auth (which is easiest to do through Yast)

Add wwwrun to hg group

From: "andrew cooke" <andrew@...>

Date: Mon, 27 Apr 2009 18:46:22 -0400 (CLT)

Forgot to mention this, but pushing via http means that wwwrun must be a
member of the hg group too.

Andrew

With Eclipse

From: "andrew cooke" <andrew@...>

Date: Mon, 27 Apr 2009 21:41:00 -0400 (CLT)

Using Eclipse works fine too - I used the standard(?) extension
(MercurialEclipse) and it works just fine.  From my laptop I can clone a
version from the HTTP server, modify and commit locally, then push back to
the server later.

So I can duplicate my old svn-based workflow, but I also have the entire
repo locally on the laptop when travelling, and can commit in small chunks
(this is more important in Mercurial than Subversion, because merges are
hard to do in smaller-than-a-commit pieces; you cannot pick changes for a
particular file, but instead deal with "changesets").

Anyway, must rush - burning a CDROM to try out Mandriva :o)

Andrew

Trying to Explain why Mercurial is Good

From: "andrew cooke" <andrew@...>

Date: Wed, 29 Apr 2009 08:57:15 -0400 (CLT)

I am really enjoying (well, in relative terms - I can't honestly say that
it is one of the great pleasures of my life) using Mercurial.  And since a
month ago I couldn't see the point of DVCS I think I should explain why.

Unfortunately, that's not so easy.  Just as svn was generally more solid
and useful than cvs, so hg is similarly incremental.  For me, all three
will do the job - being distributed is not a critical part of my
development.  So there's no huge argument in favour of Mercurial, but if
you've switched from cvs to svn and been pleasantly surprised, then I
think you'll find the same experience moving from svn to hg.

So, if there are no big wins, what are the small wins?

First, it *is* distributed.  So if I had been using it three weeks ago,
when I was visiting my parents in the UK, patching a bug in LEPL would
have been much easier.  You always have the full revision tree (well,
graph) available, locally.

Second, because it's local and fast, you can commit more often.  Actually
this is also a negative - you really *have* to commit more often, because
you can't go back and cherry-pick changes later.  With svn you can select
changes to individual files and merge them across to another branch.  With
hg you have to take the whole commit (there are hacks around this, but
that's the general idea).

Third, because it's local and fast and supports distribution, you can
trivially copy the whole repository just to do an experiment.  I imagine
I'll do this less as I get used to it, but for learning it's great - I can
try to do something several times and, once I get it right, "push" it back
to my main repository.

Fourth, I can still work the way I used to.  Apart from the commit v file
granularity issue, there's nothing stopping me from still having a single,
central server that I back up automatically.

Fifth, it's easy to divide work up into separate chunks by cloning.  This
is nicer than using a branch because you're not immediately making big
changes to the central repo.  You get more leeway to experiment.

Looking at that list, I guess the basic idea is that it gets in the way
less, so you use it more.  It's more flexible, and you can use it more
without making the main repo a confusing mess of branches and tags.  So it
becomes more of a useful tool than a burden.  Which I think is why the
move feels similar to the change from cvs to svn, which also made progress
in that direction.

Andrew

Comment on this post

This is my blog. It used to be a mailing list called C[omp]ute. It is still generated by email. You can reply to comments via the appropriate link. Edit the mail address to remove the anti-spam measure. However, given the very low volume of replies, and the high rate of spam, it can be months before I moderate a post. Sorry. © 2006-2009 Andrew Cooke (site) / post authors (content).

I am always interested in offers/projects/new ideas. Eclectic experience in fields like: numerical computing; Java web/enterprise; functional languages; Python client GUI/web/database; etc. Based in Santiago, Chile; telecommute worldwide. CV; email.

Last 1000 entries: Prolog, LEPL, Phone Numbers; Mutt Working Well; Leaving GMail...; Quora Challenge; Good Haskell Example; Do not go gentle into that good night; OProfile - An Alternative for Profiling Java (and C); The Movies of Clint Eastwood; Automate my Ire; Proud to be (Almost) Chilean; Pan Fresco en Providencia, Santiago, Chile; Earthquake in Chile; Why More Equal Societies Almost Always Do Better; More Names + Books (Economics); Stommel Diagrams - Time v Space log log plots; Fermi Dying?; Windows Don't Minimize in KDE 4.3, OpenSuse 11.2; Compressed Sensing; The Complexity Era in Economics; Extra Notes on Repeating Install; Fossil - DVCS + Wiki + Bug tracking; Kingston SD Cards, Economics, Hardware Hacking; Here we go...; HLVM - High Level VM on LLVM via OCaml; Information Retrieval, Transmission + Quantum Computing; Corralillo Winemaker's Blend; Matetic Vineyards; South Butt's Reply; Metacompilers; Critterding, Polyworld (Evolutionary AI Sims); Visiting Bariloche (Balcones al Nahuel); UYKFD Description; Formal AI (Solve all Problems); Updated instructions; tomcat default servlet patten matching -- thank you!; Google Social Search; Books On Suburbia; Generating Syntax Errors from Examples; Thought Crime - The Heretical Two; Video of Pro-Pinera/Pinochet Protesters; Pinera, Chile, Economist; NNMF - An Alternative to SVD; Unladen Swallow Is Dead Duck?; Norvig on Non-Parametric Analysis (+ Other AI Videos); Retrospective on the Guantanamo "Suicides"; Developing OpenCL Code with an Intel x86 CPU; Redmine Project Management; Enable PCIE Too; Logitech MX Anywhere Mouse with Linux (Review); Relationship between EM and MP?; M3U to PLA (PLP?) Playlist Format Conversion; iRiver E30 MP3 Player (A Review); Models of Human Sociality; More Notes on GPGPU Programming; Traditional Telephony is Dead; Persisting Knowledge Across A Changing Workforce; And He's In This Too (Cynical - So Correct? - State Of World); Excellent Doctorow Column; Confirmed?; Detailed x86 Profiling; Unladen Swallow to Merge with Python 3?; Further Optimisation with OpenCL; Blocks Villa San Luis; How To Be Happy; Matlab/OpenCL Cross Reference; Calling OpenCL Directly; Pinera's Campaign Graphics Have Improved; Perceptual and Fuzzy Hashing; Encyclopedia of Symbols; Create You Own Programming Language; Can It Get Any Worse?; Logically Laid-Out Musical Keyboard; Chilean Presidential Elections; Lessons Learned (Not Mine!) with Crowdsourcing at the Guardian; Couple More Network Links; The Future of Telephony; Codenode - Python Take on Mathematica Notebook; More On OpenCL and Matlab Here; Experience Optimising Matlab Code with OpenCL (NVidia GPGPU); Or Simply Don't Use The Libs; Workflows; VisTrails; Good Local Santiago Tours; More Details on Java Extensions; Tribute to Jim Gray - Free Book on Data Processing Future; Voynich Manuscript Decoded?; Mogile FS; Correct Exponents; Trafigura Now Attacking BBC; Detailed Example of Climate Change Sceptic Debunking; Lemonade Recipe; XTRMNTR; Regular Expression Matching: the Virtual Machine Approach; BSGP: Bulk-Synchronous GPU Programming; Cassandra; Analytics - Jobs for the Future; NoSQL Papers; Extern C; Calling OpenCL from Octave / Matlab; Notes on Array Layout; My Day With The Mental Health Professionals; How To Write Good Cron Jobs; Dark Matter Found?!; Reflections on Playlist Generation (UYKFD); Lazy Parsing; Bad Memory; Intel Drops Larrabee; Python Code to Compile Regexps; Heart Monitor Watch + Hackable Hardware; Live Map of Shipping; Synergy Updated; Good Ideas for Dates; Radioactive Boy Scout; UK's "Terrorism" Laws Used Against Innocent Schizophrenic; Generating Uniform, Correlated Random Numbers; Etherial Electronic Art; Fool Me Once; Squeezebox Duet Not Connecting to Server; WTF - Closures in Java 7 After All?; American Airlines fires AA.com designer for reaching out to customer; Visualizing Empires Decline; Electronic Fratricide; Another Go v Python Comparison; Wrong Attribution; Google's Go Slower than Stackless; Significant Objects; Offensive US "Cyber" Operations; Scala Style Guide; NVidia's own Demos; Simpler, but "Micro"; MITM Attack Against SSL; SimHashing - Detecting Similar objects with Hashes; Wire Music Lists; (Not So) Random Walks on Graphs; What We Actually Know About Software Development; The UK did it first!; UYKFD Progress - Playlist Generation from LastFM Tags; Diagrams Through Ascii Art - Coolest Software this Millennium?; Scala for Generic Programers; Carl Jung's Red Book; Interesting Comment (+ Pointers) on Architecture; Frei Campaign Posters; Free Will, Determinism, Compatibilism; Exotic Chocolates in Santiago, Chile; Matlab on NVidia GPUs; Installing OpenCL on OpenSuse 11.1; Where Would a Do-Gooder Do the Most Good?; TXR - Pattern Matching / Template Language; The Sirens of Titan by Kurt Vonnegut, Jr; Follow-up in Guardian; Larrabee Dirt + Background; Guardian Censored over Trafigura Questions; Good Background on OpenCL etc from Anandtech; Using Java Collections in Scala 2.8 (and 2.7); Software Quality Mythology; NVidia Just Released OpenCL Support; And If You Still Don't Get It; Outer Join and Sub-Select Example for Empire DB and Scala; Calling REST Web Services from Java (the Java WS Ecosystem); Auto-Delegation in Scala using Implicit Conversion; Using Scala with Empire DB; Why Does Democracy Need Education?; Setuptools for Python 3 (is called Distribute); Switched to Emacs; TxtSushi - SQL for ASCII Files; Something That Shows How Google Wave Might Be Cool; BitBucket Outage Details - Cloud v DDOS; Congratulations Mule - Europe-Wide Win!; Single Line; Lagged Cafe - Kashiwa Mystery Cafe; DSLs (implemented with Haskell) Help Build Microsoft's new Multicore OS; Implement Phonetic Name Searches with Double Metaphone etc; BOUML - A UML Tool with Reverse Engineering; Fixing IntelliJ Idea 9 EAP on 64 bit Linux (Could not find agent library); Empire DB Example with Scala; Free Scala Book (Programming Scala); Attack on MD5 Based Authentication for Popular Sites; Text of AP "Writethru" on Polanski; Revised Instructions for Adding Dependencies; Interview; More on Scala; Scala in More Detail; Trying Again (New Instructions); Scala Bug Report; Starting a Scala Project; Testing Pollsters - 538 v Strategic Vision; Measuring Complexity; Books to Read (Best of Decade, Millennium); GRRF - The Last Lecture; Java / Scala Bindings to OpenCL; John Abercrombie Organ Trio, Santiago, 24 September 2009; As Rigid as Possible Shape Interpolation; The Poor (well, Over-Extended) Middle Class; Quantum Computer Factors 15; Diesel Asynchronous Network Apps in Python (uses Coroutines); Django Template Tips; Starting a Linux Computer Remotely (WOL / PME); Causality - Inferring Causal Networks; Algorithmic Game Theory (Free Book); Running "find" in Parallel; Network Protocol Description Language; PyOpenCL - Python Layer to OpenCL GPU Programming; Would You Work With These People?; New Johnston Sans Typeface (the Underground); Delayed due to State; How Stupid is eBay?; String Theory is Just a Technique for Summing Terms in QCD; One More Reference; Iranian Gold and Cash (nearly $20bn) in Turkey?; Noop (no-op) - New JVM Language from Google; More Offside Documentation; Rethinking The Firm; Renault Told Piquet's Son to Crash; Hardware Hacking - Pictures from Space; Replies Work Too?; Moving to WebFaction; La Nana (Chilean Film); What's so Neat...; Offside Parsing Works in LEPL; How a Construction Crane is Made (Builds Itself); More Al-Qaida Details; And the X1; Leica M9 (Full Frame); Dark Stalking on Facebook - Tracking Invisible Identities; Al-Qaida Faces Recruitment Crisis; NSA Intercepted Emails used in UK Liquid Bomb Trial; A Review; Extended Bash Shell (Including ASCII Plots); RSS Cloud - Putting the Push in RSS?; Mercury Prize Nominees; Raphael - Javascript Library for Graphics; Domain Specific Language Conference (Papers etc); Rhonda 3D Drawing Program (+ Video); PyDev 1.5.0 now All-Free; Page Rank Gives Critical Nodes - Extinctions; Designing Crypto is Hard (Schneier - Don't Use AC); Yike Electric, Foldable Bike (Exists?!); Faster with Overvoltage; Negative Interest Rates in Sweden; Overclocking Q9550 with Asus P5Q; H1N1 Virus DNA and DIY BioTerrorism; GF1 Preview; Panasonic GF1 - Grown up LX3; Tweeting from the Linux Command Line; Cheap, Simple, Massive Storage; Thanks for this; Coders at Work (Book); Netflix Culture; More Indentation; Representing Indentations for Parsing; More Quads; Hidden Cost of Coroutines?; Interview with Amartya Sen; Article on Coroutines, Python, State Machines; Amazon, Clouds, etc; Pylint and Python 2.6; P / NP Summary; Depression's Evolutionary Roots; Economist Review; Intel Quad Core Prices; Scotland needs no lessons in matters of fairness from a country that has been routinely waterboarding suspects in Guantanamo Bay; Free Book on MetaHeuristics; Scheme to split in two; Hopelessly Naive; Stalin Had Similar Ideas; Sean Smith; Life is Good; Afghanistan - Reportage / Photos in Guardian; Pictures for Sad Children - Airshow; Also, Lombok; Mixins For Java; Rules For Use; Automatic Banknote Detection; Using Computers to Help Scheme Against Paying for Bhopal; Distributed Teams Build More Modular Products; Schumacher > Anonymous Pro; Anonymous Pro - Better than Schumacher?!; Amplifiers + Computing Theory Blog; Proven OS Kernel; Mail Based Blog + Gmail; Generating Pie Charts in SQL; More Analysis on the VMWare/Spring Deal; CPU/GPU Unification; VMWare buy SpringSource!; Hardware Entropy Source (USB!); Better Wave Analysis; Older, Happier, Wiser; Analysis (Negative) of Google's Wave; More Info On Concepts; Panasoni'c Micro 4/3 (MFT); Drug Company Ghost-Writes Papers; Linux Disk Config; Blue LEDs on PeeCee07A (PC2500e); Gregory Thielker; Language Workbenches?; Random Art + Cryptography; Initial Impressions - Via C7-D Barebones with Opensuse; Amitai Etzioni; Why are people with "tone-deafness" bad dancers?; DLink DUB-E100, Opensuse; Named Tuples in Python (and some Cairo contexts); Stroustrup's Take; C++ Concepts Dropped; Moved to GMail; Mail-based Blog; System Re-factoring; Enabling speaker beep as KDE notification; UK Police Arrange for Suspect (in UK) to be Tortured (Abroad); Extended to 3D; The Soft Heap: An Approximate Priority Queue with Optimal Error Rate; Godel Prize; Original paper; Facebook / MySpace Social Divide; Only Early Kernels; Cygwin SSH Server on Windows 7 RC; Using a Directory (Package) for Django's Model; Compiling pgplot on opensuse 11.1; Comparison of Dual Core E4700 and E6400; Erik Naggum Dead; Oracle on OpenSuse/Linux; Yup; Olympus Pen EP-1 (Micro 4/3) Details; More Iranian Analysis; Improving Nicotine's Response; Neo4j - a Graph Database; MISC - Lazy Lisp with Maps; Nortec Collective - New Album; The Sorry State of UK Politics; Two Contrary Views on Iran; Some Rape Stats Background; More Overvoltage Results; New Mobo; Caring About Programming Languages; Reflections on First Consultancy Gig; Google Squared; Windows 7 on VirtualBox; Smart File Visualisation; Boomerang - Lenses for Text; Datalog Jobs; RT61 Notes; Remote X for Single Programs; Sorting Morphisms; Computers and Intractability; Although Rather Drinkable; Bugger Carmen and their Grande Vidure; A Bomb Won't Go Off Here; 50 Ways to Change Minds; Sector/Sphere - Distributed Computing on Widespread, Heterogenous Networks; Linux-based Cracker Tools; Dear Esther (Half Life 2 Mod); MySQL Forks; Factor of 2 (Northbridge Explanation v2); A Beginners Guide to Forcing; Tiny STM; Erlang Influence?; CUDA Course; Protocol Support; Axum - New Concurrent Language from MS; Not Quite; 92% Faster; 92% Faster; Overclocking E6400 by 60%; Eight stories on Obama [...] censored from the Guardian, Observer, Telegraph and New Statesman; Trying to Explain why Mercurial is Good; Mandriva; With Eclipse; Add wwwrun to hg group; Writing to Mercurial; Renewing Chilean Visa; Interactive Mode in PEvolve; Using Mercurial on OpenSuse 11.1; Logitech Duet Love; Clarification from Anandtech; Initial Tokenizer Results for LEPL; Dead from beating?; New Edition of Parsing Techniques; The police: Unaccountable, secretive and out of control; Same Guy; 2.3 Released; Another Thought; Caveats; Compiling Recursive Descent to Regular Expressions; Compiling Recursive Descent to Regular Expressions; Much Better via Co-Routines; Much Better via Co-Routines; Much Better via Co-Routines; Much Better via Co-Routines; Peyton Jones - Implementation of Functional Programming Languages; Great Moments in Logic; The Quiet Coup; Logging Slow Queries in MySQL; Dabo - Desktop Application Framework (Python); Epsilon!; Original NFA; Initial DFA Results; Squeezenter on OpenSuse / Linux - Couldn't create command line for ogg playback; Legalising Polygamy in Utah. Ha ha ha.; Implementing a Regular Expression Engine; New Server Configuration; Converting NFA to DFA; Converting NFA to DFA; Converting NFA to DFA; And...; Browser Ball; Auto-layout of Graph Components; Good Article on Poverty in the UK; Does Make Sense; Possibly Complete; Incomplete; PyPy Getting Somewhere?; Corrected Test; I Just Wrote a Regular Exression Engine!; Freaking Awesome YouTube Mixes; Charles Freeman (National Intelligence Council nominee) Statement; 40-fold Speedup in LEPL Parsing; Cities of Bronze and Glass; Cities of Bronze and Glass; Modify Audio with Python; LEPL 2.0 Released; Protocol for copying updated files; Simple LLVM Example - Lisp; MCL - Relatively New Clustering Algorithm?; Fascism now back in Italy?; Declarative (Auckland) GUI Layout; Cybersyn; History of Twentieth-Century Philosophy of Science; Nice Short Summary of Ant v Maven; Yes but no; Sensible Statistics for LHC Risk (Bad News); Simpler Version of Above; Current Economy in Perspective; SSDs Suffer from Fragmentation Issues; LEPL Roadplan; Finally, Clean Main Loop; Simplified Code; Correction on Python Stack; Trampolining Code; Clearer; More on Co-Routines; Transparency Key; Handling Yield; Join The Discussion (Really!); Join the Discussion!; Avoiding the Python Stack; Positive Report on Venezuelan Economy; Papers on Handling Left Recursion in Top-Down Parsers; Works now; Transparent Python Proxy Object for Circular References; Python 3 Instance Attributes as Methods; Alternative Representation; Simple Tree Rewriting; Python Code for ASCII Trees; Natural Language Processing in Python; More Madoff; Recursive Descent Parser; Bria Di Novi; Update; Google Alerts (and LEPL, and setuptools for Python 3); Low Latency(?) Kernel for OpenSuse 11.1; Later; Strange Moderation at BB; Max Richter, Prefix, OpenSuse 11.1; Overview of Python Packaging Tools; Error Handling in Recursive Descent Parsers with Backtracking; A Thought On Obama's Inauguration; The Book; So, the King Of Thailand...; "in" as Operator; Happiness...; Python's Operators; Python 3 in OpenSuse 11.1 and Eclipse; Information on Universe's Event Horizon...; Re: OFF; OFF; TiddlyWiki on Tahoe; Tahoe Least Authority Filesystem / AllMyData.org; More wxPython and OGL; With Bactracking; Syntax; Parsing Credits; New Parser in Python; Food in San Francisco; Updated PPOE Script, Extra Tricks for WebMail; Some Notes on OGL with wxPython; Suspend Broken; Bomb, bomb, bomb...; OpenSuse 11.1 on Lenovo/IBM Thinkpad X60; More Ideas; Gaza; Slice Mechanics; Stupid; Since when did Last.fm start to suck so much?; Rethinking Parsing; Radio David Byrne; Pick of the picks (Guardian photographers) + Internet; Problems with OSX (Apple Mac); Script to convert WMA to MP3 on Linux; Command line player for listening to SqueezeCentre on Linux; Basic HTTP Authentication with XMLRPC in Python; Gaza; Tweaking Beagle and KDE; More on Marcela Moncada; Marcela Moncada at the CCU, Santiago; Schrodinger Book Review; Natanz, not Naratz; Snobol Like Matching in Python; Woman Living in Jeddah; Simple Physics Using Verlet Integration; Updated Raid Data Scrubbing Link; Predictably Irrational; Nuclear Enrichment Technology; Recent DnB; Script to Fix MP3 Directories; Young people and territoriality in British cities; Projections; Cube - Series of Images for Laser Printer; This project died soon after...; And even if you won, you lose :o); Madoff as a Jew; Beagle, Computing in Science and Engineering; Fundacion Rodelillo; Use Logitech Squeeze (Slim Devices); Separate DAC for Headphones; SqueezeCenter/SqueezeNetwork; SqueezeCenter gets better!; Logitech Squeezebox Boom on OpenSuse; Krugman - Absolutely Right; Early Investigation into Madoff; Script to Check for dsl0; Another Positive Assessment of Chile's Position; Slowly making more sense; PPOE on OpenSuse; Quantum Bees; EmpireDB - SQLAlchemy for Java?; Bowery Electric; Zimbra (Messaging and Collaboration); Bolano + Sebald; Santander Security; BCI Customer Service (Chilean Bank); Good Intro to PyParsing; Two Essays on Bolano; Financial Regulation; Chilean Liquidity Crisis, November 2008; Batter Control via SMAPI; Not So Fast; Font Size; Extending Battery Life on X60 (OpenSuse, powertop); Dario Urzua 1780, Providencia, Santiago; When Agile Projects go Bad; Practical Comments about DSLs; Books I Should Read; Monster Truck Video; MicroFinance in Chile; Chilean Companies to Avoid; On the Other Hand; Background on Hedge Funds; Paper in Compression; Quantitative Easing for Dummies; Balada del Elefante Azul; Mass and Renormalization; Why CitiGroup is About to Be Bailed Out and Not General Motors; Joost in Decline?; Excellent; Thinking About Databases, Efficiency and Technology; Decent Summary of Citibank; Looking Good, Chile; BNP Membership List; Etherpad; NOAO DPP Changes; Correlations; Fast Is Not Necesarily Bad; about the article; Triggerfish Cellphone Locating; Actually, no...; CDSs a Good Thing?; Chavez airs wiretaps of political rivals; iBATIS Caching; Are Chilean Bus Stations Safe?; Microsoft OSLO (DSL Framework); Decline + Fall of Agile; Plop / MOSES; Food; Declarative Validation of XMLRPC Responses in Python; More on Moodys etc; Social Terrorists; Declarative Mini-Languages in Python; Learn Prolog Now; How Palin was Picked; Newer Bus Info; More Bus Notes; Bus Travel from Santiago, Chile; Some decent Chilean (and Mexican) Music; More Info on IBatis-Based Project; Nice Plot from FT showing Spreads; SAX XMLFilter Example; Hitchens on McCain + Palin; Short Position on BBVA and Santander; Relatively Positive Article from Economist; It Works!; Not Even with Latest Version; Nope; Fixing Java Profiling in Eclipse (TPTP) on Linux (opensuse); Perhaps Not; New, Good Book by Le Carre?; Possible Future Financial Scenario; No Idea!; Session Limitation with Acegi blog post; Patriotic Taxes; Using Packrat Parsing for Ruby; Still Not Simple; Article on Robert Preston; China Intercepts and Stores Skype Messages; World of Goo - Interesting Looking Puzzle Game; Another Article on Models and Finance; Simplified Caching; Problem with iBatis, Spring and OSCache; Totally Worth It; More iBatis Comments; iBatis ORM and Caching Strategy - a Use Case; Liberal Intellectuals, Foreigners and Fascism; Good Article on (Current) Economics; Update; Same Results; Perfect Hash; Core Routine; Matching DNA Update - Faster Java Code; Carpark North (Videos); Medeski, Martin and Wood - LIve in Santiago; The Revolution Will Not Be Televised; Good Clear Analysis of AIG, HBOS; Band of Heathens (Blues); Choco (Constraint Programming in Java); Choco?; GecodeJ Not for "Real Use"; Not to be popular...; Commented GecodeJ Example; Programming Constraint Services; Installing Gecode/J (Opensuse); Trentemoller - Electronica; Spelling Errors; Mesed Up KDE4.1 Libraries w OpenSuse 11; Panasonic's Page; First Micro 4/3 Camera; And Sun Too; New Info on Nixon, Kissinger, Chile etc; Confirmation - Type Erasure, not Recursion; SequenceL (Auto-Parallelisation); Scrubbing RAID; Using a New Scope to Avoid Type Capture with Java Generics; Probably due to Erasure; Bombed; Fast Updatable Median; MySQL and Graphs; More Efficient Search Parameters: 30min; Updated Timing; Identifying Related DNA Sequences; Re: Tom Cruise, Holoprosencephaly; Relatively,,,; Loma Largo Quinteto - Fruity, Light and Chilean!; Try VirtualBox; Trivially Easy!; Sun's VirtualBox v2; Good Summary of Recent Spring Config Options; Launchpad - Open Source Projects Support/Hosting; Secure Remote Password Protocol (+ Python TLS); Good Analysis of Georgia Issues; iBatis Error with Recursive Generics; Google's Web Browser - Chrome; With Separator; Plotting Data from Postgres; Emotionally Vague; YouTube - rannndom improv jams - some hip hop & some funk/techno; Amazing Toy; Lua on LLVM; Mujava / Township Funk; Overclocking Again; Concha y Toro; Stream to Tree; Latest BIOS - No Memroy Remap for P5LD2 SE; New Version (+ Book) of Qi; Updated Photography Gallery; Good Walkthrough on WEP Cracking; Free Science, Computing, Maths books; Open JDK Works; Interesting Review of Maths; Spring's Command Controller; Java Annotations to Construct POJOs from HTTP Requests; REST Summary; JavaScript / ActionScript Politics; Olympus Interview Translation; Related Discussion; Themable (Tileable) Tk; Good Post on Micro 4/3 (Four Thirds); I Have to Agree; BulliEpu has Moved; Recursive Generators and Backtracking Search (Python); Not the Best Solution in General; Another, Simpler Python Meta-Programming Example; Breaking News - God Continues to Not Exist; Evidence of God?; Image Processing with CUDA / Python (Dynamic Pipelines); Cookies; Listening to BBC Radio over Internet with Linux; Re: How about post-install; How about post-install; Cookies; Better Code + Numbers; Some Initial Results for Overlapping Tiles with CUDA; Python Closures with Lambda; Java plugin for Firefox 3 on OpenSuse 11 (64 bit); Large Systems Need to Detect and Correct Internal Corruption of Data; Wine Labels; Headphone Socket Failed; Wine Prices and Quality; List of Good Recent Books; Details of the DNS Attack; Panasonic LX3; Re-using CUDA's Makefile; Resume/CV Designs; Newspapers Quoting Internet - How?; Good Paper Against Heuristics; Hueristics and Ethics; Non-CPU Cooling Helps; Diff and Patched CUDA SDK for OpenSuse 11, 64 bit; Have You Nothing Better To Do?; More Evidence; Traffic Shaping by VTR; Maybe too Negative?; Using gcc-4.3; GPGPU / NVidia Cuda / OpenSuse 11; Semantic Version Control; Xen and Solaris on OpenSuse 11; Assorted Links Now Free...; Updating Wikipedia (Mediawiki) to use Postgres 8.3; And a Test Reply; C[omp]ute is back!; Python CGI to Display Flickr Images; Good Papers for Dyanmic Interpreter Implementation; Python ABCs; Handling Version Changes that Break APIs; Sweet Security Hack; New Music - TheSixtyOne; It's Parabolic; Interesting (Science-ish) Mailing Lists / Blogs; Bug in Moody's Credit Rating Models; Numerical Computation w Python - Sage; Conclusion; Correction; Clarification; Yet More (Entropy?!); Extra Thoughts; Undo, Redo, Transactions, ORM, Monads, Python; Undo Example; Monads in Python; Algebrization: A New Barrier in Complexity Theory; Details of (Iranian) Enrichment Tech; Cool Physics Blog; Cool Result on Birds; Python Context Management; DataFlow in Python; Internationalization for Python; Logging in Python; Useful Responses to Python Metaprogramming; Python Metaprogramming; Robot Weapons Withdrawn; Synergy - Cross Platform Software KVM; Google App Engine; Easier Online Procedure; Python Parsing Framework; Wittgenstein - On Certainty; Ernst Haas - Photographer; Physics, Computing, Maths; Scientific libs etc for Python; Replacement Battery APC Smart-UPS 420; Tamaya Merlot 2005 (Reserve); New Photography Site; Rubik's Cube solved by Lego; Pedro de Valdivia 2257, Providencia, Santiago; Argh. XSLT not XPath; Comparison of XPath and XQuery; More on Gravity Anomaly; Algorithms for programmers; New Job; New ISP Location; Wiki; Shove Module (Python); Bolano Stories; Do Use Raw; Critica.cl, Bolano, Arriaga, Animita Cartonera; Ernst Bettler, Disruptive Design (or not); Late Victorian Holocausts; Book of Memorials, Photos, Chile; Sweet Fucking Christ; Depth of Field; QM is Statistics with a 2 Norm; Panasonic LX2; Expert Data Reduction; Font Rendering; Encrypted Email Not So Safe; Test - New Server; Excellent Review of the Current State of High Energy Physics; Fascinating Background on Pakistan, Atomic Weapons, etc; In Retrospect; Good Food in Valparaiso, but Social Art Crisis; Licence Plate Recognition; Interesting Work on Data Provenance; More on French War; Roberto =?iso-8859-1?Q?Bola=F1o_-_At_Last=2C_a_Great_Chilean_Writer?=; OLPC (XO) in the Developing World; Termite v Erlang; Little Steven's Underground Garage; Chilean Food (Pebre); Amazon Improved Reccomendations?; Explanation of Picture; Rigid Rod Dynamics in 2D; Subtle, but Correct (I Hope); Axiom of Choice; Efficient Collision Detection with Pessimistic Measures; Beautiful Description of Forth Implementation; Interesting Poll - Worldwide Muslim Attitudes; American Schools Banned From Calling 911; OCaml on the JVM; Computing in (Haskell) Types; And Another on the NSA; Article on Bolano (Chilean Writer) in LRB; Collision Detection Working; First napito Results; Within 10min 2 People Had Marked As Favourite; Safe, IDE-Friendly, Extensible, XML Schema; Funny Foreigners; Credit Card Security; ...history, and laughing; No Officers Guilty - Abu Ghraib; Yellow; Cheap....; Significantly Faster; Not Efficient!; Hygienic Macros Failing in Gambit?; More Specific Operations; Basic 2D Geometry Routines; [Fwd: Andrew On Libertarianism]; In Defense of Purple Prose; Libertarianism; National Identity; Improved Permutation Function (Start of List Library); Good Article on SQL, Graphs, Trees; Permute Fucntion (Scheme); Initial Scheme code for Napito; 1 in a Million; Getting Started with Gambit and Snow (or any other Scheme); Running Gambit (Scheme) From Emacs; Space Travel and Astronomy; Amazon Does On Demand; Neat Idea - Extra Steam Stroke; Error in Regex; Good Paper on Migration, Social Costs, etc; Makin' Money!; Dropping Less Spam at ISP; Brother HL-2070N on Linux; High Windows as Limerick; Power 101; Alas...; LEDs in GUIs; To Be Completely Clear - I Agree With Loquax; Compiling Suse 10.2 Kernel with Nvidia; Full review in IEEE Spectrum; Long Rant on Physics, Free Energy, Steorn, etc; Too Easy; It's all about the Me; jjjuste V 1.0 Released; jjjuste V 1.0 Released; Woot - Jack to Airport; More of a Wobble; I Am A Foooool..; On Aging; The Worst of Metafilter; Protecting Traditional Knowlegde; Chilean Frustrations; Sine!; Slower, but doing the distance; It's Official - I Rock; Post-Hoc Wine Tasting and General Good Day; Albert Schweitzer; Using IntelliJ Idea v 7 (Selena) with mvn idea Plugin; Awesome Article on Reiser; Review of Cockburn's "Agile Software Development"; Streaming Audio and Jack; How Many Spammers? A Statistical Approach; Jack to Airport; Alsa, but no Flash, Jack; Amarok with Jack; Getting Jack Working; AES Weak?; Related LRB Article; Backtracking; Lessons from Icon; Iteration 2; And Another; More Politics, I'm Afraid; Need for Immigrants; De Soto Report; Happy to be fined!; Update; Post on Reddit; Culture Jam; One More Step; I just bailed on Parrot; Parallel Sudoku solver in Stage; Lessons Learned with Erlang; Timing Data; More Jabberings on Syntax; More on OO/FP/Asynch; Unifying OO, FP, Asynch Messages; Neat Noise Based Crypto; Convergence with Greediness 0.95; Greediness 0.75; Core 2 Duo Never 100% Both Cores?; Aborted Output with Greediness=0.5; Taste Test: Coke Light (Diet) v Zero; Hot Damn Fuck Me Backwards Woot!; Typical Report; Reduced Range Sudoku Solver; Still doesn't work...; The Vietnam of Computer Science - ORM / RDMS / OO; Interesting intro to Coq w Haskell; More Thoughts on Chapter 1; Notes on Agile Software Development; Gravity Probe B; Not Even Wrong; The Fabric of the Cosmos - Brian Greene; Yet More Discussion; More Discussion; Computational Economics; Machine Dreams - Economics Becomes a Cyborg Science; No Emergence; Community Sudoku - A Cooperative Algorithm; Coming Soon - Community Sudoku; New Version; Bug!; Can't Sleep; Latest Before Bed...; I Don't Even Know How To Play Sudoku...; Markets and Individuals; Optimisation and Measurement; Composition via Partial Application; Partial Evaluation; Fwd: on blocking incoming trafic; re: IntelliJ Idea; Re: Graphics Construction Primitives; Parallel Sudoku Solver in Erlang :o); More Video; The Trap (Documentary of Freedom); Museeq, Music; Bootstrapping Parser Generator; You're right + Possible Currying Syntax; Re: Erlang functional syntax; Installing Nicotine (SoulSeek client) on SuSE 10.2, x86_64; Ken Binmore, Game Theory; Catana Extended to Trees; Correction; CPS!; Inefficient, but that's OK; Lazy Resolution of Circular Dependencies in an Eager Language; Two More Problems with Erlang; Erlang's Syntax; I Just Paid Taxes!; International Access to Pandora; Cultural Origins of Human Cognition; Opening Subversion Repo of Erlang Utilities; Ghost Diagrams; Going Illegal; Pandora Closed to the World?; First bug; Re: Objects; Erlang - Processes, Objects, Protocols; One Problem with Subversion; Bananas etc; Y Combinators and Monads - How?; It Pays to Review Books!; New Version of Lightweight SOA Paper; Erlang, ODBC, Linux 64 bits; But allow c[omp]ute through!; Hardening SUSE; Dropping More Spam at ISP; Topological Sort in Erlang; Monads in Erlang; Thanks for comment and apologies for ignoring/formatting; Thanks for comment and apologies for ignoring/formatting; Migration from Courier to Dovecot with SquirrelMail; Erlang build/tst alias; Re: Learning Erlang; Datalog Parser in Erlang; Improved Internal Representation for Parser Combinators; Learning Erlang; Iozone Results (Disk Speed Again); Dead Atom; Dancin' Robots; Message Passing Concurrency in Python - Atom; Santiago Buses (TranSantiago); Muac (2D KS) on a Beowulf cluster!; Rapid, Full Stack, Web Dev; Rubbish; Raid 5 Speeds

Andrew Cooke | Contents | Latest | RSS | Twitter | Previous | Next