Andrew Cooke | Contents | Previous

Godel Prize

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

Date: Fri, 3 Jul 2009 14:41:01 -0400 (CLT)

I need to start reading more theory again.

Here's an interesting blog (that I may have mentioned before) that
references the Godel prize -
http://blog.computationalcomplexity.org/2009/05/godel-prize.html - along
with a little discussion that puts things in context.

The blog main page - http://blog.computationalcomplexity.org/

Godel prize on WP - http://en.wikipedia.org/wiki/G%C3%B6del_Prize and in
teh flesh - http://sigact.acm.org/prizes/godel/

Andrew

Permalink | Comment on this post

Previous Entries

For comments, see relevant pages (permalinks).

Facebook / MySpace Social Divide

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

Date: Thu, 2 Jul 2009 17:36:29 -0400 (CLT)

http://www.transcosmic.com/2009/07/02/myspace-now-a-%E2%80%9Cdigital-ghetto%E2%80%9D/

Can't help thinking that the white people end up being where there's no
good music...

Andrew

Permalink

Cygwin SSH Server on Windows 7 RC

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

Date: Tue, 30 Jun 2009 17:22:40 -0400 (CLT)

It appears that Cygwin's sshd works just fine on Windows 7.  In short, you
just follow the instructions at /usr/share/doc/Cygwin/openssh.README and
do a rebase.  A little more detail below:

I assume you can install Cygwin itself.  Once installed, all the following
was done with Admin privs (right click on the cygwin log and select "run
as administrator" or similar to start a shell that is the Window's
equivalent of root).

First, run the ssh-host-config script.  This is quite helpful, and wil
prompt for various issues.  If you need to re-run there's no need to
re-create files you created first time through (so answer "no" at the
appropriate prompts).

I can't remember exactly what choices I made, but they were the obvious
ones once you understand that you need to run sshd as a service, and that
a separate user has to be created to do this with the appropriate
permissions.

Eventually you will get to the end of the script.  You can then start the
sshd process with:

  cygrunsrv --start sshd

(and --stop to stop).  However, when I tried to connect that gave an error
(try ssh user@... and then tail /var/log/sshd.log).  To fix this you
need to do the magical rebaseall.  Again, this explains what is needed if
you run it, but in short: close all cygwin related processes (windows and
sshd); start a CMD prompt with admin privs; cd /c:\cygwin\bin; run "ash";
inside ash run "/usr/bin/rebaseall".

Finally, to connect from outside, you need to open the firewall.  This
involves finding the firewall (I just clicked at random on various GUIs
until I got a suitable link) and then adding a rule that allows access to
the TCP port 22.

With that done, and the service restarted, it appears to work.

Andrew

Permalink

Using a Directory (Package) for Django's Model

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

Date: Fri, 26 Jun 2009 15:46:17 -0400 (CLT)

I couldn't find thsi documented, apart from obliquely in bug report -
http://code.djangoproject.com/ticket/2289 - but here's what you do...

Initially, in a simple app, Django assumes that your model classes live in
"models.py".  This location is read by, for example, the manager.

However, that soon becomes cluttered, and the "right way" to handle this
in Python would be to use a package (directory) rather than a single
module (file).

If you do that, and are not careful, all hell breaks loose :o(

Here's how to make it work:

- Call the directory/package "models"
- Inside that package, put all your code.
- On each model set the Meta attribute app_label to the app name
- Create an __init__.py file inside the package
- In the __init__.py file:
-- Import all your models
-- Declare them using __all__

So, for example, if I have a model class Foo in blah.models.foo (ie
blah/models/foo.py) and a model class Bar in blah.models.bar, then in
__init__.py I have:

  from blah.models.foo import Foo
  from blah.models.bar import Bar

  __all__ = ['Foo', 'Bar']


And the declaration of Foo looks like:

  class Foo(Model):
    class Meta:
      app_label = 'blah'
    ...

In this way you end up with the objects still "looking as if" they are in
blah.models (in other parts of your code you can import directly from
there) and with the correct meta data for the manager to find and use
them.

Andrew

Permalink

Compiling pgplot on opensuse 11.1

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

Date: Wed, 24 Jun 2009 23:23:42 -0400 (CLT)

In general, follow the instructions given.  Make sure gcc 3.3 and gfortran
4.3 are available.

Once the makefile (with linux g77_gcc) is generated, edit it to:
- remove the dependencies for pndriv.o (png.h etc - a single line which
expects system libs to be in the current working directory for some odd
reason)
- change gcc to gcc-3.3
- change g77 to gfortran

MFDRIV and TXDRIV failed to compile (so I disabled them again in drivers)

To use:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgplot
export PGPLOT_DIR=/usr/local/pgplot/

I am very worried about the different versions of the libraries, but the
demo works and I cannot get C code to compile with gcc 4.3 (malloc
argument issue) or fortran code to run with g77-3.3 (s_cat linker issue).


To install KGB's Perl interface, install cpan and ExtUtils and YAML from
Yast, the start cpan and type "install PGPLOT" and it all just works
perfectly.

Andrew

Permalink

Comparison of Dual Core E4700 and E6400

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

Date: Tue, 23 Jun 2009 11:48:20 -0400 (CLT)

I have an E6400 overclocked to 3.36GHz (fsb 4*420).  It's an old Dual Core
with a small (1Mb?) L2 cache, running on a new mobo (Asus P5) with DDR
6400 memory.

I just built (over the weekend) a new machine using an E7400, no overclock
(2.8GHz), with a 266 FSB and DDR5300 memory on a cheaper mobo (ECS, P43). 
This is a fairly new (45nm) chip.

From the numbers you might expect the E7400 to be around 20% slower (just
comparing clock speeds - everything else on the first machine is "better",
which should increase the difference).

In fact, using primenet as a benchmark, it's only 10% slower.  So either
the L2 cache, or improved architecture, or both, are giving it at least a
10% edge over the older chip (in relative terms, if you follow me...)

Andrew

Permalink

Erik Naggum Dead

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

Date: Sat, 20 Jun 2009 14:54:26 -0400 (CLT)

It's at various places on the net.

Wouldn't have wished what he had, apparently, on my worst enemy.

But still, the tributes sound a tad saccharine to my ears.  He was a total
jerk.

And I am sorry he has gone.

Andrew

Permalink

Oracle on OpenSuse/Linux

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

Date: Thu, 18 Jun 2009 09:22:50 -0400 (CLT)

I have Oracle running on OpenSuse (64bit x86 Linux).  Until recently I
didn't know this was possible, but in fact it seems to work just fine
(although it can eat up memory).

All you need to do is follow the instructions at
http://en.opensuse.org/Oracle_on_openSUSE .  In particular, install the
package that is mentioned there and, if you are running a 64bit system,
install the 32bit C compiler(!).

The Oracle documentation is good, once you get used to the style (although
it does contain a few minor errors).  In particular I found the "2 day
DBA" document useful (look in the docs directory of the unpacked Oracle
application).

The Oracle download page is here -
http://www.oracle.com/technology/software/index.html .  You may have to
register, but it's free for development use.

To get cx_Oracle (the Python database lib for Oracle) working you need to
make sure that (1) ORACLE_HOME points to the correct place (ie the same as
the value defined for your oracle user, created during installation) and
(2) that the tnsnames.ora file is world readable (this was the source of
almost a day of frustration for me).  Those may only be necessary because
I was not using a more sophisticated naming service (LDAP or whatever).

(When I say "works just fine", it took me the best part of a couple of
days to get working, but I am new to Oracle, and it is something of a
beast).

Andrew

Permalink

Olympus Pen EP-1 (Micro 4/3) Details

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

Date: Wed, 17 Jun 2009 10:19:58 -0400 (CLT)

http://www.dpreview.com/previews/olympusep1/

With the 17mm pancacke this looks pretty nice....

Andrew

Permalink

Improving Nicotine's Response

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

Date: Mon, 15 Jun 2009 21:23:36 -0400 (CLT)

The following settings help Nictoine handle many incoming connections,
which sometimes happens with searches on popular terms:

sysctl -w net.ipv4.tcp_syncookies=0
ulimit -n 2048

The first leaves you more vulnerable to syn flooding attacks and the
second may require you to first raise values in /etc/security/limits but
addresses the warning "possible SYN flooding on port 2234. Sending
cookies." that can appear in the system log.

Andrew

Permalink

Neo4j - a Graph Database

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

Date: Mon, 15 Jun 2009 12:30:05 -0400 (CLT)

Looks interesting; need to get back to this when I have moew time
(currently learning Oracle...)

http://highscalability.com/neo4j-graph-database-kicks-buttox
http://neo4j.org/

"Neo4j is a graph database. It is an embedded, disk-based, fully
transactional Java persistence engine that stores data structured in
graphs rather than in tables."

"You can think of Neo4j as a high-performance graph engine with all the
features of a mature and robust database. The programmer works with an
object-oriented, flexible network structure rather than with strict and
static tables — yet enjoys all the benefits of a fully transactional,
enterprise-strength database."

Andrew

Permalink

MISC - Lazy Lisp with Maps

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

Date: Sun, 14 Jun 2009 23:53:40 -0400 (CLT)

Nicely self consistent (the bottom half of the page is a series of slides
- click next to continue and examples to evaluate).

http://will.thimbleby.net/misc/

Andrew

Permalink