Entries Tagged as ''

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

Only variables should be passed by reference – php end()

See : http://bugs.php.net/bug.php?id=48937

If you’re using something like this:

$itemsArray[]= end(explode('/',$item));

change to this:
$parts = explode('/',$item);
$itemsArray[]= end($parts);
This is a PHP "type juggling" issue
http://php.net/manual/de/language.types.type-juggling.php

solution ex:

$nomeArq = explode(".", $arquivo["name"]);
$extArq[]= end($nomeArq);

$sql = "INSERT INTO public.arquivo
(
arqnome,
arqextensao,
arqdescricao,
arqtipo,
arqtamanho,
arqdata,
arqhora,
usucpf,
sisid
)VALUES(
'".current(explode(".", $arquivo["name"]))."',
'".$extArq[0]."',
'".$dados["arqdescricao"]."',
'".$arquivo["type"]."',
'".$arquivo["size"]."',
'".date('d/m/Y')."',
'".date('H:i:s')."',
'".$_SESSION["usucpf"]."',
". $_SESSION["sisid"] ."
) RETURNING arqid;";
$arqid = $db->pegaUm($sql)

Researchers to Spotlight Darknets at Black Hat

By Robert Vamosi, PC World

In one of the first talks at this year’s Black Hat USA, Billy Hoffman and Matt Wood, both security researchers at HP, plan to demonstrate a darknet designed to run entirely within a browser.

Darknets, which allow decentralized, private peer-to-peer communications between clients, are not new; they are currently used in academic environments to share data among researchers. WASTE are two examples of desktop darknets. But Hoffman and Wood said both require configuration beyond the average user. For the last six months, they have been simplifying the process.

What Hoffman and Wood are showing at Black Hat is Veiled, a proof of concept browser. Using newer browsers–Internet Explorer 8, FireFox 3.5, Opera, Chrome, Safari, even the PS3 browser–all of which support javascript and HTML 5–Wood was able to build what previously existed only in a desktop application.

Darknets afford distinct advantages such as distributing content among all participants. Because of built-in redundancy, publishing to the darknet is resilient. Wood said if any client drops off and comes back, they’ll be able to recreate lost content. When you close your browser you are removed from the darknet. When the last member leaves, the darknet, and all its content, disappears except for a few encrypted bits in the browser.

Among the cool features of the Veiled browser is Web-in-Web, which allows darknet users to create their own private Web pages with links to content only available within the darknet itself. Darknets enjoy zero footprints and can’t be viewed by the greater Internet. For example, they would be perfect for protesters documenting an oppressive government, or students forbidden to post about teachers on FaceBook or MySpace.

“We want to lower the barriers so that people can use technology in ways never intended,” said Hoffman, who sees darkents as a freedom of expression issue as well as a creative issue. Hoffman noted how Web hosting started around 2001 with sites like GeoCities, but that it took social networks, like FaceBook, before the average person could a Web page quickly, and upload pictures relatively easy.

Given the chance, who knows how people will use darknets, said Hoffman. But don’t look for cool applications from the talk. “Matt and I aren’t smart enough to come up with cool applications.”

In fact, the two aren’t releasing Veiled or any code at Black Hat. Hoffman said they only want to share details and show what can be done. “There is some secret sauce,” Hoffman admitted, but by the end of the talk anyone with passing knowledge of Web technology should be able to walk out and create one.

Hoffman said mainstream security people are only now understanding that Web security is not a toy. “There are some serious things they should be paying attention to,” such as the fact the Chrome browser has its own task manager. “They just don’t understand how powerful browsers are today.”

Robert Vamosi is a freelance computer security writer specializing in covering criminal hackers and malware threats.

Tim Berners-Lee calls for free web

Internet technology leaders dominate recent poll of most influential technologists. By Asavin Wattanajantra From ITPro

The ‘father’ of the web, Sir Tim Berners-Lee was today revealed as the most influential person in technology from the last 150 years, following a vote by a panel comprised of experts, including academics, journalists and independent third parties.

Berners-Lee won out because of his impact on society and ground-breaking technology, according to Intel who organised the panel event to ascertain the 45 most influential individuals in technology.

He was followed at two and three by Sergey Brin and Larry Page respectively, the co-founders of Google. Guglielmo Marconi, inventor if the radiotelegraph system and Jack Kilby, the man behind the integrated circuit and calculator were awarded fourth and fifth place respectively in the roll call of honours.

“It was a very difficult task to rate so many excellent candidates and there was a very lively debate amongst the panel,” said chair of the judging event, Professor Clive Holtham of Cass Business School.

“I think all the judges had a personal favourite who they wanted to see higher up the list. I was backing Douglas Englebart, whose groundbreaking inventions influenced the whole of office automation, although Sir Tim Berners-Lee is a worthy winner.”

The results of the poll showed that computing and the internet are now the driving forces behind industry success, with the top three names being involved with web-based technologies and the founders of Intel (Gordon Moore, co-founder of Intel, at number six and Robert Noyce, also co-founder of Intel, at number eight) and IBM’s Don Estridge, who led development of the IBM computer, making the top 10.

“It’s fitting that the people who have influenced the internet turn up in the top three of the list,” Sean Maloney, Intel’s executive vice president. “This emphasises the way the world is heading and that the internet is our industry’s demand driver.”

The judging panel started off with a shortlist of 69 individuals, but Richard Branson, Charles Dunstone and Trevor Bayliss were given the chop by the panel in favour of Dennis Ritchie (who created the C programming language), Don Estridge and Jack Kilby (inventor of the microchip). Douglas Engelbart, who created the computer mouse, was also added to the shortlist, bringing the list of individuals to be judged to a total of 70.

Judges cast their votes on a scale of one to 10 using criteria of innovation, ground-breaking technology, industry success, impact on society and influence.

The 45 most influential people in technology

1.Tim Berners-Lee

2.Sergey Brin

3.Larry Page

4.Guglielmo Marconi

5.Jack Kilby

6.Gordon Moore

7.Alan Turing

8.Robert Noyce

9.William Shockley

10.Don Estridge

11.Doug Engelbert

12.Robert Metcalfe

13.Vint Cerf

14.Steve Jobs

15.Andrew Grove

16.Seymour Cray

17.Pierre Omidyar

18.Shawn Fanning

19.Dennis Ritchie

20.Ted Hoff

21.Linus Torvalds

22.Shuji Nakamura

23.Dave Packard

24.Jean Hoerni

25.William Hewlett

26.John Logie Baird

27.George Boole

28.Martin Cooper

29.John Pinkerton

30.Grace Hopper

31.Bill Gates

32.Herman Hollerith

33.Thomas Watson

34.Jeff Bezos

35.Meg Whitman

36.Ada Lovelace

37.Nolan Bushnell

38.Claude Shannon

39.Charles Babbage

40.John Chambers

41.Philo Farnsworth

42.Steve Wozniak

43.Larry Ellison

44.Michael Dell

45.Maurice Wilkes

English country names and code elements (ISO 3166)

This list states the country names (official short names in English) in alphabetical order as given in ISO 3166-1 and the corresponding ISO 3166-1-alpha-2 code elements.
This list is updated whenever a change to the official code list in ISO 3166-1 is effected by the ISO 3166/MA.
It lists 246 official short names and code elements.

Country names ISO 3166-1-alpha-2 code
A
AFGHANISTAN AF
ÅLAND ISLANDS AX
ALBANIA AL
ALGERIA DZ
AMERICAN SAMOA AS
ANDORRA AD
ANGOLA AO
ANGUILLA AI
ANTARCTICA AQ
ANTIGUA AND BARBUDA AG
ARGENTINA AR
ARMENIA AM
ARUBA AW
AUSTRALIA AU
AUSTRIA AT
AZERBAIJAN AZ
B
BAHAMAS BS
BAHRAIN BH
BANGLADESH BD
BARBADOS BB
BELARUS BY
BELGIUM BE
BELIZE BZ
BENIN BJ
BERMUDA BM
BHUTAN BT
BOLIVIA, PLURINATIONAL STATE OF BO
BOSNIA AND HERZEGOVINA BA
BOTSWANA BW
BOUVET ISLAND BV
BRAZIL BR
BRITISH INDIAN OCEAN TERRITORY IO
BRUNEI DARUSSALAM BN
BULGARIA BG
BURKINA FASO BF
BURUNDI BI
C
CAMBODIA KH
CAMEROON CM
CANADA CA
CAPE VERDE CV
CAYMAN ISLANDS KY
CENTRAL AFRICAN REPUBLIC CF
CHAD TD
CHILE CL
CHINA CN
CHRISTMAS ISLAND CX
COCOS (KEELING) ISLANDS CC
COLOMBIA CO
COMOROS KM
CONGO CG
CONGO, THE DEMOCRATIC REPUBLIC OF THE CD
COOK ISLANDS CK
COSTA RICA CR
CÔTE D’IVOIRE CI
CROATIA HR
CUBA CU
CYPRUS CY
CZECH REPUBLIC CZ
D
DENMARK DK
DJIBOUTI DJ
DOMINICA DM
DOMINICAN REPUBLIC DO
E
ECUADOR EC
EGYPT EG
EL SALVADOR SV
EQUATORIAL GUINEA GQ
ERITREA ER
ESTONIA EE
ETHIOPIA ET
F
FALKLAND ISLANDS (MALVINAS) FK
FAROE ISLANDS FO
FIJI FJ
FINLAND FI
FRANCE FR
FRENCH GUIANA GF
FRENCH POLYNESIA PF
FRENCH SOUTHERN TERRITORIES TF
G
GABON GA
GAMBIA GM
GEORGIA GE
GERMANY DE
GHANA GH
GIBRALTAR GI
GREECE GR
GREENLAND GL
GRENADA GD
GUADELOUPE GP
GUAM GU
GUATEMALA GT
GUERNSEY GG
GUINEA GN
GUINEA-BISSAU GW
GUYANA GY
H
HAITI HT
HEARD ISLAND AND MCDONALD ISLANDS HM
HOLY SEE (VATICAN CITY STATE) VA
HONDURAS HN
HONG KONG HK
HUNGARY HU
I
ICELAND IS
INDIA IN
INDONESIA ID
IRAN, ISLAMIC REPUBLIC OF IR
IRAQ IQ
IRELAND IE
ISLE OF MAN IM
ISRAEL IL
ITALY IT
J
JAMAICA JM
JAPAN JP
JERSEY JE
JORDAN JO
K
KAZAKHSTAN KZ
KENYA KE
KIRIBATI KI
KOREA, DEMOCRATIC PEOPLE’S REPUBLIC OF KP
KOREA, REPUBLIC OF KR
KUWAIT KW
KYRGYZSTAN KG
L
LAO PEOPLE’S DEMOCRATIC REPUBLIC LA
LATVIA LV
LEBANON LB
LESOTHO LS
LIBERIA LR
LIBYAN ARAB JAMAHIRIYA LY
LIECHTENSTEIN LI
LITHUANIA LT
LUXEMBOURG LU
M
MACAO MO
MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF MK
MADAGASCAR MG
MALAWI MW
MALAYSIA MY
MALDIVES MV
MALI ML
MALTA MT
MARSHALL ISLANDS MH
MARTINIQUE MQ
MAURITANIA MR
MAURITIUS MU
MAYOTTE YT
MEXICO MX
MICRONESIA, FEDERATED STATES OF FM
MOLDOVA, REPUBLIC OF MD
MONACO MC
MONGOLIA MN
MONTENEGRO ME
MONTSERRAT MS
MOROCCO MA
MOZAMBIQUE MZ
MYANMAR MM
N
NAMIBIA NA
NAURU NR
NEPAL NP
NETHERLANDS NL
NETHERLANDS ANTILLES AN
NEW CALEDONIA NC
NEW ZEALAND NZ
NICARAGUA NI
NIGER NE
NIGERIA NG
NIUE NU
NORFOLK ISLAND NF
NORTHERN MARIANA ISLANDS MP
NORWAY NO
O
OMAN OM
P
PAKISTAN PK
PALAU PW
PALESTINIAN TERRITORY, OCCUPIED PS
PANAMA PA
PAPUA NEW GUINEA PG
PARAGUAY PY
PERU PE
PHILIPPINES PH
PITCAIRN PN
POLAND PL
PORTUGAL PT
PUERTO RICO PR
Q
QATAR QA
R
RÉUNION RE
ROMANIA RO
RUSSIAN FEDERATION RU
RWANDA RW
S
SAINT BARTHÉLEMY BL
SAINT HELENA SH
SAINT KITTS AND NEVIS KN
SAINT LUCIA LC
SAINT MARTIN MF
SAINT PIERRE AND MIQUELON PM
SAINT VINCENT AND THE GRENADINES VC
SAMOA WS
SAN MARINO SM
SAO TOME AND PRINCIPE ST
SAUDI ARABIA SA
SENEGAL SN
SERBIA RS
SEYCHELLES SC
SIERRA LEONE SL
SINGAPORE SG
SLOVAKIA SK
SLOVENIA SI
SOLOMON ISLANDS SB
SOMALIA SO
SOUTH AFRICA ZA
SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS GS
SPAIN ES
SRI LANKA LK
SUDAN SD
SURINAME SR
SVALBARD AND JAN MAYEN SJ
SWAZILAND SZ
SWEDEN SE
SWITZERLAND CH
SYRIAN ARAB REPUBLIC SY
T
TAIWAN, PROVINCE OF CHINA TW
TAJIKISTAN TJ
TANZANIA, UNITED REPUBLIC OF TZ
THAILAND TH
TIMOR-LESTE TL
TOGO TG
TOKELAU TK
TONGA TO
TRINIDAD AND TOBAGO TT
TUNISIA TN
TURKEY TR
TURKMENISTAN TM
TURKS AND CAICOS ISLANDS TC
TUVALU TV
U
UGANDA UG
UKRAINE UA
UNITED ARAB EMIRATES AE
UNITED KINGDOM GB
UNITED STATES US
UNITED STATES MINOR OUTLYING ISLANDS UM
URUGUAY UY
UZBEKISTAN UZ
V
VANUATU VU
VATICAN CITY STATE see HOLY SEE
VENEZUELA, BOLIVARIAN REPUBLIC OF VE
VIET NAM VN
VIRGIN ISLANDS, BRITISH VG
VIRGIN ISLANDS, U.S. VI
W
WALLIS AND FUTUNA WF
WESTERN SAHARA EH
Y
YEMEN YE
Z
ZAMBIA ZM
ZIMBABWE ZW

From iso.org

Learning English

http://www.bbc.co.uk/worldservice/learningenglish/
http://www.youtube.com/user/JenniferESL
http://esl.about.com/
http://www.businessenglishpod.com/category/esl-podcast/
http://www.livemocha.com

Clearing or Resetting the Gnome-Keyring

Command Line Version

rm ~/.gnome2/keyrings/default.
keyring (or login.keyring)

GUI Version

Navigate to Places > Home.  Press ctrl-h for "hidden files".  Navigate to .gnome2 > keyrings.  Delete default.
keyring
file
(or login.keyring).