michielbuddingh + programming   46

Welcome | Choco
CHOCO is a java library for constraint satisfaction problems (CSP) and constraint programming (CP).
It is built on a event-based propagation mechanism with backtrackable structures.
java  constraints  programming  solver 
8 weeks ago by michielbuddingh
Marginalia
However, if literate programming stands as a comprehensive programming methodology at one of end of the spectrum and no documentation stands as its antithesis, then Marginalia falls somewhere between. That is, you should always aim for comprehensive documentation, but the shortest path to a useful subset is the commented source code itself.
clojure  documentation  literate  programming 
february 2012 by michielbuddingh
The Julia Manual
Imperative programming language with Lisp-like metaprogramming features, and a fast llvm-based backend. What's not to like?
programming  julia  math 
february 2012 by michielbuddingh
Performance implications of compare-and-swap operations
In summary: compare-and-swap operations are not like ordinary instructions; they're hardware-level synchronization primitives, and they'll happily slow your cores to a crawl if you think you can use them in the same way you can use an ordinary instruction.
cas  concurrency  programming  lockfree 
february 2012 by michielbuddingh
The Build Your Own CAB Series Table of Contents | Jeremy D. Miller
A document that self-declared 'experts' seem to agree on, is a scaleable, proper way to structure a GUI application. It seems nice, but the thing is, there's simply no way to properly understand how these designs will behave until they're torture-tested in a long, painful development cycle where usability requirements are changed on a whim.
programming  gui  design  patterns 
february 2012 by michielbuddingh
Google Engineering Tools
Interesting blog that gives a peek about Google's deployment system. While some things are obviously not relevant to smaller companies, other ideas (such as finding 'hot zones' in code bases) are almost trivial to implement in any organisation.
programming  deployment  development  tools 
february 2012 by michielbuddingh
JSRefactor
Refactoring (function renaming) software for JavaScript that actually seems to have code analysis and static checking behind it. Working code, but unfortunately implemented as an eclipse extension.
eclipse  javascript  refactoring  staticchecking  programming 
february 2012 by michielbuddingh
New Delphi language features since Delphi 7
An overview of 'recent' additions to Delphi/ObjectPascal syntax, including some unforeseen gotchas--such as 'private' members actually being private to the containing unit, not to the containing class.
delphi  reference  programming  objectpascal 
april 2011 by michielbuddingh
Delphi Basics
Comprehensive resource for Delphi syntax and standard library.
objectpascal  delphi  reference  programming 
april 2011 by michielbuddingh
Steve Yegge on Scalable Programming Language Analysis on Vimeo
Very interesting. Ostensibly, Google is building a language-and-IDE-independent programmer tool that IDEs can use to provide completion info and documentation. Yegge doesn't imply that there is a staggering potential for syntax-aware metaprogramming, statistics collection and automated bug finding—he doesn't have to.
programming  analysis  datamining  language 
december 2010 by michielbuddingh
On the form of programming language operators
The general consensus amongst programmers is that brevity is a good thing; language with a verbose, unwieldy syntax like FORTRAN and COBOL generally get criticised as being old-fashioned and clumsy.
...
programming  syntax  from notes
june 2010 by michielbuddingh
Automatic Panoramic Image Merging
A description of panorama generation from non-aligned images. Probably heavily outdated.
graphics  programming  photography  panorama 
may 2010 by michielbuddingh
Dennis Ritchie: Why I do not like X3J11 type qualifiers
An interesting summary of problems with C89 (and C99) type qualifiers. 'noalias' sounds very, very similar to C99's 'restrict', but it's possible that a subtle difference in the semantics invalidates most of Ritchie's criticism in this page.
c  programming  history 
april 2010 by michielbuddingh
Whatever happened to programming, redux: it may not be as bad as all that « The Reinvigorated Programmer
An interesting discussion about the changing nature of programming. In particular, note the comments by zink, Christian Gross, and Dr. Jochen Leidner
programming  discussion  style 
march 2010 by michielbuddingh
Haskell Programming: Miscellanea
A large number of advanced programming and computer science concepts explained using Haskell
programming  computerscience  haskell  examples  tostudy 
march 2010 by michielbuddingh
Implementing Generic Hash Library in C « Attractive Chaos
Illustrates a generic interface for a hash table library in C. The syntax used is more elegant than anything I've seen like it.
c  programming  generics 
february 2010 by michielbuddingh
Haskell hacking
A tutorial on writing shell scripts in Haskell. Demonstrates that Haskell code can be as idiomatic and quick to write as Perl; The exception and privilege separation handling code at the end is perhaps a bit excessive, but useful enough in itself as an illustration of good practices.
haskell  scripting  programming 
february 2010 by michielbuddingh
EmacsWiki: Elisp Cookbook
" ... This page contains snippets of code that demonstrate basic elisp programming operations in the spirit of the o’reilly cookbook series of books. For every task addressed, a worked-out solution is presented as a short, focused, directly usable piece of code. ... " Possibly the quickest path to developing a degree of proficiency in elisp--should I ever come to that.
elisp  programming  jumpstart 
february 2010 by michielbuddingh
Stevey's Home Page - Practicing Programming 
The author transposes practice techniques used for improving musical skill to programming. Includes some concrete exercises.
programming  study  practice 
february 2010 by michielbuddingh
The Building Blocks of Ruby « Katz Got Your Tongue?
An overview of Ruby's block level syntax. The author argues that Ruby's blocks allow for elegant abstraction of exception handling. Cross-checking his assertions with someone more familiar with Python revealed that Python does support this kind of abstraction--at the function level, using decorators, which is hardly less effective. Note that the author uses the term “lambda's” to refer to these blocks--which I suppose is correct, although the association is not one I would've made.
ruby  python  programming  exceptions  yield  lambda 
february 2010 by michielbuddingh
Bit Twiddling Hacks
A treasure trove of efficient bit manipulation functions
c  programming  bit-manipulation 
february 2010 by michielbuddingh
Adding Type Checking to Ruby - Code Commit
" ... It’s really as simple as that. Passing the type values to the typesig method just prior to a method declaration give the cue to the Types framework to perform some extra work on each call that method ... " They still don't get it. Everything that could be checked statically, should be checked statically. Runtime assertions are a really, really poor alternative
ruby  types  programming 
february 2010 by michielbuddingh
Effective TCP/IP Programming: 44 Tips to Improve Your Network Programs (9780201615890): Jon C. Snader (Amazon.com)
" ... Besides offering nuts-and-bolts programming advice and plenty of hints for better performance, Snader also discusses how IP works under the hood. Standout sections here include a discussion of the pitfalls of scaling a stand-alone or LAN TCP/IP application to the Internet, as well as what a "reliable" protocol like TCP really means. He shows you how to handle misbehaving servers and clients, and how to use multiple sockets effectively, and he offers several useful tips for optimizing data streamed across the wire ... "
books  programming  tcp  ip  networking 
january 2010 by michielbuddingh
Futurist Programming Notes
" ... How many transistors does your radio have? Does it have 9 transistors? How many jewels in your wrist watch? 17 jewels? Is your program developed using Object-Oriented programming techniques? Is it Extensible? IT DOESN'T MATTER as long as you get good reception, the watch keeps accurate time, your program runs FAST and does what the USER wants ... "
programming  programming-style  software  tautology 
january 2010 by michielbuddingh
9 JavaScript Tips You May Not Know | Ayman Hourieh's Blog
" ... Inside is a list of JavaScript tips, some offer techniques to simulate features found in C-like languages (such as assertions or static variables). Others are meant to improve performance and explore some of the more obscure parts of the web scripting language. ... "
javascript  programming-style  programming 
january 2010 by michielbuddingh
Akkurat Pro
Lovely anti-aliased programming font. Very expensive, though.
font  programming  monospace 
december 2009 by michielbuddingh
C Craft - Preface
" ... I slowly awoke from a dream, or more accurately, a mild nightmare. My C code also worked, except it was faster. It was more concise, which in turn made it easier to maintain. It was…better. So why was I bothering with all this object-oriented nonsense?

Since rediscovering C, I have felt annoyed that I had bought into object-oriented programming. It is unsurprising, as both industy and academia tirelessly promoted objects, and still do today. The constant and pervasive assault irks me, though I am cheered whenever I read articles from dissenters. It’s time I added my voice. ... "
c  programming 
december 2009 by michielbuddingh
The Go Programming Language
Google-sponsored C replacement from what looks like most of the entire original Bell Labs team. Garbage-collected, with facilities for parallelism and a typing system that mostly resembles Python's (although presumably not evaluated at runtime). Some measures to reduce the verbosity of C, but not a lot.
C  Go_language  programming  belllabs  language  paralellism 
november 2009 by michielbuddingh
Simple Simhashing - een knol van Ryan Moulton
Clever, cheap probabilistic algorithm for quickly determining the similitarities between two sets.
algorithm  programming  classification  probabilistic 
november 2009 by michielbuddingh
cashto's blog : It's OK Not to Write Unit Tests
" ... Let's be honest. Your tests mostly follow the “happy path”. Sure, on occasion you remember to test “the failure case”—the caller passed in null or a negative integer as an argument—mostly because you just got done writing that check and wouldn't it be a waste not to write a test to show how clever you were? Never mind that null or a negative argument is an assertable precondition that could never happen in production anyways. ... " The way I've felt for years. Roland Backhouse had an even more damning critique of testing as a method for catching bugs in one of his books.
programming  development  testing  unittest 
november 2009 by michielbuddingh
Regular Expression Examples
" ... In fact, this allows us to strengthen what you say above to allow the matching of any negated regexp directly so long as the first component of the antimatch is a literal, and the rest of the antimatch is expressible in an ERE lookahead constraint (which imposes a number of restrictions, but still allows for some fairly sophisticated patterns.) ... "
regexp  programming  patternmatching 
november 2009 by michielbuddingh
Minimalism: Omit Needless Code
" ... Whilst we may muse about engineering, architectural or craft metaphors for software development, there is no denying that, in essence, programming is writing. It is a form of communication that has two distinct audiences: us and the machine. Although there are times when it might not feel this way, the machine is easily pleased, demanding little more than well-formed code. We, however, are a little more complex and discerning: we demand that our communication communicate ... " A strange, almost political essay about coding style
development  programming  programming-style 
november 2009 by michielbuddingh
The Britney Spears Problem » American Scientist
An algorithm for probabilistic (and memory-efficient) popularity tracking.
programming  bayesian  classification  algorithm 
october 2009 by michielbuddingh
Wadler: Monads
A large number of papers on the uses of monads in functional programming
monads  programming  haskell  functional  papers 
october 2009 by michielbuddingh
signalfd(2)
" ... signalfd() creates a file descriptor that can be used to accept signals targeted at the caller. This provides an alternative to the use of a signal handler or sigwaitinfo(2), and has the advantage that the file descriptor may be monitored by select(2), poll(2), and epoll(7) .. "
linux  programming  signals  asynchronous  events 
october 2009 by michielbuddingh
timerfd() and system call review [LWN.net]
" ... Now consider the timerfd() system call, which was added to the 2.6.22 kernel. The purpose of this call is to allow an application to obtain a file descriptor to use with timer events, eliminating the need to use signals ... "
linux  asynchronous  events  programming 
october 2009 by michielbuddingh
Understanding Git Conceptually
" ... The conclusion I draw from this is that you can only really use Git if you understand how Git works. Merely memorizing which commands you should run at what times will work in the short run, but it’s only a matter of time before you get stuck or, worse, break something. ..." He's right. His conceptual explanation does make git a lot easier to understand.
git  tutorial  versioncontrol  development  programming  scm 
september 2009 by michielbuddingh
MF Bliki: FluentInterface
" ... A few months ago I attended a workshop with Eric Evans, and he talked about a certain style of interface which we decided to name a fluent interface. It's not a common style, but one we think should be better known. Probably the best way to describe it is by example. ... "
programming-style  programming  object-oriented  interface  api 
august 2009 by michielbuddingh
Go Ahead: Next Generation Java Programming Style | Code Monkeyism
" ... Even if you’ve trapped, you can change your programming style and reap some of the benefits of those new languages. In the last 15 years Java programming style has changed significantly ... "
programming-style  java  programming  bestpractices  functionalprogramming  concurrency 
august 2009 by michielbuddingh
The DFT “à Pied”: Mastering The Fourier Transform in One Day - The DSP Dimension
"... If you’re into signal processing, you will no doubt say that the headline is a very tall claim. I would second this. Of course you can’t learn all the bells and whistles of the Fourier transform in one day without practising and repeating and eventually delving into the maths. ..."
algorithm  programming  mathematics  signalprocessing 
august 2009 by michielbuddingh
ArchitectNotes - Varnish - Trac
" ... I have spent many years working on the FreeBSD kernel, and only rarely did I venture into userland programming, but when I had occation to do so, I invariably found that people programmed like it was still 1975 ... "
programming  C  performance  architecture  cache  programming-style 
july 2009 by michielbuddingh
dyncall.org - calling C functions dynamically
" ... In other words, instead of calling a function directly, the dyncall library provides a mechanism to push the function parameters manually and to issue the call afterwards ... "
C  programming  library  bindings  dynamic 
july 2009 by michielbuddingh
swapped.cc : halloc
" ... Memory blocks allocated through halloc can be organized into a hierarchy of parent-child relationships. These relationships are taken into an account when memory block is being freed - disposing the block automatically frees all its children in a recursive way ... "
memory-allocation  C  programming  library  malloc  lgpl 
july 2009 by michielbuddingh

related tags

algorithm  analysis  api  architecture  asynchronous  bayesian  belllabs  bestpractices  bindings  bit-manipulation  books  c  c++  cache  cas  classification  clojure  computerscience  concurrency  constraints  coroutines  datamining  delphi  deployment  design  development  discussion  documentation  dynamic  eclipse  elisp  events  examples  exceptions  font  functional  functionalprogramming  generics  git  Go_language  graphics  gui  haskell  history  interface  ip  java  javascript  julia  jumpstart  lambda  language  lgpl  library  linux  literate  lockfree  macro  malloc  math  mathematics  memory-allocation  monads  monospace  networking  object-oriented  objectpascal  panorama  papers  paralellism  patternmatching  patterns  performance  photography  practice  probabilistic  programming  programming-style  python  refactoring  reference  regexp  ruby  scm  scripting  signalprocessing  signals  software  solver  staticchecking  study  style  syntax  tautology  tcp  testing  tools  tostudy  tutorial  types  typing  unittest  versioncontrol  yield 

Copy this bookmark:



description:


tags: