Author Archives: sykopomp

Pivot tables in PostgreSQL

A common complaint with relational databases is their lack of flexibility. This ‘lack’ of flexibility has been one of the drivers behind the NoSQL movement. As it turns out, though, there are tools and tricks that can be used with existing RDBMSs that could help you leverage the maturity, tool support, and performance of these [...]

Posted in programming | Tagged , , | 2 Comments

Chillax and Protocols

Funny how a full-time job can pull you away from everything else… I recently did a major rewrite of Chillax. It’s funny what they say about Common Lisp, how you never finish learning it. Ever since I started using it, I’ve gotten periodic “aha!” moments where something simply clicks. A memorable example was the moment [...]

Posted in programming | Tagged | 10 Comments

CouchDB: Making databases fun

So the whole reason I even started writing Sheeple was to use it as a persistent object backend for Sykosomatic, that MUD that I’ve been sort-of writing since I started working on Lisp, but is still unfinished. Sheeple is a very dynamic system, and so when I went looking for a database backend to build [...]

Posted in programming | Tagged , , | 4 Comments

Sheeple 3.0.3

Adlai said we should make an emergency release of Sheeple, since he added effective reply function caching. I agreed. If you do -any- sort of semi-serious data crunching using Sheeple, stay the hell away from 3.0.2!

Posted in announcements | Tagged , | Leave a comment

Release: Sheeple 3.0

Sheeple 3.0 is finally out! After months in development, it’s finally done. A major rewrite of the entire Sheeple system, this new version boasts a completely new, cleaned up, and serious’d interface, reworked, lightweight objects, and efficient property access (right now, matching CCL’s slot-value performance.) You can download a tarball here, or use asdf-install to [...]

Posted in announcements | Tagged , , | Leave a comment

Quick Sheeple update…

Okay, so I haven’t actually posted anything about Sheeple in a while. Sheeple took a break for a few weeks, but development is up to full steam again. There’s some shiny new special sauce going on under the hood now, with some -very- promising early results. See this paste for some picobenchmarks on various implementation. [...]

Posted in random | Tagged , | Leave a comment

Introducing: ChanL

For the longest time, I wanted to start learning about issues related to concurrency, and how to handle them in Lisp. I kept reading around to learn about different approaches to writing concurrent code, and studied up on things like Software Transactional Memory, futures/promises, and Erlang-style actors. After boggling to understand all these different approaches, [...]

Posted in random | Tagged , , , , | Leave a comment

Sheeple goes on a diet

I’ve been working on rewriting Sheeple these past couple of days. The new version will be a major bottom-up redesign, mainly to the lowlevel stuff. The early results without too-crazy optimization are already showing up, and it’s quite nice. These numbers are on Clozure CL x86  Linux: SHEEPLE> (time (loop repeat 100000 do (allocate-std-sheep))) (LOOP [...]

Posted in random | Leave a comment

Sheeple MOP

There’s been some work done on Sheeple’s MOP, and I figured I’d write a bit about what got done today… The original reason for writing Sheeple, like I said before, was to use it with Sykosomatic (which I still haven’t written an entry for, meh). That said, Sykosomatic’s object system needs to be fully persistent. [...]

Posted in random | Tagged , , | Leave a comment