Sunday, January 16, 2011

Bug tracking software

During the last couple of years I had an idea to have a bug tracker for my home projects. Here's a summary:

1. Trac
Looks very raw. Really hard to understand what it does and how to do what I want. Installation is really painful, too.

2. JIRA
Is fine, but requires much more powerful hardware than I used to run it: Samsung netbook with 2GB of RAM. I believe that this hardware should be enough for hosting a 1-project 5-user bugtracker. Also, JIRA is not free. You either have to pay, or use it for open source project.

3. Redmine
Is great. It's simple, intuitive and it runs fine on my "server". So, I think it's what I'm going to use. Can be easily installed using Bitnami.

Also going to try Mantis.

Update:
No, I like Redmine more, than Mantis

BitNami

I have just stumbled upon this site. Have not yet tried, but the whole idea looks great. They provide a minimal packages to use a "technology" or "software" which requires 3-rd party services to run (if you want to use Django you have to install Apache/MySQL/Python). The packages are either Windows/Linux installers or VMWare/VirtualBox images.

Friday, January 14, 2011

This blog is now in Terrible English

This blog is now in Terrible English, because Terrible English is more popular than fine Russian and like any other 13 year old girl I love being popular.

Мысли

Я ранее уже писал про динамическую типизацию. Особенно про слабую. Пару недель назад. С тех пор в моей жизни многое изменилось. Много воды утекло.

Я хочу извиниться перед динамической типизацией. Динамическая типизация иногда бывает крайне удобна. Вот слабая динамическая типизация - это плохо. А более-менее строгая динамическая типизация иногда позволяет намного легче реализовывать некоторые вещи.

Я не знаю как у других сишных (плюсплюсных) разработчиков (скорее всего такое есть у многих), но меня некоторое время преследовали страхи по поводу производительности. В частности, легенды о том, что виртуальный вызов - это очень медленно, что RTTI - это жуткие тормоза и так далее. Эти страхи хитрым образом переползли из си на уровень выше. Они стали повсеместными. В C# есть рефлексия? Наверное это жутко тормозит. В Python тоже есть? Ну наверное тоже не стоит.

Некоторое время назад я подумал: "А какого хрена, вообще?". Нужно решать задачи, а не думать (в 99% случаев - заблуждаться), что какое-то решение будет тормозить. Нужно просто решать задачи и не думать о том, как оно работает внутри. Абстракция ЯП на это и дана.

На душе стало значительно легче. Я стал спокоен. Меня больше не смущают гетерогенные списки в питоне, не смущает питоновская setattr().

И это здорово.

Monday, January 10, 2011

Планы на 2011

1. Сделать Секретный Мегапроект.
2. Изучить Python до уровня "более-менее знаю".
3. Изучать Django до уровня "более-менее знаю" (понимание основных концепций, понимание архитектуры, понимание куда что своё прикрутить, чтобы получить то, что хочется)
4. Доделать компилятор.
5. Изучать новый C++ до уровня "более-менее знаю".
6. Изучать Boost до уровня "более-менее знаю и понимаю как работает".
7. Изучать STL до уровня "более-менее знаю".
8. Изучать паттерны проектирования до уровня "более-менее знаю".
9. Изучать Android/Java до уровня "более-менее знаю".
10. Изучить свежий .NET.
11. Получить MCSD по .NET (Desktop).
12. Проштудировать Кормена. Полностью. Всё запрограммировать.
13. Кататься на велосипеде.
14. Сбросить вес до стабильных < 70 кг.
15. Сделать, чтобы жена не говорила, что у меня дряблая обвисшая задница.

16. Сделать ремонт в квартире и заселиться.
17. Разобраться со времена в английском (да, стыдно).
18. Разобраться со всеми непонятностями в английском.
19. Научиться играть на гитаре.
20. Доделать задачку по iPhone (хотя и тошнит).

Нежирным отмечено неприоритетное.