Friday, October 4, 2013

Multi Commander v3.5.1

0 Comments
Multi Commander v3.5.1 is now out.
The focus of this release have been to fix stability issues.
Most crash are very rare and most of them I can not reproduce.
Over 70+ Changes and 14 Rare Crash issues that was reported by Crash report system is fixed.

Since this crashes are not common and I have not been abel to reproduce them it have not been easy to fix them and I'm not sure that all of them are fixed since I'm not able to reproduce them . What I done on some issues is that I found what might be the problem and fixed that. Hoping that is what caused the problem.

I have track down that a lot of the problems is because of some reference count errors so I created a couple of RAII classes that now will make sure that the reference count now is correct. So that objects is not deleted while they are still in use. This often the case if Multi Commander crashes when exiting.

Also a big portion of rare crashes are from Shell Extensions. Shell Extension are extension to Windows Explorer that adds its own menu items to the shell popup menu (Right click menu).
The problem with Shell Extension is that it is 3de part code that gets executed inside Multi Commander. So when a shell extension crashes it will bring down Multi Commander and the users thing that it is because of a problem with Multi Commander.

The problem is that a lot of Shell Extensions are only tested for Windows Explorer and these shell extension assumes that they are started from Windows Explorer so when a program like Multi Commander launch it, They can get confused and crash.

For this release I have rewritten how Shell Extension works and hopefully there will be less crashes with this. But all of them can not be removed since some Shell Extension will not work proper unless they are started from Windows Explorer.
To find out what shell extension that causes you problem you can use ShellExView from NirSoft and from it you can disable/enable shell extensions one by one.

A know Shell Extension that causing a lot of crashes is ASUSWSShellExt.dll / ASUSWSSHellExt64.dll
I see from crash reports that this file is behind a lot of crashes.


Read more and download it

Tuesday, September 3, 2013

Multi Commander v3.5

1 Comments
v3.5 of Multi Commander is now out. This version contains a lot of fixes and changes. Over 310+ changes.

One of the biggest additions in this release is that the rule based file coloring can now be configured using an UI. Also inline rename can now move to previous/next item using the arrow up/down key

Windows Control Panels can now be launched from the Tools menu. Making it easier to find and start the different control panel. It is even possible to assign hot-keys to them.

Another change is the Delete progress window. It will now show how much it is going to delete and how many items / MB is has deleted. This can be useful when deleting many files over a slow network.
You can also configure the delete operation to continue on error. It will then not ask what to do if an error happens. And you can also configure it to always delete. If this is enable the delete operations will always try to delete files without asking. even if they are readonly, or other issue.
This options can also be toggled from the delete progress dialog. But you will only have a change to change them there if you are deleting over a slow network. On local harddrive delete operation are often over in in seconds.

File search has also got some minor UI improvments. It will remember what was entered into it between runs and you can now clear everything in the Find files dialog with a click on the clear button.

The Regular expression engine is also updated. It is now using the engine that is included in the C++11 standard and that engine is more compatible to how regular expressions works in perl.
So writing expressions should be a lot easier. You can now look for help online on how to write them.

And much more...

Read more and download it

Saturday, July 6, 2013

Multi Commander SDK

0 Comments
Multi Commander is built around a very large extension and plugin architecture.
Every virtual file system is a file system plugin, Explorer Panel, Search UI, CheckSum , MultiRename are all different Application Extensions. And they all use the SDK. Everything you see in the Tools menu are from Extensions.
The SDK allows me to add new tools and features and integrate them into Multi Commander with less work. However there are some times the extension design has been a hinder. But those case are rare.

The SDK have not been public So only I have been able to use it. I been planing to release it publicly but doing that I need to clean it up, remove obsolete code and create a couple of sample and more.
And that is want I spent quite a bit of time on lately.

The first public version of the SDK is now out. It contains some sample plugins for FileSystemPlugins, Extending the MultiScript Language,  Adding Tools that uses information provided by the API.
However the SDK can do a lot more. It can also create a UI that is show and use inside tab. But that is not included in this samples.

The interface the filesystem plugins can look a bit scary but that is because it support multiple way of doing things. Look at the samples to see how it really works.

There is no documentation that describe every API call. but the documentation is heavily commented.

More information and download

For question about it use the forum or mail

Sunday, June 16, 2013

Multi Commander v3.2.1

0 Comments
v3.1 is now out. Over 145+ changes has gone into this release.

Most changes are related to stability and bug fixes.
Also a lot of changes and clean up for the SDK. Making the SDK ready to be released.

Read more and download it

Saturday, June 8, 2013

Multi Commander and C++11

0 Comments
I been doing a lot of code clean up and refactoring in Multi Commander, I been updating a lot of the code to use new C++11 features, like lambdas, shard_ptr, uniqie_ptr , auto, ravlue and more.

The result is a code that is much more cleaner, safer and it is much easier to maintain.

I still got a lot of old style C++ left. But I will update the code class by class when I'm in changing and fixing bug in them. So more and more code will be updated.

I also added rvalue support in my script engine. That increased the performance of the engine a bit. However I do not think anyone will really notice it since most script are very small. But everything that uses less CPU cycles is a good thing.


Saturday, May 11, 2013

AWStats Viewer for Windows Phone 8

0 Comments
My Windows Phone 8 app for showing AWStats is starting to work now now.

Why

This is my first Windows Phone app and I learned a lot from it. (More about that in another post)
The main goal with this app has been to learn the API and how development on Windows Phone 8 works.

It was quite easy to get started and get started. It might be because I already know my way around Visual Studio and I already know C# and done some apps in XAML before.
Also the emulator is fast and easy to setup and use and debugging to the phone is also painless.

The App

When you start the app the first time you need to add what site you want to view (Multiple sites are supported)
If an site is configured it will go to that site and get the AWStats information. It will cache the stats in the phone and it will refresh it unless it is over 30min old. You can however force a refresh in the ... menu

The main page is showing the month summary for the site and you also got a previous/next arrow there for moving to stats for other months.
If you swipe to the "day" page you will get some day by day stats. The "pages" page will show the top 20 accessed pages and how many hits it has and it will also calculate a day average.  And the last page show "externals" this is top 20 external links to your sites.


More stats pages are planed like browser and OS stats. But I have not had the time to add that yet.

Under the ... menu you get command to refresh current stats and you can also go to the "sites" page where you configure what site it can access and the URL for it.


The site summary command will fetch months stats for the entire year and show a month by month stats.
and if you press the ... menu on that page you can request to fetch even more and get previous year and so on. All this "old" stats will be saved and cached in the phone so it will only fetch them once.

Live Tile

Under settings you can configure the live tile. Activate if it should update the tiles in the background, what information from what site it should show. Multiple live tiles are supported.
Live tiles of all sizes are support.


Features


  • Multiple sites
  • Caches history data and current data
  • Small,Medium and Large live tile support
  • Live tile can be customized in color and information it should show
  • Fast and fluid layout

To Do

There is still some things to add and fix. Adding Browser and OS stats is one thing. and if possible I would like to add a domain (country) stats.
Also some minor thing need to be fixed. But I will wait with adding them and run this for a couple of month and see what else I want to add. Also I have a lot of work planed for my other projects, So I do not have more time at the moment to spend on this.

Windows Phone App Store

The app is not available on the Windows Phone Store yet, And I'm not sure it will be. Also the demand for an app like this is very limited. Only web master that run AWStats and that owns a Windows Phone 8. I think I can count all of them on one hand.
This app has been a great learning project for me. But I will try to release it if I get the time.
If you are interested in this app let me know and I might actually put some time into finishing it.



Friday, April 26, 2013

Multi Commander v3.1

0 Comments
V3.1 of Multi Commaner is now out. It has over 190+ changes.

I got a long list of thing I want to add. I just need the time to add them.
Many stability fixes around FTP and UTF8 support, Better relative path support for FileTypeSetup and QuickLaunchBar.
File search can now search content inside binary files better and a some stability issues around search has also been fixed.

Also experimental support for rule based file coloring is included in this release. However since it is still in experimental stage there is no UI to configure it. So configuration of it has to be done using MultiScript. (See the beta forum information )

Read more and then download it

Sunday, March 17, 2013

AWStats API v0.9 (First Look)

1 Comments
The AWStats API is now starting to work.

It is a simple php script that you place somewhere on you website and this script will return the AWStats data as json.

As an example say that you place the script getawstats.php on your site lets call it example.com, then when you access http://example.com/awstats/getawstat.php you can get the following data

{"summary":{"year":"2013","month":"04","lastupdate":"20130410075001","uniques":"27423","visits":"60031","pages":152305,"hits":708106,"bandwidth":118969674567},"days":[{"day":1,"pages":10662,"hits":50642,"bandwidth":4577570523,"visits":5086},{"day":2,"pages":11969,"hits":46479,"bandwidth":3942706134,"visits":6325},{"day":3,"pages":14303,"hits":55780,"bandwidth":8044779500,"visits":6415},{"day":4,"pages":34091,"hits":217563,"bandwidth":47562300844,"visits":9528},{"day":5,"pages":21942,"hits":109844,"bandwidth":18326884056,"visits":7771},{"day":6,"pages":16759,"hits":63628,"bandwidth":11206302251,"visits":6731},{"day":7,"pages":12302,"hits":48495,"bandwidth":8123735971,"visits":4993},{"day":8,"pages":12060,"hits":43136,"bandwidth":7246989597,"visits":5119},{"day":9,"pages":15968,"hits":64832,"bandwidth":8986186671,"visits":6940},........ and so on

Saturday, March 9, 2013

Creating a AWStats API

1 Comments
For my AWStats Viewer app for WP8 I need to be able to get the web statistic from the website some way.
I do not want the app to parse the AWStats webpage since since it does not show all the information I want. I need the data from the AWStats data files. Not all of it but I need it unmodified.

But the data files can be very large and having the app get fetch the data file and parse it is not a good idea.
Because download several MB of data everything the app need to update is not god. It would be slow and require a lot of memory also background task have a memory limit.

What I need is a Web API. I need to be able to send a query the website and have it return the result as JSON.

The Webserver is running PHP so from PHP I need to read and parse the AWStats Data file and extract the information that is wanted and place create some JSON data from it and return it.

I search the net for some PHP class that would parse the AWStats data and I found awparser that is made by Javier Infante.

The AWParser class is not perfect, It does not extract all information I need and it stores the data in a way that is not optimal for my needs, But I will be able to modify it easily so I think I can make it work for me.

After that I will have all the AWStats data in PHP arrays and php can convert arrays to JSON with json_encode(..) so it would be easy to return the data as JSON.

So when I created this API I will publish the API on my website so anyone can install it on their own site if they want to develop own app for it or use my Awstats Viewer app in the future.


Thursday, March 7, 2013

Windows Phone 8 App

0 Comments
I had my Windows phone 8 phone for some time now. And I only done some small tests with developing for Widows Phone 8 and it was very easy to get started.

But to really learn how to create apps on WP8 I need to create a complete app so I been trying to figure out what I should create. It does not have to be very useful for everyone. But it need to be something I would want to spent some time on and it should include network communication, Live Tile and some UI.

After thinking about it for a couple of days this is what I come up with.

I use AWStats get some of the web-statistics from my MultiCommander web site.
And I would be great if I could get this stats in my phone.

The problem is that AWStats does not have a web API. And I did not find anyone that created one so I would first need to create a way to deliver the data to the app.
I think I will try to create an API that return the AWStats data as JSON. And then consume the JSON data in the WP8 app and then show the data.

I also want a live tile that is update from a background task so I get some of the web-statistics directly on a tile.

I Think I will call the app "AWStats Viewer"

So I need to start with the server side and investigate how I can return AWStats data from the site to the app.

(To be continued..  Unless I give up..)

Friday, March 1, 2013

Multi Commander v3.0

0 Comments
V3.0 of Multi Commaner is finally out. It was planed to be out a while ago but I had so much to do so it got a bit delayed.

This released has over 360+ changes. Most changes will not be noticeable since they are internal core change that has been done to prepare for feature that will be added in the future.

I got a long list of thing I want to add. I just need the time to add them.

Read more and then download it

Wednesday, February 6, 2013

New Phone - Lumia 920

0 Comments
I got a new phone. Nokia Lumia 920 running Widows Phone 8.

My new phone

So why a Windows Phone ?

Well I have had a Android phone for a while and I like it but I want something different and I do not want an iPhone Since it think the apple platform is way to restricted.
(I know Windows Phone also have a lot of restriction but not as much an iOS)

I also want to try some Mobil phone development. And I tried some Android development before but the environment with eclipse and Java makes me want to hurt someone.

With Windows Phone 8 I will be developing using Visual Studio 2012 and since I use that on a daily basis anyway, I think that will work better for me. I do not have to force my self into learning eclipse and Java.