PostgreSQL Database Modeler

“Easily create and edit database models with simple and intuitive interface. The pgModeler have forms that highlight fields that must be filled to provide the correct generation of SQL code.”

“Built over Qt framework pgModeler can be compiled under Windows, Linux and MacOSX systems. The build scripts are easily configurable to resolve specifics dependencies on each system.”

“Model once and export to multiple versions. The pgModeler has a method of generating code that allows the created model to be exported to different versions of PostgreSQL.”

ArrayQL – arrays as first-class objects

“At XLDB 2012 we announced that two major databases that support arrays as first-class objects (MonetDB SciQL and SciDB) have formed a working group in conjunction with XLDB.  This working group is proposing a common syntax (provisionally named “ArrayQL”) for manipulating arrays, including array creation and query.  In addition, we are working with a third major array-supporting implementation (Rasdaman) to propose an algebra for common array operations. A common algebra and syntax are expected to benefit array users in the same way that the relational algebra and SQL benefit relational users…”

PHP The Right Way

“There’s a lot of outdated information on the Web that leads new PHP users astray, propagating bad practices and bad code. This must stop. PHP: The Right Way is an easy-to-read, quick reference for PHP best practices, accepted coding standards, and links to authoritative tutorials around the Web.

There is no canonical way to use PHP. However, this website is a humble display of best practices, available options, and good information. It aims to introduce new PHP developers and to rethink seasoned pros with fresh ideas.

This is a living document and will continue to be updated with more helpful information and examples as they become available…”

Mathematics at Google

Abstract: There is a wide variety of Mathematics used at Google. For example Linear Algebra in the PageRank algorithm, used to rank web pages in search results. Or Game Theory, used in ad auctions, or Graph Theory in Google Maps. At Google there are literally dozens of products which use interesting Mathematics. These are not just research prototypes, but real Google products; in which Mathematics play a crucial role. In this presentation, I introduce several applications of Mathematics at Google. I begin with a detailed explanation of search on the web and PageRank. Then I show a dozen examples of Google products and the corresponding Mathematics that are used. The presentation has an extensive list of links and references. And it’s available in English and Spanish…”

Is Alzheimer’s Type 3 Diabetes?

“The idea that Alzheimer’s might be Type 3 diabetes has been around since 2005, but the connection between poor diet and Alzheimer’s is becoming more convincing, as summarized in a cover story in New Scientist entitled “Food for Thought: What You Eat May Be Killing Your Brain.” (The graphic — a chocolate brain with a huge piece missing — is creepy. But for the record: chocolate is not the enemy.)…”

libffi Tutorial

“Compilers for high level languages generate code that follow certain conventions. These conventions are necessary, in part, for separate compilation to work. One such convention is the calling convention. The calling convention is a set of assumptions made by the compiler about where function arguments will be found on entry to a function. A calling convention also specifies where the return value for a function is found. The calling convention is also sometimes called the ABI or Application Binary Interface. Some programs may not know at the time of compilation what arguments are to be passed to a function. For instance, an interpreter may be told at run-time about the number and types of arguments used to call a given function. ‘Libffi’ can be used in such programs to provide a bridge from the interpreter program to compiled code.

The ‘libffi’ library provides a portable, high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run time.

FFIstands for Foreign Function Interface. A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. The ‘libffi’ library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. A layer must exist above ‘libffi’ that handles type conversions for values passed between the two languages…”

OCaml Users and Developers slides and videos

  • compiler developments; new backends, runtime and architectures.
  • practical type system improvements, such as (but not exhaustively) GADTs, first-class modules, generic programming, or dependent types.
  • new library or application releases, and their design rationales.
  • tool enhancements by commercial consultants.
  • prominent industrial uses of OCaml, or deployments in unusual situations…

Common Lisp Reader Macros: A Simple Introduction

“I’m a computational neuroscientist by trade and the language of choice in our lab is Matlab. Despite being occasionally bizarre, and more frequently ad-hoc, and despite lacking some of the features a real language connoisseur might like (higher order functions, closures, some kind of class system that isn’t wonky, real anonymous functions), Matlab is very good at what it does, which is manipulate vectors and matrices. Since I spend so much time writing code in Matlab, I frequently end up trying to write Matlab idioms in other languages. For those not familiar with Matlab’s style, the main thing is that most functions are “vectorized”, which means they automatically map over vector inputs, usually in a smart way. Most of the time, though, you are just doing simple things, like…”

Does everyone hate MongoDB?

“For a guaranteed surge of traffic and to hit the Hacker News homepage, all you need to do is write about why you hate MongoDB and/or migrated to some other database. We’ve been using it to power our server monitoring service, Server Density, for over 3 years now and so with experience, many of the problems cited in these posts seem like basic mistakes in deployment and understanding.

With any product, if you decide to deploy it to production you need to be sure you fully understand its architecture and scaling profile. This is even more important with newer products like MongoDB because there is less community knowledge and understanding. This is partly the responsibility of the developers using those tools but also the responsibility of the vendor to ensure that major gotchas are highlighted…”