Saturday, January 5, 2013

The Texas Software Product Development Project

The Texas Software Product Development Project focuses attention on those aspects of software development that are necessary for creating useful products.  Software reliability is a topic with enough complexity to warrant its own project, The Texas Software Reliability Project .

Developing a quality software product requires some understanding of quality code.  My blog post entitled Big Ball of Mud discusses code quality.

In addition to software reliability and software quality, other key aspects of software product development include:  (1) product definition, which can depend on creativity, innovation, and market research; (2) design, which has many aspects and many levels of design; (3) planning, which includes schedule, budget, and staffing; (4) execution, which includes many aspects of coding and project management; (5) testing and integration, and (5) deployment, which includes customer delivery and acceptance.

Developing software products that work, that customers want, that please customers is difficult.  The more complex the product, the harder the task becomes.  It is not enough to throw a lot of smart people at a problem.  Every time a software project fails to deliver a successful software product, money is lost and our economy is hurt.

There is a lot of money being made with successful software products.  The purpose of the Texas Software Product Development Project is to increase wealth in Texas by bringing attention to those aspects of software development that can make or break a product.


This post is part of the The Texas Software Initiative.



Robert

Friday, January 4, 2013

The Texas Young Programmers Project

Computer programming is not for everyone.  I know engineers who were required to take a computer programming course in college, did not like it, and never programmed at work.  Still, programming is an activity that some young people can do very well.  Because young people in their late teens and early twenties can create significant software products and impact the national economy, we should provide assistance to young programmers.  The Texas Young Programmers Project is an effort to help young people with their efforts to learn programming, and to encourage them in their endeavors.

Indie Game: The Movie is a documentary that shares the experiences of young adults developing independent computer games.  This documentary is available for streaming on Netflix.  It is a fascinating show, but cannot be thought of as representative of how young programmers develop.  Still, computer games are an application that can appeal to young programmers.

If you lack "domain knowledge," you cannot as a programmer solve problems with software.  The Achilles heal of software development is that programmers need problems presented to them that can be solved with computer programming.  Without domain knowledge, programmers either learn more programming minutia, or learn new languages, or write computer games.  Young people need help in for form of challenging problems for their coding skills.

The University of Texas, Pan American, held a computer programming contest for high school students in February 2012.  The students had a choice of coding in C/C++ or Java in this contest.  The University of Texas, Austin, is holding a programming contest in February 2013.  The contest is by invitation only and the coding is required to be in Java.  Trinity University in San Antonio hosted a programming contest in Java for San Antonio high schools in April 2012.  Java appears to be the language of choice for high school programming.  The University Interscholastic League (UIL) also hosts computer programming contests.  Google hosts a contest for students aged 13 to 17 called Google Code-In.  The grand prize is a trip to Google headquarters in Mountain View, California.  Google Code Jam is for older students.

The Association for Computing Machinery (ACM) hosts the ACM International Collegiate Programming Contest for college students.  Here is a link to a PowerPoint presentation from Dr. Ivor Page, UT Dallas, on participation in this contest:  www.utdallas.edu/~ivor/ECSHonsTalka.pptx

There are programming challenges available for our young people.  They just need to get connected to the programming contests and to get advice on how to learn programming.  I have started a blog, Canright on Software and Programming, to help.  If you choose to help young people learn programming, then you too are participating in the The Texas Young Programmers Project.

This post is part of the The Texas Software Initiative.

Robert



Thursday, January 3, 2013

The Texas Software Reliability Project

The Texas Institute for Software Reliability

It is difficult to complete complex software products on schedule and within budget.  Having the software product also perform flawlessly is almost beyond imagination.  The performance goal for new software is usually to achieve adequate performance, so it takes time for users to discover the flaws in the software.  It is common in the software industry to ship a product with a known list of bugs.  This leads to a cavalier attitude towards software reliability, which is beginning to wreak havoc in the financial industry.

On August 1, 2012, a glitch in new software at Knight Capital led to $440 million in trading losses, pushing the company to the brink of bankruptcy, and forcing it to sell itself in order to stay open for business.  On March 23, 2012, the new stock exchange operator BATS Global Markets tried to list its own IPO on its new stock exchange, but a software glitch crashed the exchange.  The BATS IPO stock price sunk from $16 per share to 4 cents per share and the IPO was cancelled.  The IPO did not happen during the remainder of 2012 and terms like "epic failure" and "worst IPO nightmare of all time" were used to describe the failure.  Software reliability can have a major impact on economic development.

Software reliability is a huge, multifaceted topic.  Software reliability is intimately related to software quality, software requirements, software design, software testing, and software correctness.  All facets of software development that contribute to reliable software, including accurate design of concurrent and distributed systems, should be of interest to businesses, schools, and professionals working in software in Texas.

The Kestrel Institute in Palo Alto, California is a research center working on provably correct code.  We should have a center in Texas dedicated to issues related to software reliability. A Texas Institute for Software Reliability could be a virtual institution, comprised of researchers at many universities and companies, linked together by a website and servers.

We are in a competitive world.  A Texas Institute for Software Reliability could help us compete.  The Texas Software Reliability Project encompasses all efforts in Texas to promote reliable software.

This post is part of The Texas Software Initiative.

Robert

The Texas Software Initiative

The Texas Software Initiative

Software is big business.  The people of Texas should have a goal to promote software development and software education in Texas as part of economic development in the state of Texas.  To that end I am suggesting a number of projects that can contribute to software development and economic growth.

Here is a list of projects that can be a part of the Texas Software Initiative:
  1. The Bank in a Box Project
  2. The Business in a Box Project
  3. The Texas Young Programmers Project
  4. The Texas Software Product Development Project
  5. The Texas Software Reliability Project
  6. The Texas Open Source Software Project
  7. The Special Methods Software Project
I will add details to these projects as time permits.

Robert

Additionally, these posts are part of the Texas Software Initiative
Video Games are Big Business  Saturday, February 23, 2013

Sunday, December 2, 2012

Pitfall in the Path to Unlimited Growth

The Pitfall

In an earlier post I had described a way to achieve unlimited economic growth without population growth.  We can achieve unlimited economic growth only through an electronic economy.  There will be limits to the number of people this world can support.  There will be limits to the number of material products this world can produce.  Numbers in electronic ledgers can grow without bound.  So money in electronic ledgers can grow without bound.   A problem with an electronic economy is the reliance on energy.  The New York Times, on Sunday September 23, 2012, ran an excellent article on the energy needs of cloud computing:  Power, Pollution, and the Internet by James Glanz.  You can Google it and read it on the internet or read the real newspaper, pages A1, A20 and A21.

We might run into a serious energy crisis.  We might run out of oil some day.  The documentary named Collapse with Michael Ruppert as narrator proposes that the rapid growth of prosperity following the industrial revolution was due to the exploitation of cheap energy, such as coal and oil.  Yes, a modern industrial society needs dependable energy supplies.  The arguments by Cleon Skousen in his book The 5000 Year Leap attribute the economic growth during this time frame to political advancements.  I think perhaps economic elements might have been a bigger influence over financial growth than political elements.  The difference in viewpoints matters because some people believe that capitalism will lead to democracy in mainland China.  Although morality matters in economic development, the dependence is tenuous and difficult to use in an instrumental fashion.

Economic Planning and Quantum Computing

We need to find ways to use energy more efficiently when powering cloud computing.  Cloud computing is server farms, large numbers of computers and databases.  Quantum computing is a topic for scientific research.  There is a belief that quantum computing will be more energy efficient than conventional computing.  It is very important that quantum computing is developed so it is more energy efficient than conventional computing.  It is also important that databases and memory devices keep up with quantum computing, including energy efficiency.

Robert Canright

Related Posts:
How to Win a Nobel Prize in Economics (Part 1): Economic Growth without Growth  August 23, 2008

Economic Growth Without Population Increase  April 8, 2012

Saturday, September 15, 2012

Bank in a Box Software Project

Years ago I suggested that Texas should be a financial center.  If it were easier to start a bank, we might start more banks in Texas, some of which could grow to become strong banks.  Strong banks will increase prosperity in Texas.  A set of readily available software systems, a bank in a box, could make it easier to start a bank.  The term bank-in-a-box has been around for a long time.  I propose a well organized, well designed and documented open source bank-in-a-box project would be a great benefit to Texas and America.

The variations in banking are wide.  At the large end, the U.S. government or the Federal Reserve should be able to use the bank-in-a-box software set to immediately open new banks to loan money to businesses in order to keep the economy operating when large numbers of banks freeze loaning during a banking crisis, as happened in the 2008 meltdown.  The Federal Reserve poured money into existing banks, which was a waste of money because the banks sat on the money and did not loan it.  The American economy had a heart attack when the money quit flowing.  The Fed did everything it could think of except open banks for direct loans to businesses.

In good times the U.S. Government could practice emergency bank-in-a-box deployment the same way city and state governments practice for emergencies.  I believe it would be possible, with practice, to go from zero to granting loans within a week.

At the small end of the spectrum, individuals who are fed up with high banking fees and poor service should be able to start their own personal banks.  Individuals should be able to accept direct deposit, make electronic payments, and use their own debit card through a clearing house.  Some people are already doing this as described in the Wall Street Journal article, "Footnote to Financial Crisis: More People Shun the Bank" by Gary Fields and Maya Jackson-Randall, September 12, 2012, page A1.

Open Source Software

Long term development of a bank-in-a-box software set is well suited for open source software development.  Large collaborative efforts like the GNU/Linux operating system have been very successful.  A bank-in-a-box software project would benefit from collaborative development.

The main sources of Open Source Software are Sourceforge and Github.  The user interface for Sourceforge is more intuitive.  I will caution the reader that if you are not familiar with the Git system for source code management, then Github will be have a steeper learning curve if you plan to actually download software.  There is no real activity on Github for banking at this time, so that is not a a problem.

You can easily browse both websites to see what is available for banking.  Sourceforge reports that the software project called Bank management system has (at this time) an average of 42 downloads per week.  The project is described as a simple example for bank system with different operations.  This sounds like a learning tool, but is a good starting point for exploring banking sofware.  There are other banking projects that seem to lack popularity.

The most popular banking software on Sourceforge is Gnucash, a personal and small-business finance manager.  It reports 16,805 weekly downloads.  Gnucash has a check-book like register GUI to enter and track bank accounts, stocks, income and expenses. GnuCash is designed to be simple and easy to use but still based on formal accounting principles.  This looks interesting on a personal level, but is not a bank-in-a-box.

There is a company called MyBanco that has an open source software solution.  This looks promising.  They appear to be ready for business in America and Australia.

Open source bank-in-a-box software should be a priority for the people of Texas.  A bank-in-a-box software project would strengthen banking and improve software development in Texas.  A bank-in-a-box software project could improve the prosperity of Texas.  Any state would benefit from starting or participating in a bank-in-a-box project.

Robert Canright

The Bank in a Box Software Project is part of the Texas Software Initiative

Thursday, August 9, 2012

Global Surplus Capital

In a previous article I had referred to "the problem of too much money existing for the present state of the world economy."  This is not a subject you hear being discussed.  You see evidence of it by interpreting reports such as the following.

The article, "Denmark Moves to Drop Deposit Rate Below Zero," by Flemming Emil Hansen and John Stoll in the Wall Street Journal, Friday July 6, 2012, page A7, says that depositors "now face paying for the right to park their money in the central bank....Nationalbanken lowered its deposit rate to negative 0.2% from 0.05%"  This says the national bank of Denmark has more money than it can use, it does not want deposits.  Money exceeds investment opportunities, there is a surplus of capital.

The article, "Google Googles for Yield, Finds Auto Bonds" by Katy Burne, Wall Street Journal, Tuesday August 7, 2012, pages C1 and C3, says Google "has found a new place to park some of its $40 billion cash hoard: bonds backed by car loans."  Remember how collateralized debt obligations crippled the banking industry and plunged the world into recession?  Bonds backed by auto loans are not that much different than loans backed by home loans.

The article "The Bonds, They Are A-Changin'" by Liz Moyer and Al Yoon, Wall Street Journal, Wednesday August 8, 2012, page C4, says that Sesac, "A privately held Nashville, Tenn., company is preparing a $300 million bond backed by the cut it receives as a middleman between music companies and songwriters and the outlets that broadcast their music."  Goldman Sachs is preparing this bond offering.  The article mentions three other bonds backed by revenues.

Investment money is not going into new business creation that would produce employment.  Unemployment is keeping us all in a recession.  We cannot solve a problem we do not recognize.  It is time for us to discuss the problem of global surplus capital and the related problem of inadequate business creation.

The independent intellectual Judge Richard Posner has mentioned "the emergence of a global capital surplus," on page 20 of his book, A Failure of Capitalism.  The alternative press has mentioned it.  The Monthly Review, an independent socialist magazine, in its May 2012 issue published the article "The Endless Crisis" by John Bellamy Foster and Robert W. McChesney, which says,  "...more and more surplus capital tended to accumulate actually and potentially within the giant firms and in the hands of wealthy investors, who were unable to find profitable investment outlets sufficient to absorb all of the investment-seeking surplus."  But these articles do not mention the problem of inadequate business creation.

If we face the problems of inadequate business creation and lack of investment in new business, then we can get out of our recession.

Robert Canright

This article is part of the New Business Project of the Texas Ascendant Campaign.
I also wrote the article Excess Global Capital on October 15, 2017

PS:  the term capital surplus is an accounting term, which is why I use the term "global surplus capital."
Also, the article "The Endless Crisis," does quote the book The Great Stagnation by Tyler Cowen as saying, "Even before the financial crisis came along, there was no new net job creation in the last decade."  But I don't see a discussion of new business creation in the article "The Endless Crisis."