Monday, October 18, 2010

More is too more

In 1946 only one programmable electronic computer existed in the entire world. A few years later dozens existed; by the 1960s, hundreds. These computers were still so fearsomely expensive that developers worked hard to minimize the resources their programs consumed. Though the microprocessor caused the price of compute cycles to plummet, individual processors still cost many dollars. By the 1990s, companies such as Microchip and Zilog were already selling complete microcontrollers for sub-dollar prices. For the first time most embedded applications could cost-effectively exploit partitioning into multiple CPUs. However, few developers actually do this; the non-linear schedule/LoC curve is nearly unknown in embedded circles. Today's cheap transistor-rich ASICs coupled with tiny 32-bit processors...

Some Other benefits

Smaller systems contain fewer bugs, of course, but they also tend to have a much lower defect rate. A recent study by Chu, Yang, Chelf, and Hallem evaluated Linux version 2.4.9 In this released and presumably debugged code, an automatic static code checker identified many hundreds of mistakes. Error rates for big functions were two to six times higher than for smaller routines. Partition to accelerate the schedule, and ship a higher quality product. NIST (the National Institute of Standards and Technology) found that poor testing accounts for some $22 billion in software failures each year.10 Testing is hard; as programs grow the number of execution paths explodes. Robert Glass estimates that for each 25% increase in program size, the program complexity—represented by paths created by function...

The superprogrammer effect

Developers come in all sorts of flavors, from somewhat competent plodders to miracle workers who effortlessly create beautiful code in minutes. Management's challenge is to recognize the superprogrammers and use them efficiently. Few bosses do; the best programmers get lumped with relative dullards to the detriment of the entire team.Big projects wear down the superstars. Their glazed eyes reflect the meeting and paperwork burden; their creativity is thwarted by endless discussions and memos. The moral is clear and critically important: wise managers put their very best people on the small sections partitioned off of the huge project. Divide your system over many CPUs and let the superprogrammers attack the smallest chunks. Though most developers view themselves as superprogrammers, competency...

Reduce NRE, save big bucks

Hardware designers will shriek when you propose adding processors just to accelerate the software schedule. Though they know transistors have little or no cost, the EE zeitgeist is to always minimize the bill of materials. Yet since the dawn of the microprocessor age, it has been routine to add parts just to simplify the code. No one today would consider building a software UART, though it's quite easy to do and wasn't terribly uncommon decades ago. Implement asynchronous serial I/O in code and the structure of the entire program revolves around the software UART's peculiar timing requirements. Consequently, the code becomes a nightmare. So today we add a hardware UART without complaint. The same can be said about timers, pulse-width modulators, and more. The hardware and software interact...

Cheating the schedule's exponential growth

The upper curve in Figure 3 is the COCOMO schedule; the lower one assumes we're building systems at the 20-KLoC/program productivity level. The schedule, and hence costs, grow linearly with increasing program size. But how can we operate at these constant levels of productivity when programs exceed 20 KLoC? The answer: by partitioning! And by understanding the implications of Brook's Law and DeMarco and Lister's study. The data is stark: if we don't compartmentalize the project, divide it into small chunks that can be created by tiny teams working more or less in isolation, schedules will balloon exponentially. Professionals look for ways to maximize their effectiveness. As professional software engineers we have a responsibility to find new partitioning schemes. Currently 70 to 80% of a product's...

The productivity collapse

(Most developers rebel at this point. "I can crank out a thousand lines of code over the weekend!" And no doubt that's true. However, these numbers reflect costs over the entire development cycle, from inception to shipping. Maybe you are a superprogrammer and consistently code much faster than, say, 200 lines of code per month. Even so, that only shifts the curve up or down on the graph. The shape of the curve, the exponential loss of productivity, is undeniable.) Computer science professors show their classes graphs like the one in Figure 2 to terrify their students. The numbers are indeed scary. A million LoC project sentences us to the 32 LoC/month chain gang. We can whip out a small system over the weekend but big ones take years. Or do th...

COCOMO

Barry Boehm, the father of software estimation, derived what he calls the Constructive Cost Model, or COCOMO, for determining the cost of software projects.5 Though far from perfect, COCOMO is predictive, quantitative, and probably the most well-established model extant. Boehm defines three different development modes: organic, semidetached, and embedded, where "embedded" means a software project built under tight constraints in a complex of hardware, software, and sometimes regulations. Though he wasn't thinking of firmware as we know it, this is a pretty good description of a typical embedded system. Under COCOMO the number of man-months (MM) required to deliver a system developed in the "embedded"where KSLoC is the number of lines of source code in thousands, and Fi are 15 different cost...

Correlating interruptions with productivity

The results? The top 25% were 260% more productive than the bottom quartile! The lesson here is that interruptions kill software productivity, mirroring Joel Aron's results. Other work has shown it takes the typical developer 15 minutes to get into a state of "flow," where furiously typing fingers create a wide-bandwidth link between the programmer's brain and the computer. Disturb that concentration with an interruption and the link fails. It takes 15 minutes to rebuild that link but, on average, developers are interrupted every 11 minutes.4 Interruptions are the scourge of big projects. A maxim of software engineering is that functions should be strongly cohesive but only weakly coupled. Development teams invariably act in the opposite manner. The large number of communication channels makes...

Subtract software costs by adding CPUs

In 1946 programmers created software for the ENIAC machine by rewiring plug-boards. Two years later the University of Manchester's Small-Scale Experimental Machine, nicknamed Baby, implemented von Neumann's stored program concept, for the first time supporting a machine language. Assembly language soon became available and flourished. But in 1957 Fortran, the first high-level language, debuted and forever changed the nature of programming. In 1964, Dartmouth BASIC introduced millions of (comparatively) non-techies to the wonders of computing while forever poisoning their programming skills. Three years later, almost as a counterpoint, OOP (object-oriented programming) appeared in the guise of Simula 67. The C language, still the standard for embedded development, and C++ appeared in 1969 and...

Wednesday, October 6, 2010

New Technology

...

Sunday, September 26, 2010

General Ledger & Cashbook

Enter Your Company Name Go to the File menu and select Configure. Then click on the Global tab. Enter your company name in the Company Name field. (This is the name that will appear at the top of each printed report.) Then click on the OK button.Post an Entry Click on Entries in the dark grey navigation area on the left. This will take you to the Entries screen. To begin a new entry click on the New button at the bottom. The screen will switch to New Entry mode. This is displayed in the bottom left corner of the screen. Enter the date for the entry in the Date field at the top. Then select the first account from the drop-down list...

Accounting Software

General Ledger & CashbookLedger is a FREE accounting system for any organization that needs a general ledger or cashbook. Because it is incredibly easy to install and use, it will also appeal to students of double-entry bookkeeping. Ledger provides unparalleled flexibility. All account balances are calculated dynamically so that the standard accounting reports can be created for any arbitrary date or period without the need for a period close or roll-over. Ledger has received more than 150,000 downloads since it was first made available in December 2004 without A SINGLE BUG REPORT! For more information please see our FAQ page or the discussions in the...

Wednesday, September 1, 2010

Personal Accounting

Mainly for home users that use accounts payable type accounting transactions, managing budgets and simple account reconciliation at the inexpensive end of the market suppliers include:Low End At the low end of the business markets, inexpensive applications software allows most general business accounting functions to be performed. Suppliers frequently serve a single national market, while larger suppliers offer separate solutions in each national market. Many of the low end products are characterized by being "single-entry" products, as opposed to double-entry systems seen in many businesses. Some products have considerable functionality but are not considered GAAP or IFRS/FASB compliant. Some low-end systems do not have adequate security nor audit trails.Mid Market The mid-market...

Accounting software

Accounting software is application software that records and processes accounting transactions within functional modules such as accounts payable, accounts receivable, payroll, and trial balance. It functions as an accounting information system. It may be developed in-house by the company or organization using it, may be purchased from a third party, or may be a combination of a third-party application software package with local modifications. It varies greatly in its complexity and cost. The market has been undergoing considerable consolidation since the mid 1990s, with many suppliers ceasing to trade or being bought by larger grou...

Wednesday, February 10, 2010

Foreign exchange controls

Foreign exchange controls are various forms of controls imposed by a government on the purchase/sale of foreign currencies by residents or on the purchase/sale of local currency by nonresidents.Common foreign exchange controls include:Banning the use of foreign currency within the countryBanning locals from possessing foreign currencyRestricting currency exchange to government-approved exchangersFixed exchange ratesRestrictions on the amount of currency that may be imported or exportedCountries with foreign exchange controls are also known as "Article 14 countries," after the provision in the International Monetary Fund agreement allowing exchange controls for transitional economies. Such controls used to be common in most countries, particularly poorer ones, until the 1990s when free trade...

Retail foreign exchange brokers

Retail traders (individuals) constitute a growing segment of this market, both in size and importance. Currently, they participate indirectly through brokers or banks. Retail brokers, while largely controlled and regulated in the USA by the CFTC and NFA have in the past been subjected to periodic foreign exchange scams.[8][9] To deal with the issue, the NFA and CFTC began (as of 2009) imposing stricter requirements, particularly in relation to the amount of Net Capitalization required of its members. As a result many of the smaller, and perhaps questionable brokers are now gone.There are two main types of retail FX brokers offering the opportunity for speculative currency trading: brokers and dealers or market makers. Brokers serve as an agent of the customer in the broader FX market, by seeking...

Market participants

Unlike a stock market, the foreign exchange market is divided into levels of access. At the top is the inter-bank market, which is made up of the largest commercial banks and securities dealers. Within the inter-bank market, spreads, which are the difference between the bid and ask prices, are razor sharp and usually unavailable, and not known to players outside the inner circle. The difference between the bid and ask prices widens (from 0-1 pip to 1-2 pips for some currencies such as the EUR). This is due to volume. If a trader can guarantee large numbers of transactions for large amounts, they can demand a smaller difference between the bid and ask price, which is referred to as a better spread. The levels of access that make up the foreign exchange market are determined by the size of the...

Market size and liquidity

The foreign exchange market is the largest and most liquid financial market in the world. Traders include large banks, central banks, currency speculators, corporations, governments, and other financial institutions. The average daily volume in the global foreign exchange and related markets is continuously growing. Daily turnover was reported to be over US$3.2 trillion in April 2007 by the Bank for International Settlements. [2] Since then, the market has continued to grow. According to Euromoney's annual FX Poll, volumes grew a further 41% between 2007 and 2008.[3]Of the $3.98 trillion daily global turnover, trading in London accounted for around $1.36 trillion, or 34.1% of the total, making London by far the global center for foreign exchange. In second and third places respectively, trading...

Foreign exchange market

The foreign exchange market (forex, FX, or currency market) is a worldwide decentralized over-the-counter financial market for the trading of currencies. Financial centers around the world function as anchors of trading between a wide range of different types of buyers and sellers around the clock, with the exception of weekends.The purpose of the foreign exchange market is to assist international trade and investment. The foreign exchange market allows businesses to convert one currency to another. For example, it permits a U.S. business to import European goods and pay Euros, even though the business's income is in U.S. dollars. Some experts, however, believe that the unchecked speculative movement of currencies by large financial institutions such as hedge funds impedes the markets from...

Use of High Leverage

By offering high leverage, the market maker encourages traders to trade extremely large positions. This increases the trading volume cleared by the market maker and increases his profits, but increases the risk that the trader will receive a margin call. While professional currency dealers (banks, hedge funds) never use more than 10:1 leverage, retail clients are generally offered leverage between 50:1 and 200:1[2].A self-regulating body for the foreign exchange market, the National Futures Association, warns traders in a forex training presentation of the risk in trading currency. “As stated at the beginning of this program, off-exchange foreign currency trading carries a high level of risk and may not be suitable for all customers. The only funds that should ever be used to speculate in...

Forex

A forex (or foreign exchange) scam is any trading scheme used to defraud traders by convincing them that they can expect to gain a high profit by trading in the foreign exchange market. Currency trading "has become the fraud du jour" as of early 2008, according to Michael Dunn of the U.S. Commodity Futures Trading Commission.[1] But "the market has long been plagued by swindlers preying on the gullible," according to the New York Times.[2] "The average individual foreign-exchange-trading victim loses about $15,000, according to CFTC records" according to The Wall Street Journal.[3] The North American Securities Administrators Association says that "off-exchange forex trading by retail investors is at best extremely risky, and at worst, outright fraud."[4]"In a typical case, investors may be...

Page 1 of 1812345Next
free counters
Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Powerade Coupons