Pull to refresh
1
0
Богдан @korum

User

Send message

Корреляции для начинающих

Reading time6 min
Views221K
Апдейт для тех, кто сочтет статью полезной и занесет в избранное. Есть приличный шанс, что пост уйдет в минуса, и я буду вынужден унести его в черновики. Сохраняйте копию!

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


Введение


Зачем это вообще надо? В науке и около нее очень часто возникает задача предсказания какого-то неизвестного параметра объекта исходя из известных параметров этого объекта (предикторов) и большого набора похожих объектов, так называемой учебной выборки. Пример. Вот мы выбираем на базаре яблоко. Его можно описать такими предикторами: красность, вес, количество червяков. Но как потребителей нас интересует вкус, измеренный в попугаях по пятибалльной шкале. Из жизненного опыта нам известно, что вкус с приличной точностью равен 5*красность+2*вес-7*количество червяков. Вот про поиск такого рода зависимостей мы и побеседуем. Чтобы обучение пошло легче, попробуем предсказать вес девушки исходя из ее 90/60/90 и роста.
Читать дальше →

«ВКонтакте» обновил документацию API

Reading time1 min
Views28K


Вчера социальная сеть ВКонтакте обновила документацию для разработчиков и запустила баг-трекер.
Под катом обзор новых возможностей документации.
Читать дальше →

Восьмая хабравстреча в Киеве в снегах

Reading time1 min
Views14K
Мы ведем репортаж из заснеженного Киева. Все стоит, все смотрят фильм «Послезавтра», но несмотря ни на что Восьмая хабравстреча в Киеве начала свою работу.



Самое главное, есть прямая трансляция встречи: www.youtube.com/watch?v=Nlc3CzGQLKc

Из-за погоды список докладчиков поменялся. Первым прямо сейчас выступает Андрей Чередарчук «HP-UX — платформа для сервера баз данных», HP Ukraine.

Еще 3 докладчика точно будут. Еще 2 стоят в поезде под Киевом, может к вечеру доберутся, к своему докладу.

Список докладов: habrahabr.ru/post/172501

Расширенные аннотации докладов: habrahabr.ru/post/173761

Все видеозаписи докладов будут выложенны здесь: www.youtube.com/user/MediaMuk

UPD: Между докладами звук обрубается, не пугайтесь — все работает.

Move semantics в C++11 и STL-контейнеры

Reading time2 min
Views78K
Эта небольшая заметка о том, как с приходом нового стандарта C++11 изменились требования стандартных контейнеров к своим элементам. В C++98 от элемента контейнера требовалось, по сути, наличие «разумных» конструктора копирования и оператора присваивания. Если, например, объект вашего класса владеет каким-либо ресурсом, копирование обычно становится невозможным (по крайней мере, без «глубокого» копирования ресурса). В качестве примера давайте рассмотрим следующий класс-обертку вокруг FILE*, написанную на C++98:

class File
{
    FILE* handle;
public:
    File(const char* filename) {
        if ( !(handle = fopen(filename, "r")) )
            throw std::runtime_error("blah blah blah");
    }
    ~File() { if (handle) fclose(handle); }
    // ...
private:
    File(const File&); //запретить копирование
    void operator=(const File&); //запретить присваивание
};

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

Видеоредактор OpenShot с обновлённым движком идёт на Windows и Mac

Reading time2 min
Views41K


OpenShot — один из самых качественных полноценных нелинейных видеоредакторов на платформе Linux. Его создатель Джонатан Томас, начиная разработку в 2008 году, хотел создать простой, понятный, и в то же время мощный и стабильный редактор. И, как мне кажется, ему это удалось. В OpenShot есть всё, что нужно, и ничего лишнего. Он молниеносно быстр и предельно прост. Трудно придумать что-то лучшее для эпизодического редактирования несложных проектов.

Последние два года Джонатан Томас посвятил созданию совершенно нового движка на C++, который опирается на кроссплатформенные библиотеки работы с мультимедиа — FFmpeg, LibAV, JUCE audio library, ImageMagick. Новый интерфейс редактора будет основан на HTML5 и WebKit, что позволит с лёгкостью создавать любые мыслимые темы и скины. И одна из главных «фишек» OpenShot — 100% функционала видеодвижка будет доступно через Python API. Думаю, для тех, кому что-то говорит слово AviSynth, не надо объяснять, насколько это круто.

Чтобы закончить работу к ноябрю-декабрю этого года, Томас запустил кампанию на Кикстартере. Цель достаточно скромна — 20 000$, и почти половина денег уже собрана. Код OpenShot будет опубликован под лицензией GPLv3.
Читать дальше →

Что мешает отечественным программистам повторить успех Цукерберга

Reading time4 min
Views96K
В 90-х если у тебя не было кроссовок Адидас, ты был лохом. В 2000-х если у тебя не было мобильного телефона, ты был лохом. Сейчас если у тебя нет своего стартапа — ты лох.

Статья на похожую тему недавно вышла в украинском Forbes. Автор заметки — Ольга Белькова, народный депутат Украины, бывший партнер бизнес-акселератора Eastlabs. Мне бы хотелось дополнить статью своими комментариями и наблюдениями, так как знаю, что эта тема многих тревожит. Все нижесказанное является моим личным мнением.

Не Цукербергом едины


Первое, на что хотелось бы обратить внимание, это большая зацикленность на успехе Цукерберга, а также создателей Instagram (раньше в качестве таких примеров были Бил Гейтс, Стив Джобс и создатели Google Сергей Брин и Ларри Пейдж). Эти примеры — исключения даже для Кремниевой долины, и не могут служить пособием для подражания.
Читать дальше →

Бесплатная online-школа по разработке приложений для Windows 8

Reading time2 min
Views29K


Друзья, рады объявить, что с 1 апреля совместно с Национальным открытым университетом «Интуит» мы запускаем бесплатную online-школу по разработке приложений для Windows 8. Если вы еще не умеете программировать под Windows 8, то это как раз то, что поможет вам научиться.

Записаться на учебный курс можно тут: aka.ms/w8school

Курс длится 6+3 недели и включает лекции, online-консультации, лабораторные и курсовые работы. Лекции и консультации проводят сотрудники Microsoft Россия (департамент стратегических технологий).

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

Сравнение C++ Standard и Boost

Reading time9 min
Views110K
Должно ли C++ сообщество придерживаться стандарта или отойти от него, чтобы создавать лучшие вещи с Boost?


Погодите, не та библиотека.

В марте 2011 года комитет ISO C++ утвердил финальную версию черновика новейшего стандарта C++. Языка, который официально был стандартизирован в августе того же года и стал известен как C++ 11. Теперь, по прошествии 2 лет, мы можем оглянуться назад и посмотреть на некоторые проблемы, затронувшие язык(аж с момента принятия первого международного стандарта в 1998 году) и сравнить его финальный вариант с популярной C++ библиотекой Boost.

Читать далее

Действительно ли у каждого ядра есть «свой собственный» кэш первого и второго уровней?

Reading time6 min
Views35K
У современных процессоров архитектуры Core i7 существует очевидный, документированный, но отчего-то не очень известный даже среди многих специалистов сценарий priority inversion. Его я опишу в этом посте. В нем есть код на С, три диаграммы, и некоторые подробности работы кэшей в процессорах архитектуры Core i7. Никаких покровов не срывается, вся информация давно общедоступна.

Priority inversion – ситуация, когда низкоприоритетный процесс может блокировать или замедлять высокоприоритетный. Обычно имеется в виду очередность доступа к исполнению на ядре для высокоприоритетного кода относительно низкоприоритетного. С этим должно неплохо справляться ядро ОС. Однако помимо вычислительных ядер, которые несложно распределять посредством affinity и MSI-X, в процессоре есть ресурсы, общие для всех задач – контроллер памяти, QPI, общий кэш третьего уровня, PCIe устройства. В вопросы PCIe я углубляться не буду, т.к. не являюсь экспертом в данной теме. Priority inversion на почве доступа к памяти и QPI я давно не наблюдал – пропускной способности современного многоканального контроллера как правило хватает и высокоприоритетным, и низкоприоритетным задачам. Остановлюсь на кэшах.
Читать дальше →

Пишем эмулятор Кубика Рубика

Reading time20 min
Views78K
OpenGL — платформонезависимая спецификация, описывающая программный интерфейс для создания компьютерных приложений, использующих двухмерную и трехмерную графику.
В этой статье я опишу, как можно создать эмулятор Кубика Рубика на OpenGL.

Кубик будет в 3D и его можно будет вращать мышкой, а переворачивать грани можно, кликая мышкой по стрелкам. При том стрелки появляются у ближайшей к зрителю грани.


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

Как запустить программу без операционной системы

Reading time13 min
Views184K

Так вышло, что в нашей статье, описывающей механизм опроса PCI шины, не было достаточно подробно описано самого главного: как же запустить этот код на реальном железе? Как создать собственный загрузочный диск? В этой статье мы подробно ответим на все эти вопросы (частично данные вопросы разбирались в предыдущей статье, но для удобства чтения позволим себе небольшое дублирование материала).

В интернете существует огромное количество описаний и туториалов о для того как написать собственную мини-ОС, даже существуют сотни готовых маленьких хобби-ОС. Один из наиболее достойных ресурсов по этой тематике, который хотелось бы особо выделить, это портал osdev.org. Для дополнения предыдущей статьи про PCI (и возможности писать последующие статьи о различных функциях, которые присутствуют в любой современной ОС), мы опишем пошаговые инструкции по созданию загрузочного диска с привычной программой на языке С. Мы старались писать максимально подробно, чтобы во всем можно было разобраться самостоятельно.

Итак, цель: затратив как можно меньше усилий, создать собственную загрузочную флешку, которая всего-навсего печатает на экране компьютера классический “Hello World”.

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

Обзор исходного кода Quake 3: Архитектура (Часть 1)

Reading time5 min
Views106K
Так как у меня была одна неделя до моего следующего контракта, я решил закончить мой цикл статей id. После Doom,Doom Iphone, Quake1, Quake2, Wolfenstein iPhone и Doom3, я решил изучить код, который я еще не рассматривал: idTech3 — 3D движок Quake III и Quake Live.
Читать дальше →

Для чего нужны шаблоны проектирования

Reading time5 min
Views101K
Все чаще и чаще я слышу от разработчиков и читаю в статьях, что шаблоны проектирования (они же дизайн-паттерны) никому не нужны. Мол, они появились во времена «цветения» UML, RUP, CASE систем и прочих чересчур «сложных» инструментов, подходов и практик. А сейчас самое важное — это код рабочий написать, да побыстрее. На умные толстые книжки ни у кого нет времени, разве что для прохождения собеседования. Тех, кто хочет обсудить данную тему, прошу под кат.

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

Java 8: от PermGen к MetaSpace

Reading time3 min
Views83K
(Сокращённый перевод статьи Пьера-Хьюза Шарбонне)

Как уже сообщалось ранее на Java One, в Java 8 версии HotSpot планируется отказаться от PermGen пространства в пользу новой его вариации — Metaspace. Ранний доступ к JDK 8 даёт возможность наблюдать Metaspace в действии, чем и воспользовался автор оригинальной статьи чтоб узнать, какие преимущества даёт MetaSpace в сравнении с PermGen, и убедится во всём непосредственно.

Подробнорсти под катом.
Читать дальше →

Как появились регулярные выражения

Reading time6 min
Views49K

Небольшое предисловие


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

Мне всегда было интересно не только освоить понятие, но и разобраться, как оно появилось. За каждым определением всегда стоит личность. Интересно понять, какие идеи лежали в основе того или иного понятия и почему новые определения были восприняты и поддержаны другими людьми с таким энтузиазмом, что остались в учебниках.

Далее будет приведено небольшое исследование подобного рода, объектом которого является понятие регулярного выражения.
Читать дальше →

Как стать ведущим разработчиком. Часть 1

Reading time8 min
Views142K
Это перевод статьи, написанной Джоном Оллспоу, который на данный момент является старшим вице-президентом технического отдела в Etsy.

Продолжение перевода здесь

В нашей сфере деятельности нам доступны огромные объёмы знаний, в особенности тех, которые позволяют разработчику стать эффективным. Но почему-то, несмотря на существование множества книг о специфических задачах и обязанностях менеджеров в нетехнических областях, я практически не вижу новых книг или статей о том, как стать хорошим ведущим разработчиком. Замечательным исключением, конечно, являются статьи Кейт Maцудайры [от переводчика: на фотографии, кстати, именно она], немало написавшей о культурных составляющих инженерии.

Но в то же время, все мои знакомые преуспевающие разработчики помнят своих наставников, которые научили их тому, что значит быть „ведущим“.
Читать дальше →

Модификация Android приложения от новичка и для новичков

Reading time28 min
Views27K
Добрый день!
Хочу поделиться с вами историей как я модифицировал одно из системных приложений Adroid'а, точнее его модификации LeWa OS. С Андроидом я познакомился недавно, всего месяц назад, и постараюсь тут описать весь ход своих мыслей, что несомненно будет полезно всем тем кто хочет улучшить Андроид, но не знает с чего начать. Пост постараюсь сделать подробным, а потому длинным.
Читать дальше →

Сайт знакомств с программистами Love++

Reading time2 min
Views122K
Оплотом современного мира являются программисты. Программисты — это самые надежные и умные люди в мире. Любая проблема обычного человека является элементарной для программиста. Программисты умеют находить решение любой проблемы в считанные минуты.

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

Женщины, решающие связать свою жизнь с программистами, автоматически выбирают счастье и благополучие до конца жизни. Программист — это идеальный муж! Программист предан своей жене всецело, обычно он не пьет и не курит, зарабатывает много денег и совсем не умеет их тратить. Все жены непрограммистов завидуют женам программистов.

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

Разработка приложений для Android с C#

Reading time4 min
Views285K
Monodroid и Monotouch это фреймворки от xamarin, которые дают возможность разрабатывать приложение на языке C# для Android и iOS соответственно. Так как это относительно новая технология информации в интернете не слишком много (за исключением офф сайта и большого количества тем на stackoverflow.com), на русском языке же я не нашел никаких туториалов и информации вообще.

Что бы устранить это недоразумение решил написать небольшой туториал о том как начать разрабатывать приложения под мобильные платформы при помощи этих фреймворков. В этой статье я рассмотрю только Monodroid.

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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity