После топика Бумбурума о своем домашнем офисе, думаю многие фрилансеры Хабра озадачились обустройством своего рабочего места. Представляю вам подборку фотографий интересных домашних офисов (в основном из США и Канады), большинство из которых реально реализовать и в российских условиях.
Shmavon Gazanchyan @MunGell
Manager
Опыт разработки для WP7 или gMaps тру стори
10 min
4.8KМы — Алексей Страх и Александр (часто Алексей :) ) Сороколетов — авторы gMaps, одного из самых популярных приложений для Windows Phone 7 в Европе. Занимаемся любимым делом — разработкой приложения для WP7 и хотим поделиться своим опытом и историей создания gMaps. Приходите на Windows Phone Camp 5 сентября – мы там лично все расскажем и ответим на Ваши вопросы.
+46
50 цитат о программировании всех времён
6 min
159KTranslation
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.
50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook
49. Lisp — это не язык, а строительный материал.
— Alan Kay
48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook
49. Lisp — это не язык, а строительный материал.
— Alan Kay
48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
+328
Швейцарские физики превратили Nokia N9 в квантовый генератор случайных чисел
2 min
34KВ сфере компьютерной безопасности использование генератора случайных чисел (ГСЧ) является основой для создания любой криптографической системы. К примеру, ГСЧ используются для защиты личных данных при обработке транзакций с кредитных карт, совершенных через Интернет. Хотя, не вам нам объяснять.
Интересная новость из области разработки генераторов случайных чисел пришла недавно из Швейцарии: физики из Женевского университета нашли способ получать случайные числа, используя принцип квантовой неопределённости при обработке сигнала с сенсора цифровой камеры Nokia N9.
Давайте попробуем разобраться, что же в этом такого.
Интересная новость из области разработки генераторов случайных чисел пришла недавно из Швейцарии: физики из Женевского университета нашли способ получать случайные числа, используя принцип квантовой неопределённости при обработке сигнала с сенсора цифровой камеры Nokia N9.
Давайте попробуем разобраться, что же в этом такого.
+12
Принципы написания кода
8 min
67KПрочитав очередные вредные советы про стандарты оформления кода (раз, два, тысячи их), я не смог удержаться, чтобы не поделиться своими измышлениями на эту тему. Долгие годы я вынашивал в своём подсознании чувство «что-то тут не так». И вот, пришло время определиться с тем, что не так, и почему. Рискуя быть закиданным тухлыми бананами, я всё же пишу эту статью тут, а не в своём личном блоге, потому, что это очень важная тема и хочется, чтобы как можно большее число разработчиков поняли её суть и, возможно, пересмотрели свои взгляды на жизнь… кода.
+24
Создание лендингов: как с их помощью повысить конверсию, и чем хороший лендинг отличается от плохого. Часть 2
5 min
34K Landing page важны потому, что именно при взгляде на них потенциальный клиент за секунды решает, хочет ли он купить ваш продукт. А значит, лендинги — ключевой элемент маркетинговой стратегии, который нужно улучшать для повышения конверсии. Продолжаем делиться советами по созданию лендингов, на этот раз — вторая часть статьи Peep Laja, написанной от первого лица. Из нее можно узнать, как выбрать копирайтера для лендинга, и почему стоит избегать использования шаблонов при написании текста и при выборе его дизайна.
Текст на продающей странице – это самое главное
Успех продающей страницы в большей степени зависит от ее наполнения. Поэтому, чтобы продать товар, вам необходим действительно качественный текст. Не начинайте заниматься дизайном, пока у вас не будет на руках первоклассного контента.
Текст на продающей странице – это самое главное
Успех продающей страницы в большей степени зависит от ее наполнения. Поэтому, чтобы продать товар, вам необходим действительно качественный текст. Не начинайте заниматься дизайном, пока у вас не будет на руках первоклассного контента.
+12
Allure — фреймворк от Яндекса для создания простых и понятных отчётов автотестов [для любого языка]
4 min
150KПрежде чем начать рассказ про наш очередной opensource-инструмент, давайте я поясню, для чего мы его сделали. Я довольно много общаюсь с коллегами-тестировщиками и разработчиками из разных компаний. И, по моему опыту, автоматизация тестирования ─ один из самых непрозрачных процессов в цикле разработки ПО. Посмотрим на типичный процесс разработки функциональных автотестов: ручные тестировщики пишут тест-кейсы, которые нужно автоматизировать; автоматизаторы что-то делают, дают кнопку для запуска; тесты падают, автоматизаторы разгребают проблемы.
Я вижу здесь сразу несколько проблем: ручные тестировщики не знают, насколько автотесты соответствуют написанным тест-кейсам; ручные тестировщики не знают, что именно покрывается автотестами; автоматизаторы тратят время на разбор отчётов. Как ни странно, но все три проблемы вытекают из одной: результаты выполнения тестов понятны только автоматизаторам — тем, кто эти тесты писал. Именно это я и называю непрозрачностью.
Однако существуют и прозрачные процессы. Они построены таким образом, что вся необходимая информация доступна в любой момент. Создание таких процессов может потребовать некоторых усилий на старте, но эти затраты быстро окупаются.
Именно поэтому мы разработали Allure — инструмент, позволяющий внести прозрачность в процесс создания и выполнения функциональных тестов. Красивые и понятные отчёты Allure помогают команде решить перечисленные выше проблемы и начать наконец разговаривать на одном языке. Инструмент имеет модульную структуру, позволяющую легко интегрировать его с уже используемыми инструментами автоматизации тестирования.
Я вижу здесь сразу несколько проблем: ручные тестировщики не знают, насколько автотесты соответствуют написанным тест-кейсам; ручные тестировщики не знают, что именно покрывается автотестами; автоматизаторы тратят время на разбор отчётов. Как ни странно, но все три проблемы вытекают из одной: результаты выполнения тестов понятны только автоматизаторам — тем, кто эти тесты писал. Именно это я и называю непрозрачностью.
Однако существуют и прозрачные процессы. Они построены таким образом, что вся необходимая информация доступна в любой момент. Создание таких процессов может потребовать некоторых усилий на старте, но эти затраты быстро окупаются.
Именно поэтому мы разработали Allure — инструмент, позволяющий внести прозрачность в процесс создания и выполнения функциональных тестов. Красивые и понятные отчёты Allure помогают команде решить перечисленные выше проблемы и начать наконец разговаривать на одном языке. Инструмент имеет модульную структуру, позволяющую легко интегрировать его с уже используемыми инструментами автоматизации тестирования.
+65
Что такое Excel Mashup, и кому это может пригодиться?
11 min
18KРезюме поста в нескольких предложениях
- Возможности Excel в части удаленного доступа и совместной работы с документами на сегодняшний день по меньшей мере сопоставимы с Google Docs;
- Excel-документ может быть интегрирован в html-страницы с сохранением значительной части функциональности, т.е. формулы и pivot tables будут работать;
- Я, равно как и любой другой человек, могу опубликовать свой Excel-документ таким образом, что ваше, равно как и чье-либо еще, веб-приложение сможет:
- отрисовать и открыть его для ручного ввода значений в ячейки,
- напрямую взаимодействовать с ним через JavaScript;
- У Microsoft есть сайт, посвященный интеграции Excel-документов в веб-приложения; также в природе существуют jQuery плагины, позволяющие сделать эту интеграцию быстрой и безболезненной;
- С практической точки зрения пользователь получает следующие плюшки:
- JavaScript представляет широкие возможности для визуализации и анимации Excel-таблиц, а также создания на их базе интерактивных приложений и дэшбордов;
- Возможность работы с Excel-документами на планшетах и мобильных устройствах;
- Удобный инструмент для создания рабочих прототипов систем управленческой отчетности.
+21
8 ловушек программирования
13 min
223KЭта статья содержит те ловушки программирования, в которые я попадал сам, продолжаю попадать и возможно никогда не прекращу, а также те, в которых я находил своих товарищей.
Однако я верю в то, что их можно избежать, если знать в какие ловушки можно попасть и как из них выбираться. Возможно эта вера — очередная ловушка.
+236
Хекслет: Erlang, логика, операционные системы, Java 2
3 min
18KПривет, Хабр!
Прошло уже больше полугода с момента старта проекта Хекслет. Напомню: мы проводим бесплатные онлайн-курсы по программированию и смежным дисциплинам. По традиции сегодня мы расскажем про новые курсы.
Erlang / OTP
Прошло уже больше полугода с момента старта проекта Хекслет. Напомню: мы проводим бесплатные онлайн-курсы по программированию и смежным дисциплинам. По традиции сегодня мы расскажем про новые курсы.
Статистика
- Завершено четыре курса (всего – больше 100 уроков)
- Сейчас в процессе – еще три курса, + запланирован старт двух курсов
- 19 000 студентов зарегистрировано
- Они сдали более 450 000 тестов
- Просмотров лекций – больше 277 000 (не считая подкастов в iTunes и раздачи через битторрент)
- 444 000 посетителей и 1.6M просмотров страниц
Новые курсы
Erlang / OTP
+60
Онлайн курсы, взгляд преподавателя + зов разработчикам
6 min
70KВ данной статье я изложу свой взгляд на проведение онлайн курсов: какие есть игроки в Интернете, и чего, на мой взгляд, категорически не хватает в Рунете (Ау-у, разработчики!). В конце опрос.
Речь пойдёт об Learning Management Systems (LMS) для частных лиц. Модельные ситуации такие:
Речь пойдёт об Learning Management Systems (LMS) для частных лиц. Модельные ситуации такие:
- Преподаватель кружка для школьников средних классов по математике во Дворце Пионеров имеет несколько групп. Хочет организовать свой материал и как-то мотивировать детей что-то делать дома за компьютером.
- Преподаватель ВУЗа вместе со своими студентами хочет сделать человеческий электронный конспект своих лекций. С нумерацией рисунков, оглавлением, формулами и подобными LaTex'овскими прибаутками.
+41
Видео-курс по JavaScript на русском языке
1 min
218KЗдравствуй, Хабр!
Представляю вам свой курс по JavaScript, недавно прошедний на Хекслете. Курс состоит из семи лекций общей продолжительностью около четырех часов.
Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).
Остальное – под катом.
Представляю вам свой курс по JavaScript, недавно прошедний на Хекслете. Курс состоит из семи лекций общей продолжительностью около четырех часов.
- Раздача на Рутрекере (видео+слайды)
- Прямые ссылки на видеофайлы: первая лекция, вторая, третья, четвертая, пятая, шестая и седьмая
- Прямая ссылка на слайды (zip-архив pdf-файлов)
- Подкаст в iTunes
- Плейлист на YouTube
- Форум курса
Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).
Остальное – под катом.
+119
TDD for Responsive Design. Или как автоматизировать тестирование отображения сайта для разных устройств с помощью Galen Framework
11 min
19KТрудно одним заголовком сформулировать, чем же является Galen Framework. Все началось с того, что у меня возникла потребность тестировать сайты в различных браузерах и проверять: не поехала ли разметка, например, в том же Internet Explore или Chrome. Затем возникла мода на Responsive Web-Design, и пришлось вручную менять ширину браузера и проверять, как отображаются сайты. И, хотя все это время были WebDriver и Selenium Grid под рукой, так и не получалось нормально тестировать верстку сайта в Java коде. Одна из идей была: делать скриншоты в разных браузерах в Selenium Grid и затем собирать их все в один большой отчет, по которому один из тестировщиков обязан пробежаться глазами и, в случае обнаружения несоответствий, рапортовать о дефекте. К сожалению, вся эта затея долго не продержалась. Тестировщикам стало лень листать огромный отчет и сравнивать скриншоты, и они все равно пропускали мелкие дефекты. А затем пошли требования внедрения во всех сайтах Responsive Design. И вот тут появился Galen Framework. Решение оказалось простым: проверять размер и расположение элементов относительно друг друга. Для этого понадобился специальный язык Galen Specs, который было бы легко читать и понимать.
Если коротко, Galen Framework — это специальный язык и инструмент для тестирования отображения сайта в браузере. Он позволяет тестировать адаптивный дизайн, а также проводить кросс-браузерное тестирование сайта.
Если коротко, Galen Framework — это специальный язык и инструмент для тестирования отображения сайта в браузере. Он позволяет тестировать адаптивный дизайн, а также проводить кросс-браузерное тестирование сайта.
+26
Менеджер версий python
5 min
92KTutorial
Иногда полезно держать несколько версий python на одной машине. Допустим для разработки двух проектов нам необходима вторая и третья ветка python. Или вы поддерживаете проект который использует старую версию python.
Обычно для этого мы используем виртуальное окружение virtualenv или же обертку для него virtualenvwrapper. Об этом я рассказывать не буду, так как есть уже много подобных статей, да и в документациях к самим утилитам все очень хорошо объяснено. Достаточно только забить virtualenv или virtualenvwrapper в поисковик.
Но в дополнение к ним я хочу рассказать в этой статье про менеджер версий python. Кому любопытно прошу под кат.
Обычно для этого мы используем виртуальное окружение virtualenv или же обертку для него virtualenvwrapper. Об этом я рассказывать не буду, так как есть уже много подобных статей, да и в документациях к самим утилитам все очень хорошо объяснено. Достаточно только забить virtualenv или virtualenvwrapper в поисковик.
Но в дополнение к ним я хочу рассказать в этой статье про менеджер версий python. Кому любопытно прошу под кат.
+29
Домашний сервер «всё-в-одном» — success story
9 min
139KTutorial
Recovery Mode
Жил да был у меня роутер одной хорошей фирмы на букву «Dead». Ну, это с ним, собственно, и случилось.
Посмотрел я на цены новых, на кучу компьютерного хлама в углу, на список подключений на домашнем компе… И понял, что не нужен мне роутер. Соберу свой, с нормальной маршрутизацией, DNS, WINS, i2p,блекджеком и так далее.
Посмотрел я на цены новых, на кучу компьютерного хлама в углу, на список подключений на домашнем компе… И понял, что не нужен мне роутер. Соберу свой, с нормальной маршрутизацией, DNS, WINS, i2p,
+86
Hacker-friendly Software-defined radio
4 min
66KСложно себе представить, как бы выглядел сегодня мир, если бы передача информации посредством радиосигналов не была изобретена. К счастью для нас, развитие цивилизации пошло иным образом, и на сегодняшний день мы имеем не поддающееся исчислению количество информации, витающей в эфире. Большое разнообразие бытовой и промышленной радиоаппаратуры, реализующей различные протоколы взаимодействия, огромные информационные системы, в основе которых лежит обмен информацией по радиоканалам. Определенный интерес порой представляет из себя, как же организовано это невидимое глазу общение и обмен данными.
Взглянем на пару любопытных доступных инструментов для работы с радио.
Взглянем на пару любопытных доступных инструментов для работы с радио.
+51
Станция УВБ-76 подала четвёртый сигнал за 30 лет
1 min
152KКоротковолновая радиостанция УВБ-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).
За все 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).
+217
Почему с нормальным распределением не все нормально
7 min
53KНормальное распределение (распределение Гаусса) всегда играло центральную роль в теории вероятностей, так как возникает очень часто как результат воздействия множества факторов, вклад любого одного из которых ничтожен. Центральная предельная теорема (ЦПТ), находит применение фактически во всех прикладных науках, делая аппарат статистики универсальным. Однако, весьма часты случаи, когда ее применение невозможно, а исследователи пытаются всячески организовать подгонку результатов под гауссиану. Вот про альтернативный подход в случае влияния на распределение множества факторов я сейчас и расскажу.
+66
Электронное правительство, руки прочь от моих сайтов
1 min
67KУже не в первый раз замечаю атаку на свои сервера из подсети «Ростелекома», относящейся к некоему «электронному правительству».
Спрашивается, что им надо от моих сайтов? — впрочем не важно, не умеете себя вести (игнорируете robots.txt), и наверняка ничего хорошего мне не сулите, тогда отправляйтесь в бездну:
$whois 109.207.13.1
...
inetnum: 109.207.0.0 - 109.207.15.255
netname: Electronic-government
descr: OJSC Rostelecom
descr: Electronic government of the Russian Federation
...
Спрашивается, что им надо от моих сайтов? — впрочем не важно, не умеете себя вести (игнорируете robots.txt), и наверняка ничего хорошего мне не сулите, тогда отправляйтесь в бездну:
#iptables -A INPUT -s 109.207.13.0/24 -p tcp -j DROP
+105
Хакаем Transcend WiFi SDHC карту памяти
10 min
146KTranslation
Перевод немного вольный, но смысл не потерян. Я (переводчик) заинтересовался этой карточкой давно и почти сразу заказал её, сегодня забрал с почты и не могу нарадоваться, но хочется больше, чем дает Transcend, а карточка, между прочим, Linux сервер с WiFi! Очень много буковок.
С недавнего времени я стал счастливым обладателем карты памяти Transcend WiFi SD, которая позволяет мне передавать фотографии с моей «зеркалки» (которая вообще то Sony NEX, зато компактная) на любое устройство с WiFi за несколько секунд. А так как мне нравится делать фотографии и делиться с ними на лету, то SD карточка, умеющая без проводов передавать картинки на мой телефон, кажется прекрасным решением. И это было так! (хотя всё еще так). Мобильное приложение может… не, должно быть получше (зачем скачивать 7МБ картинку для просмотра, чтобы потом ЕЩЕ раз скачать её, нажав на «Скачать»?), но вообще оно делает своё дело!
С недавнего времени я стал счастливым обладателем карты памяти Transcend WiFi SD, которая позволяет мне передавать фотографии с моей «зеркалки» (которая вообще то Sony NEX, зато компактная) на любое устройство с WiFi за несколько секунд. А так как мне нравится делать фотографии и делиться с ними на лету, то SD карточка, умеющая без проводов передавать картинки на мой телефон, кажется прекрасным решением. И это было так! (хотя всё еще так). Мобильное приложение может… не, должно быть получше (зачем скачивать 7МБ картинку для просмотра, чтобы потом ЕЩЕ раз скачать её, нажав на «Скачать»?), но вообще оно делает своё дело!
+149
Information
- Rating
- Does not participate
- Location
- London, England - London, Великобритания
- Date of birth
- Registered
- Activity