SteveOH

Tag: development

Frequently Forgotten Fundamental Facts about Software Engineering

by Steve Hernandez on Dec.02, 2009, under Academic, Technology

SW Development

 

Robert L. Glass

 

This month’s column is simply a collection of what I consider to be facts—truths, if you will—about software engineering. I’m presenting this software engineering laundry list because far too many people who call themselves software engineers, or computer scientists, or programmers, or whatever nom du jour you prefer, either aren’t familiar with these facts or have forgotten them.

I don’t expect you to agree with all these facts; some of them might even upset you. Great! Then we can begin a dialog about which facts really are facts and which are merely figments of my vivid loyal opposition imagination! Enough preliminaries. Here are the most frequently forgotten fundamental facts about software engineering. Some are of vital importance—we forget them at considerable risk.

 

Complexity

C1. For every 10-percent increase in problem complexity, there is a 100-percent increase in the software solution�s complexity. That’s not a condition to try to change (even though reducing complexity is always desirable); that’s just the way it is. (For one explanation of why this is so, see RD2 in the section “Requirements and design.”)

 

People

P1. The most important factor in attacking complexity is not the tools and techniques that programmers use but rather the quality of the programmers themselves.

P2. Good programmers are up to 30 times better than mediocre programmers, according to “individual differences” research. Given that their pay is never commensurate, they are the biggest bargains in the software field.

 

Tools and techniques

T1. Most software tool and technique improvements account for about a 5- to 30-percent increase in productivity and quality. But at one time or another, most of these improvements have been claimed by someone to have “order of magnitude” (factor of 10) benefits. Hype is the plague on the house of software.

T2. Learning a new tool or technique actually lowers programmer productivity and product quality initially. You achieve the eventual benefit only after overcoming this learning curve.

T3. Therefore, adopting new tools and techniques is worthwhile, but only if you (a) realistically view their value and (b) use patience in measuring their benefits.

 

Quality

Q1. Quality is a collection of attributes. Various people define those attributes differently, but a commonly accepted collection is portability, reliability, efficiency, human engineering, testability, understandability, and modifiability.

Q2. Quality is not the same as satisfying users, meeting requirements, or meeting cost and schedule targets. However, all these things have an interesting relationship: User satisfaction = quality product + meets requirements + delivered when needed + appropriate cost.

Q3. Because quality is not simply reliability, it is about much more than software defects.

Q4. Trying to improve one quality attribute often degrades another. For example, attempts to improve efficiency often degrade modifiability.

 

Reliability

RE1. Error detection and removal accounts for roughly 40 percent of development costs. Thus it is the most important phase of the development life cycle.

RE2. There are certain kinds of software errors that most programmers make frequently. These include off-by-one indexing, definition or reference inconsistency, and omitting deep design details. That is why, for example, N-version programming, which attempts to create multiple diverse solutions through multiple programmers, can never completely achieve its promise.

RE3. Software that a typical programmer believes to be thoroughly tested has often had only about 55 to 60 percent of its logic paths executed. Automated support, such as coverage analyzers, can raise that to roughly 85 to 90 percent. Testing at the 100-percent level is nearly impossible.

RE4. Even if 100-percent test coverage (see RE3) were possible, that criteria would be insufficient for testing. Roughly 35 percent of software defects emerge from missing logic paths, and another 40 percent are from the execution of a unique combination of logic paths. They will not be caught by 100-percent coverage (100-percent coverage can, therefore, potentially detect only about 25 percent of the errors!).

RE5. There is no single best approach to software error removal. A combination of several approaches, such as inspections and several kinds of testing and fault tolerance, is necessary.

RE6. (corollary to RE5) Software will always contain residual defects, after even the most rigorous error removal. The goal is to minimize the number and especially the severity of those defects.

 

Efficiency

EF1. Efficiency is more often a matter of good design than of good coding. So, if a project requires efficiency, efficiency must be considered early in the life cycle.

EF2. High-order language (HOL) code, with appropriate compiler optimizations, can be made about 90 percent as efficient as the comparable assembler code. But that statement is highly task dependent; some tasks are much harder than others to code efficiently in HOL.

EF3. There are trade-offs between size and time optimization. Often, improving one degrades the other.

 

Maintenance

M1. Quality and maintenance have an interesting relationship (see Q3 and Q4).

M2. Maintenance typically consumes about 40 to 80 percent (60 percent average) of software costs. Therefore, it is probably the most important life cycle phase.

M3. Enhancement is responsible for roughly 60 percent of software maintenance costs. Error correction is roughly 17 percent. So, software maintenance is largely about adding new capability to old software, not about fixing it.

M4. The previous two facts constitute what you could call the “60/60″ rule of software.

M5. Most software development tasks and software maintenance tasks are the same—except for the additional maintenance task of “understanding the existing product.” This task is the dominant maintenance activity, consuming roughly 30 percent of maintenance time. So, you could claim that maintenance is more difficult than development.

 

Requirements and design

RD1. One of the two most common causes of runaway projects is unstable requirements. (For the other, see ES1.)

RD2. When a project moves from requirements to design, the solution process’s complexity causes an explosion of “derived requirements.” The list of requirements for the design phase is often 50 times longer than the list of original requirements.

RD3. This requirements explosion is partly why it is difficult to implement requirements traceability (tracing the original requirements through the artifacts of the succeeding lifecycle phases), even though everyone agrees this is desirable.

RD4. A software problem seldom has one best design solution. (Bill Curtis has said that in a room full of expert software designers, if any two agree, that’s a majority!) That’s why, for example, trying to provide reusable design solutions has so long resisted significant progress.

 

Reviews and inspections

RI1. Rigorous reviews commonly remove up to 90 percent of errors from a software product before the first test case is run. (Many research findings support this; of course, it’s extremely difficult to know when you’ve found 100 percent of a software product’s errors!)

RI2. Rigorous reviews are more effective, and more cost effective, than any other error-removal strategy, including testing. But they cannot and should not replace testing (see RE5).

RI3. Rigorous reviews are extremely challenging to do well, and most organizations do not do them, at least not for 100 percent of their software artifacts.

RI4. Post-delivery reviews are generally acknowledged to be important, both for determining customer satisfaction and for process improvement, but most organizations do not perform them. By the time such reviews should be held (three to 12 months after delivery), potential review participants have generally scattered to other projects.

 

Reuse

REU1. Reuse-in-the-small (libraries of subroutines) began nearly 50 years ago and is a well-solved problem.

REU2. Reuse-in-the-large (components) remains largely unsolved, even though everyone agrees it is important and desirable.

REU3. Disagreement exists about why reuse-in-the-large is unsolved, although most agree that it is a management, not technology, problem (will, not skill). (Others say that finding sufficiently common subproblems across programming tasks is difficult. This would make reuse-in-the-large a problem inherent in the nature of software and the problems it solves, and thus relatively unsolvable).

REU4. Reuse-in-the-large works best in families of related systems, and thus is domain dependent. This narrows its potential applicability.

REU5. Pattern reuse is one solution to the problems inherent in code reuse.

 

Estimation

ES1. One of the two most common causes of runaway projects is optimistic estimation. (For the other, see RD1.)

ES2. Most software estimates are performed at the beginning of the life cycle. This makes sense until we realize that this occurs before the requirements phase and thus before the problem is understood. Estimation therefore usually occurs at the wrong time.

ES3. Most software estimates are made, according to several researchers, by either upper management or marketing, not by the people who will build the software or by their managers. Therefore, the wrong people are doing estimation.

ES4. Software estimates are rarely adjusted as the project proceeds. So, those estimates done at the wrong time by the wrong people are usually not corrected.

ES5. Because estimates are so faulty, there is little reason to be concerned when software projects do not meet cost or schedule targets. But everyone is concerned anyway!

ES6. In one study of a project that failed to meet its estimates, the management saw the project as a failure, but the technical participants saw it as the most successful project they had ever worked on! This illustrates the disconnect regarding the role of estimation, and project success, between management and technologists. Given the previous facts, that is hardly surprising.

ES7. Pressure to achieve estimation targets is common and tends to cause programmers to skip good software process. This constitutes an absurd result done for an absurd reason.

 

Research

RES1. Many software researchers advocate rather than investigate. As a result, (a) some advocated concepts are worth less than their advocates believe and (b) there is a shortage of evaluative research to help determine the actual value of new tools and techniques.

There, that’s my two cents’ worth of software engineering fundamental facts. What are yours? I expect, if we can get a dialog going here, that there are a lot of similar facts that I have forgotten—or am not aware of. I’m especially eager to hear what additional facts you can contribute.

And, of course, I realize that some will disagree (perhaps even violently!) with some of the facts I’ve presented. I want to hear about that as well.

Robert L. Glass is the editor of Elsevier’s Journal of Systems and Software and the publisher and editor of The Software Practitioner newsletter. Contact him at rglass@indiana (dot) education; he’d be pleased to hear from you.

Reprinted from IEEE Software, vol. 18, no. 3, 2001, pp. 112, 110–111.

1 Comment :, , , , , , , , , , , , , , , , more...

Guidelines to Development on the Hollywood Operating System

by Steve Hernandez on Nov.05, 2009, under General, Technology

Courtesy of Cain’s Brain.

1. Any PERMISSION DENIED has an OVERRIDE function.

2. Complex calculations and loading of huge amounts of data will be accomplished in under three seconds. In the movies, modems transmit data at two gigabytes per second.

3. When the power plant/missile site/whatever overheats, all the control panels will explode, as will the entire building.

4. If you display a file on the screen and someone deletes the file, it also disappears from the screen. There are no ways to copy a backup file — and there are no undelete utilities.

Corollary: Deleting a file instantly removes all copies of said file from disks, memory, frame buffers and caches across all computers in the universe.

5. If a disk has got encrypted files, you are automatically asked for a password when you try to access it.

6. No matter what kind of computer disk it is, it’ll be readable by any system you put it into. All application software is usable by all computer platforms.

7. The more high-tech the equipment, the more buttons it has. However, everyone must have been highly trained, because the buttons aren’t labeled.

8. Most computers, no matter how small, have reality-defying three-dimensional, real-time, photo-realistic animated graphics capability.

9. Laptops, for some strange reason, always seem to have amazing real-time video phone capabilities and the performance of a CRAY.

10. Whenever a character looks at a terminal, the image is so bright that it projects itself onto his/her face.

11. Computers never crash during key, high-intensity activities. Humans operating computers never make mistakes under stress.

12. (From Independence Day) No matter what kind of virus it is, any computer can be infected with it — even an alien spaceship’s computer — simply by running a virus upload program on a laptop.

13. (From Jurassic Park) A custom system with millions of lines of code controlling a multimillion dollar theme park can be operated by a 13 year old who has seen a Unix system before. Seeing an operating system means you know how to run any application on that system, even custom apps.

Note: What OS was it really running?

(1) “These are super computers”.  A CrayOS?

(2) “Quicktime movie, Apple logo, trash can.”  MacOS?

(3) “Reboot. System ready. C:\”  DOS?

(4) “Hey, this is Unix.  I know this”  Unix?

The computers in Jurassic Park were Cray supercomputers running the MacOS as a graphical shell of DOS all layered on top of a Unix base.

14. You cannot stop a destructive program or virus by unplugging the computer. Presumably the virus has it’s own built-in power supply.

15. You cannot stop a destructive program downloading onto your system by unplugging the phone line. You must figure out the mandatory “back door” all evil virus programmers put in.

16. Computers only crash if a virus or a hacker is involved.

17. All text must be at least 72 point.

18. Word processors do not have an insert point.

19. The only way to reboot is to shut off the main power to the building.

20. Passwords can be guessed in three and exactly three tries.  If you cannot guess the password in three tries, you must give up immediately.

21. Any task or program can be executed by simply pressing Enter, no matter which program or window is in the foreground.

22. All scanners, video cameras and digital cameras have a resolution of approximately 500 megapixels.  Any image can be infinitely magnified with no pixelization.

23. Security will not improve over time.  Nonaffialiated personnel can take over a space ship without needing an account or access control.  Corollary: Anyone can override access control lists in the future.

24. All hackers wear black T-shirts or Hawaiian shirts.

25. Incoming messages are displayed letter by letter.  Email over the Internet works like telegraphs.

26. Microsoft Windows doesn’t exist.  Macintosh has a 75% market share.

27. GUI operations, such as image selection and manipulation, can be handled easily and quickly via the keyboard.

28. If a robot’s eyes turn red, it becomes evil.

29. Cell phones and laptops have infinite battery life, until you need to call for help.

30. Latency does not exist.  Voice and data can be sent to Mars in real time.

Leave a Comment :, , , , , , , , , , , , , more...

The Road to Management

by Steve Hernandez on Jul.08, 2009, under Technology

Leading people is a fundamental skill

By Peggy Albright

The computing field asks a lot of its practitioners. Its professionals must be diligent, naturally curious, good problem solvers, able to grapple with big concepts as well as minutiae and willing to think outside of conventional boundaries to develop new code, architectures and applications that will find value in business and society. Yet in today’s competitive and global business environment, computing professionals must add yet another fundamental skill to the mix: the ability to lead and manage people.

In fact, developing leadership and managerial skills is no longer a career option, it is becoming a requirement, says Wade Shaw, an IEEE Fellow, editor-in-chief of IEEE’s Engineering Management Review and dean and professor of engineering at Mercer University.

According to Shaw, computing professionals today can expect to supervise someone else in some capacity within three to four years of completing an undergraduate degree. Most successful computer scientists and engineers will need to augment their technology skills with management responsibilities at some point in their career.

Teams and silos

The broadened expectations in the discipline are an outgrowth of an industry whose products are often built by project teams and whose members are often based in different parts of the world and contributing their skills from within various silos of expertise, Shaw said. With comparatively fewer advancement opportunities available for those who prefer to remain individual technology contributors in their companies, any strategy to advance one’s own value to an organization and earn better recognition and compensation must now involve management responsibility.

“The idea that someone changes their career midstream to enter management is an outdated notion,” Shaw said.

“It’s not ‘if’ I become a manager, it’s ‘when’ I become one,” he said. “That’s the starting point. It’s a key attitude difference.”

Soft skills essential

Whether a computing professional is just starting out, taking steps to advance from individual contributor status to project leader or managing multiple teams, or taking the leap from middle management to the executive ranks, the successful cultivation and use of “soft skills” is an essential part of the career advancement process.

Key among these soft skills is the ability to develop relationships with individuals and groups and to communicate effectively. Soft skills also include general business savvy, a big-picture understanding of the organization, a correct perception of one’s own role in the company and how other functions in the organization, such as finance and marketing, contribute to overall success. It includes learning how to think strategically.

“Our technical skills get us in the front door of an organization, but as we work there longer, we need soft skills,” said Dwight Jaggard, IEEE Fellow and director of the Executive Master’s in Technology Management program at the University of Pennsylvania, which is co-sponsored by Penn Engineering and The Wharton School.

Relationships matter

It might seem obvious, but strong relationship skills are among the most fundamental traits that technology professionals should have if they want to succeed in a leadership capacity. In fact, effective relationship skills are a necessity, not just an added value.

James Kouzes, executive educator, author of the best-selling book, The Leadership Challenge and the dean’s executive professor of leadership at the Leavey School of Business at Santa Clara University, says that poor relationship skills is the one weakness that is “most likely” to derail a technology professional’s ambition to succeed in management. While these skills have been emphasized in other careers, such as customer service and business development, they have not been routinely taught in the computing field. These skills can be learned, but they must be practiced regularly, and on a daily basis, Kouzes said.

“It is a competency that can be developed, but it does need time and attention,” he said.

His advice: It’s all about focusing. Listen to others’ points of view, learn how to resolve conflicts that leave both parties feeling that they’ve gained something, and if you need to give direction to non-technical people, learn to communicate coherently in non-technical language. And trust others to carry out their roles and responsibilities: lack of trust undermines one’s relationships and leads to managerial failure, he said.

Kouzes noted a few new observations from his most recent surveys of working professionals and executives around the world that should be of particular value to technology professionals who are in or seeking management roles. The first most important trait people want in their leaders is honesty, he said. The second most important trait is having a forward-looking vision that is shared by one’s peers and followers in an organization and an ability to communicate that vision to inspire others.
Additionally, he recommended that managers develop a competency in seeking feedback. This is one trait his respondents have indicted to be the most challenging, yet it is also vital to success because it important to be always learning. “The best leaders are the best learners,” he said. And feedback is an essential part of learning.

“If you want to go into management, you must ask for feedback. Be open to receiving it. Act on it. Take it earnestly and do something with it,” he said.

Big-picture perspective

Computing professionals taking steps to move higher in corporate ranks must recognize that the demands that come with developing soft skills may require that they disengage to a certain extent from the technology roots they established when they began their careers. It’s a commitment that needs to be taken seriously.

Ronald Danielson, vice provost for information services and chief information officer and associate professor of computer engineering at Santa Clara University, has found that as an IT professional advances in an organization, including to C-level roles, he or she is expected to have the same general business skills and traits as other top executives. A lack of these skills–whether real or perceived by upper management—can keep senior IT professionals from advancing to the top levels of the corporation, he said. The challenge for IT professionals is to overcome this perceived bias.

Computing professionals who are striving to advance into management, Danielson said, must recognize that once the commitment is made, there may be no going back to their former roles.

“The difficult thing for many technical people is that you can’t really do it all,” he said. “If you’re going to spend more of your time and energy on the soft skills that senior executives need to have, you’re necessarily going to give up some of your technical competencies. And that’s very unsettling because our discipline advances so rapidly that if you give that up for a while, it is very difficult to go back in as the same level of contributor that you were before.” CW
(8 July, 2009)

Leave a Comment :, , , , , , , , , , , more...

NAS / Software and Hardware RAID Performance Benchmarking

by Steve Hernandez on Feb.15, 2009, under Technology

I recently came across an application provided by Intel for the purpose of benchmarking NAS devices (Define: Network Attached Storage).  I’ve been looking for a solution to benchmark the new RAID-5 array I created on my Windows Server 2008 server (I love the RAID’s redundancy, but the write speeds are quite low).  I wanted to get a better idea of its performance, as Windows will report 250 – 150 MB READS and 20 – 50 MB WRITES, which is considerably poor considering the 4 drives are individually benchmarked at ~100 MB READS and 60 MB WRITES (They are Western Digital Caviar Blues / RE3 / RE16).

The software can be found here or from Intel here.

System Specifications:

Operating System: Microsoft Windows 2008 Enterprise Edition, SP1
CPU Type: Pentium 4 630, 3000 MHz w/ Hyperthreading
Motherboard Name: Dell Dimension 8400
Motherboard Chipset: Intel Alderwood i925XE
Motherboard Frontside Bus Speed: 800 MHz
System Memory (RAM): 4 GB, Dual Channel
System Memory Speed / Timings: DDR2-533 (266 MHz) / 4-4-4-12
Hard Drive Controller Interface: SATA I (1.5 Gbits / s) = 150 MB/s (maximum)
Hard Drives: Western Digital

  • Drive #1 – WDC WD5002ABYS-01B1B (465 GB)
  • Drive #2 – WDC WD5002ABYS-01B1B (465 GB)
  • Drive #3 – WDC WD5000AAKS-00A7B (465 GB)
  • Drive #4 – WDC WD5000AAKS-00A7B (465 GB)
  • Drive #5 – WDC WD800BB-00JHC0 (74 GB) – SYSTEM

Raid Configuration: Software 4 disk RAID-5 (4 x 500GB, 1.36 TB Effective Storage Space)

System Memory Benchmark: Copy – 4790 MB/s, Read – 6266 MB/s, Write – 3341 MB/s, Latency – 92.7 ns
System Processor Benchmark: CPU ZLib – 10592 KB/s, CPU AES  – 3055

Benchmarks completed using Everest Ultimate Edition v4.20.1257

All drives are SATA II (3.0 GB/s) but are running in backwards-capability mode.

The primary roles of the server is to serve files and store backups (File Server) and web and application development and website hosting (Web Server).  I do not stream media, play music from the server or write extremely large amounts of data that are time sensitive.  Therefore, my decision for RAID-5 was based on the space savings (n – 1) storage availability and the redundancy by means of the parity.  I am willing to give up performance (write and read) for storage space and redundancy, but I want to know how much I’m actually giving up.

Tests

  • HD Video Playback, 2x HD Video Playback, 3x HD Video Playback, 4x HD Video Playback

These benchmarks examine the behavior of the NAS unit while (simultaneously) playing one or more HD video files at 720p using Windows Media Player. Intel gives a percentage rate for the sequential reading of data in these tests, which lies at 99.5% for the HD Video Playback Test. With 2x HD Video Playback, it lies at 18.1%. The result is 6.6% with 3x HD Video Playback and 9.6 % with 4x HD Video Playback.

  • HD Video Record

This test writes an HD Video file in 720p format to the NAS unit. This test is made of up of mostly sequentially transferred data.

  • HD Video Playback & Recording

HD Video Play & Record examines the behavior of the NAS unit when simultaneously reading and writing an HD Video file in the 720p format. The sequentially-transferred data in this test is approximately 18% of the test.

  • HD 2x Playback 2x Record

This benchmark is similar to the one above, but the proportion of sequential file operations is 3%.

  • HD Playback With Office

This metric measures the data transfer rates when an HD Video file is read from the NAS unit while working with the Office applications. This test is made up of 608 files. The proportion of sequential file operations is 53.2%.

  • HD Playback With Backup

Like the previous test, but this time an HD Video file is played while simultaneously carrying out a backup on the NAS unit.

  • Content Creation

This benchmark is made up of 95% write operations to the NAS unit. This simulates the creation of files on the NAS unit such as is the case when, for example, using video editing programs.

  • File Copy To NAS / File Copy From NAS

These tests determine the data transfer rate when copying files to or from the NAS unit. In both of these test processes, a 4 GB file is copied. Unlike with Backup / Restore, 64 KB is read and written.

  • Directory Copy From NAS / Directory Copy To NAS

Similar to the previous test, files are copied to and from the NAS unit. A total of 126 files with a total size of approximately 188 MB are written and read across the network.

  • Photo Album

This test determines how the NAS unit handles the supply of a multitude of small files—for example, viewing digital photographs stored on the NAS unit. It simulates the viewing of a total of 169 photographs with an overall size of approximately 1.2 GB.

Considerations and Assumptions

These tests were conducted on the Server, not over the network, which will probably result in very high throughput.  I did this to get a feel for the actual performance, not that felt over the wire, and because I’m currently running 100 Mbps (Cat 5e) on my LAN, not gigabit.  Thus, I did not want the network to be the bottleneck in these tests, as it would be saturated and skew the results.

I ran the tests 6 times, in each, manipulating the environment to establish a real world benchmark.  Since this benchmark is done via an application, it will compete with other processes for resources.  Additionally, it will compete with the actual Operating System who is responsible for transfering the data to the disk and calculating the parity for the raid (which is quite memory and CPU intensive).  For test 6 I ran the system in Safe Mode, utilizing only necessary processes and services to run the operating system (Safe Mode without Networking).  Thus, the numbers are quite high.  In the others, I ran Outlook, SQL, browsed the internet and downloading files via torrents (to the actual RAID, so this will mess with the numbers as well) – not all at the same time, of course, except for test 4.

Results

Test 1 2 3 4 5 6 Avg MB/s
HDVideo_1Play 267.789 267.789 80.364 54.54 59.134 274.603 167.37
HDVideo_2Play 223.736 223.736 68.638 44.619 75.123 223.204 143.18
HDVideo_4Play 177.201 177.201 70.222 54.731 73.009 180.005 122.06
HDVideo_1Record 626.098 626.098 651.41 618.888 678.788 732.636 655.65
HDVideo_1Play_1Record 82.744 82.744 85.224 71.802 79.058 155.986 92.93
ContentCreation 6.199 6.199 5.983 5.628 6.141 6.022 6.03
OfficeProductivity 25.383 25.383 25.474 20.958 26.249 27.955 25.23
FileCopyToNAS 633.475 633.475 748.91 690.827 768.598 806.578 713.64
FileCopyFromNAS 147.096 147.096 79.675 57.42 80.561 151.573 110.57
DirectoryCopyToNAS 65.156 65.156 25.13 18.384 23.418 81.739 46.50
DirectoryCopyFromNAS 44.048 44.048 20.412 15.53 20.929 47.274 32.04
PhotoAlbum 27.748 27.748 26.411 19.508 28.171 29.204 26.47

Discussion

I attribute the absurd file copy speeds to caching and buffering at both the OS, RAID and the Drive level, as well as the writes for the video recording.  All in all, I’m pleased with the benchmarks and am satisfied with the set up.  One thing to note is that the tests were done from the SYSTEM drive to the RAID, and thus, the SYSTEM drive introduced an additional bottleneck as the transfers from it to the RAID were going to be quite slow (the drive is benchmarked at ~56MB READ and ~30 WRITE).

Leave a Comment :, , , , , , , , , , , , , , more...

Solar Goes From Gardens to Gigabucks

by Steve Hernandez on Oct.07, 2008, under Technology

 

 

By Alexis Madrigal EmailOctober 06, 2008 | 11:00:00 PM

 

 

 

Solyndra_083

FREMONT, California — Solar cells have been converting sunlight into electricity for years, but scientists have been much less successful at turning that technology into money.

Now, in a staid Bay Area office park, a converted hard-drive factory with a shiny new façade has begun churning out unconventional solar tubes that could change the economics of solar power.

The highly-automated factory belongs to Solyndra, a three-year-old company that has received $600 million in venture capital and $1.2 billion in orders for its new modules, which look like curtain rods. Those big investors are betting the company’s unique product will soon blanket commercial buildings across the world.

Instead of the standard panels mounted on racks that have dominated solar for the last 20 years, Solyndra’s cylindrical solar modules collect sunlight more efficiently across a broader range of angles and catch light reflected off the roof itself. The solar cells also contain no silicon, which has been a costly component of most solar systems.

Targeted at a highly specific market — office and big-box rooftops — and with signed contracts in hand, the company, along with a small cadre of other well-funded solar startups, are racing to turn their scientific and engineering marvels into profitable businesses.

The scramble, the money, and the size of the prize — a big slice of the trillions of dollars made in energy — remind the company’s founder, Chris Gronet, of his earlier experience in the industry that became the basis for the information revolution.

“We think the solar industry or market look very similar to the way semiconductor manufacturing was 20 years ago,” Gronet, Solyndra’s CEO, told Wired.com. “We say, ‘Wow this is familiar. We’ve been through this before.’”

All types of solar power have experienced growth in the wake of increasing awareness of the risks of climate change and the rising costs of fossil fuels. A report released last week by Lux Research, a solar-focused analysis firm, predicts that the total solar market will grow from $33.4 billion in 2008 to $100.4 billion in 2013. While traditional silicon-based solar cells continue to underpin most solar systems, there is a broad expectation among industry analysts and insiders that these new thin-film solar cells, such as Solyndra is making, will experience rapid growth. While thin-film cells aren’t as efficient at using the sun’s energy as their silicon competitors, they cost less to produce.

Solyndra_087 Instead of using wafers of material, a la computer chips or traditional solar PV, thin-film solar cells use tiny amounts of material deposited in ultra thin layers along the surface of glass or metal. In Solyndra’s case, vice president of business development Kelly Truman said that their process uses just a bit more than a micron of copper indium gallium diselenide, or CIGS. Using less of the expensive photovoltaic material drives the cost of their production down.

For years, CIGS technology had appeared the most promising for cheap solar power. The National Solar Technology Roadmap, created by the National Renewable Energy Laboratory, states that steady efficiency improvement “could ultimately allow CIGS to achieve the lowest module costs and levelized cost of energy among all PV technologies.”

The total solar market can be broken into three main pieces: solar for utilities, residential installations and commercial buildings. Solyndra is focusing exclusively on the commercial side. What Gronet envisions is solar panels installed on your average Home Depot or Ikea, generating a substantial percentage of the company’s power needs right on site.

On the roof of the Solyndra office buildings, they’ve installed the first Solyndra array. What’s striking about the system is how simple it appears: The solar tubes look like reverse fluorescent light bulbs that generate electricity rather than using it. The mounting system is also light and small, as you can see in the image. They don’t have to be bolted to roofs because the spacing between the cylinders makes them less susceptible to wind damage than traditional flat solar panels.

But despite the industry’s high hopes, CIGS solar cells have proven very difficult to manufacture at industrial scales. Greentech Media analyst Michael Kanellos said that the risks for CIGS thin-film players have “increased dramatically” over the last few months with the worsening financial system and increased competition.

Solyndra_067 “Some CIGS will survive, but a lot of these companies might only leave a wet spot on the pavement,” Kanellos wrote in an e-mail to Wired.com.

Kanellos noted that Solyndra’s cylindrical design was advantageous, but also the most difficult to manufacture.

“Everyone else is having trouble making efficient flat CIGS panels. Curving adds another layer of complexity,” Kanellos wrote. “It is part of the reason that their contracts call for the delivery of their solar panels from now to 2012.”

Only two other CIGS-based thin-film manufacturers have managed to start cranking out actual saleable product. Nanosolar and Global Solar started selling cells last year. Solyndra, after hundreds of millions of dollars of investment, generated its first revenue in the third quarter of this year.

If Gronet and his team can work out the manufacturing challenges and navigate the difficult financial waters, their unique design and tightly focused business model could lead them to profitability, even after government subsidies in Europe phase out.

“In any unsubsidized world, which is a few years down the road, you need a cost structure that allows you to compete,” Gronet said. “Our panel, because it’s CIGS and thin film, will beat the costs of any silicon system.”

WiSci 2.0: Alexis Madrigal’s Twitter , Google Reader feed, and webpage; Wired Science on Facebook.

Leave a Comment :, , , , , , , , , more...

uCertify Review – MCTS 70-536: VB.NET 2.0 Application Development Foundation

by Steve Hernandez on Jul.30, 2008, under Technology

I was contacted by a Public Relations individual from uCertify who requested me to review their product.  This was quite some time ago, and since I had never used their product before, decided to test their test preparation software out in addition to others.  This short review will not mention other applications, suites or books for the preparation for this exam, only the uCertify application.

The first thing you’ll notice when you download the program, is that they offer a few things.  First, there’s 100% money back guarantee that you’ll pass the test on the first try.  That’s enticing and speaks volumes on their product.  Unfortunately, the money back guarantee is on the ~$70 you spent on the program, and not the $150+ on the exam, but alas, something is better than nothing.  At the very least, you can use that money and try again on the exam (or buy a different prep book).

Second, they offer 2 flavors of their software: a full and free (demo) version.   The demo version has a few questions, enough to give you an idea of what’s going on, but not enough for you to do anything with (ie. pass the test, study from, etc).

Lastly, I like the fact that they give you directions on how to download and install the application.  That’s very thoughtful for users who may not be highly technical but want to be, and are therefore attempting to get certified in a particular technology (this is becoming more and more common, even though the certification is supposed to be taken after experience has been attained in the work place, to validate your skills).

So let’s run the application.

As a software developer myself, I have to say that I like the initial interface a lot.  Everything is very well place and easy to navigate.  The demo version only has a Diagnostic Test (15 questions), Create a Custom Test and Create a Fixed Time Test available to you in the main navigation section.  The “Enhance your understanding” section on the right hand side has all of the items available, which are basically extras to give you an ‘edge’.  It’s mostly general information, some tips, and other resources you can find on the internet.  You don’t need this section, but it’s nice to have everything in one place anyway.

uCertify has their advertisements all over the place “Buy the full version”, which makes me laugh.  That’s what they’re supposed to do, and they do a pretty good job in keeping it in your face as you go through the demo.

Diagnostic Test:

I ran it with 10 total questions, 10 minute duration and a passing score of 730.  I also selected the “Always show last answer option as ‘None of the above’” which I believe to be crucial in getting you to think critically.  Why?  Because everyone will default themselves to “the answer must not be here” if they can’t figure it out or come up with an answer based on incorrect assumptions.  Since it’s there all the time, and you won’t know when it’s a valid option, you’ll definitely think twice before choosing it.  In my courses, I always have this option available to students.

Well, the first thing I noticed while taking the Diagnostic Quiz is that my settings didn’t stick.  I noticed at the bottom that I was on question 10 of 15 (I said a max of 10) and that the “Always show ‘none of the above’” wasn’t being shown on all questions.  Maybe this is reduced functionality for the demo, but it would have been nice to see that stated.

I found the questions a bit vague.  They’re not meant to confuse you, but require a good understanding of the underlying topic for you to know what they’re referring to.  The application does assist you with some background information and explanation, but I don’t believe it to be enough for a full understanding of the topics, but again, they are quite helpful.

The results page is fairly straight forward.  A little hard to read, maybe alternating row colors would have been nicer on the eyes.  Anyway, it tells you what you did right and wrong.  Clicking on the question will take you to the page of that question, with the answer you gave and why you were right or wrong, along with those ‘Facts’ that help you solidify your understanding.

I really like the Readiness report, which gives you a summary on how you’ve done on all the exams (there are 5 practice tests, a final test, and a diagnostic test – 423 questions in total).  They also provide an adaptive test, but that functionality is not available, so I cannot comment on it.

All in all, I believe this to be a good product.  It’s obvious the uCertify is trying to get you to pass the test, as they provide you with several ways of doing so.  If I were going to use this product, I would read a book prior to build a decent foundation, and then polish my skills and knowledge off with this application and its exams.  If you did that, you would have taken 7 tests in the uCertify application, and an additional 1 or 2 in the Microsoft book, for a total of 8 or 9.  You would iterate through the content and examinations enough to know what you have to study and understand better, and know where your strengths are.

If you used the approach above, it would cost you about $100 (Microsoft Self-Paced Certification Books – really the only books available for MCTS-ASP.NET) and $60 for the uCertify application.  That’s $160 in prep (and maybe 1 – 3 months) and then the cost of the exam, which is about $200 or so (don’t quote me on that).  When you buy the Microsoft books, you get a voucher for a discount on the actual exam, so that helps. I believe it to be worth it.

The feedback from the exams is that you need to really memorize the book’s content and have lots of coding experience (more project experience than just slapping code together).  In that respect, an application such as this one will really help you with that, as they ask you real-world type questions.  The link below is to a site of a gentlemen who gives his experience from taking the exam: here

Rating of the Application:

Visual Appeal: 8
Question Difficulty: 8
Extra Content to Help (ie. Tips): 10
Number of Questions / Exams: 9
Reporting: 9
Exam Preparedness: 8.5
Overall: 8.75

I would say this system will help anyone pass the exam, as long as they have the knowledge.  I would / will use this system in the future.

Take a look for yourself: http://www.ucertify.com/exams/Microsoft/70-536-VB.html

You can receive a 10% discount on any certification course you wish to attend using the code STEVEH.  Thank you to Roger and uCertify for their generosity.

1 Comment :, , , , , , , , , more...

Study suggests biofuels do little to reduce carbon emissions

by Steve Hernandez on Jul.17, 2008, under Technology

The AFP (7/17) reports that the “Organization for Economic Cooperation and Development (OECD) in a study published Wednesday found that costly public support for biofuel production has but a limited impact on reducing greenhouse gas emissions and on improving energy security.” Meanwhile, “development of the biofuel sector ‘will contribute to higher food prices over the medium term and to food insecurity for the most vulnerable populations in developing countries,’” the report found.

        According to Bloomberg (7/16, van Loon), the report noted that the “U.S., Canada, and the European Union” combined for $11 billion “in annual subsidies for plant-derived fuels.” Stefan Tangermann, OECD director for trade and agriculture, said that the “greenhouse gas released by cars, trucks, airplanes, and ships ‘at best’ will decline 0.8 percent by 2015 in those regions with the help of aid programs.” The study found that in the U.S., ethanol produced from corn “reduces emissions by between 10 percent and 30 percent, compared with burning gasoline to drive the same distance.” Instead, nations “should focus on reducing fuel consumption for vehicles and end import taxes on ethanol from Brazil,” the OECD argued. In addition, the OECD said that “[e]xisting policies mean that as much as 14 percent of the crop land in the EU, the U.S., and Canada will be used to grow plants for biofuels by 2017 from about eight percent last year.” This “could push prices for some crops up by 19 percent by 2015.”

Leave a Comment :, , more...

Professional IT Consulting

by Steve Hernandez on May.19, 2008, under Technology

I have been an IT consultant for the past 5 years and in the industry for almost 10. My experience is vast and covers both hardware and software aspects of corporate and personal IT needs (click here for professional experience). My company, The Tech Guy, offers an extensive list of services, ranging from Web Development and Design, to emergency Data Recovery, network and system support, etc.

Below is concise list of the services we currently offer. If there’s something you need that is not on the list, please contact me (contact me anyway!) so that we can talk about it. Our services are affordable (cheap but of high quality) and we make a huge effort to fit in any budget.

Services:

  • Web Development
  • Application Programming
  • Application Support
  • Application updates and upgrading (Web and System level software)
  • Software Installations
  • Web Design
  • Web Layouts
  • Web Design: FLASH
  • Web Design: Dynamic and static sites
  • eCommerce – Shopping cart front and back-ends
  • Club and Organization websites
  • Affordable Non-Profit websites
  • Network Support
  • Network Installation
  • Network Upgrade
  • Network Device Installation and Support
  • Computer Maintenance
  • Computer Upgrade
  • Computer Installation
  • Computer Repair
  • Data Recovery
  • Hard Drive Failure: File and Data Recovery
  • Hard Drive Format: File and Data Recovery
  • Emergency Computer and Network Services
  • Remote Support (anywhere in the world!)
  • Virus Removal
  • Spyware Removal
  • Adware Removal
  • Trojan and other Malware Removal
  • Software Sales
  • Hardware Sales
  • New and Used equipment sales and installation
  • Repair and Maintenance plans
  • Full IT Outsourcing (We can be your IT department at less than 25% of the cost!)
  • Blog Website Installations
  • Joomla Websites
  • Joomla Design
  • Joomla Custom Applications
  • Website Hosting
  • Website Maintenance and Updating
  • Image and Multimedia Editing
  • Image Manipulation
  • Digital Archiving
  • Flyer Design
  • Event Poster Design and Printing
  • Flyer Printing
  • Business Cards (Affordable!) Design
  • Business Card Printing
  • Pamphlet and Booklet Design and Printing
  • Car Magnet Printing and Design
  • Photography Services
  • Business Services
  • Marketing Services
  • Full marketing campaign management
  • Google Ads
  • Yahoo Ads
  • Microsoft Live Ads
  • Search Engine Ads
  • Search Engine Optimization (SEO) for new and existing sites
  • Reporting and progress reports

All services provided by The Tech Guy, Changing the way you see IT, and are offered to Individuals and Business alike.

Leave a Comment :, , , , , , , , , , , , more...

Professional Resume of Steve Hernandez

by Steve Hernandez on Mar.30, 2008, under Uncategorized

Steve O Hernandez

.: Professional Resume :.

I may be contacted directly either by the contact form or via email at

My Current Resume – Plain PDF version of my resume skills and experience

5.08 – Present Nova Southeastern University North Miami Beach, Fl

Senior Software Engineer (Programmer / Analyst III)

  • Developed custom applications to increase efficiency and performance for internal use of employees.
  • Streamlined operations using business process analysis to define functional requirements.
  • Applications built utilizing ASP.NET (VB) 3.5 in the Visual Studio 2008 Professional Development Suite.
  • ASP.NET Atlas (AJAX) implemented in all applications to increase user experience and application efficiency with a dynamic user interface (UI).
  • Website, user interfaces and portals designed from scratch, utilizing such tools and technologies as CSS, XHTML, Photoshop CS3 and slicing, Dreamweaver CS3 and Flash CS3.
  • Reported directly to the Director of Emerging Technologies, a division of the Office of Information and Communications.
8.2006 – Present Daily Management, Inc. Weston, Fl

Network Administrator

  • Maintained diverse network infrastructure of Windows 2000 and 2003 servers, Windows 2000 and XP workstations, Cisco and LinkSYS routers, and a variety of other intricate hardware.
  • Network consisted of 35 Windows Server 2000 and 2003 servers, including several Citrix Servers, email and web servers, SQL 2000 server, and over 350 Windows 2000 and XP workstations in 6 states.
  • Administered the 8 existing domains and their Active Directories, as well as user privileges.
  • Implemented security procedures and feature to ensure network secutiry, such as hardware and software firewalls (ie. FortiGate, etc), virus protection (Symantec, Sunbelt), spam, spyware, etc. using enterprise software.
  • Coordinated day-to-day operations, maintenance, monitoring, software installation, protocol configuration, and problem resolution.
7.2006 – Present Lambda Theta Phi Hollywood, Fl

National Director of Information Technology

  • Created and maintained several event and organizational websites, including design, layout, functionality, programming and database driven applications using ASP.NET, ASP and PHP connected to mySQL, MSSQL and Access databases, including Membership Directory, Request and Response system, a tracking system, etc.
  • Oversaw a team of 10 members responsible for IT infrastructure development for the national organization as Project Manager and Team Leader..
  • Created policies and procedures for the membership, including training and governance material for over 100 entities in over 20 states.
  • Worked in a diverse environment with superiors and coworkers via email, teleconference and video conference.
  • Sat on the Board of Directors and oversaw daily operations of the operations of the national non-profit entity, in conjunction with 10 other directors and various committee members.
  • Developed a private member intranet (web accessible) to foster information flow and relationship development which included a bulletin board, job board, member directory, permission flexibility and many other useful and productive features.
6.2006 – 6.2007 SmartSource, Inc. Fort Lauderdale, Fl

Network and Systems Engineer

  • Workstation troubleshoot, installation and calibration: Windows XP, Windows 2000 and Windows 98.
  • Windows 2000 and 2003 server installation and calibration based on client specifications.
  • Complete network installation, including preconfigured Cisco routers, SonicWall Firewalls, 3COM switches, etc.
  • Printer maintenance, troubleshooting and installation: HP LaserJet Series, Brother, Canon.
  • Cisco VoIP Phone installation and calibration. Network troubleshooting and implementation.
- ValCom / Grainger: 5/06 - InSight / VLAX: 6/06 – Present
1.2006 – 6.2006 Fast Train, Inc. Fort Lauderdale, Fl


Instructor of Information Technology

  • Taught several classes of students, ranging from four to ten students each, covering topics related to becoming a Computer Repair Technician or Network Technician.
  • Courses focused on preparation for the CompTIA A+ Hardware, CompTIA A+ Software, CompTIA Network+ and several MCSE 2003 certification examinations.
  • Successfully maintained a 75% passing rate for students.
  • Designed, planned and implemented curricula, tests, lectures and laboratories where students were ensured hands on experience for the field.
10.2003 – 12.2005 S&R Processing, Inc. Miramar, Fl


Vice President / Technology Manager

  • Implemented company’s network infrastructure, of: ten workstations and three Server 2003 servers.
  • Designed and implemented company’s intranet using ASP.NET and provided full documentation of plans and codes.
  • Completed hardware and software support for all users, including clients.
  • Set up inner-office procedures for optimum workability and efficiency, allowing the company to double it’s 1st, 2nd and 4th quarter revenues in 2004.
  • Managed four to six employees, dictated assignments and projects.
  • Assisted the company to reach goals of attaining the greatest market share for out-sourced mortgage processing in the State of Florida, only one year after the founding of the firm.
  • Trained new and current personnel with computer systems, website, intranet and company protocol.
8.2004 – 2.2005 Luxury Yacht Group Fort Lauderdale, Fl

Web Programmer

  • Visual Basic .NET web based programming for a multi-million dollar yacht chartering company with four websites servicing over 2000 users a day.
  • Responsible for MSSQL 2000 relational database design and implementation, as well as documentation and reporting for all current and future projects.
  • Responsible for testing and maintenance of the organization’s websites and intranets.
  • Created dynamic web pages with client-side and server-side technologies, specifically HTML, ASP.NET, JavaScript, VBScript and SQL relational database interfaces using DreamWeaver as primary development tool, and integrated multimedia components for a dynamic experience.
  • Upgraded all ASP 3.0 to ASP.NET 1.0 to ensure a quality end-user experience, as well as increase efficiency and usability. This upgrade was completed two months before deployment deadline.
6.2003 – 8.2004 Nova Southeastern University Fort Lauderdale, Fl

Part-Time Computer Technician

  • Supervise and manage the proper use of equipment in computer labs.
  • Assist end-users with technical questions and problems regarding hardware and software installation.
  • Maintain and test all laboratory equipment periodically, ensuring proper function and operation.
  • Responsible for the repair and calibration of lab equipment, including desktop computer and network components, and printers.
  • Upgraded and serviced desktop workstations, as well as routine maintenance on all systems in the facility.

Education

3.2008 – 6.2010 Nova Southeastern University Fort Lauderdale, Fl

Doctor of Philosophy in Computer Science

  • Research topics: Artificial Intelligence, Communication Networks, Information Security, Data Mining and Machine Learning.
1.2007 – 3.2008 Nova Southeastern University Fort Lauderdale, Fl

Masters of Science in Computer Science

8.2002 – 5.2005 Nova Southeastern University Fort Lauderdale, Fl

Bachelors of Science in Computer Science

  • Minor: Business Administration

For more information please click here

 

Extra Curricular Activities

Activities:

Lambda Theta Phi, Latin Fraternity Inc:

  • National Director of Information Technology
  • Regional Director of Operations – FLS2
  • Beta Gamma Chapter President
  • Beta Gamma Chapter Webmaster

Nova Southeastern University’s Student Government Association:

  • Executive Board Secretary
  • Leadership Committee Chair person
  • Inter-fraternity Council Senator

Spanish and Latin Student Association (SALSA):

  • Treasurer

The Inter-Fraternity Council of NSU:

  • Vice President of Recruitment
  • Interim Vice President of Operations and Internal Affairs

Scholarships:

  • Florida Bright Futures Gold Scholarship Recipient
  • Nova Southeastern University’s Honors Scholarship Award
  • Florida Student Access Grant Recipient
  • SMART Grant Recipient

Honors and Awards:

  • “Who’s Who” of High School Students: 2002
  • Dean’s List: Fall / Winter 2002
  • Neophyte (New Member) of the Year for Beta Gamma Chapter: Winter 2003
  • Office of Greek Affairs Greek God Award: Winter 2004
  • Most Campus Involvement: Winter 2004
  • Philadelphia (Brotherhood Cup Winner: Winter 2004
  • Broward County High school Programming Competition 2001 and 2002 Second Place Winner hosted at Nova Southeastern University , University School, High School

Affiliations:

  • Lambda Theta Phi, Latin Fraternity Inc.
  • IEEE – Institute of Electrical and Electronics Engineers
  • ACM – Association for Computing Machinery
  • SPHE – Society of Professional Hispanic Engineers Member
  • ASEE – American Society of Engineering Education Member
  • NFL – National Forensic League Life Time Member
  • ARC – the American Red Cross, Broward County Chapter

Miscellaneous:

  • Coordinator of various community service events including: Boys and Girls Club of Davie Mentoring and Fundraising, Camilla’s House Soup Kitchen, the American Red Cross Donation Drive, the Salvation Army food and clothing drives, as well as other projects dealing with battered women, breast cancer and underprivileged children.
  • The American Red Cross Volunteer for the Hurricane Katrina Relief Effort in Gulfport, Mississippi and New Orleans, Louisiana for 3 weeks: September 23rd to October 14th, 2005

Skills

  • Detailed understanding of Microsoft’s Office Suite, including but not limited to Visio, PowerPoint, Word, Excel, Access
  • Programming experience with various computer-programming languages and Object Oriented programming, design and implementation.
  • High Level Language (HLL) experience: ASP.NET: 2yrs, VBScript: 3yrs, SQL (MS Access, MSSQL Server, MySQL): 2yrs, DHTML: 1yr, JavaScript: 4yrs, CSS: 4yrs, HTML: 5yrs, VBA: 1yr
  • Experience with various applications: Adobe Professional Suite, Symantec / Norton Application Suite
  • Desktop publishing knowledge: Adobe Acrobat Professional 8.0, Microsoft Publisher, and Adobe Photoshop CS3
    image manipulation.
  • Experience with various operating systems: Windows 95, Windows 98, Windows 2000, Windows XP Home /
    Professional, Windows 2003 Server
  • Web Application Design and Management, Database Design and Management, Information Systems Analysis,
    Internet Research, Helpdesk, Networking, Customer Service
  • Full Hardware support, including but not limited to troubleshooting and diagnostics, upgrades, maintenance
    and optimization.
  • Working knowledge of UNIX /LINUX and related systems
    • FreeBSD Unix
    • Ubuntu Linux (Server and Workstation)
    • Red Hat Linux
    • SUSE Linux
    • Apache Web Server
    • MySQL Database
  • Fluent in both Spanish and
    English, learning Italian
  • Typing Skills: 70 WPM
Leave a Comment :, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , more...

Rowing technique and training

by Steve Hernandez on Oct.14, 2007, under Rowing

Great site: http://home.hia.no/~stephens/rowing.htm

Attached is a page from the website regarding training. I will, as soon as I have a moment, write up a plan of action for training. My personal training. It will include current state of fitness, some measures, etc. Then I’ll elaborate on course of action, measures, etc. I hope that others will be able to use what I will do as a framework for their own development, both physically and in the sport.

Rowing Technique- The Mike Spracklen Philosophy

Leave a Comment :, more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...