Pull to refresh
121
0
Сергій Олендаренко @GooRoo

User

Send message

Параллельные заметки N5 — продолжаем знакомиться с конструкциями OpenMP

Reading time4 min
Views54K
image
Предлагаю вашему вниманию очередную заметку посвященную знакомству с технологией параллельного программирования OpenMP. Рассмотрим директивы: atomic, reduction.

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

«Пришло ли?» — трекинг посылок из интернета

Reading time1 min
Views1.2K
У них что-то сломалось: Cannot get a connection, pool error Timeout waiting for idle object

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

Пришло ли?

На входе — трекинг-номер, который прислал вам плохо говорящий по-английски продавец с Ибея. На выходе — страничка с состоянием посылки, виджет или XML-файл.

Чудеса-то какие!

репостинг Twitter (или rss) в статус vkontakte.ru на Haskell

Reading time9 min
Views1.9K
В данной статье речь пойдёт о небольшой программке, которая репостит твиты в статус во вконтакте.
Задача довольно простая и совершенно неоригинальная. Началось всё с того, что я прочитал статью на Хабре о том, как это решается на python'е и аналогичную статью про php. В интернетах вроде бы даже какие-то онлайн сервисы есть специально для этой задачи. Но тут весь цимус в том, чтобы решить эту несложную задачу самому, используя свои любимые инструменты. Собственно решение на php появилось позже и с такой же целью.

Ну и на чём же писал я? На haskell, natürlich!
Дальше подробно расскажу о том, как я всё сделал и как это повторить. Никаких особых знаний для понимания, пожалуй, не требуется.
Читать дальше →

Параллельные заметки №2 – инструментарий для OpenMP

Reading time3 min
Views22K
image
Прежде чем приступить к изучению методики распараллеливания программ с помощью технологии OpenMP рассмотрим инструментарий, который нам потребуется. А потребуется нам в первую очередь Visual Studio 2005/2008 и Intel Parallel Studio.
Читать дальше →

Остекляем Opera 10.50 в Windows Vista/7

Reading time2 min
Views6.9K
Одним из главных новшеств Opera 10.50 под Windows стала полная поддержка эффектов Aero, в том числе и стеклянного интерфейса Aero Glass. Однако, распространилось это далеко не на все элементы браузера. Дизайнеры Opera сумели хорошо выдержать баланс между стеклом и классической графикой, но ведь есть и те, кому хочется, чтобы интерфейс его любимой программы был полностью стеклянным ;)
image

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

OneSwarm — полностью децентрализованная пиринговая сеть

Reading time4 min
Views7.3K
imageПроблема секьюрности информации, передаваемой в файлообменных сетях, сегодня стоит очень остро. Популярный пиринговый протокол битторрент не дает практически никаких средств защиты от посторонних глаз, выдавая IP всех пиров как на ладони. The Pirate Bay, помнится, обещал разработать свой собственный анонимный протокол, но, видимо, дело заглохло.

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

Основы декларативного программирования на Lua

Reading time12 min
Views52K
Луа (Lua) — мощный, быстрый, лёгкий, расширяемый и встраиваемый скриптовый язык программирования. Луа удобно использовать для написания бизнес-логики приложений.

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

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

Уроки разработки 64-битных приложений на языке Си/Си++

Reading time2 min
Views7.1K
Мы регулярно пишем статьи посвященные разработке и тестированию 64-битных программ на языке Си/Си++. Каждая из статей представляет взгляд на задачу разработки 64-битных программ с разных точек зрения. Но существенная часть информации в них повторяется, так как необходимо знакомить читателя с проблематикой и вводить различные определения. Это, к сожалению, делает чтение подборки статей скучным занятием и соответственно не позволяет всесторонне изучить вопросы разработки 64-битных приложений.

Мы решили объединить все наши знания в единый труд, в котором будут рассмотрены сразу все вопросы, касающиеся 64-битного программирования. Для оформления в виде статьи материала оказалась слишком много и мы решили представить его в виде курса уроков.

Кратко опишу курс "Уроки разработки 64-битных приложений на языке Си/Си++" и приведу его содержание.
Читать дальше →

Вечный вопрос измерения времени

Reading time5 min
Views17K
Казалось, закончились долгие обсуждения в форумах, как измерить время работы алгоритма, какие функции использовать, какую точность ожидать. Жаль, но опять придется вернуться к этому вопросу. На повестке дня, как лучше измерить скорость работы параллельного алгоритма.
Читать дальше →

Application Verifier для программиста: тестирование Windows-приложений

Reading time7 min
Views21K
Возможно в Вашем проекте и не пишут try { /* code */ } catch(...) { } для того чтобы избежать исключений при работе с памятью, умеют закрывать хендлы и знают о виртуализации Windows Vista, а программы никогда не падают по непонятным и редко повторяемым причинам.

Тогда Вам повезло, можете переходить к следующему топику.
Но если это не так...

Работаем с моделями в QML

Reading time9 min
Views8.9K

В продолжении предыдущего поста, хочется рассказать ещё немного о новой технологии от Qt Software и Nokia. Напомню, что QML — это новый язык описания пользовательского интерфейса, призванный упростить разработку современных приложений и наполнить их движением.
В этой статье мне хотелось бы немного рассказать о том, как в QML работает парадигма MVC
Читать дальше →

«Оконные» блокираторы, или кому выгодно распространение троянцев Win32/LockScreen

Reading time3 min
Views21K
В последнее время довольно сильный резонанс в СМИ вызвала, так называемая, эпидемия программ-блокираторов. Под программами-блокираторами подразумевается вредоносное ПО, которое после своей активации/запуска тем или иным образом блокирует работу пользователя на его компьютере. При этом за оказание услуги возвращения прежней работоспособности ПК злоумышленники вымогают денежные средства. Во всей этой истории с блокираторами интересно то, что данная проблема носит локальный характер для России и стран ближнего зарубежья. В других странах подобное мошенничество практически не распространено, а скорее является исключением из правил. Почему же у нас это приобрело настолько массовый характер? Ответ намного проще, чем может показаться, и находится на поверхности.
Читать дальше →

Боремся с утечками памяти (C++ CRT)

Reading time6 min
Views62K
Утечка памяти — довольно серьезная и опасная проблема. Быть может, пользователь и не заметит однократной утечки каких-нибудь 32Кб памяти (а ведь это целые 5% от 640Кб, которых «хватит всем»), но постоянно теряя сложные иерархические структуры или массивы размером больше INT_MAX (которые мы так любим создавать на 64-битной архитектуре) мы обречем его на страдания, а наш продукт на провал.

Не допускать ситуации вроде бы и не трудно — воспользуемся правилом «класть на место всё что взяли», но на практике это сильно осложняется человеческим фактором (банальная невнимательность), хитростью архитектуры и нелинейным порядком выполнения операторов, например, из-за применения исключений.

А можно было бы просто «отдаться» автоматическому сборщику мусора, ценой потери производительности (и это не обязательно Managed C++, для Native C++ / C есть библиотеки сборки мусора, вот, например).

Но мы поговорим о ситуации когда уже «всё плохо».
Читать дальше →

Компилируем 64-битную версию Qt под windows

Reading time3 min
Views24K
logoЗа последние годы кросс-платформенная библиотека Qt получила не только многочисленные улучшения, но также собственную среду разработки QtCreator и удобные инсталляторы под все операционные системы. Теперь для разработки не нужно самому устанавливать необходимое окружение, прописывать пути, интегрировать библиотеку в ide — достаточно запустить инсталлятор и все будет работать «из коробки». К сожалению, версия для windows имеет инсталлятор только для 32-битной сборки библиотеки и ide. А иногда возникает необходимость сделать именно 64-битное приложение — чаще всего это связано с необходимостью использовать чужие 64-битные компоненты: подгружаемые библиотеки, inproc com компоненты и прочие странные штуки. Под катом содержится подробная инструкция как скомпилировать Qt и QtCreator из исходников для 64-битной архитектуры.

Карта обхода подводных камней

8 правил инноваций от Тайлера

Reading time3 min
Views44K
Тайлер ДёрденВсем нам хотелось бы совершать значительные поступки и прожить выдающуюся жизнь.
Никто не хочет целыми днями производить приевшиеся товары в бесцельной гонке за несуществующего потребителя. Ну и уж само собой, что вы лично этого не хотите, не так ли?
Так почему же нам кажется, что сломать рутину и начать заниматься чем-то принципиально новым, так сложно? Потому что это действительно сложно: от нас требуется сменить приоритеты, поменять свои планы и разрушить комфортную жизнь. Это почти то же самое, что стать другим человеком.

«Бойцовский клуб» — фильм о том, как прожить ту жизнь, которую хочешь, и какой тернистый путь нужно пройти, чтобы это стало возможным. Тайлер помогает безымянному герою фильма встать на путь просветления. Возможно, слова Тайлера смогут помочь и кому-то из нас.
Читать дальше →

Чему я научился в Майкрософт

Reading time9 min
Views6K
Проработав пять лет в различных командах в Майкрософт я вынес несколько вещей, о которых я даже не подозревал, когда оканчивал колледж. Основные ценности, чему я научился, вынесенные уроки, причина моего крика на друзей, как ни называй, они сослужили мне хорошую службу.

Некоторые из этих вещей специфичны для Майкрософт, но большая часть найдет применение в любой командной/корпоративной среде. Некоторые из них сложны – из-за них тебя могут уволить (а может и хуже), если ты не знаешь, что делаешь.
Читать дальше →

Обзор текстовых вeб браузеров

Reading time3 min
Views173K

Введение


Самое простое и в то же время полное определение текстового браузера — это приложение, которое отображает только текстовое содержимое web-сайтов. При работе с таким браузером вы не увидите так нами горячо любимых всплывающих баннеров. Во многих живущих ныне текстовых браузерах контент нагружающий трафик блокируется. Главный аспект применения текстовых браузеров, заключается в том, что их можно и нужно использовать в тех системах, где не предусмотрена графическая оболочка. В первую очередь, это, конечно, касается разнообразных UNIX-подобных операционных систем, но под MS Windows так же существуют аналоги. В этой статье хотелось бы описать некоторые текстовые браузеры и их возможности.
Продолжение

Как забыть про ярлыки на рабочем столе?

Reading time3 min
Views9.4K

Введение



image Раньше у меня довольно часто возникала проблема захламления рабочего стола огромным количеством ярлыков, и я начинал теряться в них, соответственно терять время при поиске необходимых мне приложений. В дальнейшем я научился пользоваться сочетанием клавиш win+r, создавая ярлыки с короткими именами в system32.С приходом Windows Vista (7) теперь только кнопки win, однако гибкость и настройка данных методов весьма ограниченна. Имеется так же огромное количество hotkey-менеджеров, однако не с одним из них я так и не сдружился.
Читать дальше →

Information

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