http://crave.cnet.com/8300-1_105-1.html&tag=blog
http://blog.sciam.com/index.php
A site devoted mostly to everything related to Information Technology under the sun - among other things.
Saturday, September 29, 2007
Kannuu Text-entry
Kannuu is a new method of text entry that relies on a databse of words (possibly restricted) and a navigation wheel to enter text.
Learn about it @ http://crave.cnet.com/8301-1_105-9783298-1.html
Learn about it @ http://crave.cnet.com/8301-1_105-9783298-1.html
C++0x
C++ is being updated. The update is called C++0x for now.
Find the details @ http://en.wikipedia.org/wiki/C%2B%2B0x
Find the details @ http://en.wikipedia.org/wiki/C%2B%2B0x
Worse Than Failure
Yes, Virginia, there are things worse than failure.
Check out Alex Papadimoulis Weblog @ http://worsethanfailure.com/
Check out Alex Papadimoulis Weblog @ http://worsethanfailure.com/
Why XAML Is Important
XAML was first announced publicly at the October 2003 Microsoft Professional Developers Conference (PDC) in Los Angeles as "Longhorn's X Technology." It is a declarative programming model based on a new XML vocabulary called Extensible Application Markup, code-named 'XAML' (pronounced 'zammel').
Writing an application starts with authoring a XAML file (typically through a designer) to define the layout of UI elements which can then be deployed either as a Windows Client UI or a Web UI.
But XAML's potential extends beyond graphical UI development. It is, in fact, a mechanism for instantiating .NET classes. Note that XAML is also a key technology element of the new Windows Workflow Foundation (WWF) and has many other potential uses as well. XAML is an extremely broad and versatile way to put a declarative front-end on .NET development of any sort whatsoever.
Just as there's nothing about object-oriented development that limits it to GUI objects, there's nothing about XAML that limits it to providing a declarative means of creating a richer GUI experience for users.
XAML is analogous to Language Integrated Query (LINQ) in that both are ways to evolve from a more domain-specific procedural approach of program development to a more declarative way of programming. XAML provides an adaptable declarative framework that can potentially be used in all sorts of specific application domains. It offers extensible means to build declarative front-ends over object-oriented programming, which is typically still quite procedural.
Check it out!
Writing an application starts with authoring a XAML file (typically through a designer) to define the layout of UI elements which can then be deployed either as a Windows Client UI or a Web UI.
But XAML's potential extends beyond graphical UI development. It is, in fact, a mechanism for instantiating .NET classes. Note that XAML is also a key technology element of the new Windows Workflow Foundation (WWF) and has many other potential uses as well. XAML is an extremely broad and versatile way to put a declarative front-end on .NET development of any sort whatsoever.
Just as there's nothing about object-oriented development that limits it to GUI objects, there's nothing about XAML that limits it to providing a declarative means of creating a richer GUI experience for users.
XAML is analogous to Language Integrated Query (LINQ) in that both are ways to evolve from a more domain-specific procedural approach of program development to a more declarative way of programming. XAML provides an adaptable declarative framework that can potentially be used in all sorts of specific application domains. It offers extensible means to build declarative front-ends over object-oriented programming, which is typically still quite procedural.
Check it out!
Insufficiency of Data Models
Malcolm Chisolm has 3 interesting articles on why data modeling alone is not sufficient for the design of databases.
They are:
"Data Models are Not Database Design" in October 2007 issue of DM Review.
"MetaThoughts:The Logical/Physical Challenge in Data Management"
"Is Data Modeling Sufficient for Database Design?"
I think they are worth reading. I specially enjoyed the first one since I had personal experience with reference data and could relate to the validity of his assertions.
They are:
"Data Models are Not Database Design" in October 2007 issue of DM Review.
"MetaThoughts:The Logical/Physical Challenge in Data Management"
"Is Data Modeling Sufficient for Database Design?"
I think they are worth reading. I specially enjoyed the first one since I had personal experience with reference data and could relate to the validity of his assertions.
BI & Gramm-Leach-Bliley Act
Please be advised that in building BI applications, as soon as you put customer account information into the analysis you trigger the Gramm-Leach-Bliley Act.
Misusing Materialized Views
Reporting and BI applications need to transform their data from raw database form into denormalized structures, dimensional model, or a cube. They also must also apply filtering, aggregation, and business transformations.
Materialized views are being misused in order to skip ETL step. This is a simplistic approach & it does not work since often the developers do not understand the data transformation needs of the business. The cost is paid in the form of a much more expansive and expensive reporting & BI development cycle.
The more cost-effective approach is to use an extended hub-and-spoke model in which the ETL step leads to further spokes in the form of data marts and cubes.
Materialized views are being misused in order to skip ETL step. This is a simplistic approach & it does not work since often the developers do not understand the data transformation needs of the business. The cost is paid in the form of a much more expansive and expensive reporting & BI development cycle.
The more cost-effective approach is to use an extended hub-and-spoke model in which the ETL step leads to further spokes in the form of data marts and cubes.
Thursday, September 27, 2007
Free Web Vulnerability Scanner Tool
The Web vulnerability scanner tool SXX from Acunetix is freely available @
http://www.acunetix.com/cross-site-scripting/scanner.htm
http://www.acunetix.com/cross-site-scripting/scanner.htm
Wednesday, September 26, 2007
Michael Dell at CSIS
His topic is: "Simplification and Energy Efficiency: The Next Challenges for IT"
http://www.csis.org/component/option,com_csis_events/task,view/id,1385/
http://www.csis.org/component/option,com_csis_events/task,view/id,1385/
Tuesday, September 25, 2007
Saturday, September 22, 2007
What is wrong with PowerPoint?
Peter Norvig has created a PowerPoint deck that highlights the poverty of the PowerPoint presentation style with devastating clarity. Find it @ http://www.norvig.com/Gettysburg/index.htm
Friday, September 21, 2007
Concurrency Models
None of today's popular programming language is inherently parallelizable. No compiler for Java, C# and Visual Basic - much less C or C++ - will suddenly distribute the application's computations across multiple processors.
The current model of threading used in mainstream programming languages—the model of programmer-controlled threads and locks—is fundamentally broken since this is a model where callbacks are inherently unsafe.
There are other concurrency models, however, worth considering.
There is “message passing” (“shared nothing”) based on the principle that data stored inside objects should always be thread-local and that access from another thread should always be mediated by a method call that can be made responsible for synchronization. .NET’s ThreadLocalAttribute is using this model. The downside is that it requires an appreciable amount of “everything is an object” overhead on exactly the type of large data set most amenable to data-parallel performance benefits (for example, multimedia data).
The “software transactional memory” (STM) is basically optimistic concurrency for RAM. Essentially, the programmer becomes responsible not for controlling threads and locks but for identifying sequences that require atomicity. STM systems have an external component (some combination of library and compiler-generated code) that checks the validity of an atomic sequence and retries invalidated transactions. While such checking introduces some amount of overhead, it’s less than that of “shared nothing.” The performance of STM varies with the number of collisions and retries that are triggered.
There are a few C# libraries for STM, including one from Microsoft Research @ research.microsoft.com/research/downloads/Details/6cfc842d-1c16-4739-afaf-edb35f544384/Details.aspx
and another by Ralf Sudelbücher @
weblogs.asp.net/ralfw/archive/tags/Software+Transactional+Memory/default.aspx
Another model is the pure-functional programming (look at .Net's F# or Haskell) in which all state is passed through function parameters.
And the less ascetic model in which variables are immutable after their initial assignment. Such (along with message-passing) is the model of Erlang.
The current model of threading used in mainstream programming languages—the model of programmer-controlled threads and locks—is fundamentally broken since this is a model where callbacks are inherently unsafe.
There are other concurrency models, however, worth considering.
There is “message passing” (“shared nothing”) based on the principle that data stored inside objects should always be thread-local and that access from another thread should always be mediated by a method call that can be made responsible for synchronization. .NET’s ThreadLocalAttribute is using this model. The downside is that it requires an appreciable amount of “everything is an object” overhead on exactly the type of large data set most amenable to data-parallel performance benefits (for example, multimedia data).
The “software transactional memory” (STM) is basically optimistic concurrency for RAM. Essentially, the programmer becomes responsible not for controlling threads and locks but for identifying sequences that require atomicity. STM systems have an external component (some combination of library and compiler-generated code) that checks the validity of an atomic sequence and retries invalidated transactions. While such checking introduces some amount of overhead, it’s less than that of “shared nothing.” The performance of STM varies with the number of collisions and retries that are triggered.
There are a few C# libraries for STM, including one from Microsoft Research @ research.microsoft.com/research/downloads/Details/6cfc842d-1c16-4739-afaf-edb35f544384/Details.aspx
and another by Ralf Sudelbücher @
weblogs.asp.net/ralfw/archive/tags/Software+Transactional+Memory/default.aspx
Another model is the pure-functional programming (look at .Net's F# or Haskell) in which all state is passed through function parameters.
And the less ascetic model in which variables are immutable after their initial assignment. Such (along with message-passing) is the model of Erlang.
Thursday, September 20, 2007
Free Software - Alice
Alice is a free, easy-to-use, interactive 3D graphics software tool for the WWW. Find it @ http://www.alice.org/
I would like to mention here that Randy Pausch, a Carnegie Mellon University computer-science professor who has been deeply involved in the development of Alice has been diagnosed with incurable pancreatic cancer.
In his last lecture on Tuesday 09/18/2007 to 400 students and colleagues, Professor Pauch stated:,
"Like Moses, I get to see the Promised Land, but I don't get to step foot in it. That's OK. I will live on in Alice."
I would like to mention here that Randy Pausch, a Carnegie Mellon University computer-science professor who has been deeply involved in the development of Alice has been diagnosed with incurable pancreatic cancer.
In his last lecture on Tuesday 09/18/2007 to 400 students and colleagues, Professor Pauch stated:,
"Like Moses, I get to see the Promised Land, but I don't get to step foot in it. That's OK. I will live on in Alice."
Multimedia User Interface Design
An interesting take on GUI design :
http://www.portabledesign.com/article?article_id=75
Some of this could be accomplished on the Windows platform by using Shell Extensions but that approach was not a cohesive one like the one above.
http://www.portabledesign.com/article?article_id=75
Some of this could be accomplished on the Windows platform by using Shell Extensions but that approach was not a cohesive one like the one above.
Tuesday, September 18, 2007
An Interesting Book
"In the Age of the Smart Machine: The Future of Work and Power" By Shoshana Zuboff
Friday, September 14, 2007
Friday, September 7, 2007
Microsoft XNA Game Studio Express
Microsoft XNA Game Studio Express is a set of tools based on Microsoft Visual C# 2005 Express Edition that allow students and hobbyists to build games for both Microsoft Windows and Xbox 360. Find it @ http://msdn2.microsoft.com/en-us/library/bb200104.aspx
There is also this MSDN article @ http://msdn.microsoft.com/msdnmag/issues/07/05/XNA/default.aspx
Check it out!
There is also this MSDN article @ http://msdn.microsoft.com/msdnmag/issues/07/05/XNA/default.aspx
Check it out!
Free Lite Programs
Here are some free less resource-hungry programs that I've found useful whcih perform the same tasks or at least the most commonly used tasks:
• Foxit Software's Foxit Reader 2.0 (http://www.foxitsoftware.com/): This PDF reader is 1.67MB, needs about 5MB of RAM, and starts up almost instantly. An .msi file is available for download, so you can deploy this program through Group Policy.
• PDFCreator (http://sourceforge.net/projects/pdfcreator): PDFCreator provides an easy way to create PDF files from any application. It creates a virtual printer named PDF creator. Whenever you want to create a PDF file from a document, you just send the document to this virtual printer. You can deploy this program through Group Policy.
• 7-Zip (http://www.7-zip.org/): This program opens all popular compressed files (e.g., .zip, .iso, .rar, .arj). Plus, it provides a new compression format (7z) that, according to the Web site, provides a compression ratio that's up to 10 percent better than the ratio provided by PKWARE's PKZip and WinZip Computing's WinZip. One of my favorite features is that you can compress and decompress files in the background. You can deploy this multilingual program through Group Policy.
• Media Player Classic (http://sourceforge.net/project/showfiles.php?group_id=82303&package_id=84358): Although Media Player Classic looks like Microsoft's Windows Media Player (WMP), Media Play Classic is faster and requires less memory than WMP. Media Player Classic is highly extensible.
• Foxit Software's Foxit Reader 2.0 (http://www.foxitsoftware.com/): This PDF reader is 1.67MB, needs about 5MB of RAM, and starts up almost instantly. An .msi file is available for download, so you can deploy this program through Group Policy.
• PDFCreator (http://sourceforge.net/projects/pdfcreator): PDFCreator provides an easy way to create PDF files from any application. It creates a virtual printer named PDF creator. Whenever you want to create a PDF file from a document, you just send the document to this virtual printer. You can deploy this program through Group Policy.
• 7-Zip (http://www.7-zip.org/): This program opens all popular compressed files (e.g., .zip, .iso, .rar, .arj). Plus, it provides a new compression format (7z) that, according to the Web site, provides a compression ratio that's up to 10 percent better than the ratio provided by PKWARE's PKZip and WinZip Computing's WinZip. One of my favorite features is that you can compress and decompress files in the background. You can deploy this multilingual program through Group Policy.
• Media Player Classic (http://sourceforge.net/project/showfiles.php?group_id=82303&package_id=84358): Although Media Player Classic looks like Microsoft's Windows Media Player (WMP), Media Play Classic is faster and requires less memory than WMP. Media Player Classic is highly extensible.
Subscribe to:
Posts (Atom)
Useful Links
Topics
- 3-D Printing (15)
- AI (422)
- Art (112)
- Article (157)
- books (103)
- Business Intelligence (18)
- Careers (104)
- Cloud Computing (22)
- Cognition (14)
- Complexity (8)
- Computer Science (22)
- COVID-19 (1)
- Cyber-security (99)
- 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 (79)
- Inetrview (7)
- Intelligent Transportation (18)
- IoT (15)
- IT as Metaphor (2)
- Magazine Subscription (8)
- Mathematics Tools (5)
- Microsoft Platforms (25)
- Microsoft Tools (66)
- Mobile Computing (3)
- Motto (3)
- Network Tools (12)
- News (243)
- Offshoring (6)
- Open-Source Sofware (9)
- Outsourcing (1)
- Philosophy (8)
- picture (1)
- Pictures (151)
- PLM (5)
- Programming Languages (77)
- Quantum Computing (5)
- Report (4)
- Reports (56)
- RFID (3)
- Robots (138)
- Science (75)
- 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 (83)
- Speech (6)
- Standards - Telematics (9)
- Transportation (14)
- Video (11)
- Visualization (10)
- Web Site (239)
- 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
- August (6)
- 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)