Search
Write a publication
Pull to refresh
52
0
Андрей Кравчук @prefrontalCortex

Software Engineer

Send message

Настрой свой Google

Reading time2 min
Views25K
После написания этого поста, меня заинтересовали параметры поиска которые можно использовать, для удобной работы.
Задавшись этим вопросом, в рунете я более менее полной информации не нашел.
Но! Оказывается Google уже давно и для всех, все показал.

Читать дальше →

О том, как читать до конца

Reading time1 min
Views13K


Сегодня мы представляем вниманию читателей следующую лекцию курса «Сетевое программирование в UNIX», которую прочитали в Уральском федеральном университете (УрФУ) специалисты SkyDNS и компании «Айдеко». К сожалению, в публикациях произошел вынужденный перерыв. Надеемся, что время ожидания новой лекции вы использовали для реализации сервера и клиента, о которых рассказывали наши специалисты.
Читать дальше →

Симптомы эпидемии: течения веб-дизайна

Reading time10 min
Views7.6K
С того момента, как Эллиот Джей Стокс резко призвал уничтожать личину Веб 2.0, можно было заметить «раскарамелизацию» сети: меньше «стеклянных» кнопок, скошенных краев, отражений, меток специальных предложений, вульгарных градиентов с яркими цветами и диагональными паттернами. Трансформацию с радостью приняли все, кроме, разве что, самых заядлых фанатов глянца. Однако, дизайн и эстетика идут лишь им ведомым путем, и только в веб-дизайне заглохла одна тенденция, как появилась другая.

Симптомы



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

Читать дальше →

Универсальная система оценивания (цели, методы, действия и прочее)

Reading time4 min
Views4.4K
Все мы используем различные системы мониторинга за собой и организации своих действий. Кому-то достаточно блокнота, а кто-то создал себе целую облачную инфраструктуру. Мы можем всё запоминать или же хранить данные в интернете: данные всё равно остаются данными. Но вот как оценить их эффективность, пользу или, скажем, «доброту» поступков, целей и прочего? Если кого заинтересовало — прошу под кат.
Читать дальше →

WebGLU: упрощаем работу с WebGL

Reading time11 min
Views10K
Когда-то 3D в браузере было большой проблемой. К чему только не прибегали для создания объемной динамичной трехмерной графики в браузере: использованию псевдо-3D в SVG, построениям в canvas, использованию flash… Однако, прогресс не стоит на месте: наконец-то все современные браузеры стали поддерживать облегченную версию OpenGL (OpenGL ES 2.0) — WebGL. Это — довольно молодая технология, ей всего-то чуть больше года от роду. Однако, уже сейчас можно оценить ее мощь по всевозможным браузерным играм и примерам.

Из-за сравнительной молодости этой технологии, руководств по работе с ней не так уж и много. Почитать кое-что о работе с ней можно здесь (здесь — перевод на русский). Здесь можно узнать кое-что об основах WebGL.

Для облегчения работы с WebGL разработан ряд библиотек (правда, большинство из них еще довольно сырые). Применению одной из них — webGLU — для формирования простой сцены, освещенной одним источником-фонарем, и посвящена эта статья. Здесь можно посмотреть пример, а отсюда скачать полный архив для запуска его на своей машине.

Читать дальше →

Nikodemus' Common Lisp FAQ

Reading time11 min
Views12K
Nikodemus' Common Lisp FAQ


Последнее обновление: 2012-04-13

Это очень неофициальное ЧаВО по языку Common Lisp, отражающее субъективное мнение Nikodemus Siivola. Этот текст частично основан на других ЧаВО, встречавшихся на просторах интернета и comp.lang.lisp.
Если вы думаете, что я воспользовался вашим текстом, буду рад признаться в этом, поэтому пишите на nikodemus@random-state.net.
Текущая версия этого ЧаВО доступна по следующим адресам:
http://random-state.net/files/nikodemus-cl-faq.txt
http://random-state.net/files/nikodemus-cl-faq.html
ЧаВО также периодически публикуется в comp.lang.lisp.
Читать дальше →

Тестирование в стиле TSA

Reading time3 min
Views13K


Когда разработчики впервые открывают для себя прелести разработки через тестирование — это как переход в новый, лучший мир, где гораздо меньше стресса и незащищенности. Этот прекрасный опыт действительно стоит отпраздновать. Но осознание преимуществ тестирования — только первый шаг к просветлению. Самое сложное — понять что НЕ нужно тестировать.

Если новичку можно и не заботиться о том что не стоит тестировать в первый день, то на второй день ему бы лучше начать вникать в это. Люди — создания привычки, поэтому если вы начнете формировать плохую привычку избыточного тестирования с самого начала, то вам будет гораздо труднее избавиться от нее потом. А избавиться от этой привычки вы должны.
Читать дальше →

Рекомендательные системы: оверфиттинг и регуляризация

Reading time3 min
Views14K
Постоянно падающая популярность предыдущих публикаций побуждает предпринимать поступки, помогающие популярность поддержать. Приметил – популярность первых публикаций порядочно превышает последующие; поэтому попробую перезагрузиться.

На протяжении предыдущих серий мы тщательно рассмотрели метод SVD и даже довели его до программного кода; начиная с этого текста, я буду рассматривать более общие вещи. Вещи эти, конечно, всегда будут тесно связаны с рекомендательными системами, и я буду рассказывать о том, как они в рекомендательных системах возникают, но постараюсь делать упор на более общих концепциях машинного обучения. Сегодня – об оверфиттинге и регуляризации.

Читать дальше →

Преимущества Common Lisp

Reading time15 min
Views35K
Лисп часто рекламируют как язык, имеющий преимущества перед остальными из-за того, что он обладает некоторыми уникальными, хорошо интегрированными и полезными фичами.

Далее следует попытка выделить набор особенностей стандартного Common Lisp, кратко и с примерами.

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

Текст по большому счёту основан на списке особенностей CL и обзоре CL Роберта Стренда (Robert Strandh).
Читать дальше →

Постсмысловая невротическая цивилизация

Reading time6 min
Views18K
Дорогие мои, любимые, сохабровцы! Должен признаться вам, что я, на правах религиозного фанатика, являюсь совершенно счастливым человеком, но последних лет 16, из своих 32, наблюдаю вокруг все усугубляющуюся картину борьбы общества с абсурдностью бытия. Дело в том, что многие из моих знакомых работают в крупных компаниях, где их безжалостно гнобит офисная сансара, а у меня, уж так сложилось, никогда не было жесткого графика и довлеющей корпоративной машины за спиной, за что я денно и нощно возношу хвалу Аллаху. Находясь на значительном удалении от этих проблем и будучи в них эмоционально не вовлеченным, занимаясь наукой в свое удовольствие в НИИ Системных технологий (а на жизнь зарабатывая собственным ИТ-бизнесом), при помощи чудодейственного системного анализа я постараюсь обобщить тут все, что знаю по теме.
Читать дальше →

Не надо вычислять смысл и знания, когда их можно доставать из машинной памяти

Reading time3 min
Views2K
Как говорил великий классик Аристотель, «известное, оказывается, известно немногим».

Языковеды всего мира подвержены одной пагубной иллюзии, полагая, что если они сумеют построить «правильный синтаксический граф», (то есть, «дерево фразы»), то они в этом случае, наконец-таки, решат это треклятую проблему машинной обработки естественно-язычных текстов (еят). Вот и ищут лингвисты денно и нощно какие-то мифические связи и отношения между словами (семантическими единицами) в предложениях и абзацах текстов. Да ещё и кибернетиков подключили к этим своим безуспешным поискам. Прошло уже полвека таких изысканий, а воз, как говорится, и поныне там. Не строится никак этот граф, давая много лет устойчивые 50% ошибок. Уже и сотни миллионов долларов потрачены. Один только проект «Watson» чего стоит. А ведь, в принципе, этих «связей и отношений» и нет на самом-то деле. Всё это, если внимательно вдуматься, искусственные наукообразные выдумки, из-за которых, собственно, прогресс в деле создания технологии осмысленной обработки еят зашел в тот тупик, где сейчас и пребывает.

Лингвисты как те инопланетяне, в руки которых попало обыкновенное для землян куриное яйцо. Вот они его могут изучать и так и сяк. И обмерить вдоль и поперек, и взвесить, и рентгеном просветить, и скорлупу исследовать на состав, и её твердость по Моосу замерить, и хрупкость уточнить, и цвет откалориметрировать. В общем провести всё, что только можно измерить, а вот понять, как оно образуется, того бедняги никак не смогут, поскольку самой курицы не знают и не ведали. Точно также не могли туземцы океанических островов нашей планеты понять, каким это образом транзисторный приемник, занесенный к ним западной цивилизацией, может издавать членораздельные звуки или звуковые мелодии. И как-бы они не изучали этот приемник, не пробовали его на зуб или на вкус, того бы вовек сами не поняли, что к такому устройству еще и радиостанция нужна. Подобная картина наблюдается и с языковедами, изучающими еят, как продукт (яйцо, транзистор) человеческого мышления (курицы, радиостанции), не обращая, при этом, внимания на самого «генератора (производителя) яйца».
Читать дальше →

Сбор данных с регистрирующих устройств

Reading time6 min
Views4.5K
Приветствую всех обитателей хабра! Я бы хотел поделиться своей идеей, которую мне частично уже удалось реализовать. Но я не могу оценить значимость такого рода проекта, и мне бы хотелось услышать Ваше мнение и Вашу конструктивную критику по этому поводу.

Краткая предыстория


Придя на родной завод инженером в группу АСОДУ, на меня одной из задач легла обязанность сопровождать механизм сбора данных с различных видов регистрирующих устройств. Замечу, что на заводе неплохой «зоопарк» такого рода оборудования. Как известно, для регистрирующих устройств, всегда идёт специализированное программное обеспечение, которое позволяет осуществить его конфигурирование и опрос. Но далеко не со всеми видами приборов идёт программное обеспечение, с помощью которого можно получить данные с прибора и поместить их в общую среду для дальнейшей обработки и архивирования. Так вот такая проблема была решена ещё до меня, путём написания одной программы, которая бы опрашивала все приборы, имеющиеся в наличие, и выгружающая собранные данные в единую базу данных. Но проблема заключалась в том, что при появлении нового типа прибора постоянно приходилось перекомпилировать данную программу, кроме этого она жёстко привязана с конкретной СУБД. Не имея под рукой ни конфигуратора, ни какого-либо тестера, всё это приводило процесс сопровождения в сплошные муки. Вот тогда и появилась идея реализовать некую систему, которая максимально бы упрощала работу по сопровождению механизма сбора данных. Для такой системы мной были выдвинуты следующие требования:
Читать дальше →

Многоуровневая модель обработки событий

Reading time5 min
Views14K
Событие в объектно-ориентированное программировании (ООП) — это сообщение, которое возникает в различных точках исполняемого кода при выполнении определённых условий. Данные сообщения направляются обработчикам (слушателям), что позволяет своевременно реагировать на изменившееся состояние системы.

Большой популярностью пользуется событийно-ориентированное программирование. Эта парадигма программирования говорит, что выполнение программы определяется событиями — действиями пользователя (клавиатура, мышь), сообщениями других программ и потоков, событиями операционной системы и т.д.
Читать дальше →

История одного автора

Reading time4 min
Views2.2K
Недавно вышла в свет первая серьёзная книжка (GPU Pro-3), где я был соавтором. Тем временем в печати находится ещё одна (OpenGL Insights), в которой будут уже две мои статьи по компьютерной графике. Настало время обобщить опыт и поделиться им.

                  GPU Pro-3   OpenGL Insights

Началось всё, как и полагается, с Хабра. Была у меня в движке реализована одна сложная и интересная затея по переносу и обсчёту шерсти из Blender, а также отображению сей динамики в окошке реального времени. Думал я, куда податься с идеей, чтобы славы добыть да мир завоевать, и набрёл на Хабр.
Читать дальше →

Опенсорс-фотореализм на GPU: Cycles Render

Reading time8 min
Views62K
С развитием технологии GPGPU, на рынке появилось немало рендеров на GPU, среди них iRay, V-ray RT, Octane, Arion. Но, сообщество opensource не дремлет, и появились по-крайней мере два известных мне свободных рендера на GPU: SmallLuxGPU и Cycles Render. Хочу поделиться впечатлениями о последнем.

Cycles Render — unbiased рендер, с возможностью рендеринга на GPU (CUDA и OpenCL для ATI). Лежит в коробке с Blender, который работает на Windows, Linux, OSX.


Cycles Render, авто с процедурной текстурой, FullHD готовилось 2 мин на GTX580.

Блендер меня мало интересовал, даже не смотря на некоторые известные мне достоинства: открытость, легкость инсталлятора, скорость работы. Пересесть консерватору с 3д макс на Блендер крайне сложно: другое управление, «все не так!». Но, будучи повернутым на теме анбиас рендеров, тем более на GPU, решил таки опробовать Cycles, за одно и Блендер подучить (на момент опубликования статьи версия 2.63).
будет много обезьян...

Многопоточный QuickSort на С++ 2011

Reading time6 min
Views13K
Лично я, при всей моей вере в C++, считаю, что даже в редакции 2011, этот язык крайне недружелюбен в плане многозадачности и многопоточности. В качестве очередной попытки переубедить себя в этом я попробовал сделать многопоточный QuickSort.

В этом алгоритме получается после фазы разбиения запустить сортировки подчастей параллельно.

Вот мой наивный велосипед:
Читать дальше →

Когда не нужно слушать пользователей при проектировании интерфейса

Reading time4 min
Views40K
Большинство специалистов, принимающих участие в проектировании и разработке пользовательских интерфейсов, давно запомнили простую истину — «интерфейс создается для конечного пользователя». А значит, пользователя нужно любить, лелеять и внимать каждому его отзыву. Но бывают случаи, когда юзабилист не должен слушать пользователя, давайте поговорим о проектировании интерфейса для профессиональных систем.
Читать дальше →

Секретная Гильдия Долины Кремния

Reading time3 min
Views4.5K
Пару недель назад я пил пиво с друзьями в Сан-Франциско и кто-то язвительно заметил:

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

Шутка смешная, но заставила меня задуматься. Кто эти «жиробасы, знающие C++» или, как сказал еще кто-то, «бородатые парни в растянутых свитерах, которые поддерживают сервера Google»? И почему если ты встретил одного из них, это как дернуть за нитку клубка и они вообще все, похоже, друг друга знают?

Причина в том, что…
Читать дальше →

Консоль для маководов: Beyond the GUI

Reading time6 min
Views221K
Доброго дня, уважаемые хабравчане-маководы!

Сегодня я расскажу как увеличить эффективность работы в Mac OS X за счёт использования консоли.

Лирическое отступление


Думаю, ни для кого не секрет, что Mac OS является Unix-based системой, но переработанной почти до неузнаваемости. Даже консоль засунули куда подальше — не сразу и найдёшь. И вся система нацелена на использование GUI, при дефолтных настройках даже переключение между кнопками по Tab не работает — без мыши никуда. И тем не менее, Мак — это не только окошки, не только док и лаунчер. Мак это ещё и вся мощь shell скриптов и консоли!

Если Вы пришли из мира M$, то для начала неплохо бы поучить общие команды shell'а, например, по вот этому учебному пособию. Как минимум, нужно усвоить команды перехода по каталогам и способы запуска программ и скриптов.

Если Вы пришли в мир Mac OS из мира Linux'а и FreeBSD, то, скорее всего, знаете как минимум основы shell-скриптинга. Но и для вас в статье может оказаться кое-что интересное, ведь в маке есть уникальные консольные команды, которые так же полезно знать.

Вот о некоторых особенностях маковской консоли далее и пойдёт речь.
Поехали!

Добавляем свои поисковые системы

Reading time2 min
Views53K
Что мне нравится в Google Chrome, так это возможность очень удобной работы с разными поисковыми системами: ввел ключевое слово, пробел и печатаешь запрос. Однако этой функцией пользуются на 100% далеко не все.

Сегодня я хочу рассказать, как добавлять свои «поисковые системы» (это, на самом деле, могут быть не только поисковые системы) и тем самым повысить производительность работы в Интернете.

4.75 КБ

Где это все настраивается? Смотрим картинку:
Читать дальше →

Information

Rating
10,540-th
Location
Подгорица, Подгорица, Черногория
Works in
Date of birth
Registered
Activity

Specialization

Software Developer, Fullstack Developer
Senior
From 5,000 €
Lisp
Clojure
Unix
Linux
Docker