IronPython 2.0 is Microsoft’s flagship of the Dynamic Language Runtime. It has the ability to glue together interesting libraries and tools from both the .NET and the Python worlds.
A useful book for learning how to use IronPython is “IronPython in Action” by Michael Foord and Christian Muirhead with topics such as test-driven development, mocks and meta-programming, along with clear discussions of .NET’s CLR structure, Windows Presentation Foundation, and even programming PowerShell with Python.
I’ve posted Resolver One, the spreadsheet powered by and programmable in IronPython before. After the IronPython 2.0 release, Resolver Systems announced a programming contest for Resolver One (first prize: US$15,000—read more @ http://www.resolversystems.com/).
I think Resolver One is one of the best ways to do exploratory programming.
Blue Reference's Inference for .NET is a tool for literate programming in Microsoft Office; i.e. a mashup of programming and word processing (or spreadsheet processing). It enables you to use the .NET dynamic scripting languages (IronPython, IronRuby, Managed Jscript, Dynamic VB) within the familiar Microsoft Excel and Word environment.
A site devoted mostly to everything related to Information Technology under the sun - among other things.
Tuesday, February 3, 2009
Approaches to Parallelism
A new model for writing concurrent applications is based on a structure called an actor. An actor is a computation entity whose primary actions are performing operations that are passed to it, passing data to other actors, and creating new actors.
These operations are entirely local; they have no effects on other actors. To affect other actors, an actor must pass a message to them, including the data they need or the new instructions.
This parallel-programming technique does not use variable but constants – like Java strings - as data cannot be unexpectedly changed by another thread.
Data changes among actors are done by sending messages to one another. Because of this built-in mutual exclusion, actors are a good match for parallelism
Erlang is the language with the greatest commercial acceptance that uses actor-like constructs. For Java, there is an actor framework called ActorFoundry. But, on the JVM, the best choice is the emerging language Scala, which provides support for traditional object-oriented-style programming as well.
This approach is similar to dataflow, a design that was first expounded in the 1960s. It too uses message passing and adds a built-in capability to monitor the relationship between two data items, such that if one changes, the other is automatically updated.
Pervasive Software is releasing DataRush Java library which has handled massive amounts of data in tests with only modest hardware platforms. The product has the ability to leverage data-flow across all the processor cores.
It seems that message-passing parallelism (think OpenMP) is likely to become more prominent during the next few years as a way to leverage the many cores in today’s PCs and servers.
These operations are entirely local; they have no effects on other actors. To affect other actors, an actor must pass a message to them, including the data they need or the new instructions.
This parallel-programming technique does not use variable but constants – like Java strings - as data cannot be unexpectedly changed by another thread.
Data changes among actors are done by sending messages to one another. Because of this built-in mutual exclusion, actors are a good match for parallelism
Erlang is the language with the greatest commercial acceptance that uses actor-like constructs. For Java, there is an actor framework called ActorFoundry. But, on the JVM, the best choice is the emerging language Scala, which provides support for traditional object-oriented-style programming as well.
This approach is similar to dataflow, a design that was first expounded in the 1960s. It too uses message passing and adds a built-in capability to monitor the relationship between two data items, such that if one changes, the other is automatically updated.
Pervasive Software is releasing DataRush Java library which has handled massive amounts of data in tests with only modest hardware platforms. The product has the ability to leverage data-flow across all the processor cores.
It seems that message-passing parallelism (think OpenMP) is likely to become more prominent during the next few years as a way to leverage the many cores in today’s PCs and servers.
Friday, January 30, 2009
Thursday, January 29, 2009
Free Collaboration Software
Design Review 2009 from AutoDesk corporation is a collaboration application used to view, print, mark up, and compare versions of drawings, maps, and models. Find it @ http://usa.autodesk.com/adsk/servlet/mform?id=9131297&siteID=123112
Beautiful Libraries

Abbey Library St. Gallen, Switzerland

Angelica Library, Rome, Italy

Herzog August Library, Wolfenbüttel, Germany

Beatus Rhenanus Library, Basel, Switzerland

Bernadotte Library, Stockholm Sweden
Wednesday, January 28, 2009
More of Google
Tidbits of information that might be of interest:
BigTable Technology @ http://video.google.com/videoplay?docid=7278544055668715642
[The Apache Foundation open source version of BigTable is available @ http://hadoop.apache.org/hbase]
Sergei Brin on search @ http://youtube.com/watch?v=Ka9IwHvkfU
Google Lectures @ http://video.google.com/ and enter “Google Lecture Series”
Google Friends Newsletter http://google.com/contact/newsletter.html delivered to your inbox monthly. Example content from the September 2008 Newsletter http://groups.google.com/group/google-friends/browse_thread/thread/6452afbdd1707c0d?pli=1) are:
The Moderator Program @ http://moderator.appspot.com/
Charity Project @ http://project0tothe100.com/
Update to the Picasa Photo Album Project @ http://picasa.google.com/
The Chrome Browser @ http://google.com/chrome
Google Maps @ http://maps.google.com/
The archives are @ http://google.com/googlefriends/archive.html
Google Alerts @ http://google.com/alerts
Google Labs white papers @ http://research.google.com/pubs/papers.html
Google Video Functions for Business @ http://google.com/apps/intl/en/business/collaboration.html
Google Translate @ http://translate.google.com/translate_t#
And Google Jargon; e.g. “chubby” for row locking (see "The Chubby Lock Service for Loosely-Coupled Distributed Systems"and “janitors” agents for smart agents (see http://code.google.com/p/kernel-janitors/source/checkout).
BigTable Technology @ http://video.google.com/videoplay?docid=7278544055668715642
[The Apache Foundation open source version of BigTable is available @ http://hadoop.apache.org/hbase]
Sergei Brin on search @ http://youtube.com/watch?v=Ka9IwHvkfU
Google Lectures @ http://video.google.com/ and enter “Google Lecture Series”
Google Friends Newsletter http://google.com/contact/newsletter.html delivered to your inbox monthly. Example content from the September 2008 Newsletter http://groups.google.com/group/google-friends/browse_thread/thread/6452afbdd1707c0d?pli=1) are:
The Moderator Program @ http://moderator.appspot.com/
Charity Project @ http://project0tothe100.com/
Update to the Picasa Photo Album Project @ http://picasa.google.com/
The Chrome Browser @ http://google.com/chrome
Google Maps @ http://maps.google.com/
The archives are @ http://google.com/googlefriends/archive.html
Google Alerts @ http://google.com/alerts
Google Labs white papers @ http://research.google.com/pubs/papers.html
Google Video Functions for Business @ http://google.com/apps/intl/en/business/collaboration.html
Google Translate @ http://translate.google.com/translate_t#
And Google Jargon; e.g. “chubby” for row locking (see "The Chubby Lock Service for Loosely-Coupled Distributed Systems"and “janitors” agents for smart agents (see http://code.google.com/p/kernel-janitors/source/checkout).
Tuesday, January 27, 2009
Monday, January 26, 2009
2 Job Search Sites
In case you did not know of these 2 job search sites:
http://www.simplyhired.com/
http://www.indeed.com/
http://www.simplyhired.com/
http://www.indeed.com/
Saturday, January 24, 2009
Robots At War
From an article by P.W. Singer, the author of Wired For War, in the Winter 2009 issue of the Wilson Quarterly:
"The “soldier” in this case was a 42-pound robot called a PackBot. About the size of a lawn mower, the PackBot mounts all sorts of cameras and sensors, as well as a nimble arm with four joints. It moves using four “flippers.” These are tiny treads that can also rotate on an axis, allowing the robot not only to roll forward and backward using the treads as a tank would, but also to flip its tracks up and down (almost like a seal moving) to climb stairs, rumble over rocks, squeeze down twisting tunnels, and even swim underwater. The cost to the United States of this “death” was $150,000. "
There is also the NPR interview with him available @ http://www.npr.org/templates/story/story.php?storyId=99663723
And the launch event of the Wired For War book may be found @ http://www.brookings.edu/events/2009/0126_wired.aspx
"The “soldier” in this case was a 42-pound robot called a PackBot. About the size of a lawn mower, the PackBot mounts all sorts of cameras and sensors, as well as a nimble arm with four joints. It moves using four “flippers.” These are tiny treads that can also rotate on an axis, allowing the robot not only to roll forward and backward using the treads as a tank would, but also to flip its tracks up and down (almost like a seal moving) to climb stairs, rumble over rocks, squeeze down twisting tunnels, and even swim underwater. The cost to the United States of this “death” was $150,000. "
There is also the NPR interview with him available @ http://www.npr.org/templates/story/story.php?storyId=99663723
And the launch event of the Wired For War book may be found @ http://www.brookings.edu/events/2009/0126_wired.aspx
Sunday, January 18, 2009
C++ or C ?
Dan Saks writes (Embedded.com, 11/01/08):
"C++ provides all the facilities of C for controlling hardware efficiently. At times, controlling hardware can be tricky and error prone. C++ has features that C lacks, principally classes and templates, that let you bundle device controls into components..."
"C++ provides all the facilities of C for controlling hardware efficiently. At times, controlling hardware can be tricky and error prone. C++ has features that C lacks, principally classes and templates, that let you bundle device controls into components..."
Wednesday, January 14, 2009
My Namespace
The My namespace in Visual Basic .Net exposes properties and methods that enable you to easily take advantage of the power of the .NET Framework.
The My namespace is fully extensible so that you can customize the behavior of My and add new services to its hierarchy to adapt to specific application needs.
The My object model is:
.gif)
Learn more about it @ http://msdn.microsoft.com/en-us/vbasic/ms789188.aspx
The My namespace is fully extensible so that you can customize the behavior of My and add new services to its hierarchy to adapt to specific application needs.
The My object model is:
.gif)
Learn more about it @ http://msdn.microsoft.com/en-us/vbasic/ms789188.aspx
Free Chemical Drawing Package
Symyx is offering its Symyx Draw 3.1 chemical drawing application as a free download for those wishing to use it for academic and home use. Symyx Draw 3.1 enables you to draw and edit complex chemical structures and reactions with ease. Find it @ http://www.symyx.com/micro/getdraw/
Monday, January 12, 2009
Sunday, January 11, 2009
SpaceTime 3.0
Check out this neat mathematics software for PC, MAC, and mobile devices called SpaceTime @ http://www.spacetime.us/windows/.
It is available on Windows, LINUX, Pocket PC, MAC, Smart Phones etc.
Price is right too: $10 to $ 30!
It is available on Windows, LINUX, Pocket PC, MAC, Smart Phones etc.
Price is right too: $10 to $ 30!
Friday, January 9, 2009
Troubleshooting Wireless
In case you ever come across the following symptoms:
The wireless is working on the (Linksys) router & adapter but then it stops working. The signal strength is excellent but cannot pull an IP address.
The suggestion from the site http://forums.techguy.org/networking/588716-solved-connected-router-wireless-but.html worked. You must repair the TCP/IP stack for Windows XP SP2:
The wireless is working on the (Linksys) router & adapter but then it stops working. The signal strength is excellent but cannot pull an IP address.
The suggestion from the site http://forums.techguy.org/networking/588716-solved-connected-router-wireless-but.html worked. You must repair the TCP/IP stack for Windows XP SP2:
- Start, Run, CMD to open a command prompt.
- Reset WINSOCK entries to installation defaults: netsh winsock reset catalog
- Reset TCP/IP stack to installation defaults: netsh int ip reset reset.log
- Reboot the machine.
Thursday, January 8, 2009
Physical Invariants of Intelligence
An interesting take on physical properties of intelligence. We read:
The objective of this work is to extend the physical invariants of biosignature (from disorder to order) to invariants of intelligent behavior: from disorder to order via phase transition.
The objective of this work is to extend the physical invariants of biosignature (from disorder to order) to invariants of intelligent behavior: from disorder to order via phase transition.
Wolfram Demonstration Projects
Wolfram demonstration projects may be found @ http://demonstrations.wolfram.com/index.html. An index for all projects is available @ http://demonstrations.wolfram.com/siteindex.html.
It requires downloading and installing Mathematica Player for the animation to work.
It requires downloading and installing Mathematica Player for the animation to work.
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 (14)
- AI (329)
- Art (109)
- Article (147)
- book (14)
- books (84)
- Business Intelligence (18)
- Careers (94)
- Cloud Computing (21)
- Cognition (13)
- Complexity (8)
- Computer Science (22)
- COVID-19 (1)
- Cyber-security (83)
- Data Analysis (41)
- Data Management (21)
- Data Visualization (31)
- Design Thinking (1)
- Embedded Tools (34)
- Gadgets (76)
- Games (33)
- Google (9)
- Hardware (44)
- High Performance Computing (33)
- History of Mathematics (1)
- Humor (77)
- Inetrview (7)
- Intelligent Transportation (17)
- IoT (15)
- IT as Metaphor (2)
- Magazine Subscription (8)
- Mathematics Tools (4)
- Microsoft Platforms (24)
- Microsoft Tools (65)
- Mobile Computing (3)
- Motto (3)
- Network Tools (12)
- News (166)
- Offshoring (6)
- Open-Source Sofware (9)
- Outsourcing (1)
- Philosophy (7)
- picture (1)
- Pictures (149)
- PLM (5)
- Programming Languages (75)
- Quantum Computing (5)
- Reports (55)
- RFID (3)
- Robo (2)
- Robots (111)
- Science (65)
- Scientific Computing (18)
- Search Tools (7)
- Semantic Networks (11)
- Simulations (34)
- Social Computing (27)
- Software Architecture (28)
- Software Development (161)
- Software Testing (5)
- Software Tools (272)
- Some Thoughts (66)
- Speech (6)
- Standards - Telematics (9)
- Transportation (14)
- Video (11)
- Visualization (10)
- Web Site (233)
- Web Site for Science (51)
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
- September (2)
- 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)