Entries Tagged as 'Development'

Subversion + apache 2 (linux | debian)

#sudo aptitude install subversion libapache2-svn
The install should automatically enable the module.T
o check it:
#sudo a2enmod dav_svn
You need to configure Apache:
#sudo nano /etc/apache2/mods-enabled/dav_svn.conf
Edit the file:
<Location /svn>

  DAV svn
  SVNPath /home/svn

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  Require valid-user
</Location>
Change /home/svn to the location of your repository.
Create the location if you haven't:
#sudo mkdir /home/svn
#sudo svnadmin create /home/svn
Make Apache the owner of the repository: 
#sudo chown -R www-data /home/svn
To secure Subversion, do the following to create a password file:
#sudo htpasswd -cm /etc/apache2/dav_svn.passwd fred
Replace fred with username you want to use, and then when prompted enter a password.
Restart Apache:#sudo /etc/init.d/apache2 restart
It's done!
Try to access: http://yourserver/svn
 

Next Generation Disaster Communications Technology Now a Reality With LifeNet

Georgia Tech’s College of Computing today announced that a group of its students and their professor have been awarded a Sustainable Vision Grant from the National Collegiate Inventors and Innovators Alliance (NCIIA) to move LifeNet, a flexible ad hoc communications network, from the classroom into the marketplace. LifeNet allows one person to share network connectivity with others via their computer and is especially important for providing instant communications connectivity in post-disaster situations or in rural and developing areas. NCIIA Sustainable Vision Grant funds are awarded to education programs where breakthrough technologies are created and then commercialized for those people living in poverty in the US and abroad.

A lack of communication infrastructure is one of the major hurdles in responding to a disaster. LifeNet is a far-reaching, infrastructure-less wireless network that is formed out of consumer electronic devices such as laptops or smartphones. Each device acts as a host and a router, making a centralized governing body unnecessary. LifeNet offers a network that can grow incrementally by allowing any user to connect and disconnect from the network. The computers will stay connected as long as they are connected to at least one other device in the ad hoc network, thus creating a continuous flow of communication.

“Imagine the hours immediately following a disaster like the Haiti earthquake or even 9/11. Communication is the key to getting timely help which can ultimately save lives,” said Hrushikesh Mehendale, team leader for the student-led class project. “Connectivity requires infrastructure; but when it breaks down, we need an easy, affordable solution. We are grateful the NCIIA saw the potential implications for LifeNet in these situations and in developing countries.”

LifeNet is based on a new routing idea for highly transient networks first formulated by former student Ashwin Paranjpe and Professor Santosh Vempala two years ago, and developed into a usable solution by students in the College of Computing’s Computing for Good (C4G) class during fall 2009. The course is an educational movement that combines technology with activism. C4G centers on the concept of applying computing ideas to important societal problems via projects to improve quality of life where it is most needed. Many of today’s societal problems stem from a lack of information or a lack of resources, and LifeNet is one project that is starting to come to fruition.

The NCIIA, focused on taking university projects out of the classroom and into the market, awarded the team a $44,000 Sustainable Vision Grant, which is granted to social progress technologies with impact on people in poverty. Academics, venture capitalists and international development leaders choose the grant recipients. The NCIIA also requires winners to attend workshops to help make each project more marketable. At the workshop, teams learn how to build a business plan, financials, marketing and the art of the 30-second pitch. LifeNet was one of the projects chosen out of ten award winners to receive continued support and consultation from NCIIA.

“I was inspired by the team’s technology skills, but more so by their impactful, innovative ideas,” said Jennifer Jackson, NCIIA grants manager. “The team addressed this huge need with an entrepreneurial spirit. We are excited to see their progress and help make this technology a reality in the marketplace.”

Next for LifeNet is thorough testing and deployment. The NCIIA will help the team develop and create a nonprofit company to deliver the technology. Part of the team will travel to India to pilot the program and others are currently in talks with government agencies for the usefulness of the network in other areas. They will also attend a second conference later this month to further explore the science, business and technology opportunities of the project. A fully mature, reliable product is planned for June availability.

LifeNet Specifications

LifeNet, a flexible ad-hoc communications network, creates connectivity in remote, developing or disaster locations where communications is often unreliable or non-existent. It is an infrastructure-less, wireless network that can cover areas from a few hundred meters to a few kilometers in diameter and is formed out of consumer devices or nodes. Every node in the LifeNet network acts as a host and a router at the same time, making a centralized governing body unnecessary for operation. The network created by LifeNet can grow or decrease incrementally as users can connect or disconnect at their own will. Moreover, all devices across a LifeNet network can access the Internet if one device has connectivity. LifeNet is open source software using the free Wi-Fi spectrum and commodity Wi-Fi protocol for link layer communication and is a self-configuring Linux kernel module.

Experiments indicate that the system functions despite changes in topology and traffic, performance improves as the network scales up, and is easy to configure and maintain. Tests have been successful within a half-mile radius, even in urban settings with buildings, trees and other obstructions.
From Georgia Tech

Remove all .svn folders

Remove all .svn folders in a directory tree:

find . -name “.svn” -type d -exec rm -rf {} \;

Sikuli – Development using graphical user interfaces and images

Sikuli is a visual technology to search and automate graphical user interfaces (GUI) using images (screenshots). The first release of Sikuli contains Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily. Sikuli Script automates anything you see on the screen without internal API’s support. You can programmatically control a web page, a desktop application running on Windows/Linux/Mac OS X, or even an iphone application running in an emulator.

Sikuli is a research project developed by User Interface Design Group, MIT Computer Science and Artificial Intelligence Laboratory (CSAIL). Sikuli Script and Sikuli IDE are both released under the MIT License.

Read the press Picture-driven computing by MIT News office.

http://sikuli.org

sikuli-uist2009

SixthSense on TED from MIT

The Zen of Scrum

Software development: speeding from sketchpad to smooth code

Creating error-free software remains time consuming and labour intensive. A major European research effort has developed a system that speeds software development from the drawing board to high-quality, platform-independent code.

According to Piotr Habela, technical coordinator of the VIDE (for VIsualize all moDel drivEn programming) project, software developers have many good ideas about how to visualise, develop, debug and modify software, plus standards to guide them. The problem is that the design and development process has always been fragmented.

He explains that methods for visualising or flowcharting how a program should work do not lead directly to computer code.

Software written in one programming language may be difficult to translate into another. No matter how carefully programmers work, complex software almost always includes errors that are difficult to diagnose and fix. Because of the lack of precise links between a program’s features and the software that implements them, updating or modifying a program often turns out to be time-consuming and costly.

“What we attempted that was quite distinct,” says Habela, “was to make the development of executable software a single process, a single toolchain, rather than a sequence of separate activities.”

It took two-and-a-half years of intensive effort by VIDE’s ten academic and industrial research partners, funded by the European Union, but the result is a software design and development toolkit that promises to make creating well-functioning, easily-modified software – for example for small businesses – significantly smoother, faster, and less expensive.

Model driven architecture

A key part of VIDE’s approach was to build on the idea of Model Driven Architecture, a programming methodology developed by an international consortium, the Object Management Group.

The idea is that each stage of software development requires its own formal model. The VIDE team realised that by creating and linking those models in a rigorous way, they could automate many of the steps of software development.

A software developer might start by working with a domain expert – for example a business owner – to determine what a new program needs to do. Those inputs, outputs and procedures would be formalised in what is called a computation independent model (CIM), a model that does not specify what kinds of computation might be used to carry it out – it lays out what the program will do rather than how it will do it.

“Models are usually considered just documents,” says Habela. “Our goal was to make the models serve as production tools.”

In the case of VIDE, much of that modeling is visual, in the form of flowcharts and other diagrams that are intuitive enough for the domain expert to understand, but which are sufficiently formalised to serve as the inputs to the next stage of the software development process.

To carry out these first modeling steps, the researchers created a domain analysis tool and a programming language called VCLL, for VIDE CIM Level Language.

From CIM to PIM to program

Once they have produced a formal CIM of the program they want to implement, it’s time to move a step closer to a functioning program by translating it into a platform independent model, or PIM.

For the VIDE team, a PIM is a model that specifies precisely what a program needs to do, but at an abstract level that does not depend on any particular programming language.

The researchers developed several software tools to produce a usable, error-free PIM. These include an executable modelling language and environment, a defect-detection tool, and finally a program that translates their final model into an executable Java program.

Luckily, the researchers did not have to build their system from the ground up. They were able to rely to a large extent on a pre-existing modeling language called UML, for Unified Modeling Language. UML provides a systematic way to visualise and describe a software system.

“We now have a kind of prototyping capability built into the development process,” says Habela. “You can design a model, specify its behavioural details, run it with sample data to see how it behaves, and then check with the domain expert to see if it is in fact the behaviour they expected.”

Several of the consortium members are implementing the VIDE toolkit in specific areas, for example web services, database management, and a variety of business processes.

Habela cautions that reaching VIDE’s goal of smoothly automating the entire software design and development process requires more work. Because of the broad scope of the project and the fundamental changes they are making, they are not yet ready to deploy the complete system.

However, he says, they have gone a long way towards clearing up “the muddy path from requirements to design.”

The VIDE project received funding from the ICT strand of the EU’s Sixth Framework Programme for research.

From ICT Results

Innovation and Economic Development

by J. Fagerberg, M. Srholec & B. Verspagen

[abstract]

Is innovation important for development? And if so, how? One popular perception of innovation, that one meets in media every day, is that has to do with developing brand new, advanced solutions for sophisticated, well-off customers, through exploitation of the most recent advances in knowledge. Such innovation is normally seen as carried out by highly educated labour in R&D intensive companies, being large or small, with strong ties to leading centers of excellence in the scientific world. Hence innovation in this sense is a typical “first world” activity. There is, however, another way to look at innovation that goes significantly beyond the high-tech picture just described. In this broader perspective, innovation – the attempt to try out new or improved products, processes or ways to do things – is an aspect of most if not all economic activities. It includes not only technologically new products and processes but also improvements in areas such as logistics, distribution and marketing. The term may also be used for changes that are new to the local context, even if the contribution to the global knowledge frontier is negligible. In this broader sense, it is argued, innovation may be as relevant in the developing part of the world as elsewhere. The paper surveys the existing literature on the subject with a strong emphasis on recent evidence on the macro and – in particular – micro level.

UNU-MERIT Working Papers ISSN 1871-9872
http://www.merit.unu.edu/publications/wppdf/2009/wp2009-032.pdf