Pull to refresh
135
0
Sam Lowry @samlowry

User

Send message

Заметки о метапрограммировании в Python

Reading time2 min
Views7K
По мере накопления опыта программирования на одном языке, все мы нарабатываем стандартные для себя приемы программирования. Чем выше наш опыт, тем больше количество, более разносторонни методы их работы. При переходе на другой язык, мы стараемся их воспроизвести. Иногда, такое бывает что часть из них неактуальна или неэффективна. Большую часть времени от изучения языка отнимают новые несвойственные прежним нам, приемы. Я хотел бы отметить некоторые особенности Python, которые для меня были не очевидны поначалу освоения.
Читать дальше →

Гринмоб — чем я могу помочь планете?

Reading time2 min
Views689
image
Хотел бы представить проект greenmob.ru. Это о том, как вы лично без особых усилий можете сделать нашу планету чуть лучше.

Помимо информационной, я попытался заложить в проект мотивирующую функцию. Под любой из идей вы можете поставить свою виртуальную подпись (типа как на petitiononline.com), тем самым вы обещаете самому себе и общественности следовать советам, изложенным в этой идее.

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

ENTrap — небольшая утилитка для Evernote

Reading time2 min
Views681
Данный топик может быть полезен активным пользователям Evernote, пытающимся использовать его чуть более шире, чем просто для ведения базы заметок, в частности для ведения дел в стиле GTD. Страница проекта: http://code.google.com/p/entrap/
Читать дальше →

10 шагов для защиты вашего WordPress блога

Reading time6 min
Views63K
Административная зона любого веб-приложения давно стала излюбленной мишенью для хакеров и её безопасность чрезвычайно заботит разработчиков. Это касается и WordPress — при сустановке нового блога система создает аккаунт администратора с уникальным случайно сгенерированным в реальном времени паролем, чем блокирует всеобщий доступ к настройкам системы, контролируя его c помощью страницы авторизации.

Эта статья сфокусирована на вопросах усиления безопасности WordPress — как административной панели, так и настроек блога, подразумевая все содержимое папки «wp-admin», которое отображается только после авторизации. Мы сознательно выделили фразу "после авторизации" — вы должны четко осознавать, что только один простой запрос отделяет «злого хакера» и админку всего вашего блога или сайта! А последняя защищена настолько сильно, насколько мощный пароль вы выбрали.

gilt-zu-schuetzen-administrationsbereich-in-wordpress

Чтобы в разы усложнить задачу взломщиков, мы предлагаем набор операций, которые вы можете выполнить вручную. Эти решения не гарантируют 100% защиту, но с их помощью вы заметно улучшите безопасность вашего блога.
Читать дальше →

UserJS. Часть I: Введение

Reading time3 min
Views14K
Это первая статья из серии, посвященной написанию пользовательских скриптов для Opera. Изначально планировалась одна единственная статья, но она уже перевалила за 10 экранов и все ещё дописывается.
  • Первая статья является кратким описанием пользовательских скриптов (далее userjs), их возможностей и соответствующих настроек Opera. Это вольный пересказ официальной документации. Все, кто написал хоть один userjs, могут с чистой совестью эту часть пропустить.
  • Вторая статья посвящена вопросам переиспользования кода в userjs, а также различным трюкам при написании пользовательских скриптов (далее userjs) для Opera, вроде сохранения настроек, доступа к буферу обмена и кросс-доменных запросов.
  • Третья статья посвящена вопросам безопасности при написании userjs, особенно при использовании продвинутых трюков, которые дают доступ к важным данным или файловой системе.
  • Четвертая статья посвящена userjs framework'у, который является готовой реализацией описанных трюков.

Статьи расчитаны на аудиторию, хорошо знающую javascript и DOM. Описаны только особенности использования javascript в userjs.
Читать дальше →

UserJS. Часть 4: libretki framework

Reading time8 min
Views1.7K
libretki — это framework, призванный упростить создание userjs и предоставить уже готовый набор полезных функций.

Другие статьи серии:

Ядро



Ядро системы представлено файлом libretki.core.js, который является развитием loader.js из второй статьи. Ядро также предоставляет некоторые базовые функции. Если все, что Вам нужно — это возможность подключать другие файлы, ядра достаточно.

Типовой скрипт с использованием libretki:
if (! ('libretki' in window)) { libretki = { __scripts: [] }; }
libretki.__scripts.push({
    name: 'habrahabr.example',
    requires: ['libretki.utilities'],

    init: function(unsafe) {
      // some code...

      libretki.core.namespace('habrahabr.example', {
        func: function() { /* ... */ },
      });
    }
});


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

Книга «Introduction to Information Retrieval»

Reading time1 min
Views6.3K
Оказывается, что есть отличная книжка по поисковым технологиям (Information Retrieval) от Cambridge University Press. Html и pdf версии лежат в свободном доступе. Работа над ней то ли еще ведется, то ли недавно закончена (последнее обновление — 7 апреля 2009). Книжка написана отличным английским языком, есть хорошие упражнения. В общем, рекомендую всем кому интересно как устроены Google и Yandex!

Html-версия — nlp.stanford.edu/IR-book/html/htmledition/irbook.html
PDF-версия (очень красивая, рекомендую!) — nlp.stanford.edu/IR-book/pdf/irbookonlinereading.pdf

А вот про Information Retrieval в википедии — en.wikipedia.org/wiki/Information_retrieval

ChatterBlocker или Вон из моей головы!

Reading time1 min
Views5.7K
Как-то привык я к тому, что предметы вокруг меня должны издавать звуки. Музыка это, или просто шум системника — не суть. Лишь бы тишина на уши не давила.

Но если шум системника сам по себе довольно ровный, то музыка (особенно вокальные треки) может здорово отвлекать.

А если ты не дома, а в офисе? Да еще с шумными соседями а–ля «Добрый день, — Марина, отдел закупок, мы бы хотели...» и в таком духе. Концентрация «магическим» образом улетучивается, оставляя после себя стресс и порой несделанную в срок работу.

Есть ли выход?

Выход есть!

Повесть о том, как Иван Иванович с Иваном Никифоровичем инвестиции искали. Часть 2

Reading time7 min
Views710
Повесть о том, как Иван Иванович с Иваном Никифоровичем инвестиции искали. Часть 1.

Первые блины


Итак, директор с товарищем С. отправились в Лондон, встречаться с воротилами бизнеса. Расчет был такой – люди, к которым отправились наши делегаты, в интернет-бизнесе разбирались слабо, кризисом в те времена и не пахло, истерика вокруг прибылей стартапов была на пике. Стоит заметить, что на тот момент из технической документации были только наброски идей и общее описание, в котором в общих чертах обрисовывались рамки проекта. Плюс смета на первичные расходы и примерная стоимость разработки на первые два года жизни.
Читать дальше →

Повесть о том, как Иван Иванович с Иваном Никифоровичем инвестиции искали

Reading time4 min
Views767
Ни для кого не секрет, что нынешнее IT-сообщество уже давно с головой погрузилось в лихорадку стартапов (чему кризис не особенно мешает), я лично не знаю ни одного человека из моего круга общения веб-ориентированных специалистов, который не имел бы своей гениальной идеи. Кто-то уже начал и с горящими глазами проводит ночи за программированием, некоторые вяло копаются в начатом год-два назад. Не хочу судить хорошо это или плохо и рассуждать о том, куда кто катится, просто хотелось бы рассказать одну историю из жизни стартаперов, выводы из которой предлагаю сделать самостоятельно.

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

Книга «Секреты веб-приложений Google»

Reading time3 min
Views872
Здравствуйте. Меня зовут Денис Балуев и я пишу книгу о веб-приложениях компании Google. Звучит как признание члена клуба анонимных алкоголиков, правда? Мне тоже нравится. О том, как создается книга, я с вашего позволения буду рассказывать в этом блоге. Даешь писательское реалити-шоу о том, как книга создается с нуля — от первых глав черновика до получения вкусно пахнущих типографской краской авторских экземпляров и отзывов первых читателей!

Я — непрофессиональный писатель. Со второго класса мечтал стать программистом и спустя десять лет все-таки стал им. Разрабатывал и внедрял системы управления предприятиями (ERP) и отношениями с клиентами (CRM). Затем занимался оптимизацией производственных процессов, а потому не понаслышке знаю, что такое кайзен и, пардон, муда. Кроме этого, я периодически писал статьи на технические темы в различные журналы — больше всего их печатал нежно любимый мной еще со школы журнал «Компьютерра». Также я совершенно случайно выиграл конкурс на лучший фантастический рассказ в журнале «Если». С тех пор «Яндекс» полон ссылок на аудиоверсию моего рассказа «Опоздавшие». Некоторые даже знают меня как автора блога LifeHack.ru — одного из первых в Рунете по тематике «взлома жизни».
Читать дальше →

phpThread: нити в PHP? Запросто

Reading time2 min
Views2.2K
Если вы хотите научиться писать многопоточные приложения на PHP или здорово упростить себе жизнь — статья для вас.

Раньше для этих целей я пользовался либо запуском несколько копий скрипта, либо же использовал pcntl на более низком уровне, чем хотелось бы. Это, а от части и Java-идеология работы с потоками, побудили меня к написанию пакета phpThread.
Читать дальше →

Evernote и «Вселисделал»: диктуйте заметки по телефону

Reading time3 min
Views3.9K
image

Перед нами постоянно стоит задача предлагать пользователям новые варианты для создания заметок в разных ситуациях. Уже есть клиентские приложения Evernote для разных платформ и мобильных устройств, тесная интеграция с операционными системами и браузерами — все это позволяет достаточно быстро и удобно создавать текстовые, аудио- и фотозаметки и синхронизировать их. Но есть одно «но». До сих пор пользователь все равно зависел от наличия Интернета. Кажется, нам помогли обойти и этот момент.

Да, действительно доступ к Интернету есть не всегда, но зато практически постоянно под рукой есть мобильный телефон. Итак, благодаря сервису «Вселисделал», теперь появилась возможность надиктовывать аудиозаметки и даже помечать их метками простым звонком на бесплатный номер. За несколько дней тестирования мы уже успели наиграться с этой функцией и остались в полном восторге. Самое подкупающее в этой возможности — простота и универсальность. Фиксировать свои мысли можно практически в любой ситуации — на ходу, за рулем в машине, на утренней пробежке и т. д.

Как это работает?

Для работы нужны связанные аккаунты в сервисах «Вселисделал» и, разумеется, Evernote. Небольшая инструкция о том как это сделать чуть ниже.
image
Когда все настроено, достаточно позвонить на бесплатный номер 8-800-100-3342 и после приветствия системы продиктовать пришедшую на ум мысль, предварив ее ключевым словом EVERNOTE (произносится как ЭВЕРНОУТ). Например: «ЭВЕРНОУТ. Не забыть взять на завтрашнюю встречу распечатку презентации. МЕТКА «важно». Через пару минут соответствующая заметка с распознанным текстом уже появится в Evernote, и ей будет назначена метка «важно». При этом к заметке будет прикреплен WAV-файл с исходной записью вашего голоса. Стоит отметить, что возможность добавлять заметки голосом доступна даже в базовом аккаунте «Вселисделал», то есть бесплатна для пользователей.
image

Как привязать аккаунт во «Вселисделал» к аккаунту Evernote?
Читать дальше →

Диджеинг в Ableton Live

Reading time12 min
Views57K
Доброго времени суток уважаемые хабрапользователи! Спешу поделиться с вами отличной статьей, которую написал товарищ Jackarus (TriminghamDJ Trimingham). Сам он к сожалению запостить не смог, поэтому пришлось это сделать мне. Так что если кто-то захочет поблагодарить автора статьи, помните что автор — Jackarus (надеюсь он объявиться в комментариях), а не я, помните кого плюсовать ;)

P.S. Заодно, пользуясь случаем, хочу извиниться перед автором статьи за огромную задержку в публикации.
Читать дальше →

«Правильный водитель». Дневник проекта. Часть 2. Разработка и поддержка.

Reading time2 min
Views598
Прошло две недели с момента официального старта моего проекта «Правильный водитель». Сегодня я хочу рассказать, во что обошлась мне разработка и наполнение стартовым содержанием «под ключ». Предыдущие заметки есть в моем блоге на Хабре.

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

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

Evernote в России: Слон доехал

Reading time3 min
Views11K
Сегодня наша команда официально запустила сервис Evernote на русском языке — www.evernote.com!

image

Не буду скрывать, мы внимательно отслеживали все упоминания о нашем детище на Хабрахабре, и рады, что многие уже успели оценить возможности «слона», хотя еще и на английском языке. Но поскольку развивался Evernote до последнего времени преимущественно в США, и в Рунете о нем пока знают немногие, имеет смысл рассказать подробнее. Рассказ и видео под катом.

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

Всего лишь десять строчек кода?

Reading time1 min
Views506
Венчурный капиталист Фред Уилсон очень хорошо высказался о том, насколько глупо судить о ценности стартапа, исходя только из технической сложности проекта. Он говорит, что среди многих гиков часто встречается пренебрежительное отношение к проекту, если тот технологически прост. Они говорят: «Да это всего лишь 10 строчек кода, я такое сделаю за один день» (как вариант — «да я такое делал ещё пять лет назад»). Это огромное заблуждение, потому что львиную долю стоимости проекта составляет вовсе не количество строчек кода, а аудитория проекта. Собрать аудиторию — вот в чём задача стартапа.

Фред Уилсон опубликовал свои рассуждения в развитием флейма относительно вчерашней новости об инвестициях в сервис по сокращению ссылок Bit.ly, который оценили в $8 млн. Флеймеры-гики настаивали, что такой простой сервис не может стоить таких больших денег. Собственно, подобные комментарии были даже на Хабре, и многие поддерживают данное мнение, хотя оно совершенно бессмысленно, ведь копирование того же самого кода в своём сервисе ничего не даёт, если вы не можете построить такую же аудиторию.

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

via Techdirt

Объединение пропускной способности двух интернет каналов и простая отказоустойчивость

Reading time5 min
Views84K
Есть у меня своя домашняя сеть, с linux сервером, и подключена она к интернет с помощью беспроводного соединения — на крыше антена и роутер, к серверу подключено витой парой. Все вобщем то неплохо, канал с гарантированой полосой в обоих направлениях, постоянный IP адрес, довольно надежный — падает редко. Но вот есть у него один минус — цена кусается.
Ценовая политика провайдера построена так, что для того, чтоб увеличить скорость в два раза — платить тоже надо в два раза больше. А скорости хочется больше! И надежности тоже — как то во время сильных заморозков роутеру стало «холодно» и интернета вечером и ночью небыло.
Поэтому задумал я провести домой второй интернет-канал, выбар пал на одного известного на Украине провайдера, предоставляющего доступ по ADSL. У него и тарифы недорогие и модем ADSL стоит недорого. Так я и сделал, подключился, воткнул ADLS модем в свич — все работает. Но от старого доброго беспроводного канала отказываться мне нехотелось, поэтому задумал я сделать так, чтоб интернет трафик шел сразу по обеим каналам, так, чтоб я мог воспользоваться суммарной пропускной способностью. Да еще и чтоб при падении одного канала всю нагрузку на себя брал другой.

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

Рисоваська, часть 3: Амазоновские веб-сервисы в действии

Reading time10 min
Views36K
В данной статье я расскажу, что же такое Amazon Web Services или сокращенно AWS, для чего это можно использовать, и приведу пошаговую инструкцию, как настроить их у себя с самого начала. В статье основной упор будет сделан на Amazon Elastic Compute Cloud или EC2 и Amazon Simple Storage Service или S3. Amazon CloudFront, являющийся логическим продолжением S3, хорошо рассмотрен в статье mish: Настраиваем CloudFront для работы с S3. С остальными амазоновскими сервисами вы можете познакомиться самостоятельно: Amazon SimpleDB, Amazon Simple Queue Service или SQS, а также другими сервисами Амазона. Данная статья является продолжением первой и второй статей. Итак:

Что такое Amazon Web Services


Это набор удобных сервисов, которые можно использовать как по отдельности, так и вместе. В первую очередь это «облачные вычисления» (анг. Elastic Compute Cloud). Что это значит? Это значит, что вы можете запустить в «облаке» любое кол-во компьютеров нужной вам конфигурации c нужной вам операционной системой всего за пару минут. Это действительно так. Время запуска одного инстанса (instance называется один виртуальный сервер в амазоне) обычно не превышает двух минут. Сразу после запуска инстанс начинает работать, к нему есть root-доступ по SSH или Remote Desktop, если там установлен Windows. Не правда ли, здорово! С момента запуска оплата за инстанс идет по часам. В любой момент вы можете остановить инстанс и деньги за его использование перестанут сниматься. Помимо времени работы инстанса, так же отдельно оплачивается входящий и исходящий трафик.
Читать дальше →

Information

Rating
Does not participate
Location
Таиланд
Registered
Activity