I just discovered a great tool to create vector graphics - Creative Docs .NET. It is free for personal use.
The application requires .Net Framework 2.0 to run. I haven't explore every single features in Creative Docs. I guess it is a good companion to Paint.Net, a free image and photo editing software built using .Net 2.0 as well.
On the other hand, both Creative Docs and Paint.Net are still get stuck at .Net 2.0 world. May be the poor performance of WPF is scaring the development teams away...or there are other concerns...I am curious....
Saturday, June 21, 2008
Adobe Illustrator alternative
Saturday, April 26, 2008
Isolated Storage in Silverlight 2.0
Firstly, the default limit is 100 KB, but you can increase the quota. The quota increases to predefined levels: 100 KB, 1 MB, 5 MB, 10 MB or unlimited. E.g. when request to increase the isolated storage to 9 MB, it actually increases to 10 MB. The increase quota action must be user-initiated, e.g. a button click event, then a Yes/No dialog box will pop up to ask the user whether to allow the quota increase.
Dim store As IsolatedStorageFile
store = IsolatedStorageFile.GetUserStoreForApplication
dim result as Boolean = store.TryIncreaseQuotaTo(10 * 1024 * 1024) '2MB
If result = False Then DoSomeThing()
store.Dispose()
For the same Silverlight application, the same isolated storage is accessible from different web browsers, which is good. Regarding on how to save and retrieve data from isolated storage, it is exactly the same as Winforms.
Save data:
Dim store As IsolatedStorageFile
store = IsolatedStorageFile.GetUserStoreForApplication
Dim fs As New IsolatedStorageFileStream(fileName, IO.FileMode.Create, store)
Dim sw As New IO.StreamWriter(fs)
sw.Write(stringContent)
sw.Close()
fs.Dispose()
store.Dispose()
Read data:
Dim store As IsolatedStorageFile
store = IsolatedStorageFile.GetUserStoreForApplication
Dim fs As New IsolatedStorageFileStream(fileName, IO.FileMode.OpenOrCreate, store)
Dim sr As New IO.StreamReader(fs) Dim s As String = sr.ReadToEnd
sr.Close()
fs.Dispose()
store.Dispose()
Open file dialog in Silverlight 2.0
To open a file from client side, we need to use a Systems.Windows.Controls.OpenFileDialog object. I found the OpenFileDialog class in SL 2.0 quite interesting. Compare to WinForms counterpart, it has fewer properties and some property names are renamed too but still quite straightforward.
The surprising part is the return type of SelectedFile property. Instead of return the file path of string type, it returns System.Windows.Controls.FileDialogFileInfo object.
FileDialogFileInfo has a Name property, but it returns the file name only, not the full path of the file. I guess there is no way to retrieve the full path.
To read the content of the selected file, I need to use either:
FileDialogFileInfo.OpenText() which returns a System.IO.StreamReader object to read text,
or,
FileDialogFileInfo.OpenRead() which returns System.IO.Stream to read non-text content.
Example (select an image file and display the image on the button):
Dim dlg As New OpenFileDialog
If dlg.ShowDialog() <> DialogResult.OK Then Return
Dim img As New Image
Dim bitmap As New BitmapImage
bitmap.SetSource(dlg.SelectedFile.OpenRead)
img.Source = bitmap
aButton.Content = img
Wednesday, April 23, 2008
Stumpedia: The human powered search engine
Stumpedia.com is a social search engine that relies on human participation to index, organize, and review the world wide web. The guided search model is dependent on crowdsourcing and the benefits of social media participation.
I don't believe Stumpedia can give more relevant search results than Google or Yahoo!, but it is interesting to see how far this model can go. Stumpedia just released its new feature - Instant Answers, where we can get real people to help us in real time provided there are somebody online.
Earth Day 2008: Eco-friendly logos
Major search engines changed their logo in support of Earth Day.
Google
Yahoo
AOL
And most surprisingly, green Flock browser...
You can download Flock Eco-Edition from here.
Oosah: A hub to manage your online media
Oosah offers free 2 GB online storage space. But it is more than a storage service, it is well integrated with YouTube, Facebook, Picasa and Flickr where you can drag-and-drop a media file from Oosah to the other social network accounts. Basically, it serve as a hub where you can manage all your online media files from one place. The third party integrations reduce the problem of login into multiple accounts and perform various tasks by some degrees.
Another important feature is that, Oosah allows you to share your Oosah-hosted files as a widget which can be embedded into blogs or social network profiles.
Google wants to do Genetic indexing
Google never feel its database is huge enough, so according to Business Week, Google wants to index your DNA too.
Excerpts from the article:
Google wants to plant an early stake in a potentially large new market around genetic data. 'We are interested in supporting companies and making investments in companies that [bolster] our mission statement, which is organizing the world's information and making it universally accessible and useful,' Google spokesman Andrew Pederson says. 'We felt it was important to get involved now, at the early stage, to better understand the information generated by this fast-moving field.'
3D Video Panoramas
Making photo stitches into 360 degrees panorama are fairly common. Immersive Media is taking one step further by creating 360° video panorama, which is a very different experience of watching normal video. In the video, you can drag and move your mouse cursor along to view the content from different directions, which is amazing!! Check out the gallery here.
Startup Delayer: Make Windows startup faster
A slow Windows startup is caused by too many applications are launching when Windows has started. One way to solve this problem is to disable some applications from launching during Windows startup. However, some applications have no way to allow you to disable this feature, but you can use msconfig to change the behaviour.
Completely disabling an application may not be desirable. This is where Startup Delayer becomes useful. Besides allowing you to enable or disable applications from running, Startup Delayer permits you to specify how many seconds after Windows has started up before running each program.
Startup Delayer is a free software. So far, I haven't encounter any problem running Startup Delayer on Windows Vista.