Pull to refresh
23
0
Send message

Станция УВБ-76 подала четвёртый сигнал за 30 лет

Reading time1 min
Views159K
Коротковолновая радиостанция УВБ-76 расположена в деревне Поварово в 40 км к северо-западу от Москвы (фото со спутника). Среди радиолюбителей всего мира известна как «жужжалка» (The Buzzer). Начиная с 1982 года она круглосуточно передаёт в эфир непрерывный шум на частоте 4625 кГц (линк на онлайн-трансляцию). Жужжащий звук длится 0,8 секунды, прерывается на 1-1,3 секунды и повторяется 21-34 раза в минуту. Назначение станции неизвестно.

За все 28 лет вещания было зарегистрировано всего три случая, когда в эфир вышло голосовое сообщение. Каждый раз это было некое зашифрованное послание на русском языке. И вот 23 августа 2010 года это случилось снова.

Как сообщают западные радиолюбители, примерно в 17:32 GMT станция УВБ-76 передала следующее сообщение: «УВБ-76, УВБ-76 — 93 882 НАИМИНА 74 14 35 74 — 9 3 8 8 2 Николай, Анна, Иван, Михаил, Иван, Николай, Анна, 7, 4, 1, 4, 3, 5, 7, 4» (mp3).
Читать дальше →
Total votes 243: ↑230 and ↓13+217
Comments374

6 способов убить Ваши сервера — познаем масштабируемость трудным путем

Reading time5 min
Views18K
Узнать, как отмасштабировать Ваше приложение, не имея при этом никакого опыта, — это очень нелегко. Сейчас есть много сайтов, посвященных этим вопросам, но, к сожалению, не существует решения, которое подходит для всех случаев. Вам по-прежнему необходимо самому находить решения, которые подойдут под Ваши требования. Так же, как и мне.

Несколько лет назад ко мне пришел мой босс и сказал: «У нас есть новый проект для тебя. Это перенос сайта, который уже имеет 1 миллион посетителей в месяц. Тебенеобходимо его перенести и убедиться, что посещаемость может вырасти в будущем без всяких проблем.» Я уже был опытным программистом, но не имел никакого опыта в области масштабируемости. И мне пришлось познавать масштабируемость трудным путем.
Читать дальше →
Total votes 158: ↑148 and ↓10+138
Comments73

QuickAdm — быстрые универсальные админки

Reading time1 min
Views14K
В процессе работы, я как-то набрел на проект phpMyEdit — web-интерфейс, позволяющий относительно просто поднимать админки для табличных данных.

После доработки для себя, родилось решение, которое я назвал QuickAdm. Оно делает за очень короткие сроки админки через web-интерфейс к таблицам, имеет простейшую ACL и защиту паролем.

Таблицы называются объектами, их поля — свойствами. Имя объекта/свойства равно имени таблицы и поля в MySQL, поэтому вводить нужно латиницей.

Потестить это можно тут: http://yamozg.ru/adm (логин/пароль для чтения reader/reader, админские admin/admin — удаление таблиц там не работает, ибо запрещено на уровне БД).

Скачать вот тут: http://yamozg.ru/quickadm.tar.gz (настроить нужно config.php и выполнить quickadm.sql в нужной базе, приложение расчитано на работу в папке /adm/ относительно корня сайта).

Код изяществом не отличается, написан как адаптер поверх этого phpMyEdit, поэтому прошу особо не пинать. Думаю, кому-нибудь может пригодится.
Total votes 72: ↑46 and ↓26+20
Comments53

Социальные игры: Земля в опасности — 2!

Reading time3 min
Views863
Это продолжение истории про то, как мы втроем (классическим треугольником из флешера, юниксоида и художника) сделали игру для социальных сетей. Прошло два месяца и хочется поделиться опытом поиска партнеров для развития: оказывается это вполне реально, спасибо Хабру!
Читать дальше →
Total votes 55: ↑45 and ↓10+35
Comments44

Создание игры на Javascript Canvas

Reading time13 min
Views70K

Здравствуйте! Я предлагаю вам со мной создать небольшую казуальную игру на нескольких человек за одним компьютером на Javascript Canvas.
В статье я пошагово разобрала процесс создания такой игры при помощи MooTools и LibCanvas, останавливаясь на каждом мелком действии, объясняя причины и логику добавления нового и рефакторинга существующего кода.
Читать дальше →
Total votes 122: ↑111 and ↓11+100
Comments76

LLVM изнутри: как это работает

Reading time10 min
Views27K
Приветствую хабраюзеров, в этой статье пойдет речь о внутреннем устройстве компилятора LLVM. О том, что LLVM вообще такое, можно прочитать здесь или на llvm.org. Как известно, LLVM (условно) состоит из трех частей — байткода, стратегии компиляции и окружения aka LLVM infrastructure. Я рассмотрю последнее.

Содержание:
  • Сборка LLVM
  • Привязка к Eclipse
  • Архитектура окружения
  • LLVM API
  • Оптимизация Hello, World!
Читать дальше →
Total votes 59: ↑54 and ↓5+49
Comments18

Пишем свою ОС: Выпуск 1

Reading time6 min
Views272K
Данный цикл статей посвящён низкоуровневому программированию, то есть архитектуре компьютера, устройству операционных систем, программированию на языке ассемблера и смежным областям. Пока что написанием занимаются два хабраюзера — iley и pehat. Для многих старшеклассников, студентов, да и профессиональных программистов эти темы оказываются весьма сложными при обучении. Существует много литературы и курсов, посвящённых низкоуровневому программированию, но по ним сложно составить полную и всеохватывающую картину. Сложно, прочитав одну-две книги по ассемблеру и операционным системам, хотя бы в общих чертах представить, как же на самом деле работает эта сложная система из железа, кремния и множества программ — компьютер.

Каждый решает проблему обучения по-своему. Кто-то читает много литературы, кто-то старается поскорее перейти к практике и разбираться по ходу дела, кто-то пытается объяснять друзьям всё, что сам изучает. А мы решили совместить эти подходы. Итак, в этом курсе статей мы будем шаг за шагом демонстрировать, как пишется простая операционная система. Статьи будут носить обзорный характер, то есть в них не будет исчерпывающих теоретических сведений, однако мы будем всегда стараться предоставить ссылки на хорошие теоретические материалы и ответить на все возникающие вопросы. Чёткого плана у нас нет, так что многие важные решения будут приниматься по ходу дела, с учётом ваших отзывов.
Читать дальше →
Total votes 293: ↑282 and ↓11+271
Comments225

Настройка и масштабирование PostgreSQL

Reading time1 min
Views4.2K
Написал небольшой мануал по настройке и масштабированию PostgreSQL. Сподвигло меня на это то, что материала по этой теме мало, он устарел или его просто нет.

Скачать можно здесь:
http://github.com/le0pard/postgresql_book/raw/master/postgresql.pdf
Исходники:
http://github.com/le0pard/postgresql_book/

Страница:
http://postgresql.leopard.in.ua/
Total votes 84: ↑83 and ↓1+82
Comments27

Как собрать Кубик Рубика 5х5х5 (часть 1)

Reading time8 min
Views41K
В далеком 2008 году в мои руки попал кубик рубика нестандартных размеров. Как собирать такое чудо, я тогда и понятия не имел. Поначалу мы с друзьями собирали его частично, не имея понятий об алгоритме сборки, но потом захотелось всё-таки научиться собирать его полностью. Через гугл я нашёл некоторое подобие алгоритма сборки, но он к сожалению был неполный и грешил неточностями. Некоторое время анализировав нагугленное и алгоритм классической сборки кубика 3х3х3 я осознал полный алгоритм сборки куба не только 5х5х5, но и 4х4х4 (хотя у меня под рукой не было такого куба, я написал программу для моделирования такого кубика в 3D и проверил алгоритм). Всем, кто хотел бы научиться собирать такой кубик — добро пожаловать под кат.
Читать дальше →
Total votes 248: ↑231 and ↓17+214
Comments72

Type Folly — изумительно простой онлайн редактор CSS3

Reading time2 min
Views2.7K



По собственной инициативе выкладываю на суд сообщества проект моего друга, со сложно выговариваемым именем Mircea Piturca.

Встречайте: Type Folly — очень простой и удобный онлайн редактор CSS. Для новичков самое оно.

UPD: Автор внес изменения и поправил баги. Спасибо Хабрасообщству.

Или если верстальщик заболел, например...
Total votes 103: ↑95 and ↓8+87
Comments40

Правильная обработка ошибок в PHP

Reading time7 min
Views33K

Что я понимаю под правильной обработкой:


  • Универсальное решение, которое можно вставить в любой существующий код;
  • Легко расширяемое решение;
  • В PHP аж три «механизма ошибок»: собственно ошибки (error), исключения (exception) и утверждения (assertion). Свести три механизма к одному — exception. В комментариях к предыдущей статье на эту тему выражалось мнение, что exception это плохой и/или сложный метод обработки ошибок. Я так не считаю и готов это обсудить в комментариях;
  • Опциональное логирование;
  • Общий обработчик exception, который будет поддерживать разные форматы вывода и debug/production режимы;
  • В debug режиме должен выводится trace. Требования к trace: компактный, понятный и по возможности ссылки на открытие файлов в IDE.

Теперь по порядку
Total votes 105: ↑84 and ↓21+63
Comments102

Underscore.js — библиотека, которая так хороша, что должна быть вне закона

Reading time3 min
Views50K
Каждый, кому приходилось писать объемные куски осмысленного кода на javascript, рано или поздно понимал, что ему многого не хватает в этом языке или просто неудобны некоторые врожденные конструкции. Для сглаживания шероховатостей применяются jQuery, Prototype, MooTools etc. Кто-то уже мало представляет себе, как можно кодить без них. Сегодня я расскажу о еще одной маааленькой библиотечке, которая делает мир javascript-программиста еще прекраснее. Речь пойдет о Underscore.js
Go ahead, make my day
Total votes 177: ↑163 and ↓14+149
Comments51

Социальные игры: Земля в опасности!

Reading time4 min
Views1.2K
Однажды в ноябре 2009 в одной комнате собрались художник, юниксоид и флешер. Объединяло их то, что они в одночасье остались без работы, поэтому основной вопрос звучал классически: кто виноват и что делать? Разобравшись с первой частью повестки того дня, мы перешли ко второй — что делать? Конечно, было решено делать игру для соцсетей, благо опыта для этого у нас хватало.
Но какую? Продолжение под катом!
Total votes 63: ↑39 and ↓24+15
Comments51

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

Reading time10 min
Views148K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →
Total votes 214: ↑200 and ↓14+186
Comments131

Дуэт OGRE 3D и SDL

Reading time7 min
Views8K
В последнее время тут стали появляться статьи, связанные с движком OGRE, в т.ч. и пост по созданию простейшей программы, поэтому я решил не откладывать дело в долгий ящик и написать эту статью. Когда-то не так давно я уже писал небольшой поверхностный обзор библиотеки SDL, и здесь, в качестве продолжения, приведу конкретный пример использования этой библиотеки, а именно — как заставить её работать вместе с движком.
Немало текста и много кода
Total votes 33: ↑31 and ↓2+29
Comments15

Ogre 3D. Серия обучающих статей. Выпуск 1

Reading time3 min
Views21K
В топике прозвучала просьба написать какие-нибудь статьи про Ogre 3D.
В первой статье я расскажу о установке Ogre и создании простейшего приложения использующего Ogre.
Читать дальше →
Total votes 51: ↑43 and ↓8+35
Comments11

Трехмерный движок для Флеша — Papervision3D. Как и с чем его едят

Reading time6 min
Views12K


Papervision3D — это библиотека классов для ActionScript 3.0, которая позволяет создавать полноценные 3D флеш-ролики.
Таким образом пользователю не требуется качать какие-то альтернативные плагины (как это было с VRML, например), кроме собственно Flash Player'a.

Итак, что же повзоляет нам Papervision3D:

— Добавлять во флеш-ролик встроенные примитивы: Plane, Sphere, Cylinder, Cone, Cube, Paperplane, Arrow
— Импортировать модели созданные в 3D-редакторах, вместе с анимацией.
— Накладывать на объекты в качестве материалов однородные цвета, битмапы, мувиклипы и даже потоковое видео
— Использовать источники света
— Накладывать встроенные во флеш фильтры (Blur, Glow и т.п.) на 3D объекты
— Управлять отдельными вершинами и фейсами объектов. Пример
— Назначать на 3D объекты и материалы обработчики событий (клик, наведение мышки и т.п.)

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

В данной обзорной статье я хочу рассказать немного о самом движке и показать его использование, на примере создания вращающейся сферы. Предполагается, что читатель знаком с основами программирования на ActionScript 3.0

Читать дальше →
Total votes 79: ↑71 and ↓8+63
Comments49

Singleton и Late static binding

Reading time3 min
Views8.1K
Количество Singleton'ов в проекте зачастую прямо пропорционально его сложности и размеру. Естественно, что описывать закрытый конструктор, статическое свойство-объект и метод его получения для сколь-либо ощутимого количества классов немного утомительно, да и пожалуй неверно. Отсюда встаёт вопрос: как «вынести за скобки» реализацию Singleton'а?
Читать дальше →
Total votes 58: ↑43 and ↓15+28
Comments61

10+ удобных онлайн-редакторов для программистов

Reading time3 min
Views153K
Как у разработчика, очевидно, что ваш основной рабочий инструмент, который позволит вам быстро идею превратить в код: текстовый редактор. Время идёт, и теперь нам доступно множество онлайновых текстовых редакторов, которые могут помочь вам создавать свой код с любого компьютера, имеющего доступ в интернет. В этой статье рассмотрим более 10 таких редакторов.

Amy Editor


Созданый в 2007 Петром Кронторадом (Petr Krontorad), Amy Editor продвинутый редактор с интерфейсом в стиле Mac. Amy Editor имеет в наличие кучу полезных опций, такие как нумерация строк, подсветка синтаксиса, сниппеты для более чем 20 языков, совместное использование и прочее.
Ami Editor
» http://www.amyeditor.com

Под катом ещё 11
Total votes 116: ↑105 and ↓11+94
Comments56

Ох уж этот javascript

Reading time1 min
Views17K
Считаете себя гуру JS'а? Попробуйте предсказать результаты следующих операций:

Number.MIN_VALUE > 0; // true or false?

typeof null; // what type?
null === Object; // true or false?

// и самый сок

NaN === NaN; // true or false?

typeof NaN; // what type?


* This source code was highlighted with Source Code Highlighter.


Сомневаетесь? Тогда именно для вас Брайан Леру (Brian Leroux) создал WTFJS — сайт, содержащий коллекцию странностей JS. «JavaScript — это язык, который мы любим несмотря на все его ненавистные особенности».

Для нетерпеливых ответы под катом.

Подглядеть
Total votes 140: ↑106 and ↓34+72
Comments122

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity