Tuesday 30 December 2008

NAnt HowTo #2: How To Split Your Build File

Let's assume you have a large build file with many-many targets, properties, etc. After some time it becomes pretty hard to support and extend it. What can we do? As for me, the best option here is to split your build file to several pieces. Below goes an example on how you can do this.

My default.build file:

<?xml version="1.0"?>

name="NAnt HowTo 2" default="all" xmlns="http://nant.sf.net/release/0.85-rc2/nant.xsd">
Includes -->
buildfile="build.include" />
buildfile="test.include" />

name="all" description="Default target, calls all deployment tasks.">
target="rebuild" />
target="test" />

name="rebuild" descripton="Rebuilds all projects." >
target="clean" />
target="build" />

name="test" description="Runs all tests.">
target="tests.unit.run" />
target="tests.integration.run" />
build.include file:
<project xmlns="http://nant.sf.net/release/0.85-rc2/nant.xsd">
message="Rebuild: clean" />

message="Rebuild: build" />
test.include file:

 <target name="tests.unit.run">
message="Test: unit tests" />

message="Test: integration tests" />
As you can see, actual inclusion takes place when you use <include> element and specify it's buildfile attribute to point to some .include file.

files should contain root <project xmlns="http://nant.sf.net/release/0.85-rc2/nant.xsd"> element with necessary xmlns attribute. Without this attribute NAnt won't be able to parse this file and use it's targets.

Included files become a piece of main build file and share all properties with it. This means that properties from included file are visible in main file and vise-versa. I usually place commonly used properties to separate .include files, for example, I have projects.include file with all properties that point to project names and folders.

kick it on DotNetKicks.com

Monday 29 December 2008

NAnt HowTo #1: How To Compile A Project?

NAnt provides a CSC task that will allow you to compile your C# project (sorry, VB guys, no info for you :)). It may be used this way:

<!--  2. Building shared data project -->
target="library" debug="false" warnaserror="true"
name="**/*.cs" />

name="D:/projects/MyProject/External/NHibernate.dll" />


number="1702" />

So let's have a look in details at each part of this task.


One by one:
  1. target="library" - indicates that we want to have a .dll as result of our compilation. Possible values are exe, winexe, library or module.

  2. debug="false" - indicates that no debug symbols will be included into our assembly. Possible values are Enable, Full, None and PdbOnly. Although you can use aliases (like I did): true stands for Enable and false stands for None.

  3. warnaserror="true" - has same effect like checking 'Treat warnings as errors - All' option in Visual Studio. All warnings will be treated as errors.

  4. output="D:/projects/MyProject/Integration/MyProject.dll" - output of compilation. Make sure your output target extension is adequate to your compilation target (although I haven't tried compiling target library to output .exe :-P)


This nested element allows you to select files that should be compiled. It's only attribute I use here is:

="D:/projects/MyProject/Source" - base directory for source files. Usually this is root folder for some project.

The <include> element allows you to specify elements that should be compiled. It's attribute, name, deserves some attention. First, it uses wildcards to pick necessary items. Second, it uses double asterisk to recursively pick all files from all folders. Have a look:
  1. name="*.cs" will pick .cs files only in current folder

  2. name="**/*.cs" will pick .cs files from current folder and from all subfolders, their subfolders, etc.


This nested element allows you to specify assemblies that should be references. Syntax also supports wildcards so you can easily specify *.dll to reference all .dll files in some folder.


This element allows you to deal with resources embedded into your assembly. In this particular case I use this element to embed NHibernate .hbm mappings.


This section allows you to ignore some specific warnings via nested <warning /> element. Use it's number="1702" attribute to specify some specific warning you want to ignore.


That's a short explanation on CSC target, more information can be found here. Hope this post will be helpful to anyone other than myself :D

kick it on DotNetKicks.com

NAnt HowTos

Lately I had to dive into NAnt and I'm going to post here several posts on some simple NAnt questions.

Wednesday 24 December 2008

Things to complete

Here goes the list of things I want to complete in the nearest future:

  1. Master ASP.NET MVC
  2. Become senior software engineer at next internal attestation
  3. Dive deep into .NET attributes programming
  4. Master JQuery

How to become a better specialist?

Work with those who are smarter and more professional than you. This is a modified quote from some chess book and it applicable to literally any profession.

Applying this statement to my profession (I'm a .NET developer if anyone could have forgotten that ;)), you can become better much faster if you work with someone more qualified than you. I've been working with two nice developers for almost six months and now I can see my level is growing way too faster than if I would increase my skills myself. I'm actually approaching their level, day after day.

That's why in one of my dreams I imagine myself working together with such persons like Martin Fowler or Scott Guthrie. That could be a real experience boost!

Sharp Architecture

Do you want to become a better developer? Try this project. Yes, just download it and read the code. Comments are marvelous, design is outstanding. I love it. I've picked several tricks and two absolutely new libraries/approaches for myself.

Although it's designed to use with ASP.NET MVC beta you'll easily grab NHibernate code as it was designed not to depend on view framework.

Just try it

Tuesday 23 December 2008

ASP.NET Form Autocompletion

Our customer was really interested in enabling autocompletion feature for registration page. I've searched a lot, I've found a huge number of pages describing how to turn it off and (at last!) only one page about how turning it on.

All magic is hidden in AutoCompleteType property of asp:TextBox. You can read about it in details here but in a nutshell this field allows you to specify what information should be autosuggested for this particular TextBox.


Thursday 18 December 2008

Internet Explorer 8 Release Candidate 1

According to a friend of my friend, IE8 RC1 has been accessible for Microsoft partners a month ago :( And seems like:

  1. No standards
  2. Slow JavaScript
  3. Security problems
  4. 17 in ACID3

I hope it was very old build. VERY old.


Leaves Bugs System

Are you satisfied with Bugzilla? My answer is NO. I know it's has many nice features but I'm absolutely disappointed with it's UI. How could anyone create such a crap?! It's unusable and usually I spend up to 10 minutes to search for defects assigned to me for some specific iteration.

I saw nice solutions, but all of them had some drawbacks that made me drop using them off. One of these drawbacks was the price =). Anyway, me decision is to create something of my own. And as it is my graduation project, I have to complete it.

I'll develop it on top of the ASP.NET MVC Beta, NHibernate as my ORM (I'm disappointed with the EF at the moment) and JQuery as a great accelerator for UI. I'll try to follow best practices, including TDD and CI. Hope this will be a nice project ;)

Yesterday I've created some basic folder structure and started writing NAnt script for my new solution. I've also set up SVN server and added my projects to subversion. If everything goes fine I'll manage to set up CI at the earliest stage possible - and that's a good point. And later on - no step without TDD :) It's just too good to work without it.

New info coming soon!

Web Developer Wish List

Nice article on what you may ask for Christmas :) My choice is office chair - together with other 55 people who voted the same.

View wish list

IE 8 coming soon!

Or at least it's release candidate :) That would be a great Christmas present!

Read here

Wednesday 17 December 2008

New Live Writer

Could you image what could be better for blogging than Microsoft Live Writer? Earlier I could not, but now I see how I was mistaken :) And the answer is...

Live Writer 2009!!!!

Actually, this is just a release candidate, but the list of improvements looks fine:

  1. Support for YouTube
  2. Support for Flickr
  3. Spellchecking for some more non-English languages
  4. Support for Digg
  5. Support for Twitter

Waiting for release =)

Tuesday 16 December 2008

Chrome vs IE 8 Beta

This article shows that IE8 Beta loses the battle to Google Chrome. I think that it's mostly because of BETA in IE 8 name and Google Chrome has recently dropped same suffix.

Hope IE8 wins =)

Ruby-based barmen DSL

It's wonderful!

Just have a look at this sexy code:

drink 'Screwdriver' do
serve_in 'Highball Glass'
ingredients do
2.ounces :vodka
5.ounces :orange_juice


I like it! And you? ;)

Some interesting links

  1. It Oxite as good as it's claimed to be? According to this well-proved article, it's not and, moreover, it will hurt ASP.NET community.
  2. How your team goes agile? Our team tries to be agile but it's not a one-second process and it takes some time to adapt from previous techniques to agile methodology. That's why I really like articles about other agile teams as I can pick some interesting thoughts on agile from them. From this article I've actually taken four thoughts (2 absolutely new, 2 I knew earlier fundamentally explained)
  3. Some new Ruby book, available free in e-book format.

Monday 15 December 2008

Best text editor for Windows I've ever seen

Yes, that may sound too promising but whatever. I tried it and it's sexy. Nothing wrong, everything is extremely cool. I love it.

So, what is it? What is this wonderful sexy text editor? Here it goes: Intype. Check it here.

Snippets are sexy, UI is sexy, logo is sexy. It's SEXY!

Wednesday 10 December 2008

Ruby is FAST!

That's what I'm talking about. Ruby 1.9 is almost five times faster comparing to Ruby 1.8.6. Isn't it great? Perhaps this fact will make me turn back to Ruby from Python and will help me making my decision on platforms I use.

I'm aiming to have two platforms by my hand and for my purposes. The first one is definitely .NET - the one I'm going to use for large enterprise solutions. The second one is something I'm not sure about. I do know the main purpose of it though: this platform should be cross-platform, built on top of some script language and be easy to use for some lightweight solutions like a small e-shop or anything alike. Current variants are:

  1. Ruby with Ruby on Rails or Merb
  2. Python with Django or Pylons
  3. Objective-J with Cappuccino

I'm a devoted fan of Ruby and if Ruby's speed is not a problem anymore I'll definitely turn back to Ruby. That's why I meet all such kind of news with great inspiration and hope.

Monday 8 December 2008

The power of shell

Finally I've found some time to download and have a look at PowerShell - Microsoft replacement for it's old-ugly-non-usable command line prompt. And all I can say is GREAT! It's absolutely wonderful in it's might! Predefined aliases make it look like *UN?X shell and make it more usable.

Also take a look at PSTOOLS tool from Mark Russinovich - another great set of tools. As for me, I really like writing this:

pskill firefox

And this will actually kill firefox process. Isn't it wonderful? :)

Friday 5 December 2008

Calling .NET libraries from IronRuby

In my recent post on IronRake I've used the following task to demonstrate the power of IronRake:

task :default do
  require 'mscorlib'

  require 'System, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089'
  print System::Guid.NewGuid().ToString()

And now I can tell you that everything is much simpler that that. Don't use "require" plus full assembly name. Use the following:

require 'mscorlib'

task :default do
    include System
    print Guid.NewGuid.ToString

"Include System" is much shorter, isn't it? :)

John Lam Talk on PDC

Yesterday I started viewing IronRuby video from PDC by John Lam. It's marvelous! I did know Ruby is a powerful language, I did know .NET is a powerful framework but I could not imagine how powerful IronRuby will be!

I recommend this video to anyone interested in IronRuby, you'll see many interesting things there.

Thursday 4 December 2008

Python 3 released

You can download it here.

Recently I've been diving into Python 3 rc3 and I can say that I like it. It is not as verbose as Ruby is but it's much simpler and _faster_. You know, I mean, FASTER. So my choice is using Python for some lightweighted websites (e.g. for my freelance tasks) and IronRuby for some huge websites.

Running IRake

This post will show you how to setup and run irake and feel incredible power of great tool written in great language that runs in great framework.

NOTE: in this post I assume all paths are correct and you can write 'rake' instead of 'd:/ruby/bin/rake'.

First, download IronRuby alpha 2. Unpack and have a look what we have. In /bin folder we have some executables, including iirb and irake. We're actually interested in second one. Let's create a simple task to try it!

task :default do
print 'rake is up and running!'

Let's try how it works with simple rake:


rake is up and running!

Cool. Let's try irake:


unknown: Could not find RubyGem rake (>= 0)

Ok. Let's install it. As we are using irake we should use igem.

>igem install --remote rake

ERROR: While executing gem ... (System::IO::DirectoryNotFoundException)
Could not find a part of the path 'D:\External\languages\ruby\ruby-1.8.6\lib\ironruby\gems\1.8\gems\rake-0.8.3\bin\rake'.

That's the trickiest part of all. This path is not configurable (at least I could not find it), so we'll have to place ruby just where program expects it to find. What is interesting, this folder is already created. We'll install ruby 1.8.6 and copy it to this tricky folder ("D:\External\languages\ruby\ruby-1.8.6").

After that, let's try to install rake once again.

>igem install --remote rake

ERROR: While executing gem ... (System::IO::DirectoryNotFoundException)
Could not find a part of the path 'D:\External\languages\ruby\ruby-1.8.6\lib\ironruby\gems\1.8\gems\rake-0.8.3\bin\rake'.

Argh! What's wrong now? Let's check the path once again. Oops, 'rake-0.8.3' folder contains no 'bin' folder but only the following files:


So this means rake is actually not installed even in native ruby. Let's do it.

>gem install --remote rake

Bulk updating Gem source index for: http://gems.rubyforge.org
Successfully installed rake-0.8.3
Installing ri documentation for rake-0.8.3...
Installing RDoc documentation for rake-0.8.3...

Ok, fine. Copy installed rake folder to ':\External\languages\ruby\ruby-1.8.6\lib\ironruby\gems\1.8\gems\rake-0.8.3\'. Going back to igem...

>igem install --remote rake

Successfully installed rake-0.8.3
1 gem installed
Installing ri documentation for rake-0.8.3...
Installing RDoc documentation for rake-0.8.3...
Error in template: Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index
Original line: <td>%dtm_modified%</td>

Even some error can't upset us seeing line 'Successfully installed rake-0.8.3' =) So let's try irake in action:


(in D:/information/projects/ironruby)
rake is up and running!

Wonderful :) Irake is up and running. The last thing to do is to is to show that irake is not rake and can work with standard .NET library. Let's modify our rake task to use some .NET code:

task :default do
require 'mscorlib'

require 'System, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089'
print System::Guid.NewGuid().ToString()

Making sure this task doesn't work in standard rake:


rake aborted!
no such file to load -- mscorlib

And, finally:



We've installed irake, configured it to work and wrote a small task that works in it but not in standard rake. Later on I'll try to port some compilation tasks to irake and switch to it from nant in my projects.

For now, irake call is MUCH slower, than rake call. Hope later on IronRuby guys will speed it up.

kick it on DotNetKicks.com

Wednesday 3 December 2008

IRake works!!!


Later on I'll post here how to make it work and feel power of IronRake.

Upcoming Add-on-Con at Mountain View

According to this page IE 8 developers will possibly make crossbrowser extensions creation as simple as it could be. Nice move, actually. Hope this aspect of extension creation will be treated by extension creators just like web developers treat writing crossbrowser websites. This means most good Firefox extensions will be fortunately ported to IE 8 and users will be able to switch to the latter with minimal troubles.

Tuesday 2 December 2008

Fowler on Rake

A quote from wonderful article:

So far I've found rake to be a powerful and easy to use build language. Of course it helps that I'm comfortable in ruby, but rake has convinced me that a build system makes sense as an internal DSL to full-blown language. Scripts are a natural for building stuff in many ways, and rake adds just enough features to provide a really good build system on top of a fine language. We also have the advantage that ruby is an open source language that runs on all the platforms that I need.

I was surprised by the consequences of flexible dependency specification. It allowed me to do a number of things that reduced duplication - which I think will allow me to make it easier to maintain my build scripts in the future. I found several common functions that I pulled out into a separate file and shared between the build scripts for martinfowler.com and refactoring.com.

If you're automating builds you should take a look at rake. Remember that you can use it for any environment, not just ruby.

Rake forever :)

Python 3.0 rc3

Yesterday I've installed release candidate #3 for Python 3.0. My expectations were high enough and as with all high expectations I did not find what I was intended to find. 'self' in method signatures is still there, for example :( I'll continue my investigations by all my enthusiasm has gone.

Another not very good news is that Python actually doesn't have anything like Rake. Yes, it has some continuous integration tools, but that are far from rake in verbosity. I've found a blog post announcing development of something called 'Pyke' - Rake for Python. The author of it is a real Python fan and the only reason to develop this 'Pyke' for him is to prove that Python is better than Ruby. The latest post about this tool is dated December 11, 2007 that means we're not going to see anything of Rake level in Python world. What a pity :(

Really I like Ruby more, but... But as was stated in my recent post I'm a bit disappointed with Ruby. That's why and only why I'm going to study Python 3.0 and see what it can offer for a Ruby fan.

Monday 1 December 2008

Microsoft Natural Ergonomic Keyboard 4000

Yes! I've got it! Hurray!

So, now I'm thinking about my second step towards ergonomic workplace. Will it be new mouse, trackball or something else?

Domain Driven Design in the essence

Here goes a small article on the essence of DDD. Being short - dive into the domain, be a part of it. Do not mess with implementation details, think higher. Understand the domain as much as you can.

Sunday 30 November 2008

Compiler warnings as errors

Do you treat compiler warnings as errors? NO?! How could you? =(

Read how to do that

Ruby is... Visual Basic?!

Did you know that Ruby was a codename for a prototype form generator? And did you know it was bought by Microsoft and later on evolved into Visual Basic language?


Friday 28 November 2008

Microsoft NEK 4000

Seems like you can't find this wonderful keyboard in Minsk shops. What a pity =(

Thursday 27 November 2008

IronRuby alpha 2!!!

YAHOO! Wonderful present from IronRuby creators :)

Looking forward to try irake...

Microsoft Live Calendar

Yesterday I played a bit with Microsoft Live Calendar. Looks like a brother of Google Calendar, a very close one. Really, they have very much in common, though Live Calendar is much younger.

I don't know of any API for it, but soon I'll have to investigate them - we've started a project of synchronizing studies schedules with GCalendar and LCalendar. Hope we'll move as far as our ambitions are :)

Joke :)

Is it true that server with Windows 7 can be easily restored by showering it with a bottle of 7Up? :-P

Wednesday 26 November 2008

ASP.NET Chart Control

After so many years of third-party implementations we have it! Native asp:chart control that will be shipped with ASP.NET 4.0.

Read about asp:chart

Tuesday 25 November 2008

Nice browsers comparison

You can view results of other browsers and test your own!

Entity Framework, how could you? :(

Yeah, that's it. Entity Framework has shocked me in the morning. I tried to wrap some legacy code with nice EF function and everything seemed to work fine - model browser showed me stored procedure and it's ObjectContext analogue. But the trick is that it existed only in EF XML mapping, not in C# code =(. After some googling I've found something very frustrating:

Function import code will not be generated if stored procedure it's mapping returns scalar value.

I'm upset :( All is left is to wrap result value with some fake entity. Perhaps, I could have written my own function but it's not the case for framework-that-does-everything-for-you.

Hope this feature (bug! bug!) will be fixed in EF v2.

Monday 24 November 2008

Microsoft Live Reader

Why - I do ask you. WHY? Why Microsoft has such a beautiful tool like Live Writer and have no tool for RSS reading? Yes, Live Mail includes some tools for reading RSS but I'm really looking for online solution.

Once again - WHY?!

WebMail Notifier

Lately due to my interest in Microsoft new products I've been extensively using Hotmail. It's a pity they can't send incoming letters to GMail and each time I had to visit hotmail page and check for new messages manually. GMail had no such problem as I've been using GMail Notifier for a while. Today I thought of same Firefox add-on for Hotmail. Little googling - and see what I've got:

WebMail Notifier

It's marvelous! It supports all of these: Hotmail, Gmail, Yahoo. I like it :)

I hate XSLT xsl:for-each!!!

I've spent almost an hour trying to find out what's wrong with this xslt file. All I needed was to display list of items each at new line. I've tried simple newlines, concatenated newline with "." in body of "value", added empty xsl:text elements with newline inside, tried &#10;, tried &#xa; - nothing worked!!! And these methods worked fine outside the xsl:for-each element, but inside it... Arghhhh! I tried to use xml:space="preserve" - It helped neither.

After all I started adding '\n' to each item I wanted to be at new line. Yes, it's not view-decoupled but it works and I know there will be no need to change xslt in way this change will break produced result.

P.S. I hate XSLT!!!!

Thoughts on Ruby

Not actually mine, but anyway, mine are similar.
Read not mine thoughts

As for me, Ruby minuses are:

  1. It's slow
  2. No native threads support
  3. It's slow
  4. Minor bugs that sometimes mess me up
  5. It's slow

So these are five minuses of Ruby (it's speed deserves three minuses, for sure) and I don't know if IronRuby will fix these but I really hope to see that.

P.S. Dear kirindave, your post is wonderful but please don't use italics - it's very hard to read. Thanks to my FireBug that allowed me to disable this italics style.

Fresh Books

Yesterday I had a chance to visit a bookshop. That was nice :) First I grabbed some fantasy books and then I've noticed familiar 'Addison-Wesley Signature Series' book cover. It's rather thin though it's very good:

This book covers different topics on continuous integration and gets user acquainted with the de-facto standard for continuous integration: Cruise Control. I'm really looking forward to reading it :)

Another book I bought is:

I've heard many good testimonials about this book so the choice was obvious :)

Friday 21 November 2008

Haha, Google Analytics is down

It's first time I see this message but I'm really disappointed with it:

An Error Has Been Detected

Please try again. Thank you for your patience.

=(( Seems like Google is not that stable

This is my test post with Windows Live Writer

Wow! I like it :) Clean and easy install and wonderful textpane with your blog style.

Also it supports pasting code from Visual Studio - and that's one of reasons I've decided to switch to this software. Actually it's not built-in and accessible via this plugin but whatever :)

Thursday 20 November 2008

IE8 features

Here's short summary of IE8 features announced at Microsoft Developer Days in Minsk:

1. JavaScript improvements:
a. Totally rewritten Garbage Collector - performance gain
b. String operations improved - performance gain
c. Collections operations improved - performance gain

2. Development improvements:
a. JavaScript debugging
b. On-fly changing of literally anything at the page
c. JavaScript profiler
d. XMLHTTPRequest now can be cancelled
e. added JavaScript event for connection interrupts

3. Standards and compatibility
a. fully supports W3C recommendations
b. compatibility modes for previous IEs: 7th engine and 5th & 6th emulation
c. HTML 5
d. CSS 2.1

4. User features
a. Web Slices - like RSS, only much better and with visualization :)
b. URL parts are clickable - useful for websites with sitemap
c. each tab is a single process - if it crashes nothing happens to other tabs

Bad news: no IE8 at the end of November :( More details here.

Visual Studio 2010 will have WPF UI!!!


According to information presented for developers at Microsoft Developer Days, user interface of Visual Studio 2010 will be completely rewritten in Windows Presentation Foundation!

Perhaps, it will even have a ribbon :)

P.S. In CTP text editor selection background is _sexy_ :-P

Wednesday 19 November 2008

Tabs or Spaces?

Do you use tabs or spaces to indent your code structures? I was a huge fan of spaces but recently had a chance to review code written with tabs visualized in Visual Studio. It looks great! :)

Just try it! To show white spaces in Visual Studio use 'Edit > Advanced > View White Space' menu item. Use 'Edit > Advanced' menu to tabify or untabify selected lines - really cool feature when you are converting your old file to your new religion :)

Don't forget to go to 'Tools > Options > Text Editor > All languages' and check 'Keep tabs' radio. Otherwise next time you'll press the Tab key you'll see four dots instead of one sexy arrow :)

To modify color of visible white spaces use 'Tools > Options > Environment > Fonts and Colors > Display Items > Visible White Space'. Try setting color to make them visible enough though not distracting you with visual noice. As for me, I'm using rgb(34, 114, 134) for my modified Moria theme. Looks like this:

You can see them easily yet concentrating on your markup is easy.

Enjoy :)

One day left

Tomorrow I'm going to visit nice 'Microsoft Developer Day in Minsk' event. As for me, the most interesting topics will be VS 2010 and Windows 7. Hope I'll not be disappointed with it ;)

P.S. I'll possibly post here some photos from this event.

Tuesday 18 November 2008

Windows 7 most discussable topics

Here you can find an interesting article about five most talked-about Windows 7 features. According to this article, they are:
  1. modified UAC (yeap, much more customizable drive-me-crazy-popups)
  2. new taskbar (finally we can sort icons at taskbar. Perhaps, the larger step taken from Win 3.1 :))
  3. HomeGroup - now it will be much easier and secure to share your folders, view Mary's shares, etc.
  4. Libraries - looks like some case of taggable file system. You'll be able to group files by their content, not only drives and folders. As for me - I'd like to see fully functional taggable file system.
  5. Touchscreen - for now I'm not sure how this feature will be useful. Perhaps, in games with horizontally placed monitor it will be useful (Tetris, Spider, Fallout 3... oops, not the case :D). But in routine tasks... I'm not sure. Hope Microsoft knows what it's doing.
And of course I have my own give-me-it! feature. As for me, I'm really looking forward to Vista sidebar controls floating all around here and there. Simplest use - stick notes all around your desktop. Sidebar was just toooo strict to place them all in one place. And here... Yammy!

Monday 17 November 2008

First step to ergonomic workplace

Yeah! Just added THIS to my wish list:

Microsoft Natural Ergonomic Keyboard 4000

Microsoft Developer Days in Minsk

It's coming!!!

On thursday I'm going to visit this event and make a short photoreport about it. Really looking forward to Windows 7 presentation.

San Francisco Guest

Wow :)

Recently someone from San Francisco has visited my blog. Nice to meet you, American guest :)

P.S. I love Google Analytics :D

Great movies

Yesterday I had a chance to view Wall-E and Max Payne movies. Both are great!

Friday 14 November 2008

Microsoft free e-books


These are cool:
  • Programming Microsoft LINQ
  • Introducing Microsoft® Silverlight 2, Second Edition
  • Programming Microsoft® ASP.NET 3.5
Preview and download

OSC Complains

Oh no!

BBC had recently shown a two minute advertisement for Windows 7, product that yet not exists. OH NO! This will for sure destroy Open Source.

OSC: Mommyyyyyy!... :'(

Thursday 13 November 2008

Visual Studio 2010 - UML support

Wow! That's it - now it has UML project type. Logical class diagrams, sequence diagrams and some more - I like it!

Though it was confusing how to make 'Implement from class diagram' context menu item work. Seems like it generates code from diagram but in reality it just shows you error with request to configure something I could not find.

Anyway - it's cool :)

P.S. Dynamic keyword is cool!

Using TODO lists in programming

Lately I've found it incredibly useful to have paper notepad with a pen next to my computer. It's really a save-us-all thing! Each time I need anything to do I write it down to this list and when time comes I do what needed and strike this item out. When day ends or some implementation part is ready I like rewriting remaining items to new page - feels like starting from a scratch!

Just try it :)


Downloading latest IronRuby sources - expecting FUN!

Wednesday 12 November 2008

Happy birthday, my Google Analytics :)

One month ago I've added Analytics script to this blog.

Summary results for this month:

~ 93 unique visitors from 7 countries
~ 83 visitors view my blog under Windows, 8 under Linux and 2 under Mac
~ 55 visitors used Firefox, 14 used IE, 14 used Opera. The rest used Safari and Chrome.

I like statistics :)

Google Alerts to Google Reader

Did you know you may send your Google Alerts to you Google Reader feed?

It's actually WOW! No google spam in your inbox. In GMail you read your letters and in Google Reader you read your news. Simple, baby

GTalk боты

Недавно узнал о существовании ботов-переводчиков в GTalk. Отличные ребята :)

Англ - Рус:

Рус - Англ:

Tuesday 11 November 2008

Инкубатор бизнес-проектов

Вчера на форуме любимой кафедры запустили Инкубатор бизнес-проектов.

Если вы живете в Беларуси и у вас есть хорошая идея, но не знаете, где взять деньги на ее реализацию - вам сюда!

Я являюсь лидером группы скринкастов и консультантом групп Google и OpenCourseWare. Планы просто глобальнейшие :)

Мой жж опять активен


Соответственно, сюда будут лететь больше технические мысли, а туда - раздолбайские.

Раздолбайско-технические мысли будут дублироваться =)

Monday 10 November 2008

Дни разработчика Microsoft

Регистрация прошла успешно!



Thursday 6 November 2008

Зарегился в LinkedIn

Судя по отзывам, неплохая социалка для профессионалов. Посмотрим :)

Новая мини-цель в карьере

3. MCM

Пока буду готовиться к MCTS, но стремлюсь к мастеру :)

ASP.NET 2.0 client-side validators API


А что нас ждет в будущем?

Давайте прикинем.


JavaScript 2.0
CSS 3.0
HTML 5.0

Браузеры, полностью или частично поддерживающие эти технологии:

Internet Explorer 8 - до конца 2008 года, т.е. осталось меньше 2х месяцев
Google Chrome - по идее, начало 2009
Safari 4 - скоро
Firefox 4 - начало 2009

Новый js значительно облегчит разработку на клиентской стороне, CSS 3.0 обернет это все в красивейшие эффекты, а HTML 5 сделает Web 2.0 намного ближе.


З.Ы. Ближайшее - ИЕ8 - ЖДУ!

JavaScript 2.0 - скоро на ваших экранах

Вот здесь интересная статья о будущей версии JavaScript - 2.0. Радует наличие классов в более привычном виде и (внимание!!!) generics!!!!!

Чрезвычано позитивно :)

Чуда не получилось :)

БАТЭ - Зенит    0 : 2

Теперь из шансов разве что выход в кубок УЕФА - если Зенит в следующей игре сольет, а БАТЭ в домашнем поединке порвет Реал. Прямо говоря, шансы маленькие, увы.

Wednesday 5 November 2008

В напряженнейшей борьбе...

...Зенит вырвал очко у БАТЭ

0 - 1

...пока ;)

БАТЭ-ЗЕНИТ - в процессе

Идет игра. Пока вроде БАТЭшники чуть давят Зенит, но неизвестно еще, что будет.

Зенит фолит по-страшному, Аршавин охренел просто. Я понимаю, им плохо в группе, но это не повод фолить. Понаехало тут...

Fallout 3 по продажам обошел предыдущие части сериала?

Вы что, серьезно? о_О

3я часть сериала, имеющая за спиной мощный пиар и бренд - Bethesda, обошла предыдущие части, которые не рекламировали и которые провалились в продажах?

Ни разу не верю, это какой-то развод.


Microsoft прекратила продажи Windows 3.x

Источник здесь.



БАТЭ против Зенита

Сегодня будет хорошая игра.

БАТЭ на подъеме после последней игры, сделавшей их чемпионами Беларуси. За плечами у них ничья с Зенитом на чужом поле. А на "Динамо" будут сотни своих болельщиков.

Должны победить!

З.Ы. С другой стороны, Зенит приперт к стенке - будет драться как раненый зверь.


Впервые в истории США президентом стал чернокожий. Плохо это или хорошо - не знаю. Скажу лишь, что теперь на нем лежит большая ответственность - если он умудрится развязать войну или ввергнуть страну в еще больший кризис - ой как нескоро следующий чернокожий президент придет к власти.

Я не говорю, что они плохие просто из-за цвета кожи. Я говорю, что они другие. Не хуже и не лучше - просто другие. Равные, несомненно. Но разница есть. И субъективно граждане США будут отторгать чернокожих президентов, если Обама слажает.

Надеюсь, что нет.

Tuesday 4 November 2008

Мелкий депресняк

Отчего-то почему-то
Грусть свалилась на меня.
Холодный ноямбрь :(

Сертификация от Microsoft

Задумался о получении сертификатов от Microsoft. Все-таки приятная вещь. Хотя, некоторые достаточно крутые программеры считают, что это нафиг не надо - если ты крут, то ты крут, и не обязательно будешь крут если ты крут по сертификату. Логично. Но попонтоваться хочется, так что буду узнавать, что и как :)

Monday 3 November 2008

Условное компилирование в C#

Вкратце - если пометить метод System.Diagnostics.ConditionalAttribute, то он будет скомпилирован лишь если при компиляции объявлена переменная, которую мы передали в конструктор атрибута.

Т.е. если пометим как:

то этот метод скомпилируется (и, соответственно, выполнится), лишь если в коде будет объявлена переменная DEBUG.

Подробнее здесь.

Выходные просто пролетели

С бешеной скоростью =(

Радует то, что хотя бы выспался :)

Saturday 1 November 2008

Линч нового .NET логотипа

Линч положителен, что не может не радовать.

Friday 31 October 2008


Одноклассники теперь платные. Интересно, на что они надеются? Большинство просто перейдет на ВКонтакте или российский Facebook - они бесплатные. А еще написать приложение для ВКонтакте, которое позволит импортить данные оттуда - и прости прощай, убогий сайт.

З.Ы. Если уважаемый Павел Дуров решит воспользоваться идеей, просьба отсыпать немного от прибыли :-D

Слухи из Itransition

Судя по слухам, в связи с кризисом из Itransition уволены(ились) около 30% персонала.

З.Ы. Повторюсь, это слухи.

Microsoft убьет Linq to Sql

Да, иметь 2 разных ORM солюшна не очень хорошо. Microsoft устраняет эту двойственность и убирает Linq To Sql из 4й версии .NET Framework'а.

Объявление здесь.

Возмущения здесь.

SEO, Keywords и Description

Решил определить для своего блога Keywords и Description - стандартный allheadcontent от блоггера этого не дает, увы. Стал писать, захотелось взглянуть, как у кого еще сделано. Сразу на главный беларуский сайт - http://tut.by. Ищу, ищу - не могу найти. И тут доходит - у них _не прописаны_ эти meta теги! Е-мое, что ж у них в гугле? Да вот что (выдано первым поиском):


КЛУБ УРОДОВ TUT.BY · Ученые: мозг человека начинает разрушаться в 39... Католическая церковь будет выявлять гомосексуалистов. ...

www.tut.by/ - 84k - Cached - Similar pages - Note this

Смешно до чертиков :) Основательно просмеявшись, добавил в блог теги и написал этот пост :)

Аналитика :)

Google Analytics продолжает радовать меня своей информацией: на этот блог заходили из Москвы и один раз из-под Linux =). Однако.

Еще вчера Яндекс каким-то образом выдал меня при запросе "write-a-simple-control-to-refresh-updatepanels-from-client-side". Если вдруг кому интересно, это можно сделать так: вешаем внутри UpdatePanel скрытую кнопку и через JS вызываем ее метод click(). Работает, проверено :)

Боекомплект разработчика от Microsoft

Интересно, действует ли сабж в Беларуси? Отправил письмо ответственным, авось что и прояснят.

З.Ы. Ну оооочень хочется получить эти вкусняшки.

Дни разработчика Microsoft в Минске

Вчера отправил заявку на участие в сабже. Надеюсь, зарегят, уж больно хочется послушать про Windows 7 и про VS 2010.

Насчет последнего - вот в этом блоге можно следить за новыми фичами вижлы.

Thursday 30 October 2008

Копыты в кедах

Друг стучался в аську. Юзает клиент аськи под названием Kopete - естественно (по названию) клиент под линевый KDE. Kopete for KDE. Копыты в кедах, елки )))

Сегодня уже можно посмотреть Ruby 1.9

Нам одним глазочком разрешили посмотреть на Ruby 1.9 :). Интересно то, что обратная совместимость не полная! Т.е. придется править код 1.8, чтобы все работало в 1.9. Чувствую, 2.0 будет отличаться от 1.8 еще радикальнее. И это при том, что Matz заявлял, что настроен на обратную совместимость... Хотя, сложно себе представить, что бы было, если бы он _не_ был настроен на обратную совместимость ;)

Мегасекьюрный сайт!!!

Ниже примеры отличной обработки ошибок:




Не перевелись на Руси хорошие программисты

З.Ы. Лол =)))

Приятная новость

Google Analytics показал, что мой блог нет-нет, да и читается :)

Прогресс налицо :)

З.Ы. Даже из Украины были :)

Командуй своим компом


Вчера набаловался - врубил Speech Recognition и командовал Висте, что делать )). Презабавнейшая штука, скажу я вам :)

Microsoft'у +1

Wednesday 29 October 2008

Первый мяч комом

Мде. Оказывается, после трехмесячного перерыва играть достаточно сложно :(

Ну ниче :) Пару мячей забросил, набегался, размялся - план выполнен :)

Между делом: Выходит новый Expression Encoder - за вторым номером. Скорей бы заполучить и поюзать - скринкасты увлекают все больше.

Между делом 2: любимая мною компания Microsoft выводит свой популярный продукт MS Office на просторы Интернета. Причем будет и бесплатная версия! С просмотром рекламы, правда, но разве это нас остановит? ;)

Ух ты!

Покопался в настройках - теперь можно постить в блог, посылая письмо на секретное мыло :)

З.Ы. Да, это всего лишь тест ;)

Баскетбольные баталии

Ух, через час на баскетбольчик, косточки протрясти. Давно не ходил уже. Буду мазать и выдохнусь после минут 15 постоянного бега. Ну и ладно! Зато настроение будет супер!

Особенности LinkButton в UpdatePanel

Если в разметке кода LinkButton'a не указать атрибут ID, то этот LinkButton, помещенный в UpdatePanel, будет вызывать синхронный postback вместо асинхронного. Он просто не прорендерит атрибут id у тега <a>, посему страничка не сможет определит, что для этого элемента надо делать асинхронный postback.

Решение: пропишите атрибут ID у серверного тега LinkButton.

Солдаты неудачи

Посмотрел вчера сабж в оригинале. Просмотр затруднен акцентами, выстрелами и скоростью речи. Субтитры несколько облегчили восприятие, однако местами не соответствовали произносимому. При всем этом, впечатление сформировалось с первых минут семи - СУПЕР :)

Актеры жгут, Тони Старк в роли негра ржачен по самое не хочу, а Том Круз с финальным танцем просто удивил.

Модификация блога

Добрались мои ручки и до собственного блога. Из нововведений:
  1. Изменил цвет верхней панельки на черный (да, это было очень сложно :D)
  2. Добавил Google Analytics - надо же знать, кто тут лазит, как и откуда. Это (предположительно это) свалило блог в шестом IE. Ну и фиг с ним :) Вероятность того, что те, кого это блог потенциально может заинтересовать, будут читать его с шестого IE невероятно мала :) *
  3. Изменил стили - теперь блог по умолчанию имеет ширину в 1024 пикселей, а не 800
* Если все же это так - пишите в комментах, дам ссылки на нормальные браузеры ;)

Новые продукты Microsoft

Качаю CTP Visual Studio 2010 - скорей бы :) Там ведь уже есть в некоторой степени реализованный .NET Framework 4.0 и C# с типом dynamic ;). Все ближе к рубям, все ближе.

Хотя некоторых блоггеров это просто-таки бесит. Не знаю даже. Возможно, я бы доделал IronRuby, добавил бы туда LINQ (это было бы довольно просто, не пришлось бы даже добавлять чего-нить :)), и позиционировал 2 языка - C# и IronRuby. Была бы и статическая типизация, и динамическая. С другой стороны - а зачем? :) С третьей - а зачем только динамическая? C# сейчас - хороший язык со статической типизацией (var - не в счет, это типизация в момент компиляции, а не выполнения). Было бы 2 подхода и все были бы счастливы. Соседствует же сейчас C# с F#.

З.Ы. Писал недавно письмо Jimmi Schementy - одному из авторов IronRuby. Был получен вот такой ответ:

Ready? This is an open source project, so you can always use it :)

If by ready you mean "we run rails, gems, rspec, sinatra, merb, etc etc etc, then it's close. Current bits in our tree can run all those with varying success.

If you want to know when 1.0 will be declared, then we really don't know.

Т.е. судя по всему, ситуация такая - то работает, то не работает. Т.е. вроде все и сделано, но куча багов. Грустно :( IronPython уже 2я версия почти вышла, а тут даже 1.0 сообразить не могут :( И это при том, что Скотт Гутри увлекается Ruby.

Скринкастинг и иже

На родной кафедре начинаю продвигать скринкастинг как хорошее средство удаленного обучения. Делаю первый скринкаст. Получится далеко не супер, т.к. все-таки первый раз, но надеюсь на лучшее :)

Все еще под впечатлением от интерфейса Windows 7. Надеюсь, что за 2 года они еще больше его улучшат.

З.Ы. Я стал пить кофе :(

Windows 7

Шикарная будет штучка!


Monday 27 October 2008


Холодно ужасно :(((((

Пальцы отказываются работать. Надо срочно попить чего-нить горячего. Не. Не так. СРОЧНО!!!!!


Friday 24 October 2008

Любителям хауза

Отличное описание сериала :)

Осторожно, мега-спойлер на все сезоны :)!

Thursday 23 October 2008

Successful use-case

Вычитал :)

Приятная плюшка в винде(ах).

Интересные статьи

Наткнулся вот на такие интересные вещи:


Главная мысль: иногда надо перестать программировать, чтобы улучшить свои навыки.


Главная мысль:
Мы все пишем дерьмовый код, но лишь лучшие программисты осознают это. Это было бы иронично, если бы это не было таким грустным.


Главная мысль:
Чтобы стать действительно хорошим программистом, вам надо выращивать в себе страсть ко всему, что лишь связано с программированием, но не является им.


Главная мысль:
Весь мой код - полное дерьмо! С каждым годом я делаю его лишь чуть меньше дерьмовым.


Главная мысль:
Наша задача не быть лучше всех, а быть лучше чем мы сами год назад.

Интересная мысль:
На собеседовании надо искать тех, кто может в нужный момент сказать "Я не знаю", а не тех, кто отказывается это признавать.


Чота как-то лениво :)
Чота как-то спать хочется (хотя сегодня спал 8.5 часов)
Чота хочу не знаю чего

Прострация и рандом

Wednesday 22 October 2008

Что интересного было

Было вот что. Вчера поставил Baldur's Gate II - лицензия сама по себе греет сердце :). Весчь!

Разбирался со скиннингом в DotNetNuke - благо один товарищ подкинул почти гигабайт скринкастов.

Еще утром в метро пришла в голову мысль записать некоторое количество скринкастов по IronRuby и ASP.NET MVC - естественно, после их выхода. Однако, мысль.


БАТЭ-ЗЕНИТ 1-1 !!!!!!!!!!!!!!!!!!!!!


Monday 20 October 2008


Вчера забрал свой заказ из Америки. Собственно, вот:

1. Neverwinter Nights Diamond Edition - весчь!
2. Baldur's Gate II + add-on - Весчь!!!
3. Domain Driven Design - Оччень рекомендуют книжицу такие монстры как Кент Бек и Мартин Фаулер
4. Test Driven Development - Кент Бек, собственно, один из монстров :)

Вчера в невервинтер побегал чутка, тряхнул, что говорится, стариной! :)

Wednesday 15 October 2008

Непрерывная интеграция

Слышал про зверя из сабжа достаточно давно и даже имел общее представление. Однако пользоваться не приходилось. Наткнулся на сию статью:


Итог: надо ставить :). Судя по еще одной статье (читал в журнале каком-то), для этих целей можно отвести старенькую машинку со слабым процом. Т.е. финансовой нагрузки мало, а польза неимоверная.

Мысль: всем читать


Вчера провалялся в постели с температурой, а под вечер смог выбраться на давно планируемое праздненство - 2 года как я встречаюсь со своей девушкой.

Милая, поздравляю! Я тебя люблю :)

Пошли праздновать в ресторан Perfetto - что возле мака, что возле немиги :). Приятный персонал, отличный интерьер (обнаженных девушек на стенах не было заметно до момента ухода =)))), вкуснейшая еда. Вино просто обалденное! Такое ощущение, что пьешь только что выжатый сок из кишмиша. Забыл только записать как называется. Видно, придется еще раз идти, переписывать =)))

Хороший вчера был денек, несмотря на простуду!

З.Ы. Только дождь под вечер был _совсем_ не в тему

Monday 13 October 2008


Читаю с ленты:

> Комедия "Крошка из Беверли-Хиллз"
> ("Beverly Hills Chihuahua") второй раз подряд
> возглавила список лидеров
> кинопроката Северной Америки

Кто, нет, КТО мог перевести chihuhua как "крошка"?? В шею гнать таких переводчиков! Крошка, блин. Опять в могучей стране куча ушлепков, которые считаю, что умнее авторов фильма.

З.Ы. Судя по трейлеру и отзывам, фильм смешной по самое не хочу.

Утро понедельника

Вчера купил себе mp3 плеер - свершилась мечта идиота :) Теперь хоть в метро не скучаю.

З.Ы. Спать хочется, что просто северный пушной зверек

Friday 10 October 2008

Боты Одноклассников

О боги! Да ниспошлите вы озарение на разработчиков Одноклассников, и да сделают они наконец-то нормальную систему защиты от ботов!!! Ибо задрали всякие порнушные Аполлинарии Баклановы, которые ставят постоянно оценки и спамят почтовый ящик!!!!

З.Ы. А вообще все хорошо. Особенно радуют отличные перспективы :) Хоть бы все получилось...

Tuesday 7 October 2008

Ищу спутницу разработки

Не старая CMS, без вредных привычек. Удобный интерфейс и нетребовательная. Пока выбираю между Umbraco и DotNetNuke.

Еще в процессе гугления набрел на сайт компании "Брокер Инвест". Прикольный дизайн :)

Sunday 5 October 2008

Звездный десант

Посмотрел фильм "Звездный Десант" в HDTV качестве, с отличным звуком и отвратным переводом. Нет, это додуматься перевести фразу "Do you want to live forever?" как "Вы же хотите, чтобы вас помнили?". Профессионализм перевода просто поражает...

Интересные факты

А вот вы знали, что:
1. Тара Рейд снялась подругой главной героини в эпизодической роли в фильме "Starship Troopers", оно же "Звездный десант"
2. Главный герой сериала "Побег" ("Prison Break") снялся другом главного героя фильма "Underworld" (ликаны, вампиры и все такое - для тех, кто не помнит), причем врачом и причем предателем :)

З.Ы. Личные наблюдения

Saturday 4 October 2008

Рабочее пространство

Лень творит чудеса :) Задался целью посмотреть очередную серию Хауза, параллельно ваяя мелкий сайтик. Но что неудобно - экран монитора достаточно маленький, соответственно, окошко видеоплеера значительно уменьшало рабочее пространство. Что же, дело за малым - взял и воткнул провод от домашнего монитора в ноутбук. Виста быстренько определила, что к чему и после нескольких минут настройки все стало просто супер. Браузер с хаузом слева, код на ноуте перед глазами. Лепота!


Спасибо группе Sunrise Avenue за песню Fairytale Gone Bad
Спасибо компании Microsoft за замечательную Visual Studio
Спасибо погоде за дождь, который и только который помогает понять уют домашних стен


Friday 3 October 2008


Вот прилетела как-то шальная мыслишка купить себе букридер. А потом еще одна - оно мне надо вообще? Или лучше смартфон? Или наладонник? Посоветовал бы кто...


Сдал :) Решил 5 из 5 задач по экономической статистике. Удивил как преподшу, так и соседствующих сдающих. Когда спросили, кто я по первой специальности, гордо ответил: "математик-системный программист".


Thursday 2 October 2008

Мобилко 2! Мобилко вступает в силу

Уффф... Привезли вчера все-таки :) Хорошенький такой, простенький. Теперь с двумя мобилами, а к Новому Году, наверное, решусь на Samsung Duos. Думаю, к середине ноября будет стоить где-то в районе $230.

Wednesday 1 October 2008


1. мобилу с тачскрином на две симы (такие есть вообще?)
2. большой монитор домой (или два больших =))
3. уютное кресло для рабочего места

Мысль: хотеть не вредно

Жабко душит :(

Насмотрелся на офисы крупных и не очень компаний. Блин, хочу работать в таких :( Особенно Microsoft :) Я так понял, работай где хочешь, лишь бы на митингах был. "Где хочешь" - пошел с ноутом, сел на диванчик в уголке и ваяешь потиху...


Еще в гуглевском офисе посмотрел на количество моников у инженеров. По суммарной площади раз в шесть больше чем у меня сейчас. Однако...

Блин, как спать-то теперь? :)

Позитивно-негативное утро

Вчера мобилу так и не привезли, сказали, что только с семи до десяти вечера курьер позвонит и подъедет. Кто угадает, позвонил ли он? :( Что самое нехорошее, телефон, по которому я общался о заказе, был недоступен. Вот такая вот любовь к покупателю. Ну что же, негативный отзыв на онлайнере им обеспечен... Буду заказывать у другой компании, хотя стремает то, что в Минске только 2 онлайн-конторы предлагают этот телефон.

Вчера товарищ lithium подогнал последний альбом группы Rasmus, за что спасибо и ему, и группе Rasmus. Фтыкаю :)

Monday 29 September 2008


Предистория: было у меня 2 телефона и 2, соответственно, симки. Потом старая добрая Нокиа подвела и сломалась - с тех пор я с одной мобилой и одинокой симкой. Наконец-то я решил решительно это пресечь! Завтра утром должны доставить вот эту прелесть:

Сразу оговорюсь, искал достаточно приятный ненавороченный телефон за соответствующие деньги. Хотелось бы, конечно, Samsung Duos, чтобы не заботиться о двух мобильниках, но пока трех сотен лишних нет (вернее есть, но жалко :-P). Возможно, когда двуесимие распространится и мобили с ним подешевеют - прикуплю. А пока - ни-ни!

Wednesday 24 September 2008


Проблема: на серваке заказчика нет вижуал студио, чтобы билдить сайт
Решение: NAnt

на самом деле, собирался изучить достаточно давно, но... Вечно времени нет и все такое. А сейчас волевым решением взял себя за... голову и вперед =)

Мысль: пока нравится :)

Мысль вдогонку: а можно их автоматом из вижлы генерить (с надеждой, вспомнив 200 файлов проекта, к-е иначе надо добавлять руками :( )

Tuesday 23 September 2008

Хауз. Доктор Хауз

Вчера начал смотреть сабж. Давно так не смеялся :)

Мысль: где я раньше был? о_О

Monday 22 September 2008

Куда-то я залез...


Что-то чувствую, что 4 проекта одновременно на поддержке-советах-разработке это слишком много даже для меня :)

Зато опыт... SEO, AJAX.NET и еще куча всего. Интересно, но сложно.

А тут еще универ с тупыми лабами.


System Up Time: 32 Days, 15 Hours, 20 Minutes, 25 Seconds

Мысль: однако

Свадьба брата

Прошла на ура :)

Были цыгане, вино, водка, куча вкусной еды, танцы и даже драка.


Мысль: жениться надо! понравилось :)

Friday 19 September 2008


Нашел решение ASP.NET проблемы на русскоязычном сайте. Растем-с...

Вирусы ВКонтакте

Сограждане! Будьте бдительны! Ходят месаги:

Я тyт нaшлa видeo c дeвyшкoй, oчeнь пoxoжeй нa твoю пoдpyгy! Тy, чтo ecть вкoнтaктe.. Пocмoтpи.. Я в шoкe пpocтo.. Онa тaм нa глaвнoй cтpaницe была и в "пocлeдниx oбнoвлeнияx" ceйчаc eщe ecть.. Сpазу заметишь.. Ей тoлькo не гoвoри.. И ocтoрожно - там вcе фотки и ее видео - для взроcлыx...

Ужас просто :)


Освоил upload файлов через iframe. Имплементнул. Работает :)

Делюсь источником знаний.

Мысль: приятно, черт побери

Thursday 18 September 2008

Свадьба брата

В субботу иду гулять на свадьбу сводного брата. Весело будет... Класс :)

Мысль: и мне уже пора потиху... ;)

Все чертовски хорошо!

Да, это так!

Tuesday 16 September 2008

Дефиниция: Гамбит

Гамби́т (от «итал. dare il gambetto» — подставить ножку) — общее название дебютов, в которых одна из сторон в интересах быстрейшего развития, захвата центра или просто для обострения игры жертвует материал (обычно пешку, но иногда и фигуру). Различают принятый гамбит (жертва принята), отказанный гамбит (жертва отклонена) и контргамбит (вместо принятия жертвы противник, в свою очередь, сам жертвует материал).

Мысль: эрудируемся!

Monday 15 September 2008

Рефакторинг и психология разработки

На выходных потратил часов пять на рефакторинг кода. Ощущение просто замечательное - физическое изничтожение плохого кода очень благотворно влияет на разработчика и создает моральный резерв для починки багов в условиях плохого кода.



Да, да, кому как - а мне сессия. Во втором универе. Учу национальную экономику и экономику малого бизнеса, послезавтра сдавать иду.

Остался последний учебный год. Лепота...

Мысль: хочу пива

Thursday 11 September 2008

Тайм менеджмент

На выходных прочитал книгу Глеба Архангельского "Тайм-драйв". Понравилось :) Завел себе ежедневник, начинаю мало-мальски планировать.

Вчера вспомнил все, что не мог сделать уже недели полторы. Почти все мелкие, где-то половину за полчаса сегодня утром выполнил и с чистой совестью зачеркнул. Возможно, это из-за первого дня и неисчерпанного (пока?) оптимизма. А может, действительно - тайм-менеджмент =)))

Tuesday 9 September 2008


"Все, баста, сами печатайте" (С) бородатый анекдот

Огнелис меня довел. Он успешно доводил меня с утра и добил сейчас.

Вместо уже привычных слов "please, guys, fix this problem" в форму отчета по багу я кинул следующее:


Say bye bye to me. As soon as chrome or IE8 is released I'll switch to them.

Minus one devoted fan.


Мне просто не хватает нервов работать с ЭТИМ.

Good luck, FF.

Частичное сравнение Chrome и IE8

Скотт Хансельманн делает краткое сравнение Chrome и IE8. Последний пока не уступает, что не может не радовать :).

Не радует только введение новых кастомных CSS свойств у IE8. Их вводят для тех фич, которых нет в спецификации CSS, или для тех, которые либо недостаточно описаны, либо еще только подтверждаются консорциумом. Начинаться они будут на -ms-, как и -moz-, и -o-, и т.д. Не радует не потому, что это плохо - поддерживать не до конца определенные свойства. А плохо то, что когда все-таки эти стандарты примут все будут ругать IE что он такой-сякой не поддерживает их, а использует что-то свое. А то, что на момент выхода его невозможно было реализовать то, чего нет - никто и не вспомнит. Та же история будет, что и с 5м IE (а он был классненький, просто был чуть раньше стандартов и его после их выхода ругали за несовместимость).

МЫСЛЬ: скорей бы вышел Chrome или 8й IE - перейду с уже ненавистного огнелиса.

Friday 5 September 2008

Бесплатная система контроля багов

Вчера достаточно много времени потратил на поиск бесплатного хостинга для Bugzilla - надо для принятого проекта. Искал, искал, искал - нету! Бесплатные хостинги есть, но настроить Bugzilla там достаточно проблематично. Искал даже под linux - все равно нет нормальных, чтобы можно было легко настроить.

Потом решил в списке багтрекеров на википедии поискать те, что написаны на Ruby On Rails. И о чудо! Я нашел героя этого поста. Любите и жалуйте: 16bugs !!!

Описать это приложение можно одним словом (как, впрочем, и большинство приложений на Ruby On Rails) - SEXY. Оно просто чудесно, плюс позволяет вести 1 проект бесплатно, что мне и надо :). Много пользователей, можно ассайнить баги, ставить версии, добавлять категории багов, комменты и еще неисследованный функционал :)

Пока радуюсь как ребенок - все просто супер. Что будет потом - не знаю, но пока - строго рекомендую!

Thursday 4 September 2008

Список контактов (Deception)

Вчера посмотрел фильм "Список контактов" с отличными актерами Хью Джекманом ("Кейт и Лео" - Лео) и Эван МакГрегор (Оби Ван Кеноби - для тех, кто знает ;)). Начну с того, что перевести "Deception" как "Список контактов" мог только очень укуренный переводчик. Очень-очень. Просто раздражает уверенность переводчиков, что они смогут лучше передать суть фильма в названии, чем это сделали авторы. Возможные переводы:

>> обман, жульничество; ложь; измышления, неправда, хитрость

Если бы перевели правильно - было бы правильное настроение и чего-нибудь этакого ждал бы. А так...

Ну да ладно. Оффтоп =). Завязка такова: затюканный жизнью аудитор (МакГрегор) случайно знакомится с преуспевающим бизнесменом (Джекман) и они мало-помалу становятся друзьями. На последнем совместном ланче они случайно обмениваются мобильниками (ну так уж получилось, что у бедного аудитора и жутко богатого дяди совершенно одинаковые мобильники :)), бизнесмен улетает в Лондон, а бедняге аудитору начинают сыпаться непонятные звонки: "Ты свободен этим вечером?..". На один из них он не успевает сказать "Нет" и приходится ехать в указанный отель в указанное время. События развиваются достаточно резво и вот мы узнаем, что некая секс-группа, члены которой по вечерам созваниваются и устраивают анонимные опять-таки секс свидания. Аудитор на радостях пользуется возможностью направо и налево, а потом...

... а потом следует тот самый deception из названия. А еще любовь... А еще деньги...

Диагноз: смотреть рекомендую

Время, время...

Сегодня на работу приехал на два с половиной часа позже, чем надо бы. А почему? Да потому что утром надо было идти на пару в 9-45. Пришел. Пары не было. Обидно :(

Мысль: время студентов почему-то никто не ценит

Wednesday 3 September 2008

Оппортьюнити, чтоб ее

Сегодня иду договариваться и обсуждать детали моего становления распространителем одного сайта :) В обязанности будет входить продвижение сайта, договоры с компаниями о его использовании.

Зачем мне это надо? Возможно в будущем это будет приносить деньги :) А сейчас... Сейчас мне наверное хочется просто пообщаться с людьми и попробовать свои силы.

Подробности позднее.

Google Chrome aka Хромой

Поставил новый гуглевский браузер. Что тут сказать? Первое впечатление - СУПЕР :) Немного браузинга - выглядит неплохо. Почему не отлично? Да хотя бы потому:

1. tut.by выглядит как-то странно - почему-то некорректно отобразилось меню, сделанное простой таблицей
2. liquidgeneration.com в создании своем использовал намного более сложные фичи и конкретно layout отображается как надо. Но вот с картинками явно проблема - то ли из-за многопоточности, то ли еще непонятно из-за чего не догружаются картинки.
3. Gmail.com - залез с 3го раза! На собственный сайт. Ух...
4. google.com/reader - страничка логина догрузилась с 4го раза. После логина моему взору предстали недогруженные картинки кнопок.

Немного непривычна работа с закладками: я открываю новые закладки через раз используя Ctrl+T и double-click на панели закладок. Тут 2й вариант не прокатывает, поскольку эта область уже и не панель закладок, а самый настоящий заголовок окна, соответственно при даблклике разворачивает-сворачивает окошко. Неприятно, но переживу.

Не обошли вниманием и веб-девелоперов. Навески для девелоперов похожи на те же из Safari (Webkit, ёлки :)) с примесью Firebug.

Диагноз: учитывая, что это всего лишь версия 0.2, нас ждет что-то необыкновенное. Если добавят удобные и нужные плагины (типа WebDeveloper & Firebug из огнелиса) - перехожу на него 100%.

Мысль: опять отжиг от гугла.

Интересно: реакция других производителей браузеров. Ближайший глобальный апдейт будет у Safari и IE - посмотрим, смогут ли эти браузеры вовремя почерпнуть нужное из Chrome и составить ему конкуренцию (пока по фичам, плюшкам и юзабилити - они позади, как ни прискорбно это говорить).

Tuesday 2 September 2008

В контакте

Дожились. Социальная сеть "В Контакте" теперь с рекламой. Замечательно. Т.е. на самом деле замечательно - я всеми конечностями за подобные способы зарабатывания денег владельцами сайта. Не радует лишь обогащенный (??) функционал.

Допустим, моя страничка. Хм. Что я вижу? "Отправить Ивану подарок". Ээээ. А смысл отправлять себе подарок? о_О Бред

Интереса ради кликнул, выбрал подарок - опа... Нету голосов. Каких нафиг голосов? Нормального названия не могли придумать? Ну ладно, что-то нажал и попал на страничку с гениальным названием - "Валидация". Нет, я сам разработчик и направо и налево раскидываюсь словечками и похуже, НО! Подобный сленг надо оставлять в команде, где работаешь, а не выносить пользователям. Поставили бы "Проверка" - и то понятнее.

А если еще вспомнить и то, что сам сайт нагло и бесстыдно скопирован (да, хотелось сказать погрубее...) с http://facebook.com становится еще противнее. Искренне надеюсь, что будет суд между этими компаниями и ВКонтакте перейдет Фейсбуку. Ну или хотя бы покупка - лишь бы справедливость восторжествовала.

З.Ы. Чтобы не было обидно никому, добавлю и про "Одноклассников": логины обычно проходят на различных поддоменах типа xxx.odnoklassniki.ru - вследствие чего мой FF 2.0 никогда не мог запомнить пароль, а FF 3.0 запоминает его через раз (через раз не логинит и приходится вводить пароль заново).

Ремонт, чтоб их...

Где-то кто-то что-то как-то сверлит. Громко и шумно. Нейтрализую максимальной громкостью наушников. Да и Seether сама по себе не тихая группа :)

Новая браузя от Гугла

Гугл вчера объявил, что сегодня выпустит бетку своего нового браузера. Сижу вот, читаю комикс. И тут приходит...

Мысль: блин, это ж надо будет еще и под этот браузер странички проверять :( :( :(. Понятно, что будет скорее всего все без проблем, но...

Мысль 2: там движок Webkit, тот же, что и в Safari. Надеюсь, не будет таких же проблем, что и в этом ;*?№;*? Safari

Чорт, что-то подочковывается потиху :(


С утра не было интернета - авария на телефонной станции. С одной стороны, минус - нет доступа к любимым RSS. С другой - большой такой плюс - ничего не отвлекает от работы.

Мысль: надо периодически выдергивать сетевой шнур из системника.

Monday 1 September 2008

Все рано или поздно приходит к своему концу...

Собственно, мой рабочий день медленно, но верно дошел до отметки 35 минут до конца :)

1. попасть к девушке
2. поесть
3. поспать
4. поделать диплом (MVC это наркотик :))

Что радует, эту программу я смогу выполнить сегодня на 100% :D

З.Ы. Посмотрел на свою фотку. Похож на большого кавайного панду :)

Исходники .NET SP1

Уря! Всем качать и смотреть.

Microsoft +1


Жутко доволен фоткой, сделанной с вебкамеры ноутбука. Так доволен, что даже гаджетом в блог добавил.

Эххх, люблю я себя... =)


Открыл учебный сезон - сходил на половинку пары защиты информации. Однако. Придется ходить частично на лекции и частично на пз - отмечают и бдят. Увы.

Все вышеупомянутые полпары сидел и ваял диплом на ASP.NET MVC. Удовольствие от работы неимоверное - ребята из Microsoft наверняка держали рядом открытый проект с Ruby on Rails - все так же удобно и приятно. А настройка путей (они же routes), практически один к одному - аналог из RoR.

Неприятность: тема диплома может не покатить для магистерской. Придется менять "на лету". Ну ничего. И не из таких передряг выбирались.

Приятность: поел по дороге. В который раз мысль: тому, кто придумал еду, надо поставить памятник.

Блог на русском

Начинаю вести блог на русском :) Т.е. чтобы не только англоязычные программистские заметки, но и обычные человеческие бредни.

Мысль: скоро (1.5 часа) в универ...