**Vaguery + design-patterns**
69

[1806.01823] Integrating Flexible Normalization into Mid-Level Representations of Deep Convolutional Neural Networks

8 weeks ago by Vaguery

Deep convolutional neural networks (CNNs) are becoming increasingly popular models to predict neural responses in visual cortex. However, contextual effects, which are prevalent in neural processing and in perception, are not explicitly handled by current CNNs, including those used for neural prediction. In primary visual cortex, neural responses are modulated by stimuli spatially surrounding the classical receptive field in rich ways. These effects have been modeled with divisive normalization approaches, including flexible models where spatial normalization is recruited only to the degree responses from center and surround locations are deemed statistically dependent. We propose a flexible normalization model applied to mid-level representations of deep CNNs as a tractable way to study contextual normalization mechanisms in mid-level visual areas. This approach captures non-trivial spatial dependencies among mid-level features in CNNs, such as those present in textures and other visual stimuli that arise from tiling high order features, geometrically. We expect that the proposed approach can make predictions about when spatial normalization might be recruited in mid-level cortical areas. We also expect this approach to be useful as part of the CNN toolkit, therefore going beyond more restrictive fixed forms of normalization.

neural-networks
deep-learning
design-patterns
rather-interesting
to-write-about
consider:other-design-patterns
8 weeks ago by Vaguery

[1702.08835] Deep Forest: Towards An Alternative to Deep Neural Networks

september 2017 by Vaguery

In this paper, we propose gcForest, a decision tree ensemble approach with performance highly competitive to deep neural networks. In contrast to deep neural networks which require great effort in hyper-parameter tuning, gcForest is much easier to train. Actually, even when gcForest is applied to different data from different domains, excellent performance can be achieved by almost same settings of hyper-parameters. The training process of gcForest is efficient and scalable. In our experiments its training time running on a PC is comparable to that of deep neural networks running with GPU facilities, and the efficiency advantage may be more apparent because gcForest is naturally apt to parallel implementation. Furthermore, in contrast to deep neural networks which require large-scale training data, gcForest can work well even when there are only small-scale training data. Moreover, as a tree-based approach, gcForest should be easier for theoretical analysis than deep neural networks.

via:jason-moore
machine-learning
architecture
metaheuristics
to-write-about
design-patterns
september 2017 by Vaguery

A pattern language of post-industrial work | Esko Kilpi on Interactive Value Creation

october 2016 by Vaguery

The industrial make-and-sell model required expert skills. The decisive thing was your individual knowledge. Today you work more from your network than your skills. The decisive thing is your relations. The new structures and new designs are about communities continuously organizing themselves around shared contexts, meaning shared interests and shared practices. The focus of industrial management was on the division of labor and the design of vertical/horizontal communication channels. The focus should now be on cooperation and emergent interaction based on transparency, interdependence and responsiveness.

cultural-dynamics
cultural-norms
yes-this
design-patterns
worklife
postnormality
october 2016 by Vaguery

[1509.04905] On the discovery of social roles in large scale social systems

december 2015 by Vaguery

The social role of a participant in a social system is a label conceptualizing the circumstances under which she interacts within it. They may be used as a theoretical tool that explains why and how users participate in an online social system. Social role analysis also serves practical purposes, such as reducing the structure of complex systems to rela- tionships among roles rather than alters, and enabling a comparison of social systems that emerge in similar contexts. This article presents a data-driven approach for the discovery of social roles in large scale social systems. Motivated by an analysis of the present art, the method discovers roles by the conditional triad censuses of user ego-networks, which is a promising tool because they capture the degree to which basic social forces push upon a user to interact with others. Clusters of censuses, inferred from samples of large scale network carefully chosen to preserve local structural prop- erties, define the social roles. The promise of the method is demonstrated by discussing and discovering the roles that emerge in both Facebook and Wikipedia. The article con- cludes with a discussion of the challenges and future opportunities in the discovery of social roles in large social systems.

social-networks
design-patterns
analysis-patterns
feature-extraction
rather-interesting
in-principle
nudge-targets
december 2015 by Vaguery

[1403.2307] The Homeostasis Protocol: Avoiding Transaction Coordination Through Program Analysis

november 2015 by Vaguery

Datastores today rely on distribution and replication to achieve improved performance and fault-tolerance. But correctness of many applications depends on strong consistency properties - something that can impose substantial overheads, since it requires coordinating the behavior of multiple nodes. This paper describes a new approach to achieving strong consistency in distributed systems while minimizing communication between nodes. The key insight is to allow the state of the system to be inconsistent during execution, as long as this inconsistency is bounded and does not affect transaction correctness. In contrast to previous work, our approach uses program analysis to extract semantic information about permissible levels of inconsistency and is fully automated. We then employ a novel homeostasis protocol to allow sites to operate independently, without communicating, as long as any inconsistency is governed by appropriate treaties between the nodes. We discuss mechanisms for optimizing treaties based on workload characteristics to minimize communication, as well as a prototype implementation and experiments that demonstrate the benefits of our approach on common transactional benchmarks.

database
distributed-processing
consistency
transactions
algorithms
rather-interesting
coordination
design-patterns
november 2015 by Vaguery

Flowr: Robust and efficient pipelines using a simple language-agnostic approach | bioRxiv

november 2015 by Vaguery

Motivation: Bioinformatics analyses have become increasingly intensive computing processes, with lowering costs and increasing numbers of samples. Each laboratory spends time creating and maintaining a set of pipelines, which may not be robust, scalable, or efficient. Further, the existence of different computing environments across institutions hinders both collabo-ration and the portability of analysis pipelines. Results: Flowr is a robust and scalable framework for designing and deploying computing pipelines in an easy-to-use fashion. It implements a scatter-gather approach using computing clusters, simplifying the concept to the use of five simple terms (in submission and dependency types). Most importantly, it is flexible, such that customizing existing pipelines is easy, and since it works across several computing environments (LSF, SGE, Torque, and SLURM), it is portable. Availability: http://docs.flowr.space

workflow
framework
representation
software-development
design-patterns
bioinformatics
distributed-processing
rather-interesting
consider:for-GP
november 2015 by Vaguery

[1504.04421] Feasibility Preserving Constraint-Handling Strategies for Real Parameter Evolutionary Optimization

september 2015 by Vaguery

Evolutionary Algorithms (EAs) are being routinely applied for a variety of optimization tasks, and real-parameter optimization in the presence of constraints is one such important area. During constrained optimization EAs often create solutions that fall outside the feasible region; hence a viable constraint- handling strategy is needed. This paper focuses on the class of constraint-handling strategies that repair infeasible solutions by bringing them back into the search space and explicitly preserve feasibility of the solutions. Several existing constraint-handling strategies are studied, and two new single parameter constraint-handling methodologies based on parent-centric and inverse parabolic probability (IP) distribution are proposed. The existing and newly proposed constraint-handling methods are first studied with PSO, DE, GAs, and simulation results on four scalable test-problems under different location settings of the optimum are presented. The newly proposed constraint-handling methods exhibit robustness in terms of performance and also succeed on search spaces comprising up-to 500 variables while locating the optimum within an error of 10−10. The working principle of the IP based methods is also demonstrated on (i) some generic constrained optimization problems, and (ii) a classic `Weld' problem from structural design and mechanics. The successful performance of the proposed methods clearly exhibits their efficacy as a generic constrained-handling strategy for a wide range of applications.

constraint-satisfaction
optimization
evolutionary-algorithms
stamp-collecting
design-patterns
nudge-targets
metaheuristics
september 2015 by Vaguery

[1506.08781] Design Mining VAWT Wind Farms

september 2015 by Vaguery

The small body of previous work considering the design of wind farms has used arrays of turbines originally intended to operate alone, optimising the layout of homogeneous turbines essentially as an afterthought in the design process. In this paper, we consider designing wind farms composed of collaborating wind turbines. Computational intelligence is combined with rapid prototyping whereby candidate designs are physically instantiated and evaluated under fan-generated wind conditions. It is shown possible to use surrogate-assisted coevolutionary algorithms to aerodynamically optimise the potentially heterogeneous morphology of an array of 6 small scale and closely positioned vertical-axis wind turbines using the total angular kinetic energy of the array as the objective. This approach performs optimisation in the presence of complex inter-turbine wake effects and multi-directional wind flow from nearby obstacles, which is extremely difficult to achieve accurately under high fidelity computational fluid dynamics simulation. The general approach is equally applicable to the design of other forms of sustainable energy where the characteristics of the environment and/or materials involved are too difficult to accurately simulate.

engineering-design
design-patterns
evolutionary-algorithms
rather-interesting
nudge-targets
learning-by-watching
september 2015 by Vaguery

[1506.07904] Shape Allophiles Improve Entropic Assembly

july 2015 by Vaguery

We investigate a class of "shape allophiles" that fit together like puzzle pieces as a method to access and stabilize desired structures by controlling directional entropic forces. Squares are cut into rectangular halves, which are shaped in an allophilic manner with the goal of re-assembling the squares while self-assembling the square lattice. We examine the assembly characteristics of this system via the potential of mean force and torque, and the fraction of particles that entropically bind. We generalize our findings and apply them to self-assemble triangles into a square lattice via allophilic shaping. Through these studies we show how shape allophiles can be useful in assembling and stabilizing desired phases with appropriate allophilic design.

self-assembly
emergent-design
engineering-design
physics!
nanotechnology
design-patterns
rather-interesting
nudge-targets
consider:simulation
consider:performance-measures
july 2015 by Vaguery

A collection of links for streaming algorithms and data structures

may 2015 by Vaguery

A collection of links for streaming algorithms and data structures

data-structures
probabilistic-programming
computational-complexity
algorithms
computer-science
design-patterns
rather-interesting
via:?
consider:uses-in-GP
may 2015 by Vaguery

Joy: Forth’s Functional Cousin (PDF)

march 2015 by Vaguery

The language Joy is a purely functional programming language. Whereas all other functional programming languages are based on the application of functions to arguments, Joy is based on the composition of functions. All such functions take a stack as argument and produce a stack as value. Consequently much of Joy looks like ordinary postfix notation. However, in Joy a function can consume any number of parameters from the stack and leave any number of results on the stack. The concatenation of appropriate programs denotes the composition of the functions which the programs denote. One of the datatypes of Joy is that of quoted programs, of which lists are a special case. Some functions expect quoted programs on top of the stack and execute them in many different ways, effectively by dequoting. So, where other functional languages use abstraction and application, Joy uses quotation and combinators – functions which perform dequotation. As a result, there are no named formal parameters, no substitution of actual for formal parameters, and no environment of name-value pairs. Combinators in Joy behave much like functionals or higher order functions in other languages, they minimise the need for recursive and non-recursive definitions. Because there is no need for an environment, Joy has an exceptionally simple algebra, and its programs are easily manipulated by hand and by other programs. Many programs first construct another program which is then executed.

This paper is intended as an introduction for Forth programmers.

joy
programming-language
push-forth
introduction
Misrepresentations
functional-languages
design-patterns
This paper is intended as an introduction for Forth programmers.

march 2015 by Vaguery

[1410.0567] Knowledge-Based Automatic Generation of Partitioned Matrix Expressions

march 2015 by Vaguery

In a series of papers it has been shown that for many linear algebra operations it is possible to generate families of algorithms by following a systematic procedure. Although powerful, such a methodology involves complex algebraic manipulation, symbolic computations and pattern matching, making the generation a process challenging to be performed by hand. We aim for a fully automated system that from the sole description of a target operation creates multiple algorithms without any human intervention. Our approach consists of three main stages. The first stage yields the core object for the entire process, the Partitioned Matrix Expression (PME), which establishes how the target problem may be decomposed in terms of simpler sub-problems. In the second stage the PME is inspected to identify predicates, the Loop-Invariants, to be used to set up the skeleton of a family of proofs of correctness. In the third and last stage the actual algorithms are constructed so that each of them satisfies its corresponding proof of correctness. In this paper we focus on the first stage of the process, the automatic generation of Partitioned Matrix Expressions. In particular, we discuss the steps leading to a PME and the knowledge necessary for a symbolic system to perform such steps. We also introduce Cl1ck, a prototype system written in Mathematica that generates PMEs automatically.

matrices
linear-algebra
algorithms
inverse-problems
rather-interesting
nudge-targets
design-patterns
march 2015 by Vaguery

[1405.3531] Return of the Devil in the Details: Delving Deep into Convolutional Nets

december 2014 by Vaguery

The latest generation of Convolutional Neural Networks (CNN) have achieved impressive results in challenging benchmarks on image recognition and object detection, significantly raising the interest of the community in these methods. Nevertheless, it is still unclear how different CNN methods compare with each other and with previous state-of-the-art shallow representations such as the Bag-of-Visual-Words and the Improved Fisher Vector. This paper conducts a rigorous evaluation of these new techniques, exploring different deep architectures and comparing them on a common ground, identifying and disclosing important implementation details. We identify several useful properties of CNN-based representations, including the fact that the dimensionality of the CNN output layer can be reduced significantly without having an adverse effect on performance. We also identify aspects of deep and shallow methods that can be successfully shared. In particular, we show that the data augmentation techniques commonly applied to CNN-based methods can also be applied to shallow methods, and result in an analogous performance boost. Source code and models to reproduce the experiments in the paper is made publicly available.

deep-learning
image-processing
machine-learning
horse-races
design-patterns
feature-selection
rather-interesting
nudge-targets
december 2014 by Vaguery

[1306.0225] Convergence Analysis and Parallel Computing Implementation for the Multiagent Coordination Optimization Algorithm

december 2014 by Vaguery

In this report, a novel variation of Particle Swarm Optimization (PSO) algorithm, called Multiagent Coordination Optimization (MCO), is implemented in a parallel computing way for practical use by introducing MATLAB built-in function "parfor" into MCO. Then we rigorously analyze the global convergence of MCO by means of semistability theory. Besides sharing global optimal solutions with the PSO algorithm, the MCO algorithm integrates cooperative swarm behavior of multiple agents into the update formula by sharing velocity and position information between neighbors to improve its performance. Numerical evaluation of the parallel MCO algorithm is provided in the report by running the proposed algorithm on supercomputers in the High Performance Computing Center at Texas Tech University. In particular, the optimal value and consuming time are compared with PSO and serial MCO by solving several benchmark functions in the literature, respectively. Based on the simulation results, the performance of the parallel MCO is not only superb compared with PSO for solving many nonlinear, noncovex optimization problems, but also is of high efficiency by saving the computational time.

metaheuristics
flavor-of-the-day
PSO
meh
design-patterns
not-news
december 2014 by Vaguery

[1408.0101] Memetic Search in Differential Evolution Algorithm

december 2014 by Vaguery

Differential Evolution (DE) is a renowned optimization stratagem that can easily solve nonlinear and comprehensive problems. DE is a well known and uncomplicated population based probabilistic approach for comprehensive optimization. It has apparently outperformed a number of Evolutionary Algorithms and further search heuristics in the vein of Particle Swarm Optimization at what time of testing over both yardstick and actual world problems. Nevertheless, DE, like other probabilistic optimization algorithms, from time to time exhibits precipitate convergence and stagnates at suboptimal position. In order to stay away from stagnation behavior while maintaining an excellent convergence speed, an innovative search strategy is introduced, named memetic search in DE. In the planned strategy, positions update equation customized as per a memetic search stratagem. In this strategy a better solution participates more times in the position modernize procedure. The position update equation is inspired from the memetic search in artificial bee colony algorithm. The proposed strategy is named as Memetic Search in Differential Evolution (MSDE). To prove efficiency and efficacy of MSDE, it is tested over 8 benchmark optimization problems and three real world optimization problems. A comparative analysis has also been carried out among proposed MSDE and original DE. Results show that the anticipated algorithm go one better than the basic DE and its recent deviations in a good number of the experiments.

metaheuristics
horse-races
modeling
machine-learning
design-patterns
nudge-targets
toy-problems
low-hanging-fruit
a-bit-like-when-my-dog-looks-at-my-pointing-finger-instead-of-the-cookie
december 2014 by Vaguery

[1411.4070] A unified view of generative models for networks: models, methods, opportunities, and challenges

december 2014 by Vaguery

Research on probabilistic models of networks now spans a wide variety of fields, including physics, sociology, biology, statistics, and machine learning. These efforts have produced a diverse ecology of models and methods. Despite this diversity, many of these models share a common underlying structure: pairwise interactions (edges) are generated with probability conditional on latent vertex attributes. Differences between models generally stem from different philosophical choices about how to learn from data or different empirically-motivated goals. The highly interdisciplinary nature of work on these generative models, however, has inhibited the development of a unified view of their similarities and differences. For instance, novel theoretical models and optimization techniques developed in machine learning are largely unknown within the social and biological sciences, which have instead emphasized model interpretability. Here, we describe a unified view of generative models for networks that draws together many of these disparate threads and highlights the fundamental similarities and differences that span these fields. We then describe a number of opportunities and challenges for future work that are revealed by this view.

network-theory
generative-algorithms
algorithms
review
performance-measure
the-mangle-in-practice
design-patterns
december 2014 by Vaguery

[1410.8516] NICE: Non-linear Independent Components Estimation

december 2014 by Vaguery

We propose a deep learning framework for modeling complex high-dimensional densities via Non-linear Independent Component Estimation (NICE). It is based on the idea that a good representation is one in which the data has a distribution that is easy to model. For this purpose, a non-linear deterministic transformation of the data is learned that maps it to a latent space so as to make the transformed data conform to a factorized distribution, i.e., resulting in independent latent variables. We parametrize this transformation so that computing the determinant of the Jacobian and inverse Jacobian is trivial, yet we maintain the ability to learn complex non-linear transformations, via a composition of simple building blocks, each based on a deep neural network. The training criterion is simply the exact log-likelihood, which is tractable, and unbiased ancestral sampling is also easy. We show that this approach yields good generative models on four image datasets and can be used for inpainting.

deep-learning
image-processing
performance-space-analysis
feature-extraction
nudge-targets
algorithms
statistics
design-patterns
december 2014 by Vaguery

[1405.2501] Using Tabled Logic Programming to Solve the Petrobras Planning Problem

november 2014 by Vaguery

Tabling has been used for some time to improve efficiency of Prolog programs by memorizing answered queries. The same idea can be naturally used to memorize visited states during search for planning. In this paper we present a planner developed in the Picat language to solve the Petrobras planning problem. Picat is a novel Prolog-like language that provides pattern matching, deterministic and non-deterministic rules, and tabling as its core modelling and solving features. We demonstrate these capabilities using the Petrobras problem, where the goal is to plan transport of cargo items from ports to platforms using vessels with limited capacity. Monte Carlo Tree Search has been so far the best technique to tackle this problem and we will show that by using tabling we can achieve much better runtime efficiency and better plan quality.

planning
Prolog
memoization
design-patterns
horse-races
nudge-targets
november 2014 by Vaguery

Systematic Imaging Reveals Features of Localized mRNAs and Their Changing Subcellular Destinations in Development | bioRxiv

november 2014 by Vaguery

The asymmetric distribution of cytoplasmic components by mRNA localization is critical for eukaryotic cells and affects large numbers of transcripts. How such global subcellular localization of mRNAs is regulated is still unknown. We combined transcriptomics and systematic imaging to determine tissue-specific expression and subcellular localizations of 5862 mRNAs during Drosophila oogenesis. While the transcriptome is stable and alternative splicing and polyadenylation is rare, cytoplasmic localization of mRNAs is widespread. Localized mRNAs have distinct gene features and diverge in expression level, 3'UTR length and sequence conservation. We show that intracellular localization of mRNAs depends on an intact microtubule cytoskeleton and that specifically the posterior enrichment requires the localization of oskar mRNA to the posterior cortex. Using cross-tissue comparison we revealed that the localization landscape differs substantially between epithelial, germline and embryonic cells and the localization status of mRNAs also changes considerably within the oocyte over the course of oogenesis.

evo-devo
developmental-biology
experiment
molecular-biology
visualization
dynamical-systems
rather-interesting
molecular-design
biological-engineering
self-organization
design-patterns
november 2014 by Vaguery

[1410.4258] A Comprehensive Survey of Recent Advancements in Molecular Communication

october 2014 by Vaguery

In molecular communication, information is conveyed through chemical messages. With much advancement in the field of nanotechnology, bioengineering and synthetic biology over the past decade, micro- and nano-scales devices are becoming a reality. Yet the problem of engineering a reliable communication system between tiny devices is still an open problem. At the same time, despite the prevalence of radio communication, there are still areas where traditional electromagnetic waves find it difficult or expensive to reach. Points of interest in industry, cities, medical, and military applications often lie in embedded and entrenched areas, accessible only by ventricles at scales too small for conventional radio- and micro-waves, or they are located in such a way that directional high frequency systems are ineffective. Molecular communication is a biologically inspired communication scheme that could be employed for solving these problems. Although biologists have studied molecular communication, it is poorly understood from a telecommunication perspective. In this paper, we highlight the recent advancements in the field of molecular communication engineering.

molecular-machinery
biological-engineering
communication
systems-biology
engineering-design
design-patterns
ontology
review
interesting
october 2014 by Vaguery

[1404.3581] Random forests with random projections of the output space for high dimensional multi-label classification

september 2014 by Vaguery

We adapt the idea of random projections applied to the output space, so as to enhance tree-based ensemble methods in the context of multi-label classification. We show how learning time complexity can be reduced without affecting computational complexity and accuracy of predictions. We also show that random output space projections may be used in order to reach different bias-variance tradeoffs, over a broad panel of benchmark problems, and that this may lead to improved accuracy while reducing significantly the computational burden of the learning stage.

machine-learning
random-forests
algorithms
summarization
dimensional-reduction
design-patterns
nudge-targets
performance-space-analysis
september 2014 by Vaguery

[1312.7479] Parallel Markov Chain Monte Carlo

april 2014 by Vaguery

Markov chain Monte Carlo is an inherently serial algorithm. Although likelihood calculations for individual steps can sometimes be parallelized, the serial evolution of the process is widely viewed as incompatible with parallelization, offering no speedup for samplers which require large numbers of iterations to converge to equilibrium. We provide a methodology for parallelizing Markov chain Monte Carlo across large numbers of independent, asynchronous processors. Our approach uses a partitioning and weight estimation scheme to combine independent simulations run on separate processors into rigorous Monte Carlo estimates. The method is originally motivated by sampling multimodal target distributions, where we see an exponential speedup in running time. However we show that the approach is general-purpose and applicable to all Markov chain Monte Carlo simulations, and demonstrate speedups proportional to the number of available processors on slowly mixing chains with unimodal target distributions. The approach is simple and easy to implement, and suggests additional directions for further research.

parallel
algorithms
design-patterns
MCMC
statistics
nudge-targets
consider:parallelization
consider:performance-metrics
april 2014 by Vaguery

[1401.4769] Variable Screenings in Binary Response Regressions with Multivariate Normal Predictors

january 2014 by Vaguery

Screening before model building is a reasonable strategy to reduce the dimension of regression problems. Sure independence screening is an efficient approach to this purpose. It applies the slope estimate of a simple linear regression as a surrogate measure of the association between the response and the predictor so that the final model can be built by those predictors with steep slopes. However, if the response is truly affected by a nontrivial linear combination of some predictors then the simple linear regression model is a misspecified model. In this work, we investigate the performance of the sure independence screening in the view of model misspecification for binary response regressions. Both maximum likelihood screening and least square screening are studied with the assumption that predictors follow multivariate normal distribution and the true and the working link function belong to a class of scale mixtures of normal distributions.

variable-selection
regression
statistics
algorithms
nudge-targets
design-patterns
january 2014 by Vaguery

[1310.4374] A method to compute periodic sums

december 2013 by Vaguery

In a number of problems in computational physics, a finite sum of kernel functions centered at [Math Processing Error] particle locations located in a box in three dimensions must be extended by imposing periodic boundary conditions on box boundaries. Even though the finite sum can be efficiently computed via fast summation algorithms, such as the fast multipole method (FMM), the periodized extension is usually treated via a different algorithm, Ewald summation, accelerated via the fast Fourier transform (FFT). A different approach to compute this periodized sum just using a blackbox finite fast summation algorithm is presented in this paper. The method splits the periodized sum in to two parts. The first, comprising the contribution of all points outside a large sphere enclosing the box, and some of its neighbors, is approximated inside the box by a collection of kernel functions ("sources") placed on the surface of the sphere or using an expansion in terms of spectrally convergent local basis functions. The second part, comprising the part inside the sphere, and including the box and its immediate neighborhood, is treated via available summation algorithms. The coefficients of the sources are determined by least squares collocation of the periodicity condition of the total potential, imposed on a circumspherical surface for the box. While the method is presented in general, details are worked out for the case of evaluating electrostatic potentials and forces. Results show that when used with the FMM, the periodized sum can be computed to any specified accuracy, at a cost that is twice that of the free-space FMM with the same accuracy. Several technical details and efficient algorithms for auxiliary computations are provided, as are numerical comparisons.

simulation
techniques
boundary-conditions
design-patterns
december 2013 by Vaguery

[1310.2279] A Mathematical Model, Implementation and Study of a Swarm System

november 2013 by Vaguery

The work reported in this paper is motivated towards the development of a mathematical model for swarm systems based on macroscopic primitives. A pattern formation and transformation model is proposed. The pattern transformation model comprises two general methods for pattern transformation, namely a macroscopic transformation and mathematical transformation method. The problem of transformation is formally expressed and four special cases of transformation are considered. Simulations to confirm the feasibility of the proposed models and transformation methods are presented. Comparison between the two transformation methods is also reported.

swarms
robotics
algorithms
emergent-design
define-your-terms
design-patterns
nudge-targets
november 2013 by Vaguery

[1302.4014] Digital morphogenesis via Schelling segregation

november 2013 by Vaguery

Schelling's model of segregation looks to explain the way in which particles or agents of two types may come to arrange themselves spatially into configurations consisting of large homogeneous clusters, i.e.\ connected regions consisting of only one type. As one of the earliest agent based models studied by economists and perhaps the most famous model of self-organising behaviour, it also has direct links to areas at the interface between computer science and statistical mechanics, such as the Ising model and the study of contagion and cascading phenomena in networks.

While the model has been extensively studied it has largely resisted rigorous analysis, prior results from the literature generally pertaining to variants of the model which are tweaked so as to be amenable to standard techniques from statistical mechanics or stochastic evolutionary game theory. In \cite{BK}, Brandt, Immorlica, Kamath and Kleinberg provided the first rigorous analysis of the unperturbed model, for a specific set of input parameters. Here we provide a rigorous analysis of the model's behaviour much more generally and establish some surprising forms of threshold behaviour, notably the existence of situations where an \emph{increased} level of intolerance for neighbouring agents of opposite type leads almost certainly to \emph{decreased} segregation.

artificial-life
pattern-formation
design-patterns
collective-intelligence
nudge-targets
algorithms
While the model has been extensively studied it has largely resisted rigorous analysis, prior results from the literature generally pertaining to variants of the model which are tweaked so as to be amenable to standard techniques from statistical mechanics or stochastic evolutionary game theory. In \cite{BK}, Brandt, Immorlica, Kamath and Kleinberg provided the first rigorous analysis of the unperturbed model, for a specific set of input parameters. Here we provide a rigorous analysis of the model's behaviour much more generally and establish some surprising forms of threshold behaviour, notably the existence of situations where an \emph{increased} level of intolerance for neighbouring agents of opposite type leads almost certainly to \emph{decreased} segregation.

november 2013 by Vaguery

[1310.1338] Stability of Boolean networks: The joint effects of topology and update rules

october 2013 by Vaguery

We study the stability of orbits in large Boolean networks with given complex topology. We impose no restrictions on the form of the update rules, which may be correlated with local topological properties of the network. While recent past work has addressed the separate effects of nontrivial network topology and certain special classes of update rules on stability, only crude results exist about how these effects interact. We present a widely applicable solution to this problem. Numerical experiments confirm our theory and show that local correlations between topology and update rules can have profound effects on the qualitative behavior of these systems.

boolean-networks
complexology
Kauffmania
dynamical-systems
theoretical-biology
nudge-targets
design-patterns
october 2013 by Vaguery

[1306.0089] A Novel Reconfigurable Architecture of a DSP Processor for Efficient Mapping of DSP Functions using Field Programmable DSP Arrays

june 2013 by Vaguery

Development of modern integrated circuit technologies makes it feasible to develop cheaper, faster and smaller special purpose signal processing function circuits. Digital Signal processing functions are generally implemented either on ASICs with inflexibility, or on FPGAs with bottlenecks of relatively smaller utilization factor or lower speed compared to ASIC. Field Programmable DSP Array (FPDA) is the proposed DSP dedicated device, redolent to FPGA, but with basic fixed common modules (CMs) (like adders, subtractors, multipliers, scaling units, shifters) instead of CLBs. This paper introduces the development of reconfigurable system architecture with a focus on FPDA that integrates different DSP functions like DFT, FFT, DCT, FIR, IIR, and DWT etc. The switching between DSP functions is occurred by reconfiguring the interconnection between CMs. Validation of the proposed architecture has been achieved on Virtex5 FPGA. The architecture provides sufficient amount of flexibility, parallelism and scalability.

circuits
signal-processing
hardware
FPGAs
engineering-design
design-patterns
nudge-targets
june 2013 by Vaguery

[1303.5986] Efficient Stochastic Simulation of Chemical Kinetics Networks using a Weighted Ensemble of Trajectories

april 2013 by Vaguery

We apply the "weighted ensemble" (WE) simulation strategy, previously employed in the context of molecular dynamics simulations, to a series of systems-biology models that range in complexity from one-dimensional to a system with 354 species and 3680 reactions. WE is relatively easy to implement, does not require extensive hand-tuning of parameters, does not depend on the details of the simulation algorithm, and can facilitate the simulation of extremely rare events.

For the coupled stochastic reaction systems we study, WE is able to produce accurate and efficient approximations of the joint probability distribution for all chemical species for all time t. WE is also able to efficiently extract mean first passage times for the systems, via the construction of a steady-state condition with feedback. In all cases studied here, WE results agree with independent calculations, but significantly enhance the precision with which rare or slow processes can be characterized. Speedups over "brute-force" in sampling rare events via the Gillespie direct Stochastic Simulation Algorithm range from ~10^12 to ~10^20 for rare states in a distribution, and ~10^2 to ~10^4 for finding mean first passage times.

simulation
algorithms
design-patterns
approximation
nudge-targets
For the coupled stochastic reaction systems we study, WE is able to produce accurate and efficient approximations of the joint probability distribution for all chemical species for all time t. WE is also able to efficiently extract mean first passage times for the systems, via the construction of a steady-state condition with feedback. In all cases studied here, WE results agree with independent calculations, but significantly enhance the precision with which rare or slow processes can be characterized. Speedups over "brute-force" in sampling rare events via the Gillespie direct Stochastic Simulation Algorithm range from ~10^12 to ~10^20 for rare states in a distribution, and ~10^2 to ~10^4 for finding mean first passage times.

april 2013 by Vaguery

[1303.4017] Separating Topology and Geometry in Space Planning

april 2013 by Vaguery

We are dealing with the problem of space layout planning here. We present an architectural conceptual CAD approach. Starting with design specifications in terms of constraints over spaces, a specific enumeration heuristics leads to a complete set of consistent conceptual design solutions named topological solutions. These topological solutions which do not presume any precise definitive dimension correspond to the sketching step that an architect carries out from the Design specifications on a preliminary design phase in architecture.

engineering-design
multiobjective-optimization
nudge-targets
constraint-satisfaction
design-patterns
april 2013 by Vaguery

[1303.5778] Speech Recognition with Deep Recurrent Neural Networks

march 2013 by Vaguery

Recurrent neural networks (RNNs) are a powerful model for sequential data. End-to-end training methods such as Connectionist Temporal Classification make it possible to train RNNs for sequence labelling problems where the input-output alignment is unknown. The combination of these methods with the Long Short-term Memory RNN architecture has proved particularly fruitful, delivering state-of-the-art results in cursive handwriting recognition. However RNN performance in speech recognition has so far been disappointing, with better results returned by deep feedforward networks. This paper investigates \emph{deep recurrent neural networks}, which combine the multiple levels of representation that have proved so effective in deep networks with the flexible use of long range context that empowers RNNs. When trained end-to-end with suitable regularisation, we find that deep Long Short-term Memory RNNs achieve a test set error of 17.7% on the TIMIT phoneme recognition benchmark, which to our knowledge is the best recorded score.

speech-recognition
neural-networks
nudge-targets
algorithms
design-patterns
dimension-reduction
march 2013 by Vaguery

[1212.6110] Hyperplane Arrangements and Locality-Sensitive Hashing with Lift

march 2013 by Vaguery

Locality-sensitive hashing converts high-dimensional feature vectors, such as image and speech, into bit arrays and allows high-speed similarity calculation with the Hamming distance. There is a hashing scheme that maps feature vectors to bit arrays depending on the signs of the inner products between feature vectors and the normal vectors of hyperplanes placed in the feature space. This hashing can be seen as a discretization of the feature space by hyperplanes. If labels for data are given, one can determine the hyperplanes by using learning algorithms. However, many proposed learning methods do not consider the hyperplanes' offsets. Not doing so decreases the number of partitioned regions, and the correlation between Hamming distances and Euclidean distances becomes small. In this paper, we propose a lift map that converts learning algorithms without the offsets to the ones that take into account the offsets. With this method, the learning methods without the offsets give the discretizations of spaces as if it takes into account the offsets. For the proposed method, we input several high-dimensional feature data sets and studied the relationship between the statistical characteristics of data, the number of hyperplanes, and the effect of the proposed method.

representation
design-patterns
algorithms
basis-functions
dimension-reduction
march 2013 by Vaguery

[1211.1002] OSNAP: Faster numerical linear algebra algorithms via sparser subspace embeddings

march 2013 by Vaguery

…Plugging OSNAPs into known algorithms for numerical linear algebra problems such as approximate least squares regression, low rank approximation, and approximating leverage scores implies faster algorithms for all these problems.

algorithms
representation
nudge-targets
design-patterns
march 2013 by Vaguery

[1212.6510] On Neighborhood Tree Search

march 2013 by Vaguery

We consider the neighborhood tree induced by alternating the use of different neighborhood structures within a local search descent. We investigate the issue of designing a search strategy operating at the neighborhood tree level by exploring different paths of the tree in a heuristic way. We show that allowing the search to 'backtrack' to a previously visited solution and resuming the iterative variable neighborhood descent by 'pruning' the already explored neighborhood branches leads to the design of effective and efficient search heuristics. We describe this idea by discussing its basic design components within a generic algorithmic scheme and we propose some simple and intuitive strategies to guide the search when traversing the neighborhood tree. We conduct a thorough experimental analysis of this approach by considering two different problem domains, namely, the Total Weighted Tardiness Problem (SMTWTP), and the more sophisticated Location Routing Problem (LRP). We show that independently of the considered domain, the approach is highly competitive. In particular, we show that using different branching and backtracking strategies when exploring the neighborhood tree allows us to achieve different trade-offs in terms of solution quality and computing cost.

algorithms
operations-research
artificial-intelligence
metaheuristics
local-search
design-patterns
nudge-targets
no-free-lunch-inverse-problem
heuristics
march 2013 by Vaguery

[1205.2809] Computational Modeling of Dynamical Systems

august 2012 by Vaguery

In this short note, we discuss the basic approach to computational modeling of dynamical systems. If a dynamical system contains multiple time scales, ranging from very fast to slow, computational solution of the dynamical system can be very costly. By resolving the fast time scales in a short time simulation, a model for the effect of the small time scale variation on large time scales can be determined, making solution possible on a long time interval. This process of computational modeling can be completely automated. Two examples are presented, including a simple model problem oscillating at a time scale of 1e-9 computed over the time interval [0,100], and a lattice consisting of large and small point masses.

simulation
design-patterns
multiscale-dynamics
algorithms
nudge-targets
august 2012 by Vaguery

[1207.5371] Towards a theory of statistical tree-shape analysis

august 2012 by Vaguery

"In order to develop statistical methods for shapes with a tree-structure, we construct a shape space framework for tree-like shapes and study metrics on the shape space. This shape space has singularities, corresponding to topological transitions in the represented trees. We study two closely related metrics on the shape space, TED and QED. QED is a quotient Euclidean distance arising naturally from the shape space formulation, while TED is the classical tree edit distance. Using Gromov's metric geometry we gain new insight into the geometries defined by TED and QED. We show that the new metric QED has nice geometric properties which facilitate statistical analysis, such as existence and local uniqueness of geodesics and averages. TED, on the other hand, does not share the geometric advantages of QED, but has nice algorithmic properties. We provide a theoretical framework and experimental results on synthetic data trees as well as airway trees from pulmonary CT scans. This way, we effectively illustrate that our framework has both the theoretical and qualitative properties necessary to build a theory of statistical tree-shape analysis."

statistics
graph-theory
models
metrics
design-patterns
august 2012 by Vaguery

[1206.3421] Linear Latent Variable Models: The lava-package

july 2012 by Vaguery

"An R package for specifying and estimating linear latent variable models is presented. The philosophy of the implementation is to separate the model specification from the actual data, which leads to a dynamic and easy way of modeling complex hierarchical structures. Several advanced features are implemented including robust standard errors for clustered correlated data, multigroup analyses, non-linear parameter constraints, inference with incomplete data, maximum likelihood estimation with censored and binary observations, and instrumental variable estimators. In addition an extensive simulation interface covering a broad range of non-linear generalized structural equation models is described. The model and software are demonstrated in data of measurements of the serotonin transporter in the human brain."

ontology
statistics
algorithms
R-language
linear-models
model-view-controller
design-patterns
july 2012 by Vaguery

[1204.4200] Discrete Dynamical Genetic Programming in XCS

april 2012 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
april 2012 by Vaguery

[1005.4159] The Complexity of Manipulating $k$-Approval Elections

april 2012 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
april 2012 by Vaguery

[1204.4286] Fair Allocation Without Trade

april 2012 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
april 2012 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

march 2012 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
horse-races
march 2012 by Vaguery

The Sun is Setting on Rails-style MVC Frameworks « caines.ca/blog

march 2012 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
march 2012 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**

Copy this bookmark: