All of the interesting technological, artistic or just plain fun subjects I'd investigate if I had an infinite number of lifetimes. In other words, a dumping ground...

Friday, 30 May 2008

Sunlight & GNU Scientific library

Bending the sun's rays to light high-tech buildings


GSL - GNU Scientific Library

Introduction

The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License.

The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.

The complete range of subject areas covered by the library includes,

Complex Numbers Roots of Polynomials
Special Functions Vectors and Matrices
Permutations Sorting
BLAS Support Linear Algebra
Eigensystems Fast Fourier Transforms
Quadrature Random Numbers
Quasi-Random Sequences Random Distributions
Statistics Histograms
N-Tuples Monte Carlo Integration
Simulated Annealing Differential Equations
Interpolation Numerical Differentiation
Chebyshev Approximation Series Acceleration
Discrete Hankel Transforms Root-Finding
Minimization Least-Squares Fitting
Physical Constants IEEE Floating-Point
Discrete Wavelet Transforms Basis splines

Wednesday, 28 May 2008

Google AJAX library hosting

What is the AJAX Libraries API?

The AJAX Libraries API is a content distribution network and loading architecture for the most popular open source JavaScript libraries. By using the Google AJAX API Loader's google.load() method, your application has high speed, globaly available access to a growing list of the most popular JavaScript open source libraries including:

Google works directly with the key stake holders for each library effort and accept the latest stable versions as they are released. Once we host a release of a given library, we are committed to hosting that release indefinitely.

The AJAX Libraries API takes the pain out of developing mashups in JavaScript while using a collection of libraries. We take the pain out of hosting the libraries, correctly setting cache headers, staying up to date with the most recent bug fixes, etc.


http://ajaxian.com/archives/announcing-ajax-libraries-api-speed-up-your-ajax-apps-with-googles-infrastructure

http://code.google.com/apis/ajaxlibs/

Authentication, passwords, hashing and salts for web applications

Hardened stateless session cookies

May 16th, 2008 at 12:40 UTC by Steven J. Murdoch

The root cause behind the last-but-one Wordpress cookie debacle was that the authors invented their own password hashing and cookie generation scheme. This is generally a bad idea, since it's hard even for experts to get these right. Instead, whenever possible, a well-studied proposal should be chosen. It is for this reason that I suggested the phpass library for password hashing, and the Fu et al. stateless session cookie proposal.


Portable PHP password hashing framework

Please note that password hashing is often wrongly referred to as "password encryption". Hashing is a more appropriate term since encryption is something that is supposed to be easily reversible.

This is a portable public domain password hashing framework for use in PHP applications. It is meant to work with PHP 3 and above, and it has actually been tested with at least PHP 3.0.18, 4.3.x, 4.4.x, 5.0.x, 5.1.x, and 5.2.x so far.


Openwall Project
bringing security into open environments

Software you can find here:

Secure Programming for Linux and Unix

Secure Programming for Linux and Unix HOWTO -- Creating Secure Software

Picture of David A. Wheeler This is the main web site for David Wheeler's free book, the Secure Programming for Linux and Unix HOWTO. This book provides a set of design and implementation guidelines for writing secure programs for Linux and Unix systems. Such programs include application programs used as viewers of remote data, web applications (including CGI scripts), network servers, and setuid/setgid programs. This document includes specific guidance for a number of languages, including C, C++, Java, Perl, Python, and Ada95. I give this book away in the hope that future software developers won't repeat past mistakes, resulting in more secure systems.

Monday, 26 May 2008

Finance application - Buddi

Buddi

Buddi is a personal finance and budgeting program, aimed at those who have little or no financial background. In making this software, I have attempted to make things as simple as possible, while still retaining enough functions to satisfy most home users.

Screenshot of Buddi's transaction screen

Buddi is released as Open Source Software. You can download it for free, with no disabled features and no time limit. If you find that you like it, and that it has helped you to organize your finances, I would greatly appreciate a small donation via the link at the bottom of the page. I have spent thousands of hours of my own time perfecting Buddi - while I am not doing this for the money, I do need to support myself and my family, and every little bit helps.

Buddi will run on almost any computer which has a Java virtual machine installed. This can include Windows, Macintosh OS X, Linux, and many other operating systems.

Screenshot of one of Buddi's reporting features

Buddi is currently available in multiple languages. If you are interested in translating to another language, feel free to do so! I would greatly appreciate it if you also sent me the translated file once you are finished. For more details, please see the translations page.

Buddi is released under the GNU General Public License. Since Buddi is released as Open Source Software, everyone has free access to the source code (available for download from the SourceForge project page). This gives you the ability to modify the program if you want it to work a little differently, or if you want to add some new features. For more information on Open Source Software in general, and the GNU General Public License in particular, you can refer to Wikipedia.

Friday, 23 May 2008

Git to CVS and back again

Importing in to Git is easy. Pushing back into CVS is hard mostly because you have to find the SHA1 commit message and use that to apply the patch.
There are scripts that do it automatically - not sure how good these are.
http://www.kernel.org/pub/software/scm/git-core/docs/v1.0.13/cvs-migration.html
http://chneukirchen.org/blog/archive/2006/04/tracking-the-ruby-cvs-with-git.html
git-cvsimport
http://www.kernel.org/pub/software/scm/git/docs/git-cvsexportcommit.html
Merge one patch into CVS
$ export GIT_DIR=~/project/.git
$ cd ~/project_cvs_checkout
$ git-cvsexportcommit -v <commit-sha1>
$ cvs commit -F .msg <files>
Merge one patch into CVS (-c and -w options). The working directory is within the Git Repo
        $ git-cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
Merge pending patches into CVS automatically — only if you really know what you are doing
$ export GIT_DIR=~/project/.git
$ cd ~/project_cvs_checkout
$ git-cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git-cvsexportcommit -c -p -v
https://wiki.bnl.gov/dayabay/index.php?title=Synchronizing_Repositories
http://tsunanet.blogspot.com/2007/07/git-cvs-in-5min.html
http://issaris.blogspot.com/2005/11/cvs-to-git-and-back.html
http://www.kernel.org/pub/software/scm/git/docs/git.html

Google Doctype & Compiere open source ERP & CRM

What do you want to learn today?

Read HOWTO articles on

Dive into DOM objects, including

Style your pages with CSS


Compiere ERP and CRM Product Overview

Compiere is changing the economics of enterprise applications by making Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) easier. Easier to acquire. Easier to implement. Easier to extend. Easier to change.

Easier, Adaptable and Affordable ERP and CRM

Compiere delivers powerful ERP and CRM capabilities that are built on an innovative Model-driven Applications platform.

tim's shared items

Add to Google Reader or Homepage