Vaguery + design-patterns   30

[1204.4200] Discrete Dynamical Genetic Programming in XCS
"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
"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
"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
"...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
"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
"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
"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 
august 2011 by Vaguery
Understanding the Git Workflow
"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 
august 2011 by Vaguery
Jeff Dean's Ruby Blog - Form-backing objects for fun and profit
"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
"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
"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
"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
"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
"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 
march 2010 by Vaguery
Step Organisation - cucumber - GitHub
"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
Concepts at Bucketworks | Bucketworks
"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
"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 
april 2009 by Vaguery
Advogato: Blurring of MVC lines: Programming the Web Browser.
"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
"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:



description:


tags: