ailon's DevBlog: Development related stuff in my life


7/29/2011 1:51:17 PM

Photo by Adam Hally

Not so long ago I’ve read a book by James Altucher titled “How To Be The Luckiest Person Alive”. It’s a great read and I highly recommend it. One of the concepts described in that book caught my eye the most. I’m not sure if it’s original James’s idea or maybe it’s a well known concept. I’m totally ignorant in that space.

Anyway, the idea is that you have an “idea muscle” and it atrophies if you don’t properly exercise it. I didn’t remember the exact exercise described in the book and now that I’ve reread it on the blog I see that I did it “wrong”, but I don’t think details actually matter.

What I do for the past couple of weeks is sit down for 10 minutes every morning before I start working and try to generate as many ideas about anything as I can. Most of the time these are some business ideas, mobile app ideas, web site or service ideas and things like that. Some ideas are utter crap. Some I may implement one day. Some sound pretty interesting to me, but are definitely out of scope of my expertise and/or interests, so I’m pretty sure I have no practical use for them.

The thought of throwing these ideas away saddens me. So I decided to start a blog where I'll post them in some detail. So, please welcome my new idea blog I called Ideaot.

The first 2 ideas posted there are:

  1. Physical Case for Capacitive Buttons
  2. Consumer Level Tea Bag Packaging Machine

Stay tuned for more and subscribe to the RSS feed to be notified about updates.

Tags: , ,

Welcome to BlogEngine.NET 1.6.0

1/24/2010 10:00:00 AM

If you see this post it means that BlogEngine.NET 1.6.0 is running and the hard part of creating your own blog is done. There is only a few things left to do.

Write Permissions

To be able to log in to the blog and writing posts, you need to enable write permissions on the App_Data folder. If you’re blog is hosted at a hosting provider, you can either log into your account’s admin page or call the support. You need write permissions on the App_Data folder because all posts, comments, and blog attachments are saved as XML files and placed in the App_Data folder. 

If you wish to use a database to to store your blog data, we still encourage you to enable this write access for an images you may wish to store for your blog posts.  If you are interested in using Microsoft SQL Server, MySQL, VistaDB, or other databases, please see the BlogEngine wiki to get started.


When you've got write permissions to the App_Data folder, you need to change the username and password. Find the sign-in link located either at the bottom or top of the page depending on your current theme and click it. Now enter "admin" in both the username and password fields and click the button. You will now see an admin menu appear. It has a link to the "Users" admin page. From there you can change the username and password.  Passwords are hashed by default so if you lose your password, please see the BlogEngine wiki for information on recovery.

Configuration and Profile

Now that you have your blog secured, take a look through the settings and give your new blog a title.  BlogEngine.NET 1.4 is set up to take full advantage of of many semantic formats and technologies such as FOAF, SIOC and APML. It means that the content stored in your BlogEngine.NET installation will be fully portable and auto-discoverable.  Be sure to fill in your author profile to take better advantage of this.

Themes and Widgets

One last thing to consider is customizing the look of your blog.  We have a few themes available right out of the box including two fully setup to use our new widget framework.  The widget framework allows drop and drag placement on your side bar as well as editing and configuration right in the widget while you are logged in.  Be sure to check out our home page for more theme choices and downloadable widgets to add to your blog.

On the web

You can find BlogEngine.NET on the official website. Here you'll find tutorials, documentation, tips and tricks and much more. The ongoing development of BlogEngine.NET can be followed at CodePlex where the daily builds will be published for anyone to download.

Good luck and happy writing.

The BlogEngine.NET team

Tags: ,

Diarist 2

4/30/2008 5:26:53 PM

diarist I came across Diarist blogging application for Windows Mobile last year when I was still running my personal blog on LifeType. Unfortunately back then there was a problem posting using Diarist to my blog in Cyrillic. Kevin Daly (author of the Diarist) was very supportive and tried every possible way to solve that issue but unfortunately we were unable to solve it and I had to postpone blogging from my phone until the planned and delayed (due to my laziness) move to BlogEngine.NET.

Now I've moved to BE.NET and Yesterday I finally decided to try Diarist again. However there was a problem adding my blog to Diarist. It looked that there were some misunderstandings in the encoding department between the two. The most frustrating part was that I clearly remember that I tried Diarist with BE back in 2007 and it worked. Anyway I contacted Kevin and once again he was on it almost immediately.

Less than one day have passed and voila - new fixed version of Diarist is released!

Now, I provide support for a couple of projects (1, 2) and try to do it in a timely manner but Kevin's speed makes me blush.

Keep up the great work, Kevin and thank you very much!

Tags: , ,

Migrating from LifeType to BlogEngine.NET

4/8/2008 6:37:46 PM

Note: this post doesn't cover BlogEngine.NET installation.

Yesterday I've moved my personal blog (in Russian) from LifeType to BlogEngine.NET.

I've used LifeType blogging platform (formerly know as pLog) since 2003. It's a decent, mature blogging engine for both standalone blogs and multi-blog communities. I didn't move away from it because there's something seriously wrong with it. I just had several minor reasons for the move:

  1. I have a personal Windows/.NET hosting account, but my blog was hosted on my company's server because of the blogging engine's PHP nature;
  2. I can do my share of PHP coding but I feel more at home with .NET these days;
  3. The most frustrating thing and the one which was the main reason for the move and main obstacle - there's no way to export blog content from LifeType into some widely supported format (like BlogML)

Unsolved Problems

In case you are going to follow my path, I want to warn you right away:

  1. I've lost all comments in the old blog. Since there are no tools to export them and no comment RSS, I decided to sacrifice comments rather than try and create some tool to export them from the MySQL database and then map to the posts in the new blog
  2. Back links to your own posts will be broken. To resolve this you'd need to make a mapping table of your old and new post IDs and then replace all the links based on that. I decided to skip this


The only readily accessible way to export posts from LifeType is RSS feed. The number of posts in RSS feed is controlled by "Number of recent posts" setting in LifeType. Since we need them all you should set this value to something that is undoubtedly higher than the number of posts in your blog.

Basically one may think that this is it - just feed your feed (sorry) to BlogEngine.NET's Blog Importer and you are set. Unfortunately it's not that simple.

First of all, as of this writing (BE.NET v.1.3), it looks like Blog Importer has problems opening feeds with parameters in the URL. But since LifeType's rss.php can serve default RSS profile (can be set in configuration) this is not a major issue. However, in my case, Blog Importer still choked on my feed. Maybe it was the number of posts (1200) in my blog, maybe something else but it didn't work out that way.

Anyway even if Blog Importer doesn't choke on your feed, you wouldn't want to import your posts that way unless you've never touched LifeType's Resource Gallery. So, we just need to save our full RSS feed content as file by simply downloading it with your favorite download manager. Make sure you set locale of your blog to English US even if your blog is not in English. At least in my case importing with Russian locale resulted in incorrect dates.

You can specify File Path in Blog Importer. Everything under that path is considered a file by it and will be downloaded into your new blog as is and appropriate URLs in your content will be modified accordingly. Unfortunately if you've used Resource Gallery in LifeType most of your images will have an src attribute looking something like this:

Setting File Path to (or something like this) doesn't work. Fortunately the image is physically accessible at (I guess this can vary slightly in different installations).

What we need to do is open our saved RSS file and run a replace changing


Now we need to place our static RSS file on the server, because there's no option to load RSS file from disk in Blog Importer. I don't know what MIME-TYPE it expects to get but I was unable to find an extension for it to accept my RSS file. Finally I've changed extension to .aspx and voila, my RSS was finally declared valid.

I've set File Path field to, entered connection information for my BE.NET blog and pressed Import. In a matter of seconds all my posts were imported into Blog Engine.

However there were still some issues left.

  1. File Path URLs were replaced with http://localhost/... URLs (I did the import on my local machine which is the only logical approach, imho);
  2. Author wasn't set on my posts, even though I've tried importing with "Use Source Author" checked and unchecked and usernames in both blogs were identical.

I've solved both of these issues by running a find & replace in files on App_Data/posts/ directory replacing http://locahlost/ with just a slash, and <author /> with <author>ailon</author>. The later wont save you if you had more than one author in your blog.

After that I've just uploaded all the files to my hosting server and everything (except the known issues above) seems to be working fine.

Hope this helps someone.

kick it on

Tags: , ,


10/7/2007 1:44:55 PM

There are some things that I want to write down so I can revisit/reapply them later and which don't fit into my personal blog. These things aren't always appropriate for my company's developer blog too. So, after some thinking and considerations, I decided to launch this one.

I'll be writing here about .NET, PHP, JavaScript, HTML, Windows Mobile, databases, developer tools and similar stuff most of the time. I know some things about these areas but often have to concentrate on one technology and then, sometimes after several years, revisit the other one. And sometimes I have to learn what I already knew a year ago the hard way. So, this is what this blog is about - my personal quick reference/notebook.


Copyright © 2003 - 2018 Alan Mendelevich
Powered by BlogEngine.NET