Обновить
1
0
bashor @bashor

Пользователь

Отправить сообщение

А вы довольны памятью своей Linux системы?

Время на прочтение3 мин
Количество просмотров13K

Ни для кого не секрет, что в Unix системах вся информация предоставляется в виде файлов.
В Linux есть файл /proc/kcore, который является «алиасом» на физическую память системы.
Мануалы говорят, что полная длина этого файла — это размер физической памяти (RAM) плюс 4KB, но повертев этот файл на разных системах я пришел к выводу, что размер файла равен размеру RAM + SWAP.
Аналогично этому файлу можно использовать устройства /dev/mem или /dev/kmem, но взаимодействие с ними в данном топике я не буду рассматривать.
Читать дальше →

Все знают что "++i + ++i" — плохо, но что-же за ширмой?

Время на прочтение3 мин
Количество просмотров30K
Баг, выглядывающий из-за ширмы на вас о_ОНесомненно, все программисты знают что использование выражений, подобных тому что приведено в заглавии поста, не то что нежелательно, а строго противопоказано. Такие конструкции, поведение компилятора в которых не определено, могут принести множество трудноуловимых ошибок и нежелательных последствий. Но уверен, многим начинающим программистам хотелось бы по глубже понять эту проблему и, заглянув за ширму компилятора, узнать что же именно происходит в таких случаях. Изучению одного из примеров подобного кода я и посвящаю этот пост. Добро пожаловать под кат :)
Читать дальше →

jQuery для начинающих. Часть 2. JavaScript Меню.

Время на прочтение8 мин
Количество просмотров46K


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

Если Вам готовый код наглядней документации, то переходим от слов к делу, т.е. на страницу с примерами.
Читать дальше →

jQuery для начинающих. Часть 3. AJAX

Время на прочтение11 мин
Количество просмотров456K

Представляю Вам третью статью из серии jQuery для начинающих. В этот раз я постараюсь рассказать о реализации AJAX запросов...
Читать дальше →

Первый нейрокомпьютерный интерфейс в продаже

Время на прочтение1 мин
Количество просмотров7.2K
Первый в мире коммерчески доступный нейрокомпьютерный интерфейс привезла компания Guger Technologies на выставку CeBIT 2010. Это первый полноценный такой прибор, потому что аналогичный геймерский девайс Emotiv EPOC не позволяет печатать тексты, а только прыгать и бегать в играх.

Устройство Intendix предназначено в первую очередь для парализованных пациентов больниц. Интерфейс готов к использованию через 10 минут настройки. После тренировки можно набирать тексты с экранной клавиатуры на скорости до 1,25 символа в секунду путём концентрации внимания на строках и столбцах, мерцающих поочерёдно (видео под хабракатом). Шапка для электроэнцефалографии при этом снимает сигнал с коры головного мозга. Такая скорость является рекордной для прототипов подобных устройств.

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

Стоимость прибора составляет €9000 (около $12 250).
Читать дальше →

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

Время на прочтение4 мин
Количество просмотров29K
image
Продолжим знакомство с технологией OpenMP и рассмотрим некоторые функции и новые директивы.
Читать дальше →

Про время, рабство и помидоры

Время на прочтение7 мин
Количество просмотров14K

Вступление


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

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

Перегрузка функций в JS

Время на прочтение4 мин
Количество просмотров57K
Как известно, в JavaScript нельзя создать несколько функций, различающихся только списком параметров: последняя созданная перезапишет предыдущие. Про различие на уровне типов параметров говорить не приходится вообще. Обычно, если программист хочет создать функцию с множественным интерфейсом, он пишет что-то вроде такого:
  1. // getRectangleArea(x1, y1, x2, y2) или
  2. // getRectangleArea(width, height)
  3. function getRectangleArea(x1, y1, x2, y2) {
  4.   if(arguments.length==2) return x1*y1;
  5.   return (x2-x1)*(y2-y1);
  6. }
* This source code was highlighted with Source Code Highlighter.

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

Интерфейс программы Киви для Айфона

Время на прочтение3 мин
Количество просмотров5.3K
Недавно, ползая по аппстору, я наткнулся на программу оплачивалок Киви. Только успел обрадоваться, как оказалось, что программа сделана ужасно. Странно, что такая большая компания позволила себе выпустить такую чушь. Вот я и перерисовал их интерфейс :)


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

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

Время на прочтение2 мин
Количество просмотров13K
Тема изучения иностранных языков не раз уже поднималась на хабре. Смотреть фильмы, читать статьи и книги в оригинале, слушать BBC — эти методы уже обсуждались неоднократно.

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

Собственная подборка новостей для чтения в дороге за пару минут

Время на прочтение2 мин
Количество просмотров1.5K
На прошлой неделе я приобрел себе давно желанный e-book reader Sony PRS-300, обзор которого я могу написать отдельно. Данный ридер меня всем устраивает, но
не хватало возможности чтения rss новостей, так как утро гораздо приятнее проводить с газеткой, попивая кофе на кухне на выходных или
во время трудовых будней в дороге по работу или институт в общественном транспорте. За несколько вечеров я написал небольшое приложение на qt, решившее эту проблему, о нем и напишу далее.
Читать дальше →

STDIO плагины или как совместить несовместимое

Время на прочтение1 мин
Количество просмотров751
Идея проста — подключаем к программе внешний модуль через pipe (STDIO или TCP/IP).
Обмен текстовыми командами в формате командной строки: <команда> [параметр [параметр [...]]]<CR/LF>
В качестве параметров могут быть любые сериализованные данные. Как в протоколах POP3/SMTP.
image
Таким образом, можно подключать к программе, например, проверку синтаксиса или переводчик, который реально находится где-то в интернете. Можно подключать плагины, написанные на любых скриптовых языках (батники, например) и платформах. Можно даже подключить программу саму к себе. =)

Весь нюанс в том, чтобы использовать пайпы как API для плагинов (вместо прямого вызова кода), а не для фильтров. Идея далеко не нова, но почему-то очень редко используется.
Читать дальше →

Неофициальная трансляция ACM ICPC 2010 — как это было

Время на прочтение6 мин
Количество просмотров1K
Пост по мотивам прошедшего в пятницу финала ACM ICPC 2010, о том, как в буквальном смысле слова «на коленке» поднять зеркало умирающей под нагрузкой странички, прикрутить к нему чат с ее обсуждением, и не загнуться от нагрузки самому :)

Пост будет интересен скорее веб-программистам, нежели олимпиадникам.

Немного статистики, конфигов nginx, полезные трюки, а также ряд граблей, которые должны быть прекрасно известны людям с опытом, но на которые многие все равно часто наступают…

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

Hivext Platform — облачная платформа для разработки Интернет приложений. Бета тестирование

Время на прочтение2 мин
Количество просмотров930
image
Полтора года назад на хабре познакомились два увлеченных своим делом, разработчика, которые обсуждали статьи друг друга. Пообщавшись более плотно, осознали что им не хватает продукта, который позволял бы проще, гибче и быстрее разрабатывать веб-приложения. Так зародилась идея разработки платформы для разработчиков. Прошло чуть больше года проектирования и разработки.

На данный момент мы имеем что показать и дать вам пощупать наш продукт.
Читать дальше →

Реализация ToString() на С++

Время на прочтение9 мин
Количество просмотров20K
Для вывода в лог (да и не только для этого, но это то, с чем я сам столкнулся) нужно конвертировать значение переменной в строку.

В C++ это обычно делается выводом в поток (как вариант — использование boost: lexical_cast<> — что в нашем случае практически одно и тоже).

Для встроенных типов это не проблема, а вот как быть, если нужно вывести скажем std: vector? Увы, но у std: vector нет оператора вывода в поток.

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

Как сделать теговую ФС удобной для пользования

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

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

Учимся проектировать на основе предметной области (DDD: Domain Driven Design)

Время на прочтение8 мин
Количество просмотров222K

1. Введение



В данной статье я хотел бы рассказать об этих трёх буквах, постоянно находящихся на слуху, но для многих являющихся тайной за семью печатями, а так же привести ряд ресурсов, с которыми неплохо было бы познакомиться при желании продолжить развитие в проектировании на основе предметной области (DDD: Domain Driven Design).


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

Автоматизация Undo/Redo функциональности с помощью .NET Generics

Время на прочтение11 мин
Количество просмотров6.1K
Перевод статьи Automating Undo/Redo with .NET Generics Сергея Архипенко.

Введение

Эта статья описывает библиотеку, которая предоставляет undo/redo функциональность для каждого действия в вашем приложении. Вы можете использовать сложные структуры данных и сложные алгоритмы не задумываясь о том, как они будут переведены в предыдущее состояния по запросу пользователя или в результате возникновения ошибки.

Предпосылки

Если вы когда-нибудь разрабатывали графический редактор или дизайнер для сложных данных, вы сталкивались с трудоёмкой задачей реализации undo/redo функциональности, которая бы поддерживалась во всём приложении. Реализация парных Do и Undo методов для каждой операции скучный и подверженный ошибкам процесс, когда вы разрабытываете что-либо более серьёзное, чем калькулятор. В результате моих экспериментов я нашёл способ сделать поддержку undo/redo прозрачной для бизнес логики. Чтобы этого добиться, мы будем использовать магию generics.
Этот проект опубликован на CodePlex, чтобы каждый мог его использовать или внести свой вклад.

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

CPrompt — интерпретатор языка си

Время на прочтение3 мин
Количество просмотров7.1K
С июня 2009 года я занимаюсь разработкой интерпретатора Си. (я уже упоминал об этом в статье о вызовах функций).
Сейчас уже реализовано достаточно много конструкций: циклы, выбор, вычисление выражений, вызовы функций (как объявленных пользователем, так и стандартных), инклуды и другое.
интересно?

Приложение для чтения хабра в оффлайне

Время на прочтение2 мин
Количество просмотров897
Добрый день!

Я уже рассказывал на хабре о Data Extracting SDK, который вызвал определенный интерес у пользователей. С тех пор было добавлено много вкусных фич и хотелось бы о них немножко рассказать. В качестве примера было реализовано небольшое приложение — HabraPDFReader, которое предназначено для сохранения хабратопиков в PDF файлах для оффлайн чтения. Попутно расскажу о тонкостях реализации.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность