2012/11/21

BDSM reminder

-Werror -Wall -Wextra -Wbad-function-cast -Wcast-align -Wcast-qual -Wconversion 
-Wfloat-equal -Wformat=2 -Wlogical-op -Wnested-externs -Wno-missing-braces 
-Wno-missing-field-initializers -Wold-style-definition -Wpointer-arith 
-Wredundant-decls -Wshadow -Wstrict-aliasing=2 -Wstrict-overflow=5 
-Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wunreachable-code -Wwrite-strings

(c) _winnie

2012/11/03

How to determine if a number is a prime with regex?

public static boolean prime(int n) {
  return !new String(new char[n]).matches(".?|(..+?)\\1+");
}
The explanation is on the StackOverflow.

2012/10/10

Programming Jargon Dictionary

Wonderful jargonisms from StackOverflow by bsstahl.
  • Automanually
    Used to refer to a batch job or application that should be scheduled or triggered automatically, but due to unspecified reasons requires manual intervention every time. (not the same as automagically)
  • Boolean Zen
    The proper practice of using boolean expressions directly without testing for equality to true or false.
  • Common Law Feature
    A bug in the application that has existed for so long that it is now part of the expected functionality.
  • Disaster Driven Development
    When Your PMs and salesmen promised that You will build a "space shuttle" in one month.
  • Egyptian Brackets
    Describes the god-awful c-style where curly-braces are not aligned.

2012/10/07

To Buy Books

Зашел на озон и слегка подофигел от ценника на английские книги.
Начал смотреть, где сейчас модно покупать: оказалось, например, что даже по амазону цены гуляют, особенно если брать 1-2 книжки, то на родном amazon.com к нам посылают только DHL, что выливается в цену еще одной книжки. Говорят, порой значительно выгоднее заходить на amazon.co.uk или что-то подобное. Учитывая ограниченность финансов, я поползу вот по этому списку магазинов. Похоже, так будет проще.

Ну и главное открытие - http://www.bookfinder.com. Ищет, в рубли пересчитывает. Жаль только, что стоимость доставки не учитывает.
Еще нашел, что на ebay.com есть  international sellers. Они доставляют к нам со значительными скидками (говорилось про доставку из Англии).

2012/09/15

Энергонезависимое решение


Понедельник. Постановка задачи


Девять часов тридцать одна минута утра — я на работе. Вообще-то мы работаем с десяти до семи, но по понедельникам я предпочитаю приходить пораньше — мне нравится наш офис, пока в нём нет людей. Я медленно иду мимо столов — одни завалены распечатками спецификаций и каких-то диаграмм, другие совсем пустые. На одних столах стоят компьютеры, другие пустые. Под некоторыми столами стоит сменная обувь, перед другими нет даже кресла. Да, у нас больше половины столов пустые — это на случай приёма новых сотрудников, или командировки кого-то из других городов и стран. Ведь у нас крупная международная компания с офисами разработки в Омске и Калачинске и головным офисом на Кипре. Мы занимаем четыре этажа в современном офисном центре. Правда, сразу за нашим зданием начинаются руины какого-то авиационного завода, и в день зарплаты мы стараемся там не ходить.

2012/09/08

Переезд на SSD

Переехал на SSD (OCZ Vertex 4).
Что изменил в системе:

  • Разибивал диск вот этой командой:
    fdisk -H 224 -S 56 /dev/ssd
    
    вот поэтому.
  • В /etc/default/grub изменил строку загрузки ядра:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"
    
  • подправил /etc/fstab, добавив "discard" для всех разделов диска, ну и перенаправив временные каталоги в память, благо 4 гига:
    # /, /proc, /boot, etc
    none                    /tmp        tmpfs   size=512M,mode=1777 0   0
    none                    /var/tmp    tmpfs   size=512M           0   0
    
  • Поджал приоритет свопа в /etc/sysctl.conf
    vm.swappiness=5
    

Apple aluminium kbd & ubuntu 12.04

А то, опять же, каждый раз ...


# cat /etc/modprobe.d/hid_apple.conf
### Function keys are used as first keys (F8=F8, not pause)
options hid_apple fnmode=2
### Swap tilda (`/~) and (</>) left-down key
options hid_apple iso_layout=0
# update-initramfs -u 
# reboot 

2012/07/03

How to learn Haskell

A very nice and clear answer from stackoverflow by nanothief.

I'm going to order this guide by the level of skill you have in haskell, going from an absolute beginner right up to an expert. Note that this process will take many months (years?), so it is rather long.
Absolute Beginner
Firstly, haskell is capable of anything, with enough skill. It is very fast (behind only c and c++ in my experience), and can be used from anything from simulations, servers, guis and web applications.
However there are some problems that are easier to write for a beginner in haskell than others. Mathematical problems and list process programs are good candidates for this, as they only require the most basic of haskell knowledge to be able to write.

2012/06/29

Редактирование истории в git

Неплохая шпаргалка от Максима Чистолинова.

Сорри за <pre>, но переформатировать мне лень.
Более строго следует говорить не о "редактировании" или "изменении" истории,
а о cоздании "альтернативной" истории. Если специально ничего не предпринимать,
в репозитории git остаются все объекты "старой" истории, соответствующие
предыдущим коммитам и версиям файлов.
На эти объекты не будут "ссылаться" ветки, но если Вы вспомните их SHA1-ключи,
либо как-то специально позаботитесь их "пометить" (тэгом, или другой веткой),
то старая история будет c точки зрения git "ничем не хуже" новой.

2012/02/06

С++11 books release plan.

Спер фотографию у Алены.На будущее.
Доклады с GoingNative 2012 доступны тут. Жду записи выступления Саттера.

2011/08/28

История программирования в СССР. Часть о ДЕМОСе.

В продолжение серии "очередная" часть, уже коллективного авторства: Давидов М.И., Руднев А.П., Антонов-ст., Егошин, Мазепа, Бардин и редактор vi.
Первоисточник находится тут. За ссылку спасибо sir66

Последняя правка текста, как я понимаю, относится где-то к 1999 году. Любопытно взглянуть на последнюю часть с точки зрения взлета дот комов.

И красной строкой, для меня лично:
Обратите внимание, раскол в Демосе произошел в среде программистов не по вопросам системного программирования, а по вопросу организации. В любом случае, если бы нам хватило рыночной компетентности, мы бы не упустили случая создать лучшую в стране программисткую компанию.


В этой части


ВСЯ ПРАВДА О ДЕМОСЕ ... ИЗ "ПЕРВЫХ РУК" С КОММЕНТАРИЯМИ УЧАСТНИКОВ СОБЫТИЙ
Десятилетию Демоса посвящается
Я решил это написать, когда заметил, что жить осталось маловато (все мы под Богом), а информация, которая появляется, совсем далека от действительности...
    А это мои комментарии. Руднев А.П. (Руднев)
    А это - мои. avg (Антонов-ст.)
    Ну а это - мои крохотные. egoshin (Егошин)
    А это - мои. Ирина Мазепа (Мазепа)
    "Заметки на полях" Валеры Бардина (Бардин)
    От редактора (vi)
Началось все примерно в 1983 году. "Наши" люди сподобились вытащить Unix v7 прямо с VAXа Калифорнийского университета в Беркли (Сан Диего). (Не-а, в Беркли, что напротив Сан-Франциско; хорошее место, траву прям на улице курят. Что и объясняет особенности берклеского юникса. (Антонов-ст.))

2011/08/17

Effective Concurrency

Узелок на память: статьи Герба Саттера из серии "Effective Concurrency" доступны через его блог (eng конечно же). Английская книга, судя вот по этому сообщению, выйдет не раньше следующего года. Русская - ну вы поняли.

2011/08/11

Дабы больше не лазить по закромам родины

/etc/default/keyborard
[+] # Ну не могу я уже без этого ...
[-] XKBOPTIONS="..."
[+] XKBOPTIONS="[...],ctrl:nocaps"

$ sudo dpgk-reconfigure console-setup

2011/04/06

История программирования в СССР. Часть II.

Первая часть тут.

В этой части

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

Update: Автор заметок Самуил Любицкий. Тридцать лет проработал в Киеве, потом еще десять – в Торонто. Продолжает пока трудиться по-прежнему программистом.

Update 2 (от 2011-08-28). Еще одна статья, продолжающая данную серию. История ДЕМОС-а.

История программирования в СССР. Часть I.

Наткнулся в сети на любопытные воспоминания человека, работавшего с машинами аж с 1966 года. Хорошо, легко и, как мне кажется, объективно написано программистом - практиком, что особенно ценно для меня.

В этой части

Update: Автор заметок Самуил Любицкий. Тридцать лет проработал в Киеве, потом еще десять – в Торонто. Продолжает пока трудиться по-прежнему программистом.

2011/03/27

C++ 0x Final Draft

25 марта в Мадриде был таки принят Final Draft для C++ 0x (c++ 0xB?). У Страуструпа в FAQ можно ознакомиться с нововведениями.

Из неожиданного: в обсуждениях на слэшдоте говорится, что std::list::size() теперь должна выполняться за константное время.

Качать, если кому надо, можно отсюда.

2011/02/21

Branching with git

Подсмотрел очень наглядную статью про организацию веток с помощью git-а. Картинки кавайные, английский простой.

2011/02/17

Pentium-M

Решил потрахаться реанимировать свой старый ноут IBM x24 на Pentium-3 M (это важно). А именно, поставить-таки туда Gentoo. Handbook в руки, и вперед. Вроде бы все шло медленно путем, но это до первой перезагрузки: отказался подниматься dhcp клиент (dhcpcd). Illegal, говорит, operation. Я уж и так, и эдак, и с ласками, и с молотком, а он - ну вот ни в какую. Порывшись в закромах родины, нашел обсуждение, в котором тыкали в USE флаги, и утверждали, что дело именно в них. Начал убирать. Дошел уже до минимума, и тут-то и ога.
Дело в чем? Дело в том, что перед редактированием make.conf я конфигурил ядро. А там при выборе проца прямо указано: Pentium-M = Pentium Mobile (NOT Pentium-4 M). Ну и заклинило старикашку: воткнул в CFLAGS "-march=pentium-m". А вот gcc под этим, сцуко, подразумевает именно Pentium-4 M. Вот dhcpcd тихой сапой и подыхал на моем третьем пеньке.
Отака хуйня, малята. Будьте бдительны!

PS. syslog-ng не мержился, и не рос кокос.

2011/01/28

Commit message genenerator

Если фантазия подистощилась.
http://whatthecommit.com/

  • This is why the cat shouldn't sit on my keyboard.
  • I know what I am doing. Trust me.
  • pay no attention to the man behind the curtain
  • don't be retarded.
  • changed things...

2010/06/29

В ночь на 28 июня 2010 г. не стало Михаила Львовича Шифмана.

Upd: Прощание с Михаилом Львовичем состоится 2 июля с 11-00 до 13-00 в Школе на Среднем пр. (В.О., 7-я линия, д.52).
Upd2: Похороны в 14-00 на Смоленском кладбище
Траурная встреча учеников, коллег и друзей после похорон пройдет также в ФМЛ № 30, в 17:00.