Vaguery + design-patterns 30
[1204.4200] Discrete Dynamical Genetic Programming in XCS
5 weeks ago by Vaguery
"A number of representation schemes have been presented for use within Learning Classifier Systems, ranging from binary encodings to neural networks. This paper presents results from an investigation into using a discrete dynamical system representation within the XCS Learning Classifier System. In particular, asynchronous random Boolean networks are used to represent the traditional condition-action production system rules. It is shown possible to use self-adaptive, open-ended evolution to design an ensemble of such discrete dynamical systems within XCS to solve a number of well-known test problems."
genetic-programming
learning-classifier-systems
representation-theory
design-patterns
boolean-networks
nudge-targets
nice
5 weeks ago by Vaguery
[1005.4159] The Complexity of Manipulating $k$-Approval Elections
5 weeks ago by Vaguery
"An important problem in computational social choice theory is the complexity of undesirable behavior among agents, such as control, manipulation, and bribery in election systems. These kinds of voting strategies are often tempting at the individual level but disastrous for the agents as a whole. Creating election systems where the determination of such strategies is difficult is thus an important goal. …"
voting
game-theory
design-patterns
mechanism-design
nudge-targets
5 weeks ago by Vaguery
[1204.4286] Fair Allocation Without Trade
5 weeks ago by Vaguery
"We consider the age-old problem of allocating items among different agents in a way that is efficient and fair. Two papers, by Dolev et al. and Ghodsi et al., have recently studied this problem in the context of computer systems. Both papers had similar models for agent preferences, but advocated different notions of fairness. We formalize both fairness notions in economic terms, extending them to apply to a larger family of utilities. Noting that in settings with such utilities efficiency is easily achieved in multiple ways, we study notions of fairness as criteria for choosing between different efficient allocations. Our technical results are algorithms for finding fair allocations corresponding to two fairness notions: Regarding the notion suggested by Ghodsi et al., we present a polynomial-time algorithm that computes an allocation for a general class of fairness notions, in which their notion is included. For the other, suggested by Dolev et al., we show that a competitive market equilibrium achieves the desired notion of fairness, thereby obtaining a polynomial-time algorithm that computes such a fair allocation and solving the main open problem raised by Dolev et al."
economics
game-theory
fairness
algorithms
philosophy
design-patterns
5 weeks ago by Vaguery
[1203.3341] A Comparison of Multi-Parametric Programming, Mixed-Integer Programming, Gradient Descent Based, and the Embedding Approach on Four Published Hybrid Optimal Control Examples
9 weeks ago by Vaguery
"...Common misconceptions regarding the embedding approach are addressed including whether or not it results in an average value control model (no), is necessary to "tweak" the algorithm to get bang-bang solutions (no), requires infinite switching (no), has real-time capability (yes), or reduction to a classical nonlinear optimization problem (a desirable yes)."
control-theory
operations-research
algorithms
numerical-methods
philosophy-of-engineering
design-patterns
nudge-targets
9 weeks ago by Vaguery
The Sun is Setting on Rails-style MVC Frameworks « caines.ca/blog
11 weeks ago by Vaguery
"Lately I've been thinking a lot about the impact of the move to a thick client architecture for web applications, and I'm becoming more and more certain that this means that Rails-style MVC frameworks on the server-side are going to end up being phased out in favour of leaner and meaner frameworks that better address the new needs of thick-client architecture."
software-development
architecture
project-structure
design-patterns
client-side-processing
11 weeks ago by Vaguery
Welcome to the Group Pattern Language Project | Group Works
february 2012 by Vaguery
"This deck of 91 full-colour cards names what skilled facilitators and other participants do to make things work. The content is more specific than values and less specific than tips and techniques, cutting across existing methodologies with a designer's eye to capture the patterns that repeat. The deck can be used to plan sesssions, reflect on and debrief them, provide guidance, and share responsibility for making the process go well. It has the potential to provide a common reference point for practitioners, and serve as a framework and learning tool for those studying the field. "
via:bkerr
collaboration
design-patterns
tools
social-dynamics
february 2012 by Vaguery
[1105.6001] A Call to Arms: Revisiting Database Design
august 2011 by Vaguery
"Good database design is crucial to obtain a sound, consistent database, and - in turn - good database design methodologies are the best way to achieve the right design. These methodologies are taught to most Computer Science undergraduates, as part of any Introduction to Database class. They can be considered part of the "canon", and indeed, the overall approach to database design has been unchanged for years. Moreover, none of the major database research assessments identify database design as a strategic research direction.
Should we conclude that database design is a solved problem?
Our thesis is that database design remains a critical unsolved problem. Hence, it should be the subject of more research. Our starting point is the observation that traditional database design is not used in practice - and if it were used it would result in designs that are not well adapted to current environments. In short, database design has failed to keep up with the times. In this paper, we put forth arguments to support our viewpoint, analyze the root causes of this situation and suggest some avenues of research."
database
ontology
software-development
computer-science
design-patterns
Should we conclude that database design is a solved problem?
Our thesis is that database design remains a critical unsolved problem. Hence, it should be the subject of more research. Our starting point is the observation that traditional database design is not used in practice - and if it were used it would result in designs that are not well adapted to current environments. In short, database design has failed to keep up with the times. In this paper, we put forth arguments to support our viewpoint, analyze the root causes of this situation and suggest some avenues of research."
august 2011 by Vaguery
Understanding the Git Workflow
august 2011 by Vaguery
"Think of branches in two categories: public and private.
Public branches are the authoritative history of the project. In a public branch, every commit should be succinct, atomic, and have a well documented commit message. It should be as linear as possible. It should be immutable. Public branches include Master and release branches.
A private branch is for yourself. It’s your scratch paper while working out a problem.
It’s safest to keep private branches local. If you do need to push one, maybe to synchronize your work and home computers, tell your teammates that the branch you pushed is private so they don’t base work off of it."
git
project-management
distributed-work
version-control
advice
design-patterns
Public branches are the authoritative history of the project. In a public branch, every commit should be succinct, atomic, and have a well documented commit message. It should be as linear as possible. It should be immutable. Public branches include Master and release branches.
A private branch is for yourself. It’s your scratch paper while working out a problem.
It’s safest to keep private branches local. If you do need to push one, maybe to synchronize your work and home computers, tell your teammates that the branch you pushed is private so they don’t base work off of it."
august 2011 by Vaguery
Jeff Dean's Ruby Blog - Form-backing objects for fun and profit
may 2011 by Vaguery
"Form-backing objects, also known as Presenters (not to be confused with the concept of view presenters), are objects whose sole purpose is to take user-entered form data and perform some unit of work. Creating and testing form-backing objects is simple. In this situation, you might add a Registration object."
Rails
MVC
design-patterns
software-development
refactoring
tutorial
may 2011 by Vaguery
Couchio - Simple Document Versioning with CouchDB
may 2010 by Vaguery
"This means that each time the document is updated, the client will also store the previous version as an attachment to the latest version. At any time, a user can load any of the old versions."
CouchDB
NoSQL
ingenious
software-development
design-patterns
version-control
may 2010 by Vaguery
[1005.3601] Coordinated and Uncoordinated Optimization of Networks
may 2010 by Vaguery
"In this paper we consider spatial networks that realize a balance between an infrastructure cost (the cost of wire needed to connect the network in space) and communication efficiency, measured by average shortest pathlength. A global optimization procedure yields network topologies in which this balance is optimized. These are compared with network topologies generated by a competitive process in which each node strives to optimize its own cost-communication balance. Three phases are observed in globally optimal configurations for different cost-communication trade-offs: (i) regular small worlds, (ii) star-like networks and (iii) trees with a centre of interconnected hubs. In the latter regime, i.e. for very expensive wire, power laws in the link length distributions $P(w)\propto w^{-\alpha}$ are found, which can be explained by a hierarchical organization of the networks…"
network-theory
small-world
design-patterns
engineering-design
design-automation
nudge-targets
may 2010 by Vaguery
[1004.4541] On the Impact of the Migration Topology on the Island Model
april 2010 by Vaguery
"Parallel Global Optimization Algorithms (PGOA) provide an efficient way of dealing with hard optimization problems. One method of parallelization of GOAs that is frequently applied and commonly found in the contemporary literature is the so-called Island Model (IM). In this paper we analyze the impact of the migration topology on the performance of a PGOA which uses the Island Model. In particular we consider parallel Differential Evolution and Simulated Annealing with Adaptive Neighborhood and draw first conclusions that emerge from the conducted experiments."
trivial-geography
distributed-processing
metaheuristics
algorithms
evolutionary-algorithms
design-patterns
april 2010 by Vaguery
christopher alexander’s fort mason bench | malvasia bianca
april 2010 by Vaguery
"As Alexander repeatedly points out, you can’t consider a construction in isolation, you have to consider the construction in context. And the context for this bench is rather remarkable: you have rather steep hills covered with trees behind you and to your right, you have the Fort Mason buildings to your left, and in front of you you have a gorgeous view of the San Francisco Bay, with Alcatraz and Angel Island in the distance."
Alexandrianism
design-patterns
pattern-language
architecture
public-space
design
social-dynamics
april 2010 by Vaguery
Apotomo Cookbook » Blog Archive » Onfire brings bubbling events to your Ruby objects
march 2010 by Vaguery
"In the current refactoring of Apotomo I finally extracted the bubbling event library into a separate ruby gem Onfire.
Bubbling events is, in contrast to Ruby’s own Observable module, focused on observing events triggered by business objects, not watching the objects themselves.
In addition, a triggered event will bubble up the tree branch and subsequently inform all ancestors- you get automatic organic event filtering.
Complete instructions are on the github page."
message-passing
design-patterns
Ruby
gem
software-development
Bubbling events is, in contrast to Ruby’s own Observable module, focused on observing events triggered by business objects, not watching the objects themselves.
In addition, a triggered event will bubble up the tree branch and subsequently inform all ancestors- you get automatic organic event filtering.
Complete instructions are on the github page."
march 2010 by Vaguery
Ability to parse a stream? - Treetop Development | Google Groups
february 2010 by Vaguery
facepalm; this makes a lot of sense, but I have to say CH does a very poor job explaining very complicated design principles
Treetop
programming
software-development
parsing
design-patterns
documentation-is-not-support
using-released-software-should-not-feel-like-homework
february 2010 by Vaguery
activesupport/lib/active_support/orchestra.rb at 3c9a37c9c474b9ae2be2cdb73a5ee0c3439d4e5e from rails's rails - GitHub
september 2009 by Vaguery
"Orchestra provides an instrumentation API for Ruby."
via:thetrek
programming
library
design-patterns
Nudge
architecture
september 2009 by Vaguery
Step Organisation - cucumber - GitHub
september 2009 by Vaguery
"How do you name step files? What to put in each step? What not to put in steps? Here are some guidelines that will lead to better scenarios. If you are new to steps and the general syntax, please read Feature Introduction first."
Cucumber
BDD
behavior-driven-design
design-patterns
antipatterns
advice
september 2009 by Vaguery
Pervasive evolutionary algorithms on mobile devices
may 2009 by Vaguery
Proof-of-concept of distributed population-based metaheuristics running on a number of phones.
genetic-algorithm
GA
evolutionary-algorithms
distributed-processing
problem-solving
metaheuristics
design-patterns
grid-computing
may 2009 by Vaguery
Concepts at Bucketworks | Bucketworks
april 2009 by Vaguery
"Working in an collaborative environment that simultaneously supports business, technology, creativity, and performance give rise to new concepts. Below we list of some of the ideas we use in our work--terms you may hear or things you may experience if you become a member and spend some time in this unique environment."
ideas
workantile
physical-wiki
design-patterns
community
business-model
cultural-engineering
worklife
project-management
wikinomics
april 2009 by Vaguery
Test Stub at XUnitPatterns.com
april 2009 by Vaguery
"Variation: Saboteur
A Test Stub that is used to inject invalid indirect inputs into the SUT is often called a "Saboteur" because its purpose is to derail whatever the SUT is trying to do so we can see how the SUT copes with these circumstances. The "derailment" can be caused by returning unexpected values or objects, or it can be caused by raising an exception or causing a runtime error. Each test may either be a Simple Success Test or an Expected Exception Test (see Test Method) depending on how the SUT is expected to behave in response to the indirect input."
testing
TDD
BDD
rspec
design-patterns
programming
unit-testing
specification
A Test Stub that is used to inject invalid indirect inputs into the SUT is often called a "Saboteur" because its purpose is to derail whatever the SUT is trying to do so we can see how the SUT copes with these circumstances. The "derailment" can be caused by returning unexpected values or objects, or it can be caused by raising an exception or causing a runtime error. Each test may either be a Simple Success Test or an Expected Exception Test (see Test Method) depending on how the SUT is expected to behave in response to the indirect input."
april 2009 by Vaguery
Advogato: Blurring of MVC lines: Programming the Web Browser.
december 2008 by Vaguery
"php is the "language of choice" for the majority of web development, and it can be described as "The Visual Basic of Free Software" for very good reasons. Visual Basic gets a poor rap, because it is so easy to write bad code with. It takes years to become properly familiar with and proficient in Visual Basic, and php is no different. By the time a developer is familiar with php's rich and wonderful methods for self-mutilation, their lives have become so degraded that they wish they had never become programmers."
programming
MVC
design-patterns
web-design
applications
architecture
software
web2.0
development
javascript
python
essay
december 2008 by Vaguery
Science in the open » The trouble with institutional repositories
june 2008 by Vaguery
"When the semantics comes baked in then the semantic web will fly and the metadata that everyone knows they want, but can’t be bothered putting in, will be available and re-useable, along with the content."
archive
collaboration
semantic-web
publishing
repositories
library2.0
sharing
design-patterns
june 2008 by Vaguery
related tags
advice ⊕ Alexandrianism ⊕ algorithms ⊕ antipatterns ⊕ applications ⊕ architecture ⊕ archive ⊕ articles ⊕ artisanal ⊕ BDD ⊕ behavior-driven-design ⊕ boolean-networks ⊕ business-model ⊕ client-side-processing ⊕ cob ⊕ collaboration ⊕ community ⊕ computer-science ⊕ computing ⊕ control-theory ⊕ CouchDB ⊕ crowdsourcing ⊕ Cucumber ⊕ cultural-engineering ⊕ database ⊕ decoration ⊕ decorative-art ⊕ design ⊕ design-automation ⊕ design-patterns ⊖ development ⊕ distributed-processing ⊕ distributed-work ⊕ documentation-is-not-support ⊕ economics ⊕ engineering-design ⊕ essay ⊕ evolutionary-algorithms ⊕ fairness ⊕ GA ⊕ gallery ⊕ game-theory ⊕ gem ⊕ genetic-algorithm ⊕ genetic-programming ⊕ git ⊕ grid-computing ⊕ ideas ⊕ ingenious ⊕ inspiration ⊕ javascript ⊕ learning ⊕ learning-by-doing ⊕ learning-classifier-systems ⊕ library ⊕ library2.0 ⊕ linear-algebra ⊕ local ⊕ mathematics ⊕ mechanism-design ⊕ message-passing ⊕ metaheuristics ⊕ metaprogramming ⊕ Michigan ⊕ models ⊕ MVC ⊕ network-theory ⊕ nice ⊕ NoSQL ⊕ Nudge ⊕ nudge-targets ⊕ numerical-methods ⊕ ontology ⊕ operations-research ⊕ ornament ⊕ parsing ⊕ pattern-language ⊕ patterns ⊕ pedagogy ⊕ philosophy ⊕ philosophy-of-engineering ⊕ photography ⊕ physical-wiki ⊕ planning ⊕ problem-solving ⊕ programming ⊕ project-management ⊕ project-structure ⊕ public-space ⊕ publishing ⊕ python ⊕ Rails ⊕ refactoring ⊕ repositories ⊕ representation-theory ⊕ REST ⊕ rspec ⊕ Ruby ⊕ scientific-computing ⊕ semantic-web ⊕ sharing ⊕ small-world ⊕ social-dynamics ⊕ software ⊕ software-development ⊕ specification ⊕ straw-bale ⊕ sustainability ⊕ TDD ⊕ testing ⊕ tools ⊕ Treetop ⊕ trivial-geography ⊕ tutorial ⊕ unit-testing ⊕ using-released-software-should-not-feel-like-homework ⊕ version-control ⊕ via:arsyed ⊕ via:arthegall ⊕ via:bkerr ⊕ via:thetrek ⊕ voting ⊕ web-design ⊕ web2.0 ⊕ wikinomics ⊕ workantile ⊕ worklife ⊕Copy this bookmark: