LINUX.ORG.RU

Избранные сообщения aptyp

Заявки на вторую часть турнира LORChess.

Форум — Talks

Предварительная часть турнира LORChess заканчивается, и для облегчения жизни игрокам и участникам мы решили спросить, кто точно будет продолжать играть, на кого составлять расписание и таблицу. Cast участников предварительного турнира:

Также ввиду того, что наши ряды немного поредели, приглашаем принять участие участников предыдущих турниров:

и всех желающих, не находящихся в чёрном списке. Новые игроки автоматически попадают в таблицу В, после окончания второй части пройдут стыковые матчи на попадание в лигу А.

 ,

aptyp
()

Учебники по шахматам

Форум — Talks

Как научиться нормально играть в шахматы? Под влиянием отказа от курения, захотелось его заменить шахматами. А играю я плохо (и да, правила знаю, нужно над тактикой работать). Что посоветуют шахматисты ЛОРа?

 ,

evilmanul
()

как надо проектировать ООП программы?

Форум — Development

У меня, наверное, обычная проблема кодера - проблема в написании больших программ. Как только объем проекта превышает 1000 строк, я перестаю в нем ориентироваться.

Другая проблема - доведение подпроектов до конца. Закапываюсь в мелких изменениях, постоянном рефакторинге и в итоге оставляю подпроект как есть, и начинаю реализацию новой фичи. В итоге само приложение со временем начинает походить на кучу говна. А куча личных проектов заглохла после после месяца разработки.

Книги читал. Фаулер, Бек, SICP, HTDP, Макконел, Эккель, Хорстман и прочие. Понимаю , как надо делать правильно. Пишу каждый день уже несколько лет. Работа нравится. Но архитектура приложений от этого лучше не становится.

Как быть? Как правильно проектировать ООП программы?

p.s. смотрел код некоторых open-source проектов - там код часто ужасен, но архитектура приложения нередко очень хороша, на недосягаемом для меня сейчас уровне.

igorstroz
()

LORChess: «Осень» [ЗАВЕРШЕН]

Форум — Talks

Официальные ЛОРовские турниры по шахматам: Первый (прерванный) | «Великолепная дюжина» | «Осень»

ЛОР-овский шахматный турнир, экспериментальная система!

Официальный сайт турнира | Актуальная таблица

Расписание текущего тура

Участники:

  1. DoctorSinus
  2. Kakadu
  3. trex6
  4. aptyp
  5. J
  6. Michkova
  7. HunOL
  8. darkenshvein
  9. iVS
  10. Nedis
  11. Nokman
  12. shell-script
  13. redgremlin
  14. Magian
  15. Genuine
  16. вакансия
  17. raven_cler
  18. вакансия
  19. farzeet
  20. MyTrooName

Регламент:

  • Количество участников ограничено 20-тью. Расширения не планируется.
  • Участники по таблице распределены по велению великого случайного числа. Эфир с контролем результатов жеребьевки — в 27-м выпуске LORPodcast (жеребьевка проходила среди участников, зарегистрированных до 01.09.2013)
  • Турнир состоит из двух кругов.
    • В первом круге участники играют по такой схеме: два тура в неделю, с двумя разными людьми по одной партии (подразумевается, что у вас есть два выходных в неделю, в которые вы сможете спокойно сыграть). Белыми играет тот, кто в расписании указан первым. Данный круг длится 19 туров (10 недель) — каждый сыграет с каждым по одной партии.
    • Во втором круге таблица делится пополам: люди, занявшие места с 1-го по 10-е, уходят в «верхнюю» таблицу, люди, занявшие места с 11-го по 20-е, уходят в «нижнюю» таблицу. Результаты предыдущего круга обнуляются. Играются по каждой таблице отдельно 9 туров, длящихся по одной неделе, в течение которых игроки играют между собой по две партии. Белыми начинает тот, кто в расписании тура указан первым, после партии стороны меняются цветами.
    • Итоговая длина турнира: 19 недель.
  • Участник, который в течение трех недель подряд не появляется в теме, не связывается с оппонентами и не проявляет никакой активности, получает 0 за все партии, не сыгранные в данный период. Участник, который в течение шести недель подряд не появляется в теме, не связывается с оппонентами и не проявляет никакой активности, исключается из турнира и его место объявляется вакантным. Если участник нуждается в перерыве/отпуске, он должен сообщить об этом в теме, и обязан сыграть все партии, которые не сыграл ранее, в течение 3 недель после возвращения из отпуска.
  • Участник имеет право добровольно покинуть турнир. В данном случае его место объявляется вакантным.
  • Если кто-то, при наличии вакантных мест в первой половине турнира, хочет присоединиться к турниру, то он начинает с 0 очков в зачете, если участник, освободивший место, сыграл менее 9 туров, и с «наследством» в виде результатов предыдущего участника, если тот сыграл более 9 туров. Если он договаривается и играет партии, которые игрались ранее (то есть играет предыдущие туры) — этот результат идет в зачет. Во второй части турнира вакантные места остаются свободными.
  • В случае, если кому-то выпадает играть против выбывшего участника, он получает 1 очко без игры за тур в первой половине турнира, и 2 очка за тур во второй половине турнира.
  • Участник, которого забанили на ЛОРе, покидает турнир автоматически.
  • Участник в течение недели имеет право сыграть партии еще необъявленных официально туров недели, следующей за текущей при условии, что имеет договоренность со своим соперником. Если партия, сыгранная заранее, не принадлежит турам следующей недели, она в зачет не идет. Партия, объявленная турнирной, остается таковой вне зависимости от удовлетворенности участников ее результатом.
  • Регламент партии:
    • Белыми тур начинает тот, кто указан в расписании первым. Играется одна (в первой половине турнира) или две (во второй половине) партии. Контроль времени — часы Фишера: 15 минут на игру, +10 секунд на ход.
    • Для игр используется сервис http://lichess.org. Игроки заранее договариваются о встрече и играют там. После игры ссылки на сыгранные партии скидываются в эту тему для обработки результатов.
    • Запрещается использование компьютерных программ, печатных и электронных справочников, подсказок со стороны других участников турнира и прочих методов нечестной игры. В случае, если зафиксировано данное нарушение, партия должна выноситься на обзор участников турнира с принятием решения о публичной переигровке, засчитывании поражения провинившемуся или (в случае рецидивов) исключению из турнира без права возвращения в шахматные турниры LOR в дальнейшем.
  • Призы:
    • В данном турнире есть два вида приза: зафиксированные в регламенте и личные.
    • Зафиксированные в регламенте призы таковы:
      • Верхней таблице:
        • 1-е место: 1000 рублей и фенечка от Michkova;
        • 2-е место: 600 рублей и фенечка от Michkova;
        • 3-е место: 400 рублей и фенечка от Michkova;
      • Нижней таблице:
        • 1-е место: 500 рублей и фенечка от Michkova;
        • 2-е место: 300 рублей и фенечка от Michkova;
        • 3-е место: 200 рублей и фенечка от Michkova;
      • Данные призы выплачиваются из призового фонда, который посильно собирают все участники турнира добровольно. В случае, если к окончанию турнира фонд не собран, все расходы по обеспечению приза несет DoctorSinus.
    • «Личные призы»
      • Каждый пользователь linux.org.ru может сделать собственную ставку на игрока, формата:
        • > я, пользователь такой-то, ставлю на победу игрока такого-то следующий $ништяк…
      • То есть, суть заключается в том, что вы обещаете какой-либо приз (денежный или прочий материальный) какому-либо участнику в случае его победы или занятия им места в какой-либо из таблиц. Например:
        • > я, пользователь DoctorSinus, ставлю на то, что Michkova займет призовое место в верхней таблице, 500 рублей
      • Приз можно пообещать также всем участникам, тогда он присоединяется к общему призовому фонду.
      • После окончания турнира каждый, сделавший такую ставку, обязуется выдать приз своему победителю в течение 4-х месяцев (такой большой срок связан с проблемами в работе Почты России в случае материального приза)
    • Текущие ставки:
      • DoctorSinus — 500 р. на победу Magian во второй части турнира в верхней таблице;
  • Порядок распределения мест:
    • Выигрывает игрок, набравший по окончанию второго этапа турнира максимальное количество очков.
    • Если у каких-либо игроков оказывается одинаковое количество очков после окончания первого или второго этапа турнира, для распределения мест используются следующие критерии (в порядке значимости):
      • коэффициент Бергера
      • результат личных встреч;
  • Ответственными за исполнение регламента являются DoctorSinus, aptyp и Michkova. Все претензии, пожелания, просьбы об отпусках и прочие технические моменты в первую очередь стоит отправлять им.

Мы все приветствуем свободную и честную игру между всеми теми, кто действительно хочет играть в шахматы с нами.

Турнирная таблица — https://docs.google.com/spreadsheet/pub?key=0AkIvAtvjBC_ZdHUwNGExWWZOOGRwakN5dmgwVnh5MGc&single=true&gid=3&output=html

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

Официальный Git-репозиторий (https://github.com/fat0troll/lorchess) содержит, помимо таблицы жеребьевки и расписания, все партии в формате PGN с автоматическим анализом партий от lichess.

 

DoctorSinus
()

Список литературы по матану

Форум — Talks

Собственно не матан меня интересует, а литература по аналитическим, целым, субгармоническим и обобщённым функциям, по функану тоже покидайте пожалуйста. Заканчиваю магистратуру по прикладной, но пойду на чистую математику в аспер, вот поэтому за лето освежить знания надо.

 , ,

aptyp
()

Debian Wheezy всё ближе к релизу.

Форум — Talks

Только вчера показывало wheezy/sid, а сегодня вот что

arthur@unhost:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 7.0 (wheezy)
Release:	7.0
Codename:	wheezy

Конечно, до конца ещё не всё вылизано, к примеру какой-то мандельбаг в ядре, когда внезапно выдергиваешь или вставляешь йоту. Ссылки не будет, так как это нечасто возникает.

 ,

aptyp
()

HeadHunter провел опрос востребованности ИТ-специалистов

Форум — Talks

http://hh.ua/article.xml?articleId=13333

Для Ъ копипаста с HH

Java, C#/.net, Mobile (iOS, Android) – тройка бессменных лидеров востребованных специалистов

Как правило, нестандартными считаются проекты с использованием новых или относительно новых технологий (напр. Scala, Erlang, Dart), не очень популярных или тех, которые лежат вне сферы основной направленности работы компании (Python, Ruby on Rails). Еще один вид нестандартных проектов – с использованием устаревших языков программирования и фреймворков (Delphi, SIKLET PLUS, WORKLE, Cobol, Sybase и др.).

Самыми перспективными направлениями однозначно признаны Mobile и Scala. Среди других перспективных направлений называли – Haskell, Erlang, Dart, PHP(платформа Magento), возможно также Python. Указывали эксперты на то, что нужны будут также Front-end девелоперы (HTML 5, CSS, JavaScript). При наличии соответствующего проекта, самыми дорогими и очень востребованными являются специалисты по Scala, Erlang, Haskell, Go, Dart или по другим редким языкам.

Среди неперспективных языков программирования и технологий эксперты назвали в первую очередь Delphi и Symbian. К другим неперспективным направлениям эксперты причисляли также C, Flash, Cobol, Modula2, Lotus Notes, MainFrame, Pascal, VB.NET.

Рынку не нужны «универсальные солдаты». Наилучший специалист знает 1 язык, но глубоко и с множеством сопутствующих технологий.

В зависимости от специфики компании высокооплачиваемым может стать девелопер, программирующий на «нетипичном» для компании языке (напр. Perl, иногда JavaScript).

От себя добавлю: хочу отметить - лисп не упомянут, С и Flash признан не перспективным. Популяризация Java говорит о наплыве индусокода на рынок, который нужно заставить работать. Популярность Scala означает практический интерес к ФП на языке, который действительно работает в продакшне. Максимально удивили Go и Dart - языки-неудачники от Google

RIP:

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

 dou, , ,

vertexua
()

Doomed Geek Metal: My Dying Hard Drive - You Don't Exist. Go Away!

Форум — Talks

Зацените клип: http://www.youtube.com/watch?v=pnhqCfBNx0U

Проект появился как риффовый mocking на My Dying Bride, решили потянуть это дальше, получился целый клип. Делали быстро, работали с тем, что имели.

Слова читать в description на youtube.

Open Source, к сожалению, в создание участия не принимал, не умеет пока (ну разве только как объект съемки).

 , , , ,

Isus
()

Операционная система GNU Emacs завоевывает десктоп! :)

Галерея — Скриншоты

Операционная система GNU Emacs получила новые возможности! Собрал волю в кулак и написал библиотеку, которая практически полностью реализует протокол X11. Библиотека незамысловато называется x11 и написана на чистом Emacs Lisp, но пока имеет статус technical preview, хотя в принципе уже можно писать что-то реальное. За основу пока взяты описания протокола на XML из проекта XCB, которые разворачиваются в реализацию. В результате имеем практически все расширения. Работа с протоколом осуществляется в асинхронном стиле подобно XCB. Чего пока нет:

  • MIT-SHM. Запросы реализованы, но работать через разделяемую память из операционной системы Emacs мы пока не можем, поэтому Будем через сокет закидывать. Тем более, что разница в скорости, говорят (видел где-то в инете замеры), не такая сумасшедшая.
  • XKB. Просто забыл реализовать пару конструкций XML, используемых для описания этого расширения. Это я скоро реализую, поэтому расширение будет работать в полном объеме.
  • Big-requests. Тоже будет реализовано. Расширение содержит всего один запрос. Он реализован. Но именно для этого расширения надо несколько перелопатить процедуры формирования запросов к серверу X, так как подсчет размеров запросов изменяется с этим расширением.
  • GLX. Огромнейший пласт. За него возьмусь сильно позже. Тут же еще надо полностью сгенерировать протокол GL, а он очень обширный.

Остальные расширения вроде бы должны работать, если их описания правильные и если я что-то не упустил принципиального. Я работу всех расширений даже не проверил, так как очень спешу радостью поделиться. :)

(размер экрана уменьшил до 1024x768, чтобы скриншот поменьше был)

На скриншоте сверху робкая демонстрашка в стиле LSD основного протокола X11 (Core protocol). Ну с arcs, rectangles и core fonts все и так понятно. А вот как выведены фотографии? Я пока не настолько крут, чтобы писать растеризацию jpg и png на Emacs Lisp. Пораскинув мозгами, пошел смотреть, чем может помочь ImageMagick. Оказалось, есть там возможность получить дамп картинки в нужном формате. Так и сделал: надо отобразить картинку - дергаем stream, она нам отдает дамп в буфер, мы его отсылаем в сервер X. «Привет, Isden» написана мышкой. Демка отслеживает событие motion-notify и рисует маленький квадратик под указателем. По кнопке «q» - выход (отслеживается событие key-press)

На скриншоте снизу робкая и неумелая демонстрашка расширения XRender. Тоже в стиле LSD. На ней мы видим linear gradient, radial gradient, треугольник и отрисовку сглаженных окружностей. Окружности состоят из трапезоидов. Алгоритм рассечения (tessellation) я применил первый, какой мне пришел в голову - горизонтальными трапециями. Какая есть проблема? Сглаженный текст! Что-то мне писать растеризацию TrueType или Type1 на Emacs Lisp не улыбается. Есть идея написать программку на Си с помощью Xft, которую я буду что-то просить растеризовать, а она результат будет отдавать в Emacs. То есть примерно как и с ImageMagick поступить.

Надо хорошенько переобдумать API библиотеки, чтобы его заморозить. При этом надо учесть потенциальные и вероятные будущие новшества в Emacs и в библиотеке, чтобы людям не пришлось переписывать то, что написано ранее. Есть недостатки в Emacs, которые реально мешают и раздражают. Преодолимы, конечно, но это будут костыли. Если интересно, то потом поясню, а то уже и так много воды налил.

Так что есть потенциальная возможность воплотить мечту atoku в жизнь. :)

Традиционная ссылка на обоину: #888888. Старую удалил, так как она надоела, а новую еще не искал. Этот серый цвет реально бесит. :)

 , ,

Zubok
()