Локальна машина часу або чому Git Rulez!

Листопад 17, 2009

distributed_vcsГаразд, вступу про користь і потрібність використання систем керування версіями не буде — це банально і тупо.

Проблема у тому, що їх використовують переважно для годиться, або ж тому що цього вимагає корпоративна/проектна політика. До того ж, далеко не найефектнішим чином, сприймаючи їх просто, як “місце, де зберігається уся ця фігня”. Гаразд, про це також не будемо, бо і це тема, про яку дуже багато написано.

Існує інша серйозна, і чомусь мало висвітлена (а може я просто надто мало читаю?) тема — фіксація зроблених змін. Під час, скажімо, періоду баґ фіксингу, усе зрозуміло: зафіксив баґ, [залив на review board,] закомітив. У такому випадку, і тобі просто організовувати політику комітів, й історія на сервері виглядає гламурною. Що ж робити під час активного девелопменту? Зі своїх спостережень, можу сказати, що більшість комітить власний код або у кінці робочого дня, за 30 секунд до вимкнення комп’ютера, або ж коли той комусь потрібні (колезі, тім ліду, рев’юверу, менеджеру, клієнту…).

Read the rest of this entry »


The pragmatic programmer

Жовтень 1, 2009

Програміст-прагматик: від підмайстра до майстра / The Pragmatic Programmer: From Journeyman to Master

Автори: Ендрю Хант, Девід Томас
Видавництво: Addison-Wesley Professional
Рік видання: 1999
Кількість сторінок: 352

“Програміст-прагматик” має стати настільною книгою для усіх, хто заробляє собі на життя програмуванням” (с) Джаред Річардсон, старший програміст iRenaissance, Inc.

“Уявіть, що ви сидите на нараді. Мабуть, ви гадаєте, що нарада продовжується цілу вічність, а замість нього ліпше було б зайнятись програмуванням. Автори книги думали б про те, чому ця нарада відбувається, і задали б собі запитання: “чи є щось, що вони могли б зробити замість наради, і, чи може це “щось” бути автоматизованим таким чином, щоб воно відбувалось не у теперішньому, а в майбутньому. Потім вони б реалізували задумане.” (c) Уорд Кеннінґхем

Останнім часом я ледве не знову відкриваю для себе світ книжок. Мене неабияк почало дивувати те, що більшість знайомих мені програмістів майже не читають технічної літератури. А ті, хто читають, ніби й не погано розуміючи те, що програмування — це далеко не лише кодинг, не приділяють достатньої уваги вивченню і вдосконаленню інших навичок, необхідних в їхній роботі. Гаразд, ця книжка саме про такі навички. Я просто рекомендую, а ви робите, як знаєте…

Оцінка: відмінно


— Дай мені грошей — А за, що?

Вересень 8, 2009

dollars
Меґа-акція “50 гривень за статтю”, яка останні кілька місяців проводилась на ресурсі debian-administration.org.ua завершилась. Причина — її повне фіаско.

Витяг з листування з одним із “волонтерів”:

>>Хочете отримати за свою роботу гроші, чи плюсик до карми?
За свою роботу хотілося б отримати гроші, щоб мати стимул для подальшої роботи.

По порядку: вівши блоґ про адміністрування Debian GNU/Linux на протязі майже двох років, і зрозумівши, що українські користувачі його читачі, серед яких чимало професійних адміністраторів, досвід роботи яких з Дебіеном перевершує мій у рази, і які володіють знаннями, про які я навіть не чув, ні під яким ідеалістичним приводом, штибу “Що більше інформації ви створюватимете, то більше людей нею оволодіє, і з часом зможе підняти її на якісно вищий рівень…” не бажають цими знаннями ділитись, я вирішив зіграти на відомій ще з початку створення нашої цивілізації людській слабкості — любові до грошей. Я вирішив платити людям по 50 гривень за переклади статей: одна година твоєї роботи, і маєш 50 гривень, а інші — корисну інформацію українською.

Read the rest of this entry »


rozrobka.com — соціальна ІТ спільнота

Серпень 19, 2009

rozrobka_comУсе відбувається якось само собою. Ти чогось очікуєш від інших, і нікуя не отримуєш. Тільки на усе забиваєш, і перестаєш на будь що від них сподіватись, і намагаєшся просто мовчки робити що-небудь бодай для того, щоб не отупішати, і отримуєш усе те, від бажання мати чого нещодавно бризкався слиною, і ледве стримувався, щоб не вкакатись.

Я просто в невібенному шоці — багатомільйонна європейська нація з кількістю розробників, які можуть створити три кремнієвих долини почала щось робити. Ну і типу зустрічайте: rozrobka.com.

Я аж ціпенію від шоку: здавалося б, стільки хороших перспективних хлопців, а інколи так туплять, що хоч бери, і головою цв’яхи забивай… Хоча, я все одно вірю, що усе буде меґа кльово!


GTK+ — 8. GtkImage та GtkIconView

Серпень 11, 2009

У цій частині трішки попрацюємо з графікою, а точніше, з кількома досить простими, але часто використовуваними віджетами для роботи з нею: GtkImage та GtkIconView.

GtkImage

GtkImage — досить простий віджет для відображення растрових зображень.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <gtk /gtk.h>
 
 
int main(int argc, char *argv[])
{
    GtkWidget *window;
    GtkWidget *image;
 
    gtk_init(&argc, &argv);
 
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
    gtk_window_set_default_size(GTK_WINDOW(window), 230, 150);
    gtk_window_set_title(GTK_WINDOW(window), "Red Rock");
    gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
 
    gtk_container_set_border_width(GTK_CONTAINER(window), 2);
 
    image = gtk_image_new_from_file("redrock.png");
    gtk_container_add(GTK_CONTAINER(window), image);
 
    g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), G_OBJECT(window));
 
    gtk_widget_show_all(window);
 
    gtk_main();
 
    return 0;
}
</gtk>

У вищенаведеному прикладі ми завантажуємо, і відображаємо світлину замку.

Встановлюємо 2-піксельну рамку навколо зображення:

1
gtk_container_set_border_width(GTK_CONTAINER(window), 2);

Завантажуємо зображення з файлу і додаємо його до контейнеру:

1
2
image = gtk_image_new_from_file("redrock.png");
gtk_container_add(GTK_CONTAINER(window), image);

gtkimage

Read the rest of this entry »