Search
Write a publication
Pull to refresh
28
0.2
Михаил @Flammar

Java (+Javascript) fullstack developer

Send message

Легальный вывод денег с oDesk на р/c ИП

Reading time6 min
Views53K
Данная заметка является дополнением к прочим, уже опубликованным на хабре, статьям, посвященным работе с иностранными заказчиками из России. В последней подобной статье, написанной пользователем mag есть замечательный ссылки и комментарии. Поэтому если вы еще не ознакомились с означенной статьёй, то рекомендую ознакомится. Хотя, моя, заметка озаглавлена как oDesk специфичная, она, также, будет содержать некоторые ссылки и советы, которые могут быть применены и при работе с другими типами-источниками влекущими за собой ВЭД(Внешне Экономическая Деятельность). Но, всё же, если вы собираетесь работать с заказчиками напрямую, т.е. все ваши расчеты будут напрямую, то всё это хорошо описано в предыдущих статьях.
Читать дальше →

Делаем сами Single-Side Arduino c COM-портом на борту

Reading time3 min
Views63K
Занимаясь электроникой и микроконтроллерами, я прекрасно осознаю, что было бы неплохо иметь под рукой готовую отладочную плату. С ее помощью можно быстро проверить какой-нибудь сервопривод, датчик и т.д., а то и собрать на ней целиком весь проект. Именно поэтому решил самостоятельно изготовить Arduino.

Создатели знаменитой платформы позаботились о любителях DIY и подготовили для этого специальную одностороннюю версию платы. Также в интернете есть весьма подробные инструкции о том, как изготовить ее в домашних условиях. К сожалению, у этой платы есть несколько недостатков, а именно: подключение только через COM-порт и питание исключительно от адаптера. Я решил устранить и получил в итоге вот такую, симпатичную плату:

image

Конечно, идея не новая, и на просторах интернета не раз звучала идея прикручивания виртуального COM-порта к Single-Side Board, но готового проекта я нигде не встречал.

Всех, кто когда-нибудь мечтал сделать для себя Arduino самостоятельно, прошу под кат.
Читать дальше →

Самодельные спектрометры на Kickstarter по 35 долларов

Reading time1 min
Views43K


Организация Public Labs, которая пропагандирует науку и Open Source инструменты, запустила очередной проект: на этот раз, они начали продажи самодельных спектрометров по 35 долларов из куска DVD-R, чёрной бумаги, коробки VHS и HD USB веб-камеры.
Читать дальше →

Android портирован на C#

Reading time1 min
Views32K
В разгар битвы между Oracle и Google за право использовать Java/Dalvik в системе Android, компания Xamarin представила альтернативу — более производительную и энергоэффективную версию Android на С#. Тесты производительности говорят сами за себя.



В отличие от Sun и языка Java, компания Microsoft направила C# и .NET VM для стандартизации в ECMA, система защищена от патентных исков строгими требованиями ISO, а также обязательством Microsoft.
Читать дальше →

Мини-станок из палочек от мороженого #1

Reading time2 min
Views28K
Бывает, надоедает сверлить десятки крохотных отверстий при изготовлении печатной платы… не знаю, что на меня нашло, но я решил сделать автоматический сверлильный станок. В этой статье опишу начало моего пути в этом деле.
image
Читать дальше →

Восстановление неравномерно освещенных изображений

Reading time2 min
Views25K
Для улучшения визуального качества изображений, снятых в условиях слабой освещенности, и изображений с низким уровнем контраста, существует множество алгоритмов. Выбор наиболее подходящего алгоритма и его параметров является задачей нетривиальной и зависит от обрабатываемого изображения.

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

Протоколирование: рекомендации по трассировке

Reading time10 min
Views23K
В данной статье я хочу поделиться своими мыслями/наблюдениями/рекомендациями относительно реализации такой важной задачи при разработке ПО как протоколирование. В Интернете существует множество статей описывающих инструменты для протоколирования, но очень мало информации о том, какие именно события, и какую информацию, нужно записывать в протокол работы программы.
Читать дальше →

Жил-был самый маленький сервер…

Reading time10 min
Views31K
   Как говорится, компьютерные пользователи делятся на тех, кто делает бекапы и на тех, кто их ЕЩЕ не делает. Понимая это, все больше пользователей предпочитают не хранить «яйца в одной корзине», все больше обращая свое внимание на возможность централизованного хранения информации. Героем сегодняшнего обзора стала маленькая коробочка от известного тайваньского производителя, возможностей которой для домашнего использования хватит с головой. Этот сервер сидит на диете (потребляет всего 5 Вт), бесшумный, маленький и недорогой (от 3000 рублей) – в общем, если вам этот вопрос интересен, то я предлагаю не откладывать знакомство.

image

Встречайте – Synology USB Station 2.
Читать дальше →

Делаем приватный монитор из старого LCD монитора

Reading time2 min
Views983K


Вы наконец-то можете сделать кое-что со своим старым LCD монитором, который завалялся у Вас в гараже. Превратите его в шпионский монитор! Для всех вокруг он будет выглядеть просто белым экраном, но не для Вас, потому что у Вас будут специальные «волшебные» очки.

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

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

Наголовный компьютер под управлением Linux — собери сам!

Reading time5 min
Views9.2K
В данной статье речь пойдет о самодельном наголовном компьютере с трудновыговариваемым названием WXHMD, созданном парижским умельцем по имени Паскаль. Это одноплатный компьютер (computer-on-module) Gumstix Overo Fire, укрепленный на наголовном дисплее Vuzix VR920. В итоге получилось устройство, дающее стереоскопическое изображение 640x480, имеющее аудиовход и аудиовыход, 3D-сенсоры наклона (3D tilt sensor), 3D магнитный компас, процессор TI OMAP3530 @ 600 MHz, ОС Linux, WiFi, Bluetooth. Питание — 1 ампер @ 3.7 вольт. Вес — 180 граммов.
Читать дальше →

Четыре профессиональные деформации программистов на языке Perl, демонстрируемые на живом примере

Reading time8 min
Views8.7K
Эдсгер Вибе Дейкстра оказался известен, в частности, как автор нескольких ёмких и выразительных высказываний, очерчивающих бездну профессиональной деформации программистов, предпочитающих тот или иной неуютный язык программирования. Небезызвестны, в частности, следующие оценки Дейкстры (я процитирую их по Викицитатнику):

  • «Программирование на КОБОЛе калечит мозг, поэтому обучение ему должно трактоваться как преступление». («The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense».)
     
  • «Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации». («It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration».)

Дейкстра умер 6 августа 2002 года. Сегодня, спустя десять с небольшим лет после его смерти, мы вправе оглянуться вокруг и спросить себя: а насколько изменились обстоятельства? Иными словами: а сейчас (в наши дни) среди широко употребляемых языков программирования есть ли такие языки, использование которых влечёт для склонных к ним программистов почти неминуемый риск заметной профессиональной деформации?

Как мне кажется, они есть; и это прежде всего те языки, которые подпадают под определение write-only language, то есть поощряют написание такого исходного кода, прочтение и понимание которого слишком трудно, неоправданно трудно (как правило, даже труднее, чем его написание автором кода), хотя в нормальных языках должно быть наоборот.

Наиболее употребительным из таких языков является Perl.

Будьте покойны: я не намерен просто ткнуть пальцем в Perl и объявить, что он плох. Это вышло бы слишком малоубедительно без доказательств и подробностей. И именно поэтому прямо сейчас на примере, взятом из жизни, я покажу вам четыре механизма, при помощи которых Perl воздействует на сознание программиста и поощряет сочинение им такого кода, который оказывается неприглядным write-only.

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

leOS — многозадачное ядро для Arduino

Reading time1 min
Views31K
Итальянский разработчик Леонардо Милиани выложил в открытый доступ исходники leOS (little embedded operating system) – маленького многозадачного ядра для Arduino. В своем блоге он пишет:
To be honest, it should more correct to say that leOS is actually something that is halfway a simple prototype of an real-time operating system (RTOS) and a scheduler. [...]
leOS can run simple tasks that don’t require excessive CPU time but it can be useful in all of those situations where the user wants to let a task run itself out of the main loop.

Ядро leOS обеспечивает диспетчеризацию вызовов пользовательских функций согласно заданным временным интервалам. Для этого leOS использует аппаратный Timer2 для отсчета интервалов между вызовами пользовательских функций, поэтому теряется доступ к функциям ШИМ на пинах D3 и D11. В ядре используется 64-битный счетчик, так что переполнение планировщика произойдет только через 584 942 417 лет.
Читать дальше →

Как стать фрилансером

Reading time8 min
Views76K
Формирование виртуальной личности

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

Привыкайте жить в новую эпоху…
Читать дальше →

Управление качеством кода

Reading time1 min
Views16K
В одной из книг ДеМарко была приведена интересная история. Представьте, что к руководителю проекта приходит представитель Всемирно Известной Организации по Измерению Качества и сообщает, что команда проекта попала в Топ 10 всех команд в мире по качеству кодирования.

О чем думает руководитель? Его сердце наполняется теплотой и проскакивают мысли «Вот молоцы! А я всегда подозревал...». После чего, представитель вдруг возвращается и приносит свои извинения — произошла ошибка, проект на самом деле 10й с конца. Настроение руководителя кардинально меняется и он уже вовсю проклинает свою команду.

В чем ошибка руководителя? Он не измеряет качество кода.
Читать дальше →

Установка винта 3,5" внутрь корпуса чипованного Xbox 360

Reading time2 min
Views27K
Летом 2009 года был приобретен Xbox 360 Elite 120Гб (Jasper).

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

Реализуем RESTful Web Service на Scala

Reading time7 min
Views16K
На прошлой неделе на Хабре было целых две статьи о реализации RESTful web-сервисов на Java. Что ж, не будем отставать и напишем свой вариант на Scala, с монадами и аппликативными функторами. Матёрые разработчики на Scala вряд ли найдут в этой статье что-то новое, а любители Django вообще скажут что у них эта функциональность есть «из-коробки», но я надеюсь что Java-разработчикам и просто любопытствующим будет интересно почитать.

Подготовка


За основу возьмём задачу из предыдущей статьи, но постараемся решить её так, что бы код решения умещался на экран. Хотя бы на 40-дюймовый и пятым шрифтом. В конце концов, в XXI веке должна быть возможность решать простые задачи без мегабайтов xml-конфигов и десятков абстрактных фабрик.

Для тех, кто не хочет ходить по ссылкам уточню: мы собираемся реализовать простейший RESTful сервис для доступа к базе данных клиентов. Из необходимой функциональности — создание и удаление объектов в базе, а также постраничная выдача списка всех клиентов с возможностью сортировки по разным полям.

В качестве кирпичиков, из которых мы будем строить дом, возьмём:
  • Scala — даже не кирпичик, а скорее фундамент,
  • Unfiltered — отличная библиотека для обработки HTTP-запросов,
  • Squeryl — библиотека для запросов к базе данных,
  • Jackson — библиотека для работы с JSON, изначально написанная для Java, но на ура справляющаяся и со Scala-типами,
  • Scalaz — библиотека, позволяющая писать в коде разные забавные символы типа ⊛, ↦ или ∃, а заодно реализующая такие полезные абстракции, как аппликативные функторы, моноиды, полугруппы и стрелки Клейсли. Последние, правда, мне пока не приходилось использовать, но скорее всего это объясняется тем, что я ещё не достиг нужной степени функционального просветления.

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

Встречаем Veracity — новую распределенную систему контроля версий

Reading time7 min
Views6K

Здравствуй, мой любознательный %username%!

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

Tent: децентрализованный социальный веб

Reading time2 min
Views4K
Diaspora не взлетела, но попытки построить Open Source распределённую социальную сеть будут продолжаться до тех пор, пока такая сеть не будет создана. Новый и очень многообещающий проект в этом направлении называется Tent. Это открытый фреймворк для социального веба — для социальной сети, где контент находится под полным контролем самих пользователей, а не коммерческих компаний.

Если пользователь хочет, он может предоставить доступ к своим файлам компании Facebook/Twitter/Google/etc., которая создала удобный интерфейс для чтения этих данных, но совершенно необязательно хранить файлы на их серверах, будь то фотографии, социальный граф или просто твиты.

Базовые принципы

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

PHP. Собеседование в вопросах и ответах

Reading time1 min
Views84K
imageНекто Андрей Шевченко составил, структурировал и выпустил в виде бесплатной PDF книги список вопросов, которые всенепрменнно могут встретится(и чаще всего встречаются) любому PHP программисту на самом стандартном собеседовании. Более того — каждый вопрос снабжен достаточно подробным ответом.

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

Реализация MVC паттерна на примере создания сайта-визитки на PHP

Reading time16 min
Views733K
mvc

Как вы уже догадались из названия статьи, сегодня речь пойдет о самом популярном, разве что после Singleton, шаблоне проектирования MVC, хотя такое сравнение не совсем уместно. Понимание концепции MVC может помочь вам в рефакторинге и разрешении неприятных ситуаций в которые, возможно попал ваш проект. Дабы восполнить пробел, мы реализуем шаблон MVC на примере простого сайта-визитки.

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

Information

Rating
4,637-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity