Search
Write a publication
Pull to refresh
3
0
Алексей @ParaPilot

User

Send message

Zen Diary — личный дневник с возможностью шифрования

Reading time3 min
Views11K


После того, как я показал сообществу хабра свой проект PJournal, мой почтовый ящик просто разрывался от натиска входящих сообщений. Люди, которые прочитали её на хабре, советовали, что можно улучшить в техническом плане и в плане дизайна, те, кто скачал программу по совету какого-то из пользователей, просили у меня функции, которые бы они хотели увидеть в программе в ближайшее время.

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

Окрылённый такой победой, я решил развивать и улучшать этот продукт с учётом тех многих пожеланий и советов, что я получил. И это развитие вылилось в новый проект под названием Zen Diary (http://zendiary.org).
Читать дальше →

Быть в 3d или не быть? Как я сам себя отсканировал и распечатал на 3d-принтере

Reading time3 min
Views95K
«С незапамятных времен люди стремились уменьшить то, чем пользуются» Эрлих Бахман, «Кремниевая долина», эпизод 7

Сейчас на стыке технологий 3d-сканирования и 3d-печати появилась услуга (вреде началось все в Японии в 2012) по изготовлению 3d-фигурок.
В кинематографе 3d-принтеры промелькнули в сериалах «Элементарно» (там злодей распечатал либератор, но на хабре напечатали нарисовали в фотошопе либератор раньше, чем в кино) и в «Теории большого взрыва»(свисток сделали многие, а вот про фигурки еще никто не писал).
Вдогонку к посту о том, что стоит развивать различные 3d-сервисы в России, хочу поделиться тем как происходит процесс создания 3d фигурки от и до.
Итак, я зашел в гости к ребятам на цветном бульваре и покорение 3-го измерения началось.


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

Мультиклеточный процессор — это что?

Reading time18 min
Views52K
Многие слышали о мультиклеточной архитектуре, процессорах и даже первых устройствах на них. Особенно продвинутые пользователи опробовали свои алгоритмы. Были проведены первые простые тесты производительности, а также пользователь Barsmonster, вытравил кристалл процессора Р1. Сейчас уже проходит первые проверки процессор R1 и скоро будет доступен всем. Но ответ на вопрос о том, как работает мультиклеточная архитектура и в чём её отличие, знают не все. Попытаемся сейчас ввести в курс дела.
Читать дальше →

Обзор teXet TM-511R: защищенный телефон с батареей на 2 700 мАч

Reading time6 min
Views77K
Пожалуй, самым уязвимым местом современных защищенных смартфонов являются сенсорные экраны. Такие аппараты можно без особых опасений топить и валять в песке, но вот ронять их стоит аккуратно – а вдруг упадет экраном вниз, да еще и на камушек? Понятное дело, что уронить что-либо аккуратно и при этом случайно практически невозможно, такие ситуации случаются внезапно. Соломки заранее не подселишь, а бутерброд (в данном случае его эквивалентом выступает смартфон) чаще всего падает маслом (сенсорным экраном) вниз.

Помнится, полгода назад мы с товарищем устроили весьма серьезные испытания смартфону teXet X-Driver, и ему удалось сохранить честь и достоинство. Но все могло сложиться и по-другому: после каждого броска мы с опаской смотрели на экран – вдруг все же треснул? Так вот, если защищенный аппарат вам все же нужен, а связываться с «сенсорниками» не хочется, стоит смотреть в сторону внедорожных кнопочных телефонов. Сегодня речь как раз об одном из них – teXet TM-511R.


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

Генерация ландшафтов в Unity3d

Reading time5 min
Views118K

Думаю все заметили, что сейчас стало появляться множество всяких бродилок с выживанием в стиле Minecraft. Сделать такую решился и я. Начало было лёгким — Unity3d имеет огромный функционал для сознания простеньких игр (и не только). Персонаж, игровые объекты, в общем основу сделать быстро. Но какой minecraft без рандомно генерируемого мира? Это стало первой трудной задачей. И думаю не только для меня. Просмотрев весь гугл и потратив кучу времени на эту бесполезную вещь я решил написать эту статью дабы сократить страдания других.
Читать дальше →

Защита подъезда методом организации разумного видеонаблюдения без консьержа

Reading time13 min
Views261K
Так получилось, что какой бы ни был аккуратный микрорайон, он всегда с чем-нибудь соседствует, плюс всегда есть праздношатающиеся, непраздношатающиеся и «этождети». Это если забыть про наркоманов, целенаправленных воров и разбойников. Твой дом — твоя крепость. Подъезд твоего дома — тоже твой дом. (Да, этот пункт многие не понимают, но учиться никогда не поздно). Классические методы защиты подъезда — установка укреплённых дверей; установка домофона; инсталляция консьержки; организация видеонаблюдения над входами.

Вот только двери легко открываются при малейшей ошибке их производства, многие домофоны подвержены ключам-«вездеходам», консьержки часто спят и ничего не делают, а видеонаблюдение за которым никто не наблюдает превращается в бесполезную трату денег. В результате, почти все попытки улучшить общественную ситуацию зарезаются соседями методом слонёнка: «а нафига они нам нужны».

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

Как собрать электробайк за семь дней

Reading time1 min
Views131K
Уже очень давно и часто на канале меня просили показать, как же собрать «такую штуку» самому. Особенно после публикации "На электричестве до Крыма". Поэтому, при постройке нового проекта, было принято волевое решение заснять всё на камеру и потом предоставить страждущим в цивильном виде. Волевое, потому что руки всего две, глаз тоже всего пара, и уследить за тем, куда смотрит камера, а куда уже убежала дрель в рабочем процессе очень сложно. Так же это увеличило временные затраты, особенно после. Ролики я фактически собирал даже дольше, чем сам ебайк. Ну да ладно, все тяготы уже позади, встречайте:

День первый: крафтим раму из полуконструктора

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

Поиграем в эволюцию? Генетические алгоритмы в скринсейвере

Reading time10 min
Views43K
Последний месяц в армии. Постепенно освобождается время для разных интересных проектов. Остается только определиться, чем именно занять мозги. Закончил читать «Эгоистичный ген» Ричарда Докинза и идея была сформулирована – хочу сделать визуализацию, использующую принципы эволюции.

image
Рисунок 1. Популяция бактерий перестраивает среду под свои нужды.

Итак, вперед!
Читать дальше →

Создание шаманских бубнов

Reading time8 min
Views34K
Как же без самого важного, чьи звуки с танцами налаживают работу серверов и кода? Вот поэтому я и решил делать бубны. Прежде всего, сервис создавался для себя. На первом месте было всё-таки желание делать бубны, получать бесценный опыт производства, общения с клиентами, освоить тонкости продаж и логистики своего собственного небольшого уникального продукта. И лишь потом — получение прибыли. Это не просто интернет-лавка по продаже сувенира, а хорошо налаженный сервис по созданию самого святого, что есть в IT-мире. Становление и развитие состоит из 2-х частей. Возможно, кому-то этот опыт будет полезен и в будущем пригодится. Для меня же это открытость к критике и получение бесценного опыта от крупнейшего IT-сообщества.


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

Изучение TDD через интенсивную практику

Reading time11 min
Views27K
Примечание от переводчика: мой опыт знакомства с разработкой через тестирование во многом схож с тем, что описывает автор (хотя и начался на несколько лет позже). Я начинал изучать TDD самостоятельно, на работе, исправляя баги и создавая новые модули с нуля. Эффект от применения TDD произвёл на меня настолько мощное впечатление, что породил желание делиться умением применять эту технику с другими. Я также проводил Code Retreat-ы внутри и вне своей компании. И я вижу те же проблемы в своих тренингах — очень сложно взять и «впихнуть» понимание сути TDD в чужие головы.

Поэтому в данной статье я вижу свежий взгляд на проблему, который, возможно, даст новый толчок в изучении TDD мне и моим коллегам. Думаю, она пригодится и прочим интересующимся разработкой через тестирование. Буду рад увидеть Ваши комментарии.


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

TL;DR?


Многие сторонники TDD рекомендуют подход под названием «интенсивная практика», но я догадываюсь, что у Вас не будет возможности тратить много рабочего времени на практику. Я советую людям «применять TDD осознанно», но до сих пор не знал хорошего способа достаточно доступно объяснить смысл этих слов, что снижало ценность моего совета. Вы можете начать применять оба подхода (интенсивный и осознанный) одновременно, если начнёте исправлять баги через тесты. Даже если Вы до сих пор не умеете проектировать софт на экспертном уровне, то, по крайней мере, Вы уже можете учиться как эксперт. И исправление багов через тесты даст Вам естественную и не слишком рискованную возможность делать это. У Вас будет возможность практиковаться в TDD усердно и осознанно. Если у Вас есть возможность исправлять баги на работе в одиночку, то Вы можете использовать эти практики, не привлекая лишнего внимания, которое обычно возникает при разговорах об «интенсивной практике». Просто говорите всем, что Вы исправляете баги. Это всем понравится.

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

Подробности

Внутренняя USB зарядка

Reading time2 min
Views186K


У каждого из нас есть несколько девейсов с USB зарядкой. Рядом с кроватью у меня удлинитель с 5 розетками, 3 розетки заняты под USB зарядки. Такой вариант зарядки телефонов мне давно не нравился из за своих габаритов и не эстетичного вида, хотелось гармонии.
Озадачившись этой проблемой я стал искать внутренние USB розетки. У Gira и Legrand есть варианты с 1 USB розеткой и блоком питания на 1 А и с 2 USB розетками и блоком питания на 1.5 А, но с 4 USB розетками нет ни у кого. Поняв, что это все мне не подходит, да и цены на внутренние USB розетки конские, я решил сам изготовить розетку с 4 USB портами и блоком питания. В качестве блока питания использовал зарядку от iPad 2.4 А как самую компактную и мощную.
Читать дальше →

Учимся разбираться в искусстве программирования

Reading time4 min
Views34K

Классика


Самый обычный код.

    $size = sizeof($arr)-1;
    for ($i = $size; $i>=0; $i--) {
        for ($j = 0; $j<=($i-1); $j++)
            if ($arr[$j]>$arr[$j+1]) {
                $k = $arr[$j];
                $arr[$j] = $arr[$j+1];
                $arr[$j+1] = $k;
            }
    }


Барокко


Барокко (итал. barocco — «причудливый», «странный», «склонный к излишествам»)
Барокко свойственны контрастность, напряженность, стремление к величию и пышности как в именовании, так и в комментариях, к слиянию разных стилей кодирования. Обычно уже на продакшене обнаруживаются скрытые «детонаторы».

Чаще всего используется в: JavaScript, C++, Java.

    $SIZE = SIZEof($A_R__R)-1;
    for ($i = $SIZE; $i>=0; $i--) {
        for ($j = 0; $j<=($i-1); $j++)
            if ($A_R__R[$j]>$A_R__R[$j+1]) {
                //используем хитрый манёвр
                $A_R__R[$j+1]  = $A_R__R[$j];  + $A_R__R[$j+1];
                $A_R__R[$j]    = $A_R__R[$j+1] - $A_R__R[$j];
                $A_R__R[$j+1]  = $A_R__R[$j+1] - $A_R__R[$j];

            }
    }

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

HipHop: аналог Popcorn Time для музыки

Reading time1 min
Views19K


Все знают о замечательной программе Popcorn Time, с которой уже несколько месяцев усиленно борются правообладатели. Обширный каталог фильмов с торрент-трансляцией. Popcorn Time с открытым исходным кодом популяризовал идею свободного доступного контента в удобном интерфейсе.

В общем, идея пошла в народ. На Github — десятки форков Popcorn Time. Программа HipHop для Windows, Linux и Mac — продолжение той же идеи, но не для фильмов, а для музыки.
Читать дальше →

Как запилить свой дешборд на все случаи жизни?

Reading time9 min
Views82K
В работе почти каждого человека непременно есть цифры, от которых зависит всё. Посещаемость сайта, время отклика или количество коммитов — что угодно! И если поместить эти цифры на самое видное место, они сразу становятся либо отличным способом оперативно принимать решения, либо просто наглядным инструментом мотивации. А самый лучший способ сделать это — это собственный дешборд, информационное табло, которое можно повесить на самом видном месте в офисе.


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

Google предложит пользователям GMail использовать end-to-end шифрование

Reading time3 min
Views32K
Корпорация Google готовится выпустить специальное расширение для браузера Google Chrome, которое позволит пользователям сервиса GMail зашифровывать сообщения перед отправкой, чтобы исключить возможность перехвата сообщений. Расширение под простым названием End-to-End использует стандарт OpenPGP, но пока не готово к выпуску, так как Google просит помощи у сообщества.
Читать дальше →

Создание API: в рамку и на стену

Reading time5 min
Views57K
Каждый программист — проектировщик API. Хорошие программы состоят из модулей, а протокол взаимодействия модулей — это тоже API. Хорошие модули используются повторно.

API — это большая сила и большая ответственность. У хорошего API будут благодарные пользователи; поддержка плохого превратится в кошмар.

Публичный API — не воробей, опубликуешь — не уберешь. Есть только одна попытка сделать все правильно, поэтому постарайся.

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

API должен описывать сам себя. Изучение кода на таком API не вызывает желания читать комментарии. Вообще, комментарии редко нужны.

Перед разработкой API собери требования с долей здорового скептицизма. Осознай общие задачи и реши их.

Оформляй требования как шаблоны использования API. Сверяйся с ними в процессе проектирования.
Читать дальше →

Комиксы по сетевому творчеству Юрия Нестеренко (aka YuN) — почему глючат программы

Reading time1 min
Views35K
Наткнулись недавно на винрарную подборку шуток про баги, авторства небезызвестного Юрия Нестеренко (который YuN). Подумали — а почему бы не нарисовать комиксы по ним? Пока осилили где-то половину, но выкладываем, что есть.


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

Собственный сервер Git на базе Ubuntu или Debian/GNU Linux

Reading time2 min
Views81K
Я встречал в сети много tutorial'ов по установке своего сервера git как на gitweb, так и на webdav, но, увы, они либо были только по одному из вышеназванных пунктов, не освещая другой, либо банально не работали. Вчера возникла необходимость поднять свой сервер репозиториев. Потратил пару часов — поднял, теперь хочу поделиться опытом, потому что считаю проблему актуальной :)

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

Управление RGB лентой с помощью Arduino и драйвера L298N

Reading time3 min
Views204K
Здравствуйте Хабр-сообщество.

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

К таким лентам можно купить источник питания, диммер, диммер с пультом управления. Это позволит вам использовать светодиодную ленту для посветки. Однако если вы захотите запрограммировать алгоритм изменения цвета, или сделать управление из компьютера — то тут начинается разочарование. Вы в продаже не найдете диммеров с управлением через COM-порт или Ethernet.

Я решил эту проблему с помощью Arduino, и хочу поделиться своим вариантом решения с Вами.



Добро пожаловать под кат.

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

Dual boot ArchLinux и Windows 8 на UEFI без GRUB c помощью rEFInd

Reading time3 min
Views94K
Инструкция для новичков, о том, как сделать красивый dualboot windows и archlinux (и других ОС) через efi без grub и лишних заморочек.

Фото для привлечения внимания:

asus g46vw rEFInd
Читать дальше →

Information

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