Archive for category programming

Debugging C/C++ and CPython using GDB 7′s new Python extension support

I’ve recently been looking into ways to improve my debugging experience with mixed Python and C/C++ programs. I spend a fair amount of time working on systems built using both languages in tandem, and the tools available for debugging across the languages have historically been very limited. Often, logging and/or intimate knowledge of the Python […]

, ,

3 Comments

eproject + anything: simple emacs project management

The quest for “project” As many people have pointed out before, emacs does not come with any packages for managing software projects. It comes with almost all of the parts you would need – debugger support, compilation modes, etc. – but it doesn’t come bundled with any way to tie a bunch of files together […]

,

Leave a Comment

Compiling g++-4.1 on Ubuntu Natty Narwhal

I recently upgraded my work machine to the latest Ubuntu version (natty narwhal, 11.<something>). By and large this went smoothly. However, we require gcc/g++-4.1 , and I had neglected to verify that this was available after the upgrade. It wasn’t. So, after a few abortive attempts to install packages I found on the web and […]

,

9 Comments

Thialfi: because I haven’t already got enough to work on!

I’ve recently started making some progress on a project that I’ve wanted to do for a while now. The project, Thialfi *, fills the vacancy left in my life…indeed, in my heart…when “I Want Sandy” went offline. Sandy was something of an online digital assistant, and it (she?) probably had lots of features I never […]

, ,

Leave a Comment

An enum for Python

The internet abounds with implementations of enumerations for Python, but I thought it might be fun to take a crack at making one. My goals were: Immutability: users shouldn’t be able to modify the value at runtime Simplicity of definition: They should be easy to define Uniqueness: Two enum values aren’t equal unless they are […]

Leave a Comment

Try as you might…

I came across a corner of C++ exception handling that I had never noticed before (yes, the title is a pun), and it was interesting enough that I thought I’d share. The issue revolves around the type of an exception after it has been re-thrown. There are two ways to re-throw an exception after it […]

,

Leave a Comment

New Project: ackward

I recently started a new project, ackward, which aims to provide a C++ interface to parts of the Python standard library. The library is aimed at embedded Python scenarios where the C++ program needs to interact on a deeper level with the Python structures and such. Of course, you can already accomplish this using the […]

, , ,

Leave a Comment

PitaTranslate…online

First, I know it’s been quiet around here. Sorry about that. I have no excuse but laziness, so I can’t promise anything better in the future. Edit: …Ugh…Somehow wordpress didn’t notice the three or four other paragraphs I originally wrote for this post. You’ll have to take my word that it was moving prose indeed. So, […]

,

2 Comments

APHW

I recently started looking at HamsterDB, a BerkeleyDB-like database system. In a nutshell, it provides simple, bare-bones key-value storage with ACID properties. It promises to be fast and small, and my initial (meager) experimentation seems to bear that out. Unlike Berkeley, it seems to choose simplicity in its API rather than providing every possible knob. […]

, ,

Leave a Comment

Boost.Python and Handling Python Exceptions

Handling Python exceptions from C++ code requires diligence
and consistent checking of error codes, and, really, who wants to deal
with that? A more natural system is
one in which Python exceptions are somehow converted to C++ exceptions
at the Python-C++ boundary, and where exception propagation continues
out of Python into C++.

, , ,

2 Comments

Follow

Get every new post delivered to your Inbox.