Как стать автором
Обновить
21
0
baddesigner @baddesigner

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

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

Компилятор на JavaScript с использованием ANTLR

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



В начале этого года я присоединилась к команде, работающей над MongoDB Compass — графическим интерфейсом для MongoDB. Пользователи Compass через Intercom запросили инструмент, позволяющий писать запросы к базе данных, используя любой удобный им язык программирования, поддерживаемый драйвером MongoDB. То есть нам нужна была возможность трансформировать (компилировать) язык Mongo Shell в другие языки и обратно.

Данная статья может стать как практическим руководством, помогающим при написании компилятора на JavaScript, так и теоретическим ресурсом, включающим основные понятия и принципы создания компиляторов. В конце приведен не только полный список всех используемых при написании материалов, а также ссылки на дополнительную литературу, направленную на более глубокое изучение вопроса. Информация в статье подается последовательно, начиная с исследования предметной области и далее постепенно усложняя функционал разрабатываемого в качестве примера приложения. Если во время прочтения вам кажется, что вы не улавливаете переход от одного шага к другому, вы можете обратиться к полной версии данной программы и возможно это поможет устранить возникший пробел.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии3

Как быть* компилятором — создание компилятора на JavaScript

Время на прочтение8 мин
Количество просмотров12K
Привет, Хабр! Представляю вашему вниманию перевод статьи "How to be* a compiler — make a compiler with JavaScript" автора Mariko Kosaka.

*Все верно! Быть компилятором — это здорово!

Дело было одним замечательным воскресеным днем в Бушвике, Бруклин. В моем местном книжном магазине я наткнулась на книгу Джона Маэда “Design by Numbers”. Это была пошаговая инструкция по изучению DBN — языка программирования, созданного в конце 90-х в MIT Media Lab для визуального представления концепций компьютерного программирования.
Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии19

30 советов, как эффективно трудиться и не сойти с ума, работая дома

Время на прочтение5 мин
Количество просмотров16K
Тем, кому знакомы прелести работы дома (на себя, фрилансером или удаленно на ставку), также знаком соблазн поваляться на диване и затягивание сроков.

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

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

Так как же работать эффективно и в то же время не довести себя до нервного истощения? Я недавно уволился с постоянной работы и поэтому спросил совета у читателей своего блога. Они, как и всегда, откликнулись на мою просьбу, и я отобрал наиболее понравившиеся мне рекомендации, чтобы люди могли использовать их как руководство (ну, я тоже собираюсь руководствоваться этими советами).
Читать дальше →
Всего голосов 125: ↑123 и ↓2+121
Комментарии198

Современный подход к визуальной идентификации бренда

Время на прочтение16 мин
Количество просмотров26K
Природа тенденций * Мир стал другим * Матерные слова * Прощай, привычный логотип * Сквозная система визуальной идентификации — что это? * Решительное «нет» хиромантии * Открытый для фантазии * Учимся понимать клиента


Под катом много букв и картинок про то, что такое хорошо и что такое плохо.
Всего голосов 84: ↑77 и ↓7+70
Комментарии72

Маркетинг в ИТ. Часть 3. Тройная продажа: первая, последняя, больше никогда.

Время на прочтение3 мин
Количество просмотров783
Тройной продажи очень легко достичь и крайне трудно избежать. Как правило, тройная продажа вызывается неадекватным позиционированием и плохим таргетингом. Но основная причина тройной продажи – оторванность маркетинга от продавцов.
Читать дальше →
Всего голосов 10: ↑6 и ↓4+2
Комментарии31

Цифровой контент. За что же мы платим? И о разнице между продуктом и информацией о нём.

Время на прочтение3 мин
Количество просмотров997
Тут в связи с этими обсуждениями нячэсных провайдеров подняли тему, про которую я тут давно собирался порядок в голове навести, а именно: в случаях, когда человек производит информацию в основном а не булочки с корицей печёт – что именно будет являться продуктом, а что сопутствующей информацией рекламного, по идее, характера?

То есть в случае с книгами на бумаге, музыкой на виниле, постерами на ватмане, майками с шелкографией, билетами в кинотеатры, значками на сумке и концертами в клубах всё понятно – тут у нас без сомнения продукт, который заметит даже слепоглухонемой кинестетик. А вот когда речь идёт о mp3 файлах (не важно, в сети они глобальной или локальной, на сервере они, винчестере с которым друг зашёл в гости или на том же cdr в магазине куплены), о книжках в html или журналах в pdf, о фильмах, которые смотришь на ipod nano в метро и о многом-многом другом, что вроде как и творчество и работа автора по идее должна быть оплачена, но и копируется оно всё легче лёгкого и не совсем понятно почему нематериальная копия должна стоить денег – вот тут у нас мнения разделились.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии83

3 способа увеличить лояльность посетителей с помощью контента

Время на прочтение2 мин
Количество просмотров1.8K
Знаете, сколько времени тратит пользователь на предварительную оценку сайта после его загрузки? Для оценки того, стоит ли искать на вашем сайте нужную ему здесь и сейчас информацию? Одну двадцатую секунды. Это критически малая величина. Следовательно, есть всего три вещи, способные удержать его внимание: запоминающийся дизайн, качественная структура, которая за одно мгновение приведет пользователя к желаемой точке его путешествия по сайту, или же интересный, бросающийся в глаза контент. Вот о нем и поговорим.

Как показал опыт, в наше тяжелое, наполненное террабайтами информации время, пользователи стали ленивы и предвзяты. Статья больше, чем на пару страниц должна быть просто-таки открытием в своей области, чтобы ее дочитали до конца больше половины пользователей, а шутка должна быть действительно смешной, чтобы ее начали пересылать друг другу. Настал ад для контент-менеджеров и рай для сайтов типа news2.ru или digg.com, где ленивых пользователей уже ждет специально одобренный другими пользователями, а значит, заведомо интересный контент. (Даже если одобрили его не обычные пользователи, а SMO-оптимизаторы, нанятые для продвижения того или иного сайта в web 2.0 ресурсах). Информации все больше, а времени все меньше. <>

N способов...
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии10

Маркетинг из уст в уста

Время на прочтение1 мин
Количество просмотров639
Хороших продуктов не существует, до тех пор пока они не станут таковыми в головах потребителей. Известная истина формирует новое направление в маркетинге. Это направление призвано заставить потребителей воспринимать товар или услугу выдающимся из ряда подобных товаров и услуг, делать потребителей слепыми поклонниками бренда. В благодарность за ваше существование они обеспечат вас бесплатной рекламой (а конкурентов — анитирекламой), будет исправно покупать каждый новый продукт за любые деньги. Это — не брендинг. Это — «изустный» маркетинг, верх маркетингового искусства.

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

И удачи вашему бренду, даже если единственный бренд, который у вас есть — это вы сами.
Всего голосов 8: ↑3 и ↓5-2
Комментарии8

Оптимизируем Vista

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

Предисловие

Сколько сотен раз слышал, как Windows Vista ругают за ее медлительность, «глючность», несовместимость, неудобство и прочее. Признаться честно, я и сам до недавнего времени был, мягко говоря, не в восторге от Vista, пытался ее использовать но потом от нее отказался.



Но два месяца назад по работе пришлось вплотную столкнуться с Vista, и я заинтересовался » а как можно заставить ее работать хорошо? И вот, по прошествии двух месяцев, хочу поделится с вами своим опытом и надеюсь получить и от вас полезные советы. Если вы

Уверен, многие из вас уже столкнулись или еще столкнутся с необходимостью использовать Vista, поэтому данная статья будет интересна и тем, кто эту ОС не используют. Кстати, далее будет совет, как использовать Windows Vista легально в течении 120 дней!

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

Сразу отмечу, что не хочу никого убедить использовать Vista или вызвать холивар — если кому-то данная тема не интересна, просто пройдите мимо, пожалуйста. Спасибо.

UPD спустя час: удивительно, как любят ставить минусы топикам про Vista, где ее не «опускают»! А то что это полезная многим статья про все более широко распространяющуюся ОС — видно некоторым начхать :(
UPD спустя четыре часа: спасибо за позитивную оценку статьи, жду большего количество полезных дополнений к ней :)
UPD спустя почти неделю :) ускоряем копирование в Висте! Наконец-то однокилобайтный ярлык не удаляется по 30 секунд :) Пуск->Панель управления (не классическая)->Программы->Включение или отключение компонентов Windows. Снимаем галку «Удаленное разностное сжатие». Ура.

Думаю над продолжением статьи, уже есть наработки :)
Читать дальше →
Всего голосов 179: ↑154 и ↓25+129
Комментарии235

Firefox3. 5 штучек помогающих выжить

Время на прочтение2 мин
Количество просмотров556
Все любят Firefox, особенно за то, что его можно постоянно улучшать самому, без спроса у производителя. (Хотя Опера тоже такое, вроде разрешает, но Опера не наш выбор). В новой версии всякого наменялось, но исследователи глубин FF уже нашли методы как упростить или украсить свой браузер. Достаточно лишь понимать, что хотим и зачем мы это хотим. ;)

1. Автоподстановка в адресной строке при вводе.
* Введите about:config в адресной строке.
* Нажмите “Я обещаю, что буду осторожен!”. (англ. вариант “I’ll be careful, I promise!”)
* Введите в поле поиска текст browser.urlbar.autoFill. Двойной клик по записи установит значение равным true.

Теперь у вас будет не только выпадающий список адресов, но и автоподстановка похожего адреса.

2. Включаем проверку правописания в текстовых полях

По умолчанию Firefox проводит проверку только в многострочных полях. Если Вы хотите, чтобы Firefox проверял и однострочные поля, то вот:
* Введите about:config в адресной строке.
* Нажмите “Я обещаю, что буду осторожен!”. (англ. вариант “I’ll be careful, I promise!”)
* введите в поле поиска текст layout.spellcheckDefault. Двойной клик по записи и установите значение равным 2.
3. Тюним режим full screen

По умолчанию Firefox 3 прячет адресную строку, когда вы в полноэкранном режиме. Исправляем:
* Введите about:config в адресной строке.
* Нажмите “Я обещаю, что буду осторожен!”. (англ. вариант “I’ll be careful, I promise!”)

ведите в поле поиска текст browser.fullscreen.autohide Двойной клик по записи установит значение равным false.
* для отключения анимации при скрытии установите browser.fullscreen.animateUp равным 0.
4. Включаем поддержку профилей цвета
Теперь Firefox3 есть поддержка профилей цвета, которые помогут лучше отображать графические изображения. Включаем:
* Введите about:config в адресной строке.
* Нажмите “Я обещаю, что буду осторожен!”. (англ. вариант “I’ll be careful, I promise!”)
* ведите в поле поиска текст gfx.color_management.enabled Двойной клик по записи установит значение равным true.
5. Уменьшаем размер кнопки назад

Меня лично раздражает сей огромный баттон, исправляем: щелчком мыши по правой кнопке на тулбаре и выбираем “Настроить”. Нажимаем чекбокс с “маленькие иконки”. Помогает

Оригинал

к коментарию ckald
Эта фича позволяет ускорить загрузку страниц на 10-40%. Работала в старых версиях ФФ, но как в 3 — сам не пробовал.

1. Запускаем Firefox
2. В адресной строке пишем about:config и жмем Enter
3. Для версий ниже 1.5 находим параметр browser.tabs.showSingleWindowModePrefs
4. Двойным щелчком мыши устанавливаем значение равным true.
5. Находим параметры: network.http.pipelining, network.http.proxy.pipelining
6. Двойным щелчком мыши устанавливаем значения обоих равным true.
7. Ищем network.http.pipelining.maxrequests
8. Двойным щелчком мыши открываем редактирование и меняем значение с 4 на 100.
Всего голосов 25: ↑20 и ↓5+15
Комментарии9

Samorost и все-все-все

Время на прочтение2 мин
Количество просмотров2.2K
Samorost Samorost 2 Machinarium

Кто знает и любит игры серии Samorost, тому я мысленно жму руку. Чудесные по атмосфере Flash-игрушки, потрясающие по задумке и реализации. Если кто еще не слышал об этих Flash-квестах, настоятельно рекомендую поиграть как в первый Samorost, так и в его продолжение — Samorost 2.

Не так давно я задался вопросом, а не выйдет ли вскорости третья часть этой чудесной серии. Оказалось, что пока нет — авторы игры, студия Amanita Design, сейчас работают над полноценной, как они сами выразились, приключенческой игрой Machinarium, выход которой намечен на первую половину 2009 года. Судя по скриншотам, эта игрушка должна стать отличным образцом рисованных квестов, которые из-за массовой «3D-зации» чуть было не канули в Лету (чту память по двухмерным «Петьке и Василие Ивановиче», спасающим Галактику, и рисованным братьям Пилотам).

Впрочем, двухсерийный «Саморост» и будущий «Машинариум» —
Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии41

20-70-10 (не путать с 90-60-90)

Время на прочтение2 мин
Количество просмотров1.9K
Есть в Америке такой консультант (ранее — CEO General Electric) по вопросам управления, зовут его Джек Вэлч (Jack Welch).  И была им придумана, на основании многолетнего опыта работы со многими компаниями, система фундаментальных принципов управления. Один из этих принципов «дифференциация» и о нем мне хотелось бы здесь поговорить.

Если коротко, то суть дифференциации в том, что всех сотрудников следует проранжировать в пропорциях 20, 70 и 10%, объявить и объяснить их статус и после этого:

  • Лучшую «двадцатку» всячески поощрять и промотировать, вознаграждать, поддерживать, рекламировать.
  • Костяк из «семидесятников» развивать, стимулировать морковью того, что они могут влиться в двадцатку.  Развивать, учить, тренинговать их надо активно, а вот поощрять и вознаграждать — умеренно.
  • От «десятки аутсайдеров»-же надо избавляться.


Причем процесс этот надо вести постоянно, прореживая ряды каждый год.

Джэк утверждает, что этот подход намного более честен и справедлив (настолько, насколько управление персоналом может быть «честным» или «справедливым») в отношении «отстающих» — как минимум он дает им шанс найти место работы, где им действительно хорошо, где они могут себя реализовать.  Альтернатива — дожить до седых волос и в 50 лет оказаться на рынке труда, где твои умения и навуке ненужны никому.

Мнения в отношении этого принципа, как и следует ожидать, весьма полярны: этот подход, скорее, либо нравится, либо нет.  Быть где-то по середине сложно.  Обычно, аргумент против выстраиванья всех под распределение 20-70-10 сводится к тому, что после 2-3 лет ни к каким значительным полбожительным изменениям оно не приводит.  Дескать, вы все глубже и глубже вырезаете «семидесятников» — ведь после года-двух никого из 10-процентного балласта быть уже недолжно.

Но это утверждение, очевидно, исходит из того, что никакой новой крови в организацию не вливается.  В частности, Орен Харари говорит:

… forcing the ratings into a bell curve might not be necessary after the fifth year—or, according to the research, certainly not after the tenth. The leader should always track the team carefully, and if it looks like performance is starting to get ragged, or some people are slipping to the bottom, then going back to forced rankings might be the antidote. The key is flexibility in your quest for top performance.
Я полностью согласен с его замечанием на счет гибкости, но мне кажется, что его аргумент выкован в условиях невозможности заменить те 10%, котрые он уволил, или которые ушли сами.  Я сам был в такой ситуации и хорошо понимаю его точку зрения.  Очень часто, особенно когда компания находится под очень сильным давлением со стороны акционеров и аналитиков, увольнение отстающих рассматривается только как способ сокращения издержек, а не как способ повышения производительности труда, эффективности команды.  И, конечно, в такой ситуации насильственное ранжирование приведет к снижению морали, к тому, что будут уходить и «передовики».

Именно поэтому «путь Вэлча» нельзя использовать частями, только весь целиком: Стремление к победе, Четкое представление о целях и ценностях, Честность и открытость, Дифференциация, Гласность общения.

А как думаете вы?
Всего голосов 9: ↑7 и ↓2+5
Комментарии9

Пользователям rapidshare.com, filefactory.com и Firefox

Время на прочтение1 мин
Количество просмотров566
Автоматическая проверка ссылок на возможность скачивания.

Ставим расширение Greasemonkey
На него скрипт Rapidshare Links Checker

После этого посещая страницу содержащую ссылки rapidshare.com* и filefactory.com* в фоновом режиме будет происходить проверка этих ссылок на возможность скачивания.
пример
Читать дальше →
Всего голосов 48: ↑43 и ↓5+38
Комментарии24

Сам себе Gmail

Время на прочтение4 мин
Количество просмотров3.5K
Как сделать себе 100 почтовых ящиков вида моё@имя.ru, каждый объемом 6,5 гигабайт, и платить за это всего 1 рубль в день?

Под катом — рассказываю пошагово. Для тех, кто не знал про это, или знал, но неохота было разбираться.

Зачем? Для личных целей — чтобы на визитке не стыдно было печатать какой-нибудь «vasya-p1982-2@bk.ru». Для организаций тоже пригодится. В компании, которой я работал, на весь штат сотрудников на хостинге было всего 200 мегабайт места под почту. Этого было, разумеется, недостаточно, и сисадминша ходила и гавкала на сотрудников, снижая суммарный объем позитива во Вселенной, что абсолютно недопустимо :)

Читать дальше →
Всего голосов 164: ↑113 и ↓51+62
Комментарии141

Схема продвижения сайта

Время на прочтение1 мин
Количество просмотров1.7K
Спустя некоторое время публикую 2 версию схемы. Если вам есть что добавить — с удовольствием жду от вас комментариев!
Схема продвижения сайта
Оригинал по ссылке: extrastat.ru/scheme2.gif
Всего голосов 43: ↑36 и ↓7+29
Комментарии61

Color Browser — программа позволяет дизайнерам подбирать приятные палитры для сайтов.

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


Интересная программа на технологии Adobe AIR. Суть программы Color Browser заключается в приятном подборе палитр для сайта или дизайна. Сделана программа как приложения к сайту ColourLovers (где можно скачать чужие палитры)

Скачать программу Adobe AIR можно на сайте Adobe а Color Browser от сюда.
После установки Adobe AIR запустите файл ColorBrowser.air

Другие приложения работающие на Adobe AIR можно посмотреть здесь.
Источник: mmaxis.info
Всего голосов 59: ↑49 и ↓10+39
Комментарии49

FeedMates.ru — Превратите свой контент в рекламу!

Время на прочтение1 мин
Количество просмотров444
FeedMates.ru — это программа, участие в которой превращает контент вашего блога в инструмент контекстной рекламы в других блогах.

Добавьте свой RSS-канал в базу участников FeedMates.ru и встречайте качественную целевую аудиторию на своем ресурсе. Записи вашего RSS-канала автоматически становятся контекстными рекламными объявлениями и отображаются на страницах ресурсов других участников.

FeedMates

Есть плагины для WordPress и Drupal. А также, подробное руководство по установке сервиса на другие движки.

Сервис конечно же, очень полезный и перспективный. Поэтому, не откладывайте - регистрируйтесь!.

За новодку на сервис, огромное спасибо SolarWind.

Мой блог про заработок в интернете
Всего голосов 18: ↑14 и ↓4+10
Комментарии10

Информация

В рейтинге
Не участвует
Откуда
Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность