A site devoted mostly to everything related to Information Technology under the sun - among other things.
Thursday, April 30, 2009
Site for Requirements Management
Practical information about requirements management @ http://www.jiludwig.com .
Constructal Theory
The constructal theory is the mental viewing that the generation of design (configuration, pattern, geometry) is covered by the Constructal Law: "For a finite-size (flow) system to persist in time (to live), its configuration must evolve such that it provides easier access to the imposed currents that flow through it."
More than 20 years ago, many object-oriented programmers were inspired by the writings of Christopher Alexander in the field of Architecture (see, for example, "A Pattern Language") to look for recurring patterns in programming. The result was"Design Patterns: Elements of Reusable Object-Oriented Software".
The Constructal Law speaks of "easier access" to "currents that flow". This is an apt metaphor for many (enterprise) software systems in which data flows among a diversity of sub-systems. Perhaps the ideas of Constructal Theory may be applied to software construction - specially enterprise software.
More than 20 years ago, many object-oriented programmers were inspired by the writings of Christopher Alexander in the field of Architecture (see, for example, "A Pattern Language") to look for recurring patterns in programming. The result was"Design Patterns: Elements of Reusable Object-Oriented Software".
The Constructal Law speaks of "easier access" to "currents that flow". This is an apt metaphor for many (enterprise) software systems in which data flows among a diversity of sub-systems. Perhaps the ideas of Constructal Theory may be applied to software construction - specially enterprise software.
Free Software Testing Tools
One may start @ http://opensourcetesting.org/ which is a portal for open source software testing tools, news, and discussion.
Then there is Yahoo User Interface Library (YUI Test) @ www.developer.yahoo.com/yui - a unit testing framework for adding code-level tests to browser-based JavaScript solutions.
Open QA Selenium @ http://www.seleniumhq.org/ is a functional testing framework for adding UI-level tests to browser-based JavaScript solutions.
Canoo Web Test @ http://webtest.canoo.com/ is similar in intent to Open QA Selenium.
Hudson @ https://hudson.dev.java.net is a continuous integration framework for compiling application and running tests on an automatic or regular basis.
Two other CI frameworks are Cruise Control @ http://cruisecontrol.sourceforge.net and Atlassian Bamboo @ www.atlassian.com/software/bamboo .
Then there is Yahoo User Interface Library (YUI Test) @ www.developer.yahoo.com/yui - a unit testing framework for adding code-level tests to browser-based JavaScript solutions.
Open QA Selenium @ http://www.seleniumhq.org/ is a functional testing framework for adding UI-level tests to browser-based JavaScript solutions.
Canoo Web Test @ http://webtest.canoo.com/ is similar in intent to Open QA Selenium.
Hudson @ https://hudson.dev.java.net is a continuous integration framework for compiling application and running tests on an automatic or regular basis.
Two other CI frameworks are Cruise Control @ http://cruisecontrol.sourceforge.net and Atlassian Bamboo @ www.atlassian.com/software/bamboo .
Tuesday, April 28, 2009
Monday, April 27, 2009
The Foundation for the Future
The Foundation for the Future focuses on the condition of humanity a thousand years hence. Find it @ http://www.futurefoundation.org/
Friday, April 24, 2009
Latest Tech
Design is everything! See:
http://cid-58aac97211c98e70.skydrive.live.com/browse.aspx/.res/58AAC97211C98E70!118
http://cid-58aac97211c98e70.skydrive.live.com/browse.aspx/.res/58AAC97211C98E70!118
Monday, April 20, 2009
Windows Memory Diagnostic Tool
The Windows Memory Diagnostic tests the Random Access Memory (RAM) on your computer for errors. The diagnostic includes a comprehensive set of memory tests.
Find it @ http://oca.microsoft.com/en/windiag.asp
Find it @ http://oca.microsoft.com/en/windiag.asp
Exploitable Crash Analyzer Tool
Microsoft has made Exploitable Crash Analyzer available for download at its CodePlex open-source project hosting website. The tool has been used by Microsoft internally.
The tool is a Windows debugger extension that is intended for use during the fuzz testing process, when testers throw unexpected data at applications to see how the data is handled.
Find it @ http://msecdbg.codeplex.com/
The tool is a Windows debugger extension that is intended for use during the fuzz testing process, when testers throw unexpected data at applications to see how the data is handled.
Find it @ http://msecdbg.codeplex.com/
IIS Assembly Diagram
International Space Station assembly diagram @ http://i.usatoday.net/tech/graphics/iss_timeline/flash.htm
Friday, April 17, 2009
Advanced Excel Repair
Check the recovery tool called Advanced Excel Repair to repair your Excel file. It is a powerful tool to repair corrupt or damaged Excel files.
Find it @ http://www.datanumen.com/aer/
Find it @ http://www.datanumen.com/aer/
Thursday, April 16, 2009
Working Tips
Wednesday, April 15, 2009
US Financial Crisis
From the Brookings Institution report on America’s Financial Crisis:
"...the crisis is likely to come to represent a major regime change, greatly altering the future shape of the U.S. and global economies. The era of self-regulation of financial institutions is over, and the role of monetary policy has been greatly altered. The binge of consumer spending also seems to have come to an end, as households focus on rebuilding their balance sheets. ... Countries must develop new drivers of demand growth; countries will not be able to rely on growing exports into the U.S. market, and they will need to emphasize the development of domestic and regional markets."
"...the crisis is likely to come to represent a major regime change, greatly altering the future shape of the U.S. and global economies. The era of self-regulation of financial institutions is over, and the role of monetary policy has been greatly altered. The binge of consumer spending also seems to have come to an end, as households focus on rebuilding their balance sheets. ... Countries must develop new drivers of demand growth; countries will not be able to rely on growing exports into the U.S. market, and they will need to emphasize the development of domestic and regional markets."
Future Cars?
The only way to redeem electric vehicles is to make them far more efficient than they are today. These companies claim to have done so: http://www.aptera.com/ and http://www.miastrada.com/.
March of the Sandbots
From the IEEE Spectrum:
http://spectrum.ieee.org/apr09/8307
Also, take a look at the slide show: "Robots Gone Wild" @ http://spectrum.ieee.org/apr09/8368
http://spectrum.ieee.org/apr09/8307
Also, take a look at the slide show: "Robots Gone Wild" @ http://spectrum.ieee.org/apr09/8368
Tuesday, April 14, 2009
Friday, April 10, 2009
MS Point of Service for .NET
Microsoft Point of Service for .NET version 1.12 (POS for .NET) is a class library that provides .NET applications with a simple and consistent interface for communicating with Point of Service (POS) peripheral devices.
Learn more about it @ http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=eaae202a-0fcc-406a-8fde-35713d7841ca
And @ http://msdn.microsoft.com/en-us/library/bb411785(WinEmbedded.11).aspx
Learn more about it @ http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=eaae202a-0fcc-406a-8fde-35713d7841ca
And @ http://msdn.microsoft.com/en-us/library/bb411785(WinEmbedded.11).aspx
3D Printing & Self-Replicating Machines
http://singularityhub.com/2009/04/09/3d-printing-and-self-replicating-machines-in-your-living-room-seriously/
One can go further by envisioning a large collection of such self-replicating machines with embedded sensors that collect data on the machine's performance in the field. By that I mean that a set of internal measurements are performed at a constant rate within each machine. That which is being measured is the response of the various components of the machine to field conditions, including its software components. Collectively, these measurements indicate the fitness of the machine's genome to its environment.
This data, in turn, could be transmitted to a centralized location and collected in a data store. Next, genetic and evolutionary algorithms may be invoked to evolve designs for better machines based on the sensor data and the existing blueprints (genome) for the machines. The new designs, in turn, could then be transmitted to the 3D printer for construction.
Note that in many instances, for very complex machines, the evolutionary or genetic algorithms may be invoked only on selected (sub-)parts of the design. In such cases, the entire design may need not be transmitted to the 3D printer but only the differences (departures) from the standard (or pre-existing) blueprint.
As the design changes, the instructions for the construction of the machines, or parts thereof, may also need alteration. Using MS Robotic Studio and the features of .Net Framework such as CodeDOM (see, for example, http://msdn.microsoft.com/en-us/magazine/cc163934.aspx ), one could in principle write software that would automatically generate the new instructions needed for the construction of the machines based on the newly evolved designs.
One can go further by envisioning a large collection of such self-replicating machines with embedded sensors that collect data on the machine's performance in the field. By that I mean that a set of internal measurements are performed at a constant rate within each machine. That which is being measured is the response of the various components of the machine to field conditions, including its software components. Collectively, these measurements indicate the fitness of the machine's genome to its environment.
This data, in turn, could be transmitted to a centralized location and collected in a data store. Next, genetic and evolutionary algorithms may be invoked to evolve designs for better machines based on the sensor data and the existing blueprints (genome) for the machines. The new designs, in turn, could then be transmitted to the 3D printer for construction.
Note that in many instances, for very complex machines, the evolutionary or genetic algorithms may be invoked only on selected (sub-)parts of the design. In such cases, the entire design may need not be transmitted to the 3D printer but only the differences (departures) from the standard (or pre-existing) blueprint.
As the design changes, the instructions for the construction of the machines, or parts thereof, may also need alteration. Using MS Robotic Studio and the features of .Net Framework such as CodeDOM (see, for example, http://msdn.microsoft.com/en-us/magazine/cc163934.aspx ), one could in principle write software that would automatically generate the new instructions needed for the construction of the machines based on the newly evolved designs.
Thursday, April 9, 2009
Questioning Standardization
In the article titled "Environmental standardization: cure or cause of poor reproducibility in animal experiments?" by S.H. Richter, J. P. Garner, and H. Würbel, published in Nature Methods (2009 April 6(4):257-61), we read:
"It is widely believed that environmental standardization is the best way to guarantee reproducible results ..... However, mounting evidence indicates that even subtle differences in laboratory or test conditions can lead to conflicting test outcomes. Because experimental treatments may interact with environmental conditions, experiments conducted under highly standardized conditions may reveal local 'truths' with little external validity. .... Environmental standardization can contribute to spurious and conflicting findings ..... This conclusion calls for research into practicable and effective ways of systematic environmental heterogenization ...."
There are 2 things noteworthy about this work.
The first is the application of data mining techniques to the results of scientific experiments to test hypothesis about how science is done - a baby step towards a Science of Science.
The second is the possible relevance of this approach to system (software/hardware) testing. That is, does our insistence on standardized test environments for software testing and validation inevitably leads us to amplify the quirks and specificalities of each (presumably) standardized test environment?
"It is widely believed that environmental standardization is the best way to guarantee reproducible results ..... However, mounting evidence indicates that even subtle differences in laboratory or test conditions can lead to conflicting test outcomes. Because experimental treatments may interact with environmental conditions, experiments conducted under highly standardized conditions may reveal local 'truths' with little external validity. .... Environmental standardization can contribute to spurious and conflicting findings ..... This conclusion calls for research into practicable and effective ways of systematic environmental heterogenization ...."
There are 2 things noteworthy about this work.
The first is the application of data mining techniques to the results of scientific experiments to test hypothesis about how science is done - a baby step towards a Science of Science.
The second is the possible relevance of this approach to system (software/hardware) testing. That is, does our insistence on standardized test environments for software testing and validation inevitably leads us to amplify the quirks and specificalities of each (presumably) standardized test environment?
Tuesday, April 7, 2009
Subscribe to:
Posts (Atom)
Useful Links
- .Net Code Samples
- AJAX for MS Developers
- C# Tutorials
- Channel9
- Code Search Engine
- Douglas Crockford's JavaScript Site
- DZONE
- Google Code
- IBM Developer Works
- IBM Public Skunkworks
- Is This Thing On?
- Java tutorials, hints, tips
- Jon Udell Weblog
- Knowing .Net
- Massive List of Information for Programmers
- MIT Courses
- MSDN
- Simple-Talk
- SUN Java
- That Indigo Girl
- UC Berkeley Lectures
- Yahoo UI Library
Topics
- 3-D Printing (13)
- AI (228)
- Art (95)
- Article (120)
- book (11)
- books (83)
- Business Intelligence (18)
- Careers (72)
- Cloud Computing (19)
- Cognition (13)
- Complexity (8)
- Computer Science (20)
- COVID-19 (1)
- Cyber-security (79)
- Data Analysis (39)
- Data Management (19)
- Data Visualization (30)
- Design Thinking (1)
- Embedded Tools (34)
- Gadgets (74)
- Games (32)
- Google (7)
- Hardware (39)
- High Performance Computing (32)
- History of Mathematics (1)
- Humor (73)
- Inetrview (7)
- Intelligent Transportation (17)
- IoT (15)
- IT as Metaphor (2)
- Magazine Subscription (8)
- Mathematics Tools (4)
- Microsoft Platforms (22)
- Microsoft Tools (63)
- Mobile Computing (2)
- Motto (3)
- Network Tools (12)
- News (121)
- Offshoring (6)
- Open-Source Sofware (7)
- Outsourcing (1)
- Philosophy (5)
- Pictures (143)
- PLM (5)
- Programming Languages (74)
- Quantum Computing (5)
- Reports (52)
- RFID (3)
- Robo (2)
- Robots (103)
- Science (57)
- Scientific Computing (17)
- Search Tools (7)
- Semantic Networks (11)
- Simulations (34)
- Social Computing (25)
- Software Architecture (27)
- Software Development (151)
- Software Testing (4)
- Software Tools (268)
- Some Thoughts (44)
- Speech (6)
- Standards - Telematics (9)
- Transportation (14)
- Video (11)
- Visualization (9)
- Web Site (224)
- Web Site for Science (48)
About Me
- Babak Makkinejad
- I had been a senior software developer working for HP and GM. I am interested in intelligent and scientific computing. I am passionate about computers as enablers for human imagination. The contents of this site are not in any way, shape, or form endorsed, approved, or otherwise authorized by HP, its subsidiaries, or its officers and shareholders.
Blog Archive
- November (11)
- October (10)
- September (7)
- August (11)
- July (6)
- June (11)
- May (12)
- April (7)
- March (5)
- February (1)
- January (3)
- December (1)
- October (2)
- September (4)
- August (1)
- July (3)
- June (2)
- April (2)
- March (2)
- February (2)
- January (10)
- December (1)
- October (1)
- September (1)
- August (4)
- June (1)
- April (6)
- March (2)
- February (4)
- January (3)
- December (1)
- October (1)
- June (3)
- April (1)
- March (1)
- February (1)
- January (6)
- December (8)
- November (3)
- October (5)
- September (2)
- August (3)
- July (6)
- June (2)
- May (7)
- April (19)
- March (22)
- February (6)
- January (5)
- December (4)
- November (4)
- October (9)
- September (3)
- August (7)
- July (3)
- June (2)
- May (6)
- April (4)
- March (8)
- February (5)
- January (18)
- December (6)
- November (10)
- October (6)
- September (7)
- August (2)
- July (4)
- June (5)
- May (8)
- April (5)
- March (9)
- February (3)
- January (7)
- December (2)
- November (1)
- October (3)
- September (5)
- August (10)
- July (8)
- May (5)
- April (8)
- March (9)
- February (6)
- January (11)
- November (6)
- October (9)
- September (5)
- August (13)
- July (9)
- June (9)
- May (8)
- April (4)
- March (2)
- February (8)
- January (9)
- December (3)
- November (7)
- October (9)
- September (7)
- August (4)
- July (2)
- June (4)
- May (7)
- March (4)
- February (2)
- January (1)
- December (2)
- November (1)
- October (6)
- September (1)
- August (1)
- July (4)
- June (1)
- April (1)
- March (1)
- February (1)
- January (2)
- December (5)
- October (4)
- August (2)
- July (3)
- June (8)
- May (7)
- April (5)
- March (9)
- February (3)
- January (7)
- December (4)
- October (7)
- September (5)
- August (5)
- July (8)
- June (6)
- May (9)
- April (5)
- March (4)
- February (5)
- January (6)
- December (12)
- November (7)
- October (5)
- September (4)
- August (19)
- July (12)
- June (4)
- May (8)
- April (5)
- March (15)
- February (5)
- January (9)
- December (14)
- November (6)
- October (12)
- September (2)
- August (10)
- July (8)
- June (8)
- May (11)
- April (10)
- March (10)
- February (9)
- January (20)
- December (16)
- November (9)
- October (25)
- September (24)
- August (12)
- July (18)
- June (20)
- May (13)
- April (29)
- March (26)
- February (14)
- January (17)
- December (17)
- November (9)
- October (32)
- September (27)
- August (27)
- July (11)
- June (22)
- May (25)
- April (33)
- March (33)
- February (28)
- January (38)
- December (12)
- November (39)
- October (28)
- September (29)
- August (29)
- July (18)
- June (27)
- May (17)
- April (23)
- March (40)
- February (31)
- January (6)