Software Engineering

Software Engineering

1635 bookmarks
Newest
OExchange
OExchange

OExchange makes it possible to share any URL-based content with any service on the web. It defines:

A common way for services to receive content, removing any and all service-specific integration requirements A discovery feature so services can publish themselves and their endpoints, making it possible to integrate with services you didn't even know about at development time A decentralized, user-centric model for saving preferred services, making sharing more personal

OExchange
Pinba
Pinba
Pinba is a statistics server for PHP using MySQL as a read-only interface.\nIt accumulates and processes data sent over UDP by multiple PHP processes and displays statistics in a nice human-readable form of simple "reports", also providing read-only interface to the raw data in order to make possible generation of more sophisticated reports.\nWith Pinba extension users also can measure particular parts of the code using timers with arbitrary tags.\nPinba is not a debugging tool in a common sense, since you're not supposed to do debugging on production servers, but its main goal is to help developers to locate bottlenecks in realtime and direct developers' attention to the code that really needs it.
Pinba
everzet's capifony at master - GitHub
everzet's capifony at master - GitHub
Capistrano is an open source tool for running scripts on multiple servers. It's primary use is for easily deploying applications. While it was built specifically for deploying Rails apps, it's pretty simple to customize it to deploy other types of applications. We've been working on creating a deployment "recipe" to work with symfony applications to make our job a lot easier.
everzet's capifony at master - GitHub
workspacemechanic - Project Hosting on Google Code
workspacemechanic - Project Hosting on Google Code
The Workspace Mechanic automates maintenance of your Eclipse environment by tweaking preferences, adding extension locations, and so on. You can use it to:\n\nCreate a consistent environment among groups as large as the entire company, your local team, or even among your own many workspaces\nSave time setting up new workspaces\nCreate tasks that ensure your favorite new preferences are applied to all your current and future workspaces. (This is one of our favorite features!)
workspacemechanic - Project Hosting on Google Code
lg's murder at master - GitHub
lg's murder at master - GitHub
Murder is a method of using Bittorrent to distribute files to a large amount of servers within a production environment. This allows for scaleable and fast deploys in environments of hundreds to tens of thousands of servers where centralized distribution systems wouldn't otherwise function. A "Murder" is normally used to refer to a flock of crows, which in this case applies to a bunch of servers doing something.
lg's murder at master - GitHub
pimcore.org - Zend Framework based Content Management Framework
pimcore.org - Zend Framework based Content Management Framework
Pimcore is a powerful and robust Zend Framework based PHP content management system (WCMS) for creating and managing digital content and assets licensed under the open-source BSD license. Besides being a full-featured open-source WCMS system, pimcore is the first and premier PHP open source enterprise product information management framework (PIM) available. This means true multi-channel publishing and integration into ecommerce systems like Magento and OXID eSales.Technologically pimcore is strictly based on the Zend Framework, the leading development framework for the PHP programming language used by 100s of companies such as Fox, IBM and bwin. Pimcore’s frontend GUI interface is 100% powered by the renown ExtJS Javascript library, which is used by companies such as Adobe, Amazon and Sony.You’ll see – an open-source and enterprise-ready content management system, powered by a strong technological fundament.
pimcore.org - Zend Framework based Content Management Framework
Threat Risk Modeling - OWASP
Threat Risk Modeling - OWASP
When you start a web application design, it is essential to apply threat risk modeling; otherwise you will squander resources, time, and money on useless controls that fail to focus on the real risks.The method used to assess risk is not nearly as important as actually performing a structured threat risk modeling. Microsoft notes that the single most important factor in their security improvement program was the corporate adoption of threat risk modeling.OWASP recommends Microsoft’s threat modeling process because it works well for addressing the unique challenges facing web application security and is simple to learn and adopt by designers, developers, code reviewers, and the quality assurance team.The following sections provide some overview information (or see Section 6.9, Further Reading, for additional resources).
Threat Risk Modeling - OWASP
snapshot.debian.org
snapshot.debian.org

The snapshot archive is a wayback machine that allows access to old packages based on dates and version numbers. It consists of all past and current packages the Debian archive provides.

The ability to install packages and view source code from any given date can be very helpful to developers and users. It provides a valuable resource for tracking down when regressions were introduced, or for providing a specific environment that a particular application may require to run. The snapshot archive is accessible like any normal apt repository, allowing it to be easily used by all.

snapshot.debian.org
scrumetlesproductowners [licensed for non-commercial use only] / FrontPage
scrumetlesproductowners [licensed for non-commercial use only] / FrontPage

L'objectif de ce Wiki est de créer de manière collaborative un livre blanc sur le Scrum Product Owner. Il existe très peu de documentation sur le rôle du Product Owner , et encore moins en français.

Tant dans mon métier de Coach que lors de mes interventions (surtout sur le web), je m'aperçois de la nécessité de clarifier Scrum et ses différents rôles. Scrum est une méthode gestion de projet agile ... disciplinée.

scrumetlesproductowners [licensed for non-commercial use only] / FrontPage
Vim - Blog de neolao
Vim - Blog de neolao

Ca fait un petit moment déjà que j'essaie de me créer un environnement de développement distant, c'est à dire que je me connecte sur une machine en ligne pour faire ce que j'ai à faire. C'est assez sympa d'utiliser le protocol NX, il marche bien en plus. Mais je me suis très vite trouné vers une solution entièrement sur un terminal. Je zappe tout ce qui est configuration de screen, mc, finch, irssi etc.. Je vais vous présenter ma personnalisation de vim, un éditeur de texte.

Vim - Blog de neolao
phpCallGraph - A Static Call Graph Generator for PHP
phpCallGraph - A Static Call Graph Generator for PHP

phpCallGraph is a tool to generate static call graphs for PHP source code. Such a graph visualizes the call dependencies among methods or functions of an application. Arrows represent calls from one method to another method. Classes are drawn as rectangles containing the respective methods. The graphs can be leveraged to gain a better understanding of large PHP applications or even to debunk design flaws in them. The example call graph on the right shows the main class of phpCallGraph itself and the internal dependencies among its methods. It is also possible to visualize calls to internal functions of PHP and to some extend call dependencies among different classes. Have a look at the example call graphs to get an impression.

The core of the call graph generator forms an object-oriented PHP5 library, which may also be integrated in other projects. It leverages the InstantSVC CodeAnalyzer and DOT. On top of it, a commandline application allows easy creation of call graphs in various formats, e.g. text, png, jpg or svg. phpCallGraph is free software licensed under GPLv3.

phpCallGraph - A Static Call Graph Generator for PHP
xtractr | Unleash the power of packets | pcapr
xtractr | Unleash the power of packets | pcapr

xtractr is a hybrid cloud application for indexing, searching, reporting, extracting and collaborating on pcaps. This enables you to rapidly identify field issues and perform network forensics and troubleshooting with just a few clicks. This lite version of xtractr can index up to 2.5 million packets or 250 Mbytes of pcaps. While xtractr can be used as a standalone application, it works best with Mu Studio to convert the problematic conversation into a stateful test case.

xtractr | Unleash the power of packets | pcapr
neo4j open source nosql graph database »
neo4j open source nosql graph database »

Neo4j is a graph database. It is an embedded, disk-based, fully transactional Java persistence engine that stores data structured in graphs rather than in tables. A graph (mathematical lingo for a network) is a flexible data structure that allows a more agile and rapid style of development. You can think of Neo4j as a high-performance graph engine with all the features of a mature and robust database. The programmer works with an object-oriented, flexible network structure rather than with strict and static tables — yet enjoys all the benefits of a fully transactional, enterprise-strength database.

neo4j open source nosql graph database »
High Scalability - High Scalability - Paper: High Performance Scalable Data Stores
High Scalability - High Scalability - Paper: High Performance Scalable Data Stores

The world of scalable databases is not a simple one. They come in every race, creed, and color. Rick Cattell has brought some harmony to that world by publishing High Performance Scalable Data Stores, a nicely detailed one stop shop paper comparing scalable databases soley on the content of their character. Ironically, the first step in that evaluation is dividing the world into four groups:

Key-value stores: Redis, Scalaris, Voldmort, and Riak. Document stores: Couch DB, MongoDB, and SimpleDB. Record stores: BigTable, HBase, HyperTable, and Cassandra. Scalable RDBMSs: MySQL Cluster, ScaleDB, Drizzle, and VoltDB. The paper describes each system and then compares them on the dimensions of Concurrency Control, Data Storage Replication, Transaction Model, General Comments, Maturity, K-hits, License Language.

High Scalability - High Scalability - Paper: High Performance Scalable Data Stores
High Availability Principle : Request Queueing « SaaS Interrupted.
High Availability Principle : Request Queueing « SaaS Interrupted.

Request Queuing allows your system to operate at optimal throughput.  In the above example : the optimal throughput was at 500 concurrency.  The concurrency at which optimal throughput is achieved is usually right below where exponential degradation starts to take place.  At all times the system was operating at this optimal throughput Your users only experience linear degradation versus exponential degradation. As shown in the diagram, with no request queueing your users and your system would have experienced exponential degradation after 500 requests.  Requests 0-500 take 1 second, 501-1000 takes 2 seconds, 1001-1500 take 3 seconds and so on – With Request queueing – the response times become linear Your system experiences NO degradation – This is worth repeating.  The system is always operating at an optimal throughput.  The only attribute that is dynamic is the queue size.  The system remains in the green zone as highlighted in the diagram.

High Availability Principle : Request Queueing « SaaS Interrupted.