Repair (de-bugging) and maintenance work in software field has nothing to do with mass-production or software factories. The schedule and the cost of these activities are not programmable in advance. And a great infrastructure of documentation, control, and surveillance is needed , as well as tacit knowledge of the system and its context.
One can learn a lot about de-bugging and maintenance of software by studying how the Swiss fix their potholes; see "Fixing Swiss Potholes" @
http://research.stlouisfed.org/wp/2001/2001-025.pdf
A site devoted mostly to everything related to Information Technology under the sun - among other things.
Saturday, April 3, 2010
Managing Employee Communications
At the end of an article titled "Managing employee communications" by Mathew D. Sarrel in the March 15 issue of eWeek, we read:
"Employee communications can be stored and analyzed forever. On the bright side, this isn't just for information security. Understanding how employees interact with each other—and with customers—over social networks can provide valuable insight to marketing teams."
I find this morally repulsive as it facilitates the destruction of social trust and consequently, human liberty. The wide deployment of such devices injects fear in all levels of society. In the United States, where much of social, commercial, and governmental transactions are trust-based, these devices will have a corrosive effect.
I think it was in "The Book of Laughter and Forgetting" that Milan Kundera related how the Communist Government of Czechoslovakia, used eavesdropping on the private conversations of dissidents to discredit them by broadcasting those recorded conversation on the state radio.
Free (of retaliation or consequence) exchanges of ideas and opinions, as well as subjects of more personal nature, will consequently be severely harmed by the users of social computing systems (IM, eMail, etc.) due to the injection of the fear of exposure, intimidation, or blackmail. In more oppressive states, these types of devices will serve to enhance the power and the reach of repressive state organs.
These devices, being promoted and sold under the guise of enhancing security, are a threat to human Freedom & Liberty. Their security model is that of a Police State and not that of free individuals engaged in free and unencumbered exchanges with one another.
"Employee communications can be stored and analyzed forever. On the bright side, this isn't just for information security. Understanding how employees interact with each other—and with customers—over social networks can provide valuable insight to marketing teams."
I find this morally repulsive as it facilitates the destruction of social trust and consequently, human liberty. The wide deployment of such devices injects fear in all levels of society. In the United States, where much of social, commercial, and governmental transactions are trust-based, these devices will have a corrosive effect.
I think it was in "The Book of Laughter and Forgetting" that Milan Kundera related how the Communist Government of Czechoslovakia, used eavesdropping on the private conversations of dissidents to discredit them by broadcasting those recorded conversation on the state radio.
Free (of retaliation or consequence) exchanges of ideas and opinions, as well as subjects of more personal nature, will consequently be severely harmed by the users of social computing systems (IM, eMail, etc.) due to the injection of the fear of exposure, intimidation, or blackmail. In more oppressive states, these types of devices will serve to enhance the power and the reach of repressive state organs.
These devices, being promoted and sold under the guise of enhancing security, are a threat to human Freedom & Liberty. Their security model is that of a Police State and not that of free individuals engaged in free and unencumbered exchanges with one another.
Friday, April 2, 2010
Fun With VMware V. 7 Workstation
VMware V. 7 of Workstation supports multiple processors with multiple cores and it can handle the Aero interface. It works on both hosted on and running 64-bit operating systems. It supports the various forms of USB 2.0 devices.
There is the ability to record an activity and rerun it, stepping into and back out of bugs; and the Workstation also has the ability to interact directly with a VM from within leading IDEs.
A tester can duplicate an unexpected event and run the software in the VM and turn on recording. He may capture the recording in a file and log the bug in the defect tracker with a URL pointing to the saved file as the recording files are very large—they capture the entire VM, and so can reach multiple gigabytes.
The developer may replay the saved file and watch the defect appear again. Rewinding the recording enables the defect to be replayed as many times as necessary. Workstation also enables flags to be set at any point so that various events can be highlighted in the replay.
The natural extension to the concept of playback is that of saving an entire VM as a static snapshot. At any point, you can throw out the modified VM and return to the previous (snapshot) version
It will also be useful for performing software reviews; install the software to be reviewed within the VM and let the VM’s registry get corrupted. When you’re done, either save the VM to a DVD or throw it out, and use the original snapshot as the basis for new clean VMs.
Snapshots need not occur just once. VMware has a way of scheduling them to be captured at regular intervals so that you can easily return to a previous point in a lengthy process.
Similarly, one can install the entire software tools and testing data needed to develop or to sustain a system - Requirements, Modeling, IDE, Compiler, Testing, Database - on a reference VM and distribute that to the developers on the team. This will obviate the need for each developer to acquire, install, and configure all the tools and data that would be needed to develop or to sustain that system.
SpringSource tools are part of this release. They enable developers to automatically start Workstation, power on a virtual machine, revert to a specific snapshot, inject the SpringSource server, copy the project to the virtual machine, start the application, and attach a debugger”—all from within the IDE (Eclipse and Visual Studio).
VMware Workstation can run multiple VMs simultaneously. You can identify a group of VMs that are to boot together and be treated as a group.
Price is $189 per seat.
There is the ability to record an activity and rerun it, stepping into and back out of bugs; and the Workstation also has the ability to interact directly with a VM from within leading IDEs.
A tester can duplicate an unexpected event and run the software in the VM and turn on recording. He may capture the recording in a file and log the bug in the defect tracker with a URL pointing to the saved file as the recording files are very large—they capture the entire VM, and so can reach multiple gigabytes.
The developer may replay the saved file and watch the defect appear again. Rewinding the recording enables the defect to be replayed as many times as necessary. Workstation also enables flags to be set at any point so that various events can be highlighted in the replay.
The natural extension to the concept of playback is that of saving an entire VM as a static snapshot. At any point, you can throw out the modified VM and return to the previous (snapshot) version
It will also be useful for performing software reviews; install the software to be reviewed within the VM and let the VM’s registry get corrupted. When you’re done, either save the VM to a DVD or throw it out, and use the original snapshot as the basis for new clean VMs.
Snapshots need not occur just once. VMware has a way of scheduling them to be captured at regular intervals so that you can easily return to a previous point in a lengthy process.
Similarly, one can install the entire software tools and testing data needed to develop or to sustain a system - Requirements, Modeling, IDE, Compiler, Testing, Database - on a reference VM and distribute that to the developers on the team. This will obviate the need for each developer to acquire, install, and configure all the tools and data that would be needed to develop or to sustain that system.
SpringSource tools are part of this release. They enable developers to automatically start Workstation, power on a virtual machine, revert to a specific snapshot, inject the SpringSource server, copy the project to the virtual machine, start the application, and attach a debugger”—all from within the IDE (Eclipse and Visual Studio).
VMware Workstation can run multiple VMs simultaneously. You can identify a group of VMs that are to boot together and be treated as a group.
Price is $189 per seat.
Automated Function Point Analysis
I am pleased to learn that CATS Software has developed a semi-automated tool for function point analysis. See http://www.castsoftware.com/Product/Automated-Function-Points.aspx
However, we are still not where we ought to be, i.e. using UML or DFD as our starting point and then computing the function points from those artifacts automatically - once the system boundary has been established.
See http://www.ing.unife.it/docenti/FabrizioRiguzzi/Papers/LamMelRig-PAP98.pdf and http://www.ing.unife.it/docenti/FabrizioRiguzzi/Papers/GraLamMel-TR97.pdf which use DFD as their starting point and http://www.cs.unibo.it/~cianca/wwwpages/labspo/uemura.pdf which uses UML.
The first tool was a research project that was never turned into a product and the second one was a commercial sponsored research project the details of which could not be disclosed.
However, we are still not where we ought to be, i.e. using UML or DFD as our starting point and then computing the function points from those artifacts automatically - once the system boundary has been established.
See http://www.ing.unife.it/docenti/FabrizioRiguzzi/Papers/LamMelRig-PAP98.pdf and http://www.ing.unife.it/docenti/FabrizioRiguzzi/Papers/GraLamMel-TR97.pdf which use DFD as their starting point and http://www.cs.unibo.it/~cianca/wwwpages/labspo/uemura.pdf which uses UML.
The first tool was a research project that was never turned into a product and the second one was a commercial sponsored research project the details of which could not be disclosed.
Thursday, April 1, 2010
Wednesday, March 31, 2010
Certification Site
Site to ease the certification hassle @ http://www.pass4sure.org/allproducts.html
Tuesday, March 30, 2010
The Human Camera
If you have never seen this before, you are in for a treat. Open here: http://video.stumbleupon.com/#p=0k4lsi1dql
Sunday, March 28, 2010
Innovation Delusion
An article by Ralph Gomory from the Huffington Post: http://www.huffingtonpost.com/ralph-gomory/the-innovation-delusion_b_480794.html
Concurrency in Java 5
J2SE 5 very much extends and expands the concurrency model of Java. The very useful concurrency communication classes such as (bounded and unbounded) queues are introduced.
One of the best parts of new improved Java concurrency model is the new java.util.concurrent.BlockingQueue interface.
LinkedBlockingQueues and ArrayBlockingQueues do away with wait(), notify() and notifyAll() style of coding. Add to that Synchronized queues, which are simply amazing, as well as DelayQueue classes and PriorityBlockingQueues and you have yourself a whole lot of threading fun!
Other useful classes are CountDownLatch, CyclicBarrier, Executor,
CachedThreadPools, FixedThreadPools, SingleThreadExecutors, ExecutorServices, Futures, and Callable.
I think it is a good idea to look into learning synchronous, asynchronous queues, and cached threading pools, and then delve into performance considerations for atomic, lock, and concurrent methods of class, method, and attribute concurrency.
Note that there are command line switches important to concurrent programming (-X*) and also that there Runtime classes designed to help avoid OutOfMemory heap problems.
Some of these exciting stuff is covered in the "Thinking in Java 4" by Bruce Eckel but that book does not concentrate on concurrent programming.
The book to read is:
Java Concurrency in Practice
by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea
One of the best parts of new improved Java concurrency model is the new java.util.concurrent.BlockingQueue interface.
LinkedBlockingQueues and ArrayBlockingQueues do away with wait(), notify() and notifyAll() style of coding. Add to that Synchronized queues, which are simply amazing, as well as DelayQueue classes and PriorityBlockingQueues and you have yourself a whole lot of threading fun!
Other useful classes are CountDownLatch, CyclicBarrier, Executor,
CachedThreadPools, FixedThreadPools, SingleThreadExecutors, ExecutorServices, Futures, and Callable.
I think it is a good idea to look into learning synchronous, asynchronous queues, and cached threading pools, and then delve into performance considerations for atomic, lock, and concurrent methods of class, method, and attribute concurrency.
Note that there are command line switches important to concurrent programming (-X*) and also that there Runtime classes designed to help avoid OutOfMemory heap problems.
Some of these exciting stuff is covered in the "Thinking in Java 4" by Bruce Eckel but that book does not concentrate on concurrent programming.
The book to read is:
Java Concurrency in Practice
by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea
Tuesday, March 16, 2010
The Astral Religion of Antiquity and the Thinking Machines of To-day
A paper by the late historian of science, George Sarton, that is as relevant today as when it was first published 50 years ago.
http://cid-58aac97211c98e70.skydrive.live.com/self.aspx/.Public/The%20Astral%20Religion%20of%20Antiquity%20and%20the%20Thinking%20Machines%20of%20To-day.pdf
http://cid-58aac97211c98e70.skydrive.live.com/self.aspx/.Public/The%20Astral%20Religion%20of%20Antiquity%20and%20the%20Thinking%20Machines%20of%20To-day.pdf
Thursday, March 11, 2010
Sunday, March 7, 2010
Pivot for Web Exploration
An interesting presentation and web data visualization tool by Gary Flake (a Microsoft Technical Fellow):
http://www.ted.com/talks/gary_flake_is_pivot_a_turning_point_for_web_exploration.html
The tool is available from Microsoft Labs.
http://www.ted.com/talks/gary_flake_is_pivot_a_turning_point_for_web_exploration.html
The tool is available from Microsoft Labs.
Windows Installer CleanUp Utility
Windows Installer CleanUp Utility might be able to help remove installation information for programs that were installed by using Windows Installer. Be aware that it will not remove the actual program from the computer but will remove the installation files so that one may re-start the installation, upgrade, or uninstall.
Windows Installer CleanUp Utility (for all 32-bit and 64-bit versions of Microsoft Windows) may be found @ http://support.microsoft.com/kb/290301
Windows Installer CleanUp Utility (for all 32-bit and 64-bit versions of Microsoft Windows) may be found @ http://support.microsoft.com/kb/290301
Wednesday, March 3, 2010
Monday, March 1, 2010
Thursday, February 25, 2010
Is U.S. Killing Its Innovation Machine?
From an article by Willy C. Shih in the online edition of the Harvard Business Review:
"The market research firm iSuppli estimates that the Kindle's total manufacturing cost is $185. The most expensive single component is the $60 display, which Taiwan's Prime View International is manufacturing."
"The market research firm iSuppli estimates that the Kindle's total manufacturing cost is $185. The most expensive single component is the $60 display, which Taiwan's Prime View International is manufacturing."
This story was taken up by the Brookings Institution under the title: "Amazon’s Kindle: Symbol of American Decline?" in which we read:
"...Because E-Ink could not control the low-temperature polysilicon and the fabrication of the display, it could not perform the system integration required for it to capture the majority of the value-add at that stage....U.S. will likely miss out on the future industries that may spring from shop-floor tinkering with the display and its production--“things like large flexible displays, future generations of electronic signage, and plastic electronics.”"
Flash Flowers
Click on the following link, when a black screen opens click any where on the screen and drag the mouse.
http://www.procreo.jp/labo/flower_garden.swf
http://www.procreo.jp/labo/flower_garden.swf
Wednesday, February 24, 2010
Open-Source Windows Applications
Ten open-source Windows applications worth a look: http://blogs.zdnet.com/BTL/?p=30983
Friday, February 19, 2010
Facts on Facebook
If you want to know how Facebook, the number 2 property on the Internet, does what it does, listen to:
http://cns.ucsd.edu/lecturearchive09.shtml#Roth
http://cns.ucsd.edu/lecturearchive09.shtml#Roth
Tuesday, February 16, 2010
Free Web Applications
Free Web applications from Microsoft @ http://www.microsoft.com/web/spotlight/appgallery.aspx?WT.mc_id=nlc-web-corp-spotfeb_msdnfl
Subscribe to:
Posts (Atom)
Useful Links
Topics
- 3-D Printing (16)
- AI (455)
- Art (112)
- Article (161)
- books (104)
- Business Intelligence (18)
- Careers (104)
- Cloud Computing (22)
- Cognition (14)
- Complexity (8)
- Computer Science (22)
- COVID-19 (1)
- Cyber-security (102)
- Cybersecurity (2)
- Data Analysis (41)
- Data Management (21)
- Data Visualization (31)
- Design Thinking (1)
- Embedded Tools (34)
- Gadgets (77)
- Games (33)
- Google (9)
- Hardware (47)
- High Performance Computing (33)
- History of Mathematics (1)
- Humor (83)
- Inetrview (6)
- Intelligent Transportation (18)
- Interview (2)
- IoT (15)
- IT as Metaphor (2)
- Magazine Subscription (8)
- Mathematics Tools (6)
- Microsoft Platforms (25)
- Microsoft Tools (66)
- Mobile Computing (3)
- Motto (3)
- Network Tools (12)
- News (270)
- Offshoring (6)
- Open-Source Sofware (9)
- Outsourcing (1)
- Philosophy (8)
- picture (1)
- Pictures (151)
- PLM (5)
- Programming Languages (78)
- Quantum Computing (5)
- Report (6)
- Reports (56)
- RFID (3)
- Robots (149)
- Science (80)
- Scientific Computing (18)
- Search Tools (7)
- Semantic Networks (11)
- Simulations (36)
- Social Computing (28)
- Software Architecture (28)
- Software Development (167)
- Software Testing (5)
- Software Tools (275)
- Some Thoughts (85)
- Speech (6)
- Standards - Telematics (9)
- Transportation (14)
- Video (11)
- Visualization (10)
- Web Site (240)
- Web Site for Science (57)
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
- October (2)
- September (27)
- August (24)
- July (13)
- June (22)
- May (11)
- April (20)
- March (5)
- February (5)
- January (21)
- December (18)
- November (13)
- October (12)
- September (3)
- August (10)
- July (8)
- June (15)
- May (15)
- April (9)
- March (17)
- February (22)
- January (45)
- December (19)
- 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)































