В предыдущей части (http://habrahabr.ru/blogs/DIY/111610/) был рассмотрен первый шаг к созданию девайса, собственно выращивание кристалла. В этой части будем рассматривать физическое воплощение самого устройства и его электрическую схему.
Джагаев Давид @1eon
User
Свежая подборка jQuery плагинов
2 min
15KTranslation
Для меня jQuery ассоциируется с мощной и главное кросс-браузерной JavaScript библиотекой. Можно долго перечислять ее достоинства, холиварить по поводу и без, но думаю, никто не будет против посмотреть подборку интересных плагинов и уроков:
для удобства – каждая картинка ведет на демо

Демо | Урок
для удобства – каждая картинка ведет на демо
Hover Slide Effect

Демо | Урок
Галерея состоит из нескольких картинок, при наведении на одну из них она эффектно меняется на другую, а при клике на любую картинку — меняются все одновременно.
+121
+113
«Правильная» музыка. Или как навести порядок в своей MP3 коллекции
5 min
81K
Мотивы
Навеяно хабратопиком.
Предыстория
В октябре 2008 года я купил себе iPhone 3G и, до нынешнего лета, в качестве mp3-плеера использовал именно его. Необходимость загружать музыку в смартфон, используя iTunes, по началу меня изрядно напрягала. Но, как выяснилось значительно позже, возможно именно это избавило меня от головной боли с конвертированием тегов, записанных кириллицей. Я просто не задумываясь добавлял альбомы из своей коллекции в «тунец» и всегда гарантированно получал на телефоне треки без «кракозябр». Удобно. Но всему приходит конец.
+61
Апгрейд видеокарты ноутбука
4 min
309KЗдесь расскажу о том, как из 5ти летнего Samsung R45 с видеокартой ATI Radeon Express 200M, у которой нет Pixel Shader 3.0, на которой современные игры либо вообще не идут, либо идут с 2 FPS на минимальных настройках, сделать достаточно мощную машину для игр и экспериментов по программированию.


+164
Видео с HighLoad++: Петр Зайцев — Диагностика и исправление проблем производительности MySQL
1 min
9.4KДобрый день,
Вот и последний обещанный видеодоклад с HighLoad:
Петр Зайцев — Диагностика и исправление проблем производительности MySQL
Часть 1 (30:56): video.mail.ru/corp/miftahetdinova/5/6.html
Часть 2 (28:35): video.mail.ru/corp/miftahetdinova/5/7.html
Часть 3 (28:33): video.mail.ru/corp/miftahetdinova/5/8.html
Часть 4 (28:29): video.mail.ru/corp/miftahetdinova/5/9.html
Часть 5 (28:13): video.mail.ru/corp/miftahetdinova/5/10.html
Часть 6 (28:10): video.mail.ru/corp/miftahetdinova/5/11.html
Часть 7 (28:13): video.mail.ru/corp/miftahetdinova/5/12.html
Часть 8 (22:50): video.mail.ru/corp/miftahetdinova/5/13.html
Часть 9 (16:01): video.mail.ru/corp/miftahetdinova/5/14.html
Часть 10 (15:02): video.mail.ru/corp/miftahetdinova/5/15.html
Также мы постараемся до конца года выложить доклады с HighLoad++ в Power Point.
Хорошего вам дня!
UPD. Уважаемые хабраюзеры! Мы хотим еще раз извиниться за невысокое качество видео, которое, тем не менее, решили выложить, т.к. знали, что темы HighLoad-a для вас крайне важны и интересны и наряду с негативным фидбеком получили очень много позитива, благодарностей и просьб продолжать выкладку докладов.
Завтра, 29 декабря, как мы уже обещали, на «Хабре» также будут выложены презентации всех докладов в PPT. В хорошем качестве ;)
Спасибо за терпение и фидбек!
Вот и последний обещанный видеодоклад с HighLoad:
Петр Зайцев — Диагностика и исправление проблем производительности MySQL
Часть 1 (30:56): video.mail.ru/corp/miftahetdinova/5/6.html
Часть 2 (28:35): video.mail.ru/corp/miftahetdinova/5/7.html
Часть 3 (28:33): video.mail.ru/corp/miftahetdinova/5/8.html
Часть 4 (28:29): video.mail.ru/corp/miftahetdinova/5/9.html
Часть 5 (28:13): video.mail.ru/corp/miftahetdinova/5/10.html
Часть 6 (28:10): video.mail.ru/corp/miftahetdinova/5/11.html
Часть 7 (28:13): video.mail.ru/corp/miftahetdinova/5/12.html
Часть 8 (22:50): video.mail.ru/corp/miftahetdinova/5/13.html
Часть 9 (16:01): video.mail.ru/corp/miftahetdinova/5/14.html
Часть 10 (15:02): video.mail.ru/corp/miftahetdinova/5/15.html
Также мы постараемся до конца года выложить доклады с HighLoad++ в Power Point.
Хорошего вам дня!
UPD. Уважаемые хабраюзеры! Мы хотим еще раз извиниться за невысокое качество видео, которое, тем не менее, решили выложить, т.к. знали, что темы HighLoad-a для вас крайне важны и интересны и наряду с негативным фидбеком получили очень много позитива, благодарностей и просьб продолжать выкладку докладов.
Завтра, 29 декабря, как мы уже обещали, на «Хабре» также будут выложены презентации всех докладов в PPT. В хорошем качестве ;)
Спасибо за терпение и фидбек!
+21
Основы Linux от основателя Gentoo. Часть 3 (2/4): Модель прав доступа
10 min
72KTranslation
Второй отрывок третьей части серии руководств Linux для новичков. В котором вы сможете узнать, об одном из основных средств обеспечения безопасности в Linux. А именно, правах доступа и модели владения файлами.
+94
Входите! Аутентификация без логина и пароля, v2
4 min
7.7KРаз оказалось, что аудитории небезразлична такая тема, как создание одноразовых (работающих в течение некоторого времени) ссылок, позволяющих идентифицировать пользователя.
А особенно в свете того, что я считаю подобное решение (которое я опубликую ниже) приемлемее — решил написать, как решение этой задачи вижу я:
А особенно в свете того, что я считаю подобное решение (которое я опубликую ниже) приемлемее — решил написать, как решение этой задачи вижу я:
+36
jQuery 1.3.x -> 1.4.x и JSON
1 min
3.6KЭто не пост, а скорее памятка для тех, кто столкнулся с проблемой ajax и json, при переходе на jQuery 1.4.
В новой версии используется встроенный парсинг JSON, а вместе с этим становится необходимо следить за его (json’a) правильностью.
Примеры, как делать не надо:
т. е. такие варианты теперь не проходят. Использовать надо только двойные кавычки!
Если же у вас нет возможности внести изменения в серверные скрипты, то на клиенте быстрый фикс можно сделать следующим образом:
Возможно,кому-то окажется полезным. Всем спасибо, всем удачи!
В новой версии используется встроенный парсинг JSON, а вместе с этим становится необходимо следить за его (json’a) правильностью.
Примеры, как делать не надо:
{ 'qwe' : 'asd' }
{ "qwe" : 'asd' }
{ qwe: "asd" }
{ qwe: 'asd' }
{ "qwe" : "asd" }
Если же у вас нет возможности внести изменения в серверные скрипты, то на клиенте быстрый фикс можно сделать следующим образом:
$.ajax({
url: "/test.php",
dataType: "text",
success: function(data) {
json = eval("(" + data + ")");
// alert(json.success);
}
});
Возможно,
+42
Настройка и оптимизация MySQL сервера
9 min
317KВ этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
+162
Локальная уязвимость в ядре линукс (и не только), DoS
2 min
2.6KОпубликован код, приводящий к зависанию компьютера (100% загрузка всех ядер, исчерпание файловых дескрипторов).
Ссылка на код: lkml.org/lkml/2010/11/25/8
Проверял на 27, 32 — зависание воспроизводится. 32/64 бита.
Уточняю: через 1-2 секунды пролетает крашдамп (не успеваю прочитать), хост перегружается. В другом тесте система упала уже после завершения программы (примерно через 5-7 секунд).
PS Эксперты с лора говорят, что FreeBSD 8.1 тоже падает.
PPS Внезапно — на CentOS 5.5 с 2.6.18 не падает. Если запустить из-под рута, роняет, из-под пользователя — просто спокойно отрабатывает. При этом руту в соседней консоли ничего не мешает работать и система не падает.
Пытаюсь уточнить ситуацию:
1) CentOS 2.6.18/64 с непривелегированным пользователем не подвержен.
2) Debian Squeeze 2.6.34/64 с непривелегированным пользователем подвержен (kernel panic).
3) По слухам, в некоторых FreeBSD удалось воспроизвести (из комментариев — FreeBSD 8.2-PRERELEASE не воспроизводится)
4) Из комментариев — на Ubuntu 2.6.32/64 воспроизвести не удалось, на 2.6.36 воспроизводится.
5) Ubuntu 2.6.34/64 — воспроизводится
6) Из комментариев — RHEL5.5 не зависает, но тормозит и мешает убивать процесс.
7) Из комментариев: FreeBSD 4.11, 8.1, OpebBSD 4.6, 4.8, DragonFLY BSD 2.8.0 — подвержены
8) OpenVZ + 2.6.18 Debian/Centos — не воспроизводится.
PPPS тем, кто тестит — запускать надо от непривелегированного пользователя.
Ссылка на код: lkml.org/lkml/2010/11/25/8
Проверял на 27, 32 — зависание воспроизводится. 32/64 бита.
Уточняю: через 1-2 секунды пролетает крашдамп (не успеваю прочитать), хост перегружается. В другом тесте система упала уже после завершения программы (примерно через 5-7 секунд).
PS Эксперты с лора говорят, что FreeBSD 8.1 тоже падает.
PPS Внезапно — на CentOS 5.5 с 2.6.18 не падает. Если запустить из-под рута, роняет, из-под пользователя — просто спокойно отрабатывает. При этом руту в соседней консоли ничего не мешает работать и система не падает.
Пытаюсь уточнить ситуацию:
1) CentOS 2.6.18/64 с непривелегированным пользователем не подвержен.
2) Debian Squeeze 2.6.34/64 с непривелегированным пользователем подвержен (kernel panic).
3) По слухам, в некоторых FreeBSD удалось воспроизвести (из комментариев — FreeBSD 8.2-PRERELEASE не воспроизводится)
4) Из комментариев — на Ubuntu 2.6.32/64 воспроизвести не удалось, на 2.6.36 воспроизводится.
5) Ubuntu 2.6.34/64 — воспроизводится
6) Из комментариев — RHEL5.5 не зависает, но тормозит и мешает убивать процесс.
7) Из комментариев: FreeBSD 4.11, 8.1, OpebBSD 4.6, 4.8, DragonFLY BSD 2.8.0 — подвержены
8) OpenVZ + 2.6.18 Debian/Centos — не воспроизводится.
PPPS тем, кто тестит — запускать надо от непривелегированного пользователя.
+97
Трудности производства процессоров
13 min
115K Недавно в московском Политехническом музее стенд вычислительной техники серьезно обновился — компания Intel разместила там свой стенд, который получил название "От песка до процессора". Отныне этот стенд станет неотъемлемой частью школьных экскурсий, но даже взрослым я советую не откладывать посещение заведения на срок более пяти лет – к 2016 году компания Intel планирует серьёзно «проапгрейдить» музей, чтобы он смог войти в десятку лучших музеев науки в мире!

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

К этому событию был приурочен одноименный цикл лекций из трех частей. Две лекции уже прошло — их содержание вы сможете найти под катом. Ну а если вас все это заинтересует, то еще успеете посетить третюю лекцию, информация о которой находится в конце поста.
+128
Вы наверное шутите, мистер Дал, или почему Node.js — это венец эволюции веб-серверов
8 min
29K
Node.js — вещь, вокруг которой сейчас много шума, восторженных отзывов и гневливых выкриков. При этом, по моим наблюдениям, в умах людей закрепилось следующее представление о том что же такое Node.js: «это штука, позволяющая писать на JavaScript на серверной стороне и использующая JavaScript-движок от Google Chrome». Поклонники языка восторженно вздохнули: «Ах! Сбылось!», противники же процедили сквозь зубы: «Ну вот только еще этой ерунды с прототипами и динамической типизацией нам на серверах не хватало!». И дружно побежали ломать копья в блоги и форумы.
При этом многие представители обоих лагерей придерживаются мнения, что Node.js — это эзотерическая игрушка, веселая задумка для переноса языка браузерных сценариев на «новые колеса». Дабы быть до конца честным, признаюсь, что я так же придерживался подобной точки зрения. В один прекрасный момент, я набрался духу и решил «копнуть поглубже». Выяснилось, что создатель Node.js Райан Дал далеко не фанатик, а человек, пытающийся решить реальную проблему. А его творение — не игрушка, а применимое на практике решение.
+226
ООП практикум в PHP5: Анализ ошибок, преимуществ и недостатков двух различных реализаций примесей в PHP
6 min
2.3KПосле выхода моей статьи о примесях мы продолжали дискуссии и в комментариях к статье и в личных сообщениях. Сегодня увидел в моем блоге комментарий от читателя, который попросил объяснить, в чем я вижу преимущество своей реализации перед реализацией Леонида Шлейхера.
Я собирался было ответить в комментарии к посту своем же сайте, но неожиданно оказалось, что вопрос довольно интересен. Вернее, не сам вопрос, а анализ, который я провел, подготавливая ответ.
Я собирался было ответить в комментарии к посту своем же сайте, но неожиданно оказалось, что вопрос довольно интересен. Вернее, не сам вопрос, а анализ, который я провел, подготавливая ответ.
+19
DNS Amplification (DNS усиление)
6 min
95KНе так давно столкнулся с проблемой (и ее решением) учитывая актуальность этой темы в последнее время, а также то, сколько людей сейчас страдают от этой беды, решил объединить информацию в одну статью. Может быть кому-то еще она будет полезной.

Пару недель назад я заметил странную активность, направленную на мой DNS-сервер. Сразу скажу, что использую шлюз на Linux, соответственно там установлен DNS-сервер bind. Активность заключалась в том, что на порт 53 (DNS) моего сервера сыпалось по несколько UDP пакетов в секунду с различных IP-адресов:
10:41:42.163334 IP 89.149.221.182.52264 > MY_IP.53: 22912+ NS?. (17)
10:41:42.163807 IP MY_IP.53 > 89.149.221.182.52264: 22912 Refused- 0/0/0 (17)

Начало
Пару недель назад я заметил странную активность, направленную на мой DNS-сервер. Сразу скажу, что использую шлюз на Linux, соответственно там установлен DNS-сервер bind. Активность заключалась в том, что на порт 53 (DNS) моего сервера сыпалось по несколько UDP пакетов в секунду с различных IP-адресов:
10:41:42.163334 IP 89.149.221.182.52264 > MY_IP.53: 22912+ NS?. (17)
10:41:42.163807 IP MY_IP.53 > 89.149.221.182.52264: 22912 Refused- 0/0/0 (17)
+179
jQuery:step() селектор произвольной позиции
2 min
10KTranslation
Одна из самых потрясающих вещей в jQuery — это движок селекторов. Доступ к элементам DOM используюя селекторы в jQuery становиться довольно простой задачей, еще и потому, что большинство селекторов используют те же выражения что и селекторы в CSS. Это то что веб-дизайнеры НЕ программисты могут легко усвоить.
Это статья — упражение в создании произвольного слектора, вы можете её использовать, как руководство по созданию своего собственного селектора.
Это статья — упражение в создании произвольного слектора, вы можете её использовать, как руководство по созданию своего собственного селектора.
+23
Бюджетный роутер Dlink dir-615, альтернативная прошивка DD-WRT и IPTV
5 min
421KИнтернет пришел и в наш город!
Интернет провайдеры в Воронеже последние 2 года развиваются и плодятся с огромной скоростью, в связи с чем приходится менять и апгрейдить и своё клиентское интернет-оборудование. Долгое время у меня в качестве доступа к сети использовался ADSL2+ модем и недорогой Wi-Fi роутер, но мой провайдер решил начать параллельно с доступом по телефонной линии предоставлять возможность подключения и по Ethernet или как его называет Домолинк — Fttx. Вместе с этим также стала доступна бесплатная услуга Открытое ТВ, представляющая из себя ничто иное как IPTV по протоколу UDP. Всё это и подтолкнуло меня на замену простенького Level ONE WBR-3408 на что-то более функциональное. К моему удивлению оказалось, что функциональность не всегда идёт рука об руку с высокой ценой. О том, как и почему я выбрал именно Dlink dir-615 можно узнать под катом.

+41
Пикселькит теперь можно купить
2 min
3.4KЛетом я уже рассказывал Хабру о том, как можно втиснуть все ваши старые приставки внутрь геймпада от любой из них. Если кто-то забыл о чём речь, у нас с тех пор осталось демонстрационное видео:
В комментариях к тому посту я пообещал вам в течение 3х недель сделать комплект для самостоятельной сборки этого устройства. И вот, спустя 3 месяца, он готов к продаже.) Это отличный DIY–проект на выходной день для тех, у кого руки давно тянулись к паяльнику, но он не знал с чего начать. Если вы один из них — добро пожаловать под кат за подробностями.

В комментариях к тому посту я пообещал вам в течение 3х недель сделать комплект для самостоятельной сборки этого устройства. И вот, спустя 3 месяца, он готов к продаже.) Это отличный DIY–проект на выходной день для тех, у кого руки давно тянулись к паяльнику, но он не знал с чего начать. Если вы один из них — добро пожаловать под кат за подробностями.

+157
Новая жизнь WiFi адаптера Intel 5150 AGX (и ему подобных)
5 min
145KПока вся страна расслаблялась, отмечая «День народного единства», умелые ручки и живые мозги отдельных граждан дарили нам радость и веселье. Особенно повезло обладателям официально ввезенных ноутбуков на платформе Intel Centrino 2 с интегрированным WiMax/WiFi адаптером Intel 5150AGX (в девичестве 5150ANX), который был зверски кастрирован производителем на уровне EEPROM. В результате жертва разучилась красиво петь во все свои 300Mbps и лишь неубедительно мычала ноту G (54Mbps). Как может догадаться нетерпеливый читатель, упомянутые выше очумелые ручки и живые мозги успешно справились с этим небольшим недоразумением, вернув гипотетическому евнуху его утерянное достоинство.
+51
Одноврéменно || Одновремéнно
2 min
933Translation

Введение
ZendX_Console_Process_Unix позволяет разработчикам создавать объекты под видом процессов, и таким образом параллельно выполнять несколько задач. Из-за особенностей реализации на текущий момент эта возможность доступна только на *nix системах, таких как Linux, Solaris, Mac / OSX и другие в CLI или CGI режиме. Кроме того для работы этого компонента необходимы следующие модули: Shared Memory, Process Control и POSIX. Если одно из требований не выполняется, то будет брошено исключение.
Основы использования ZendX_Console_Process_Unix
ZendX_Console_Process_Unix это абстрактный класс, который должен быть расширен пользователем. В нем находится единственный абстрактный метод _run(), который должен описывать реализуемый алгоритм обработки тех или иных данных. Так же в классе определенны методы для проверки состояния процесса и обмена переменными между основным и дочерними процессами.
Метод _run(), а так же каждый метод вызванный внутри него будет выполняться в отдельном процессе. Любой другой метод, вызванный в вашем приложении будет выполняться в родительском процессе.
Методы setVariable () и getVariable () могут быть использованы для передачи переменных между родительским и дочерними процессами. Для наблюдения за статусом дочернего процесса следует вызывать внутри него метод _setAlive () через короткие промежутки времени, таким образом родительский процесс сможет получить информацию о состоянии дочернего процесса посредством вызова метода getLastAlive (). Чтобы получить PID дочернего процесса, родитель может вызвать getPid().
+32
Information
- Rating
- Does not participate
- Location
- Харьков, Харьковская обл., Украина
- Registered
- Activity