using Miranda IM

I installed Miranda IM and found it is powerful to support multiple IM networks. Light and easy to use.

Miranda IM is a multi protocol instant messenger client for Windows. Miranda IM uses very little memory and is extremely fast. It requires no installation and can be fitted on a single floppy disc. Its powerful plugin system makes Miranda IM very flexible. Only the most basic features are built in, but there are currently more than 350 free plugins available for download that allows users to extend the functionality of Miranda IM. To see how users have customized their client, check out the screenshot section.

One issue I found is that it cannot add multiple accounts for given network.  The solution I found now is  to copy the network plugin dll and save as another file. In this way, I can add multiple MSN accounts into it.

Deploy Audio record in web page

Our audio record component can be used in web page via javascript or vbscript.

This allows developers to build online recording application by recording the audio on clients’ computer and uploading the audio file to servers. See more http://www.guangmingsoft.net/wordpress/index.php/153/record-audio-and-upload/

One question is how to deploy audio record to client’s computer. Audio record component is based on ActiveX. Tradional way is to make a CAB file so web browser can download and install it.

But nowadays, ActiveX downloading and installing is not automatical way now as IE will always prompt dilaog for user to confirm installing those ActiveX files.

So another choice is to build a setup package and ask your user to install it before doing record. Setup can be built with the free InnoSetup builder.

 

A design for large scale URL or html to image system

Htmlsnapshot is a component to convert html or url to image. It can be used to build large scale URL to image conversion system. Here, the large means the system is designed to convert millions of URLs to image in the future.

My recommendation for making a robust system is to use process based method.  There are a main process in the system. It maintains the list of URLs and launch child worker process to do the actual html to image conversion. Such worker process creates only one Snapshot object. It processes some URLs  (may be 1 or 10, can be predefined) and exit.

The benefit:
1. Each snapshot object will not affect each other. Htmlsnapshot itself is thread safe in general.  The underline webbrowser control is complex and might have concurrency issue in rare extreme condition. So this can avoid the unknown issue around threading.

2. By wrapping snapshot function into a worker process, your main process will always have control to start/stop/terminate a worker process. Here your main process is a monitor and job dispatcher, it will be most robust. For example, it has the choice to stop the worker process when it is hung unexpectedly like downloading dialog pop up etc.
Some may worry the performance comparing to the in-proc method. I would say for large scale conversion jobs, the robustness is more important. And the time to launch a process is a lot faster than downloading from internet.

Tutorial: how to convert mp3 to swf and put it on your website with mp3 stream creator.

You may have a favourite song want to share with your friends or customers etc on the internet. They can listen to the music in internet explorer or firefox without installing any music player.

MP3 Steam Creator is designed for such purpose. It creates streaming Flash audio from mp3 file on the fly. And it also supports batch converting a lot of music files.

The steps:

1. Download Mp3 stream creator. Install it

2. Add your mp3 or wav music files by clicking the “add file” button. Or you can do a search in windows explorer for *.mp3 and drag drop the files into the list box of Mp3 stream creator

3. In the option tab, you can select the play control style

4. Click “Convert” to do the conversion.

5. After conversion finished, for each mp3 file, there will be three files (Suppose the mp3 file is 1.mp3, the files are 1.swf, 1.swf.html, 1.swf.ctrl.html.

6. You can open 1.swf.ctrl.html in internet explorer to see the play control and try playing your music

7. If 6 works well, open your own webpage in a html editor, copy the content of 1.swf.ctrl.html and paste into a place in your webpage so that the play control can be embeded into your page

8. Finally upload the 1.swf and your modified own webpage to your web server

That is it. You now have a streaming audio player running.

Have questions? Feel free to comment.

Convert html to image without temporary files in C#

The easiest way is to use our award-winning product htmlsnapshot.

Here are some guidelines:

 1. Download it and install. 
 2. Try the VB demo to make sure it works. Click the button to convert the url into image. This can tell you that the component is correctly installed. 
 3.  You can try the C# or VB.Net demo included. Open it with VS2003 or VS2005, build and run.
 4.  Another choice: you create a brand new C# project, add referrence to the htmlsnap2.dll.  Note, htmlsnapshot is an ActiveX control. So ususally it needs to be registered in the system’s OLE registry before using. You don’t need to do this manually if you install the component with our setup. If you want to deploy your application on a new machine, remember to register htmlsnap2.dll. Or you can use the regfree technology

Back to the topic of this post, how could you convert html to image such as jpeg, gif, png, tiff etc without generating temporary file? The code snippet is as below:

snap = new  CHtmlSnapClass ()               
snap.Url(“www.google.com”, “*”)
byte[] data = (byte[])snap.GetImageBytes(“.jpg”);
//byte[] data = (byte[])snap.GetThumbImageBytes(“.jpg”, 100, 100, 1);
//MessageBox.Show(data.Length.ToString());
FileStream  fs = File.OpenWrite(@”c:1.jpg”);      
BinaryWriter br = new BinaryWriter(fs);
br.Write(data);
br.Close();
fs.Close();