Monday, September 25, 2006
Rip and Organize Music
The following screen shot describes a set of Windows applications aimed to demonstrate my audio multimedia skills on the Windows XP Platform.
The first application is a CDRIP based Windows application based on a famous Open Source Ripping Engine available on Source Forge for which i have added a Skin Engine.
The second application is a MUSIC multithreaded scanning Windows application which extract metadata from a personnal music collection and organized the music based on genre, artist, album like wise Microsoft, Apple, Real or Media Monkey are doing.
The third is a basic Application to embed the Media Player Engine.
I will post soon a screen shot of an application to show an alternate way on Windows (using a Direct X and Active X Control technology) to select a CD in a media library based on 3d albumart image mapping like wise apple did with iTune in the latest version of iTune.
Stay tuned...
The first application is a CDRIP based Windows application based on a famous Open Source Ripping Engine available on Source Forge for which i have added a Skin Engine.
The second application is a MUSIC multithreaded scanning Windows application which extract metadata from a personnal music collection and organized the music based on genre, artist, album like wise Microsoft, Apple, Real or Media Monkey are doing.
The third is a basic Application to embed the Media Player Engine.
I will post soon a screen shot of an application to show an alternate way on Windows (using a Direct X and Active X Control technology) to select a CD in a media library based on 3d albumart image mapping like wise apple did with iTune in the latest version of iTune.
Stay tuned...
Thursday, September 21, 2006
Internet Explorer in Kiosk Mode
Internet Explorer offers the capability to open in Kiosk mode. Kiosk mode forces the webpage or application to occupy the entire viewable area of the screen. To open IE in Kiosk mode you use the following command:
C:\Program Files\Internet Explorer\iexplore.exe -k http://www.thomasyounsi.com/
C:\Program Files\Internet Explorer\iexplore.exe -k http://www.thomasyounsi.com/
DIME, WSE and INDIGO
SOAP messages are not the best way to send large binary files. As the Web Services emerge, people look for Web services to have more and more functionality. Result was the introduction of Web Services Enhancement (WSE) 2.0. The Web Services Enhancements for Microsoft .NET (WSE) supports attaching files to SOAP messages outside the SOAP envelope; these files are not serialized as XML. This can be beneficial when sending large text or binary files because XML serialization is a very costly process and can result in files much larger than the originals. Direct Internet Message Encapsulation (DIME) is a lightweight, binary message format that WSE uses to encapsulate SOAP messages and their attachments in a DIME message.
http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20051027WSE3MF/manifest.xml
http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20051027WSE3MF/manifest.xml
Wednesday, September 20, 2006
MSN Soap BOX
Today i was looking at the video sample on Microsoft MSN web site
and i look at the source of the html page playing the page.
My surprise was that the page is working in both IE7 and Firefox Mozilla.
When i look at the source you can see a weird
block with a reference to a VideoService.asmx. and then
an other blog with a very strange HTML tag
tp="Msn.Controls.Mediaplayer"
So what is this mysterious Msn.Controls.Mediaplayer.
text/xmlScript
http://www.nikhilk.net/AtlasXMLScript.aspx
and what is returned by the asmx js method
http://soapbox.msn.com/services/VideoService.asmx/js
.....
and i look at the source of the html page playing the page.
My surprise was that the page is working in both IE7 and Firefox Mozilla.
When i look at the source you can see a weird
block with a reference to a VideoService.asmx. and then
an other blog with a very strange HTML tag
tp="Msn.Controls.Mediaplayer"
So what is this mysterious Msn.Controls.Mediaplayer.
text/xmlScript
http://www.nikhilk.net/AtlasXMLScript.aspx
and what is returned by the asmx js method
http://soapbox.msn.com/services/VideoService.asmx/js
.....
Tuesday, September 19, 2006
COM, COM+ AND VISTA
For those of you who are wondering if COM and COM+ are subject to be remove from Microsoft's upcoming Platforms then please read the following comments from Microsoft
http://www.microsoft.com/com/default.mspx
Wishes long life to COM !
http://www.microsoft.com/com/default.mspx
Wishes long life to COM !
Intel Profiler 3 and Intel Building Blocks
Visualize threaded application behavior and pinpoint parallel performance issues. Optimize threads faster and turn the power of Intel multi-core processors into application performance. Product benefits include: The ability to identify synchronization issues and excessive blocking time that cause delays for Win32, POSIX threaded, and OpenMP code. Spot thread workload imbalances. Improve threaded application performance by maximizing application time spent in parallel regions.
http://www.intel.com/cd/ids/developer/asmo-na/eng/84200.htm?page=1
https://registrationcenter.intel.com/EvalCenter/EvalForm.aspx?productid=727
Intel Threading Building Blocks for Windows is a new C++ template-based runtime library that eases the process of writing parallel routines, or threads, within an application. It consists of pre-built and tested data structures & algorithms that simplify threading for performance and scalability. Create scalable threads faster and utilize multi-core technology. Product benefits include: Ready to use parallel algorithms that easily plug into applications and deliver scalable performance. Highly concurrent containers for robust threaded applications. Task based parallelism to abstract low-level platform details. Library based solution that seamlessly integrates into development environments. Cross platform support speeds deployment of applications on various multi-core platforms. Supports 32-bit and 64-bit platforms using Intel and GNU compilers.
http://www.intel.com/cd/software/products/asmo-na/eng/294797.htm
Monday, September 18, 2006
XPCOM
For those who want to create some plugin for Firefox/Mozilla written in C++ i recommend
the following example as a good start.
http://www.iosart.com/firefox/xpcom/
Download the stable mozilla development environment named Gecko from mozilla.org gecko-sdk-i586-pc-cygwin-1.7.6.zip
Download two additional libraries libIDL-0.6.3-win32-bin.zip and vc71-glib-1.2.10-bin.zip from mozilla.org libIDL-0.6.3-win32-bin.zip and vc71-glib-1.2.10-bin.zip
Extract libIDL-0.6.dll from libIDL-0.6.3-win32-bin.zip and put it into C:\gecko-sdk\bin
ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32
C:> unzip libIDL-0.6.3-win32-bin.zip
C:> copy libIDL-0.6.dll C:\gecko-sdk\bin
extract glib-1.2.dll from vc71-glib-1.2.10-bin.zip and put it into C:\gecko-sdk\bin
C:> unzip vc71-glib-1.2.10-bin.zip
C:> copy glib-1.2.dll C:\gecko-sdk\bin
Note that to build the sample you will need VS6 + SP4 or greater, you will need cygwin in order to build nspr library and be able to use an autoconf based make system now used. Cygwin for Windows Platform can be found here http://sources.redhat.com/cygwin/ where as nspr source code can be found here http://www.mozilla.org/projects/nspr/eng-process/build.html
You should be able to build nspr yourself with MSDEV6, with the command line tools and cygwin.
The only thing you need that's not part of MSDEV or cygwin is the binary nsinstall.exe which is available from http://www.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/moztools-static.zip
If you don't want to build the nsrp library you can just grab the binaries from here
http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/
but i strongly recommend jsut to rely on the latest gecko SDK. For firefox 1.5 take the
gecko 1.8b1 sdk otherway you will see some strange error such as TypeError Component[cid] has no properties and no interface can be expanded in XPCOM Viewer for your component.
Replace old library in the Sample project by the latest one libnspr4.lib libplds4.lib libplc4.lib
And off course remember that all your script will be server/client based driven.
For Mozilla/Firefox you will use XPCOM and for Internet Explorer you will use ACTIVE X control for custom Dialog call from script.
To view if your XPCOM has been properly deployed and install in Mozilla 1.5 http://xpcomviewer.mozdev.org/
To debug you XPCOM http://xulfr.org/wiki/XulRunner
Nice plugin sample to provide abstraction for all Media Player
http://www.foxytunes.com/
--
Thomas
the following example as a good start.
http://www.iosart.com/firefox/xpcom/
Download the stable mozilla development environment named Gecko from mozilla.org gecko-sdk-i586-pc-cygwin-1.7.6.zip
Download two additional libraries libIDL-0.6.3-win32-bin.zip and vc71-glib-1.2.10-bin.zip from mozilla.org libIDL-0.6.3-win32-bin.zip and vc71-glib-1.2.10-bin.zip
Extract libIDL-0.6.dll from libIDL-0.6.3-win32-bin.zip and put it into C:\gecko-sdk\bin
ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32
C:> unzip libIDL-0.6.3-win32-bin.zip
C:> copy libIDL-0.6.dll C:\gecko-sdk\bin
extract glib-1.2.dll from vc71-glib-1.2.10-bin.zip and put it into C:\gecko-sdk\bin
C:> unzip vc71-glib-1.2.10-bin.zip
C:> copy glib-1.2.dll C:\gecko-sdk\bin
Note that to build the sample you will need VS6 + SP4 or greater, you will need cygwin in order to build nspr library and be able to use an autoconf based make system now used. Cygwin for Windows Platform can be found here http://sources.redhat.com/cygwin/ where as nspr source code can be found here http://www.mozilla.org/projects/nspr/eng-process/build.html
You should be able to build nspr yourself with MSDEV6, with the command line tools and cygwin.
The only thing you need that's not part of MSDEV or cygwin is the binary nsinstall.exe which is available from http://www.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/moztools-static.zip
If you don't want to build the nsrp library you can just grab the binaries from here
http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/
but i strongly recommend jsut to rely on the latest gecko SDK. For firefox 1.5 take the
gecko 1.8b1 sdk otherway you will see some strange error such as TypeError Component[cid] has no properties and no interface can be expanded in XPCOM Viewer for your component.
Replace old library in the Sample project by the latest one libnspr4.lib libplds4.lib libplc4.lib
And off course remember that all your script will be server/client based driven.
For Mozilla/Firefox you will use XPCOM and for Internet Explorer you will use ACTIVE X control for custom Dialog call from script.
To view if your XPCOM has been properly deployed and install in Mozilla 1.5 http://xpcomviewer.mozdev.org/
To debug you XPCOM http://xulfr.org/wiki/XulRunner
Nice plugin sample to provide abstraction for all Media Player
http://www.foxytunes.com/
--
Thomas
Friday, September 15, 2006
JAVA Doc
With IntelliJ IDEA JAVA IDE (my best IDE because it is close to Visual Studio Experience) there is build in feature to generate HTML Java Doc from JAVA source code.
Be sure to have all the references to all the JARS and make sure that your project build using ANT XML script. Go to Tool and then select Generate Java Doc. Much more easy than using Java Doc in command line. Sweeeet
http://java.sun.com/j2se/javadoc/
Be sure to have all the references to all the JARS and make sure that your project build using ANT XML script. Go to Tool and then select Generate Java Doc. Much more easy than using Java Doc in command line. Sweeeet
http://java.sun.com/j2se/javadoc/
Doxygen
The best tool to generate HTML documentation from C++ source code
http://www.stack.nl/~dimitri/doxygen/
http://www.stack.nl/~dimitri/doxygen/
Thursday, September 14, 2006
Describe Enterprise / UML Class Diagram
Formelly known as GDPro this engine is pretty great when it comes to generate UML class diagrams from source code and various languages.
the next generation UML design and development tool that offers both rich modeling features and productivity-focused development utilities to simplify analysis, design, and implementation. With superior navigation, wizard-based automation of common tasks, and synchronous, round trip engineering, Describe Enterprise turns the UML into a live tool for understanding and manipulating your code.
http://www.embarcadero.com/resources/release_notes/describe.html
the next generation UML design and development tool that offers both rich modeling features and productivity-focused development utilities to simplify analysis, design, and implementation. With superior navigation, wizard-based automation of common tasks, and synchronous, round trip engineering, Describe Enterprise turns the UML into a live tool for understanding and manipulating your code.
http://www.embarcadero.com/resources/release_notes/describe.html
VISTA / URGE and ZUNE
With the recent launch of the new ZUNE player, and with the AWESOME URGE music store delivering 2 millions tracks on WMP 11, with the existing integration between
PC and XBOX 360 i am wondering if the ZUNE player will be interconnected with the XBOX 360 and URGE as well. This would be really AWESOME !
http://www.engadget.com/2006/09/14/microsoft-launches-the-zune/
PC and XBOX 360 i am wondering if the ZUNE player will be interconnected with the XBOX 360 and URGE as well. This would be really AWESOME !
http://www.engadget.com/2006/09/14/microsoft-launches-the-zune/
Managed Code and Unmanaged Code issue for Text Search
A friend of mine Stephane Rodriguez wrote an article long time ago that i have
been tested with Visual Studio 2005 and here are the corresponding results for C++ and C#
based on my actual CPU so just consider the speed ratio...
C++
lduration for alg(0) test suite : 50 msecs
lduration for alg(1) test suite : 140 msecs
lduration for alg(2) test suite : 160 msecs
lduration for alg(3) test suite : 91 msecs
C# using .Net Framework 2
total duration was 140 milliseconds
Original article here
http://www.arstdesign.com/articles/fastsearch.html
been tested with Visual Studio 2005 and here are the corresponding results for C++ and C#
based on my actual CPU so just consider the speed ratio...
C++
lduration for alg(0) test suite : 50 msecs
lduration for alg(1) test suite : 140 msecs
lduration for alg(2) test suite : 160 msecs
lduration for alg(3) test suite : 91 msecs
C# using .Net Framework 2
total duration was 140 milliseconds
Original article here
http://www.arstdesign.com/articles/fastsearch.html
Wednesday, September 13, 2006
Thursday, September 07, 2006
32feet.NET and the Microsoft Stack
Great news microsoft is providing this great Bluetooth library under the Microsoft Community License (Ms-CL) for Pocket PC running the Microsoft Stack. This library written in C# offer some great abstraction of Bluetooth Classes and Protocol.
The drawback is that some of the protocols are missing such as AADP for audio streaming or HFP aka Hands Free Profile but people can still implement streaming over RFCOMM :)
http://32feet.net/
The drawback is that some of the protocols are missing such as AADP for audio streaming or HFP aka Hands Free Profile but people can still implement streaming over RFCOMM :)
http://32feet.net/
Telerik C# Ajax RAD
Recently i was looking at some AJAX library available for .NET running IIS server and i was really impress about the simplicity of the telerik AJAX RAD product.
The advantage of this .NET interop is that you can easilly add AJAX feature to existing C# ASPX pages.
Postbacks automatically replaced with AJAX
In the core of the r.a.d.ajax framework is a patent-pending technology, which can make selected controls on the page perform AJAX callbacks instead of traditional postbacks. The AJAX-enabled controls are not merely rendered with callbacks, but preserve their interaction with the server and relations with the other controls on the page. In fact, ajaxified controls do not really know that they are working with callbacks instead of postbacks.
A key disadvantage of other AJAX frameworks is the fact that you need to turn you application inside out and make major modifications in order to make it work with AJAX. You typically have to place Callback Panels around areas that need to be updated, set triggers, and manually invoke AJAX requests. Off course all of this within Visual Studio 2005 WYSIWYG design editor.
Want to read more, check out the following web url
http://www.telerik.com/asp-net-controls/r.a.d.ajax/overview.aspx
The advantage of this .NET interop is that you can easilly add AJAX feature to existing C# ASPX pages.
Postbacks automatically replaced with AJAX
In the core of the r.a.d.ajax framework is a patent-pending technology, which can make selected controls on the page perform AJAX callbacks instead of traditional postbacks. The AJAX-enabled controls are not merely rendered with callbacks, but preserve their interaction with the server and relations with the other controls on the page. In fact, ajaxified controls do not really know that they are working with callbacks instead of postbacks.
A key disadvantage of other AJAX frameworks is the fact that you need to turn you application inside out and make major modifications in order to make it work with AJAX. You typically have to place Callback Panels around areas that need to be updated, set triggers, and manually invoke AJAX requests. Off course all of this within Visual Studio 2005 WYSIWYG design editor.
http://www.telerik.com/asp-net-controls/r.a.d.ajax/overview.aspx
Subscribe to:
Posts (Atom)