2008年6月29日 星期日

Add multitouch gesture support to a TouchPad-equipped laptop

Add multitouch gesture support to a TouchPad-equipped laptop

Enable 'Three-Finger Swipe,' and open- and close-pinch gestures using synclient and synthetic X events

:
:

GUI for DOS

SEAL (also called XSeal [1]) is a 32-bit graphical user interface for DOS created by Michal Stencl.[2] SEAL requires at least an Intel 80486, 8MB of RAM (although it may be possible to run SEAL on less, doing so is not recommended), a video card supporting 640x480 with 256 colors, 1.6MB of hard drive space, MS-DOS 3.0+ or equivalent (DR-DOS, PC-DOS, FreeDOS). SEAL is licened under the GNU GPL. It hasn't been under development since 2003. The last release, 2.0.11, came out 2002-04-11.[3]



FreeGEM is a computer GUI based on Digital Research's GEM which was first released in 1985. GEM stands for "Graphical Environment Manager". FreeGEM is the free software/open source version of GEM developed after Digital Research released the GEM code under the GPL free software licence.

OpenGEM is a distribution of FreeGEM, a graphical user interface (GUI) for DOS. OpenGEM is a non-multitasking 16-bit GUI.

Ikon is a 32-bit graphical user interface for DOS compatable systems, including FreeDOS. It is written from scratch using DJGPP and Allegro.

QubeOS is a multiplatform and multitasking desktop GUI system, developed in Slovakia. It was developed by Michal Stencl who also created SEAL GUI system.

WINE, ReactOS, Linux Unified kernel

Interesting reading about
Wine,
ReactOS and
Linux Unified Kernel.

WINE is used to run unmodified Windows AP in Linux.

ReactOS is to provide a free and open source windows os clone.

The Linux Unified Kernel is a project to import certain key features of the Microsoft Windows operating system into the Linux kernel. The project is hosted by Insigma, and is issued under the GPL.

According to its developers, the current version of (0.2.1) provides several Windows mechanism implementations, including process/thread management, object management, virtual memory management, synchronization, etc. The relevant system calls are implemented to replace the services running in the user space, as well.

E/OS (Emulator Operating System) is a virtual machine emulation system.

E/OS is primarily based on the Linux kernel, QEMU, XFree86, and Wine, and is intended to be a replacement for operating systems such as Microsoft Windows, Mac OS, BeOS, OS/2, DOS, and Linux.


HX DOS-Extender is a free DOS extender with built-in Win32 PE file format support. Usually the purpose of a DOS extender is to make protected-mode features, especially large memory and 32-bit addressing, available for DOS applications.
Here is his home page.

run linux ap in windows

LINE Is Not an Emulator is a utility which executes unmodified Linux applications on Windows by intercepting Linux system calls. The Linux applications themselves are not emulated. They run directly on the CPU just like all other Windows applications.

There are some other useful links in LinuxLinks for simliar programs.

A Free Computer Ebook Site

Free Computer Ebooks: This site provides free ebooks on compiler design, lex, yaac, parser generators, automata lanuguages, automata techniques, advanced programming language design, Yacc, compiler construction phases, compiler construction using Bison, flex lexical analyser, compiler design and implementation techniques, modern compiler design techniques, etc

2008年6月26日 星期四

Interoperating with Windows Media Player using P/Invoke and C#

In codeproject.com, there is an article is interesting.

Interoperating with Windows Media Player using P/Invoke and C#

quote from the article:
:
:
:

This article hopes to demonstrate:

  • How to use P/Invoke to call unmanaged code.
  • How to use Spy++ to log Windows messages and get wParam and lParam values.
  • How to implement FindWindow() and SendMessage() in C#.
  • How to Interoperate with Windows Media Player.
:
:
:

2008年6月23日 星期一

Replication/Cluster solution for PostgreSQL

Continuent™ uni/cluster for PostgreSQL
Continuent™ uni/cluster for PostgreSQL is the leading middleware high availability and scalability solution for use with PostgreSQL. Continuent uni/cluster for PostgreSQL supports PostgreSQL’s native SQL and is integrated with native database functions for seamless integration and easy management.


SkypeGarage/DbProjects - Skype Developer Zone
During the development of Skype's backend infrastructure, we have enchanced PostgreSQL database in several ways, which we wish to give back to community. (A little overview of using postgreSQL at Skype can be found here: /SkypePostgresqlWhitepaper .) and Londiste is a PostgreSQL replication engine written in python.

Slony-ISeems good, single master only, master is a single point of failure, no good failover system for electing a new master or having a failed master rejoin the cluster. Slave databases are mostly for safety or for parallelizing queries for performance. Suffers from O(N^2) communications (N = cluster size). with reasonable sysadmin you can implement failover system yourself.
Slony is powerful, trigger based, and highly configurable.

pgPool-I, pgPool-II, pgpool 1/2 is a reasonable solution. it's statement level replication, which has some downsides, but is good for certain things. pgpool 2 has a neat distributed table mechanism which is interesting. You might want to be looking here if you have extremely high ratios of read to write but need to service a huge transaction volume. Supports load-balancing and replication by implementing a proxy that duplicates all updates to all slaves. It can partition data by doing this, and it can semi-intelligently route queries to the appropriate servers.

PGCluster PGCluster which does synchronous multimaster replication. Two single-points failure spots, load balancer and the data replicator. The project has historically looked a bit dead, but they just released a new version and moved to a Trac-based web site at http://www.pgcluster.org/ and http://pgfoundry.org/projects/pgcluster is up to date (at least downloads page) One major downside to PGCluster is that it uses a modified version of PostgreSQL, and it usually lags a few releases behind.

Cybercluster is a PostgreSQL replication solution which makes sure that the database cluster is consistent at every point in time. We rely on a shared-nothing architecture which is perfectly suitable for synchronous multimaster replication.

for more info, refer to
Replication, Clustering, and Connection Pooling