DCSIMG
April 2009 - Posts - Asaf Shelly

April 2009 - Posts

Sharing My Source
Tuesday, April 21, 2009 4:24 PM

Hi all,

As some of you may know I have a huge collection of applications and code samples. I don't have a degree so all my studies were by designing and writing tools and projects. It was clear to me for some while that I should publish this code. I even tried to do this once before but it is not so simple. The code looks bad when it is viewed as a simple text file over the web. Coloring is problematic because you need to deal with it over and over again whenever you have a bug fixed.

Bottom line is that I decided to finally do it. It took me less than 12 hour of work to produce a text parser that produces HTML files for c/++/# files. It is only appropriate (and simple :) to share the source code of this generator as the first project that I share.

http://asyncop.com/Link.aspx?Open-Source

I will eventually find the time to produce some management system so I can add new projects without too much trouble.

The project publisher tool has three basic elements:

A C# library with ProjectPublisher.cs which is the engine, a C# WebService that uses the library with the source file ProjectPublisherWSvc.asmx.cs, and a simple web page demonstrating the use of the WebService called Default use of ProjectPublisherWS.aspx.cs.

The source files are parsed on demand so the original file on the server is the clean source file. This way I can update the sample by copying the new C\++\# file using the FTP folder. I am assuming that there won't be more than one request per second and if there is then I can always turn on the cache on the firewall.

The WebService is open to the public so you can simply send a string read from a source file and the server will return an HTML file. The reserved words are in arrays and the color tagging are members to a class. It should be easy to add API that receives the list of reserved words and color schemes.

WebService URL is: http://services.asyncop.com/ProjectPublisher/ProjectPublisherWSvc.asmx

Let me know if you find any bugs. This is still only 12 hours of work for coding, designing, debugging, testing, and integration with the AsyncOp website...

Regards,

Asaf

World of Parallel Computing
Sunday, April 05, 2009 3:46 PM

I was reading Sasha's blog post about parallel computing and went over the presentation slides.

http://blogs.Microsoft.co.il/blogs/sasha/archive/2009/04/04/concurrent-programming-msdn-event.aspx

It looks somewhat different than mine, even though I can only assume that the goals and the audience were pretty much the same.

http://blogs.Microsoft.co.il/blogs/asafshelly/archive/2009/04/05/video-introduction-to-multicore-programming.aspx

This is usually because 'we are not there yet'. Meaning, we don't really have all the answers. If you ask someone about UML you will usually receive the same answers. This is because everyone is in agreement about the fundamental issues.

This is not the case with parallel computing.

The first thing that comes to mind is that most people either do Procedural C programming or Object Oriented programming and design. Sasha mentions that working in parallel takes another big leap, just like the one from C to C++. These are two completely different ways of thinking.

I take this concept one step further to say that: If we need to move forward from what we know - Procedural and Object Oriented Programming, then this means that both are old and out-of-date. If we move forward then this has to mean that what we have today is wrong! Doing Task Oriented Programming with OOD is as bad as doing OOP with C.

Most architects today are used to working with C++ and C#. Most Realtime programmers are used to C. OOP is very good for managing large fragments of code where as Procedural C is very good in managing flow. In Procedural programming a function is used to implement a Procedure. A Procedure is a process or something that happens and has a flow. In OOP classes are used to represent objects.

What we are looking for is something completely different.

We will still be using classes and functions but now it will not be for procedures and objects. It would be for tasks.

 

Welcome to the new world of programming.

Asaf

Video: Introduction to Multicore Programming
Sunday, April 05, 2009 3:14 AM

[הרצאה מלאה בעברית בנושא עיבוד מקבילי - וידאו. למפתחים, למנהלים, ולמקבלי החלטות] 

Hi all,

As some of you already know I have been giving an introductory lecture to selected company here in Israel. The lecture is over an hour long and talks about Multicore Programming and the world of parallel computing. It is for decision makers and developers. The lecture is featured by Pacific Software and myself.

The lecture is limited to large groups of people. At the first opportunity I had to bring a camera with me I got the session on video. This was not so easy since most large companies work with defensive products and would not allow cellular phones with cameras, and wouldn't even hear about video cameras.

I have uploaded the video with full presentation slides here:

http://asyncop.com/MTnPDirEnum.aspx?treeviewPath=%5bf%5d+Video%5c%5bc%5d+Introduction+To+Multicore+Programming

Feel free to give me any comment. The video is about 1:20 minutes long.

Enjoy!

Asaf 

 

 

Format: wmv
Duration: 1:20