Pull to refresh
0
0
Антон @antaries

User

Send message

Пищевой 3D принтер Foodini за 1000 евро собирает средства на Kickstarter

Reading time5 min
Views76K
Прошлой осенью многие СМИ писали о пищевом принтере Foodini от компании Natural Machines.
26 марта 2014 года на Kickstarter стартовала кампания по сбору средств на производство первой серии принтеров.
Мы связались с основателем Natural Machines, Эмилио Сепулведа, и поговорили о принтере.



Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments43

Что будет, если вы задумаете собрать 3D принтер своими руками

Reading time4 min
Views397K

С чего всё начиналось


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

Немного погодя, оказалось, что все компоненты стоят вместе как готовый принтер и настрой сильно упал (Ох уж эти московские перекупщики), но на помощь пришел Китай со своими сверхдешевыми электроникой и электромеханическими компонентами. В порыве радости был заказан комплект электроники RAMPS 1.4 (Как самый простой в использовании по отзывам), 5 шаговых двигателей типа nema 17 (момент удержания должен быть не меньше 1.5кг/см, но я взял аж 4кг/см), 2 метра приводного ремня размера t2.5 с двумя алюминиевыми шкивами по 20 зубьев, а так же нагревательную платформу (mk2a самая распространенная), так же нужно не забыть взять 12 линейных подшипников lm8uu. На всё я потратил чуть больше 13 тысяч рублей, что, согласитесь, несколько меньше, чем, даже, комплекты для самостоятельной сборки в магазинах.

Спустя 2 месяца ожидания


За эти месяцы я успел познакомиться на форуме с несколькими интересными людьми, один из которых любезно распечатал на своем Replicator2 детали для моего принтера (Я выбрал конструкцию Prusa Mendel i2 из-за её дешевизны и простоты сборки). Кстати говоря, точность изготовления деталей мало на что влияет и, в принципе, можно их делать хоть из ложек, я лично сделал часть деталей для рамы из толстой фанеры. Большой проблемой было найти направляющие валы, которые стоят от 600 рублей за метр (Каленые и прочные, т.е. избыточная прочность), но решение было найдено на рынке: обычные прутки из нержавейки диаметром 8мм отлично подошли (Нужно всего 3 метра, как и что резать, написано на Вики), так же 6 метров шпилек м8 и 6 подшипников 608 (Как в роликах и скейтбордах). В качестве блока питания можно использовать что угодно от 400Вт 12-19В. Забрав с почты последнюю посылку (Не буду говорить про нашу почту, все и так всё знают. Битые и мятые коробки, ожидание, потерянные извещения), я понял, что предстоит много работы.

image
Читать дальше →
Total votes 169: ↑164 and ↓5+159
Comments55

Простая сборка виртуальных машин с помощью PuPHPet

Reading time8 min
Views37K

Создание и управление средами разработки расстраивает вас, замедляет работу или отвлекать вас от разработки? У вас возникают трудности из-за того, что ваше локальное окружение и окружение при деплое отличаются? Если это так, у меня есть для вас решение — PuPHPet!

Введение


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

В зависимости от требований руководства или клиентов разнообразие вариантов выбора может вогнать в депрессию. Все они могут тянуть в разные стороны (и тянут!), зачастую одновременно.
Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments18

Как заработать $500K на машинном обучении и высокочастотном трейдинге — Часть 2

Reading time3 min
Views62K

Изображение: Chris Liverani — Unsplash

Это продолжение разбора темы (часть 1), захватившей мое внимание и пришедшейся по душе на Хабре. Обсуждаем проект парня, который, применив свой опыт в IT, смог заработать полмиллиона долларов.
Читать дальше →
Total votes 49: ↑35 and ↓14+21
Comments6

Разработка web API

Reading time9 min
Views289K

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

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

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше
Total votes 235: ↑224 and ↓11+213
Comments128

Как сверстать веб-страницу. Часть 1

Reading time13 min
Views1.2M
Уважаемый читатель, этой статьей я открываю цикл статей, посвященных вёрстке.
В первой части будет описано, как это сделать с помощью стандартных средств на чистом HTML и CSS. В последующих частях рассмотрим как сделать тоже самое, но с помощью современных фреймворков и CMS.

Часть 1. Верстка стандартными средствами


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

Итак, давайте приступим. В качестве нашего подопытного мы возьмем бесплатный psd шаблон Corporate Blue от студии Pcklaboratory.
Читать дальше →
Total votes 155: ↑120 and ↓35+85
Comments110

Интернет с иммунитетом или почему бог не играет в лего

Reading time12 min
Views58K
Большинство программистов учатся постоянно. Мы читаем книги гуру и смотрим код профессионалов. И спорим какой метод лучше и какое решение красивее.
Но представим себе что есть суперпрофессионал, код которого нам удалось посмотреть. Чему мы можем научиться у него? И какие выводы мы сможем сделать?
image
Итак — искусственные иммунные системы.
Читать дальше →
Total votes 118: ↑105 and ↓13+92
Comments23

How-to: роботы и API брокерской торговой системы

Reading time5 min
Views81K
image

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

Большинство заявок на современных биржах генерируются не людьми, а специально созданными торговыми роботами, которые действуют по заданному алгоритму. Для этих программ ключевым фактором является общая скорость работы, которая зависит и от оперативности самого робота, и от каналов связи, и от мощности железа, на котором он работает. Само собой, для подключения робота к торговой системе у нее должно быть API. Об этом мы сегодня и поговорим.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments26

Видео: полный цикл разработки на JavaScript

Reading time1 min
Views50K
Здравствуй, Хабр!

В этой открытой лекции я попытался сжато рассказать и показать полный цикл (full stack) разработки веб-приложений на JavaScript.

Начнем мы с короткого введения в язык, потом в двух словах поговорим о клиентской части, в частности, об MVC фреймворках вроде Angular.js, после чего перейдем на серверную часть: Node.js и MongoDB. В конце обсудим возможность автоматизации разработки и сборки проектов с помощью Grunt.js.



Скачать слайды и исходные коды.

Лекция была записана в офисе компании Chocolife, зрители – разработчики этой компании.
Total votes 57: ↑47 and ↓10+37
Comments27

3G интернет в удаленности от базовой станции с помощью тарелки и кофейной банки

Reading time5 min
Views130K

Всем жителям Хабра — привет!




Суть этой статьи показать еще один вариант словить за уши Э/М волну в относительной глубинке для нужд доступа в интернет.
Если где-то точно такая конструкция уже мелькала, милости прошу ссылку, будет интересно сравнить и пообщаться.
Материал изложу в повествовательной форме, надеюсь, никого этим сильно не замучаю, всякие термины, если кто не знает, и прочие подробности можно смело пропускать, от этого суть поста сильно не изменится.

Постановка задачи

Интернет – штука полезная и нужная, с этим, думаю, поспорить сложно. И если проблем в городе с интернетом нет, то в деревне, где мне часто приходиться по семейным обстоятельствам бывать, есть определенные проблемы. Есть частный деревянный дом а-ля «хата» (место действия: РБ), из интернета в моей окрестности доступ предоставляют 3 оператора, но максимум – это лишь технология EDGE. До двух ближайших базовых станций (БС) около 3.5 и 7 км. Между домом и БС лес, но не вплотную. Хватило бы и EDGE, но загрузка этих станций от других соседних деревень, судя по скорости, такая, что можно «прятаться в картошку».
Вариант покупать готовое решение отпал сразу из соображений спортивного интереса.
Вдохновившись на одном из форумов удачным опытом парней, где использовалась спутниковая тарелка (она же «офсетная зеркальная антенна») и сам 3G модем в фокусе, решил что-то подобное смоделировать да скрутить.
Сразу скажу, что антенну с модемом хотелось закинуть на чердак, дабы не портила внешний вид дома (об этом ниже).

Читать дальше →
Total votes 188: ↑185 and ↓3+182
Comments74

Десятка лучших консольных команд

Reading time2 min
Views198K
imageВ данном посте я расскажу о наиболее интересных командах, которые могут быть очень полезны при работе в консоли. Однозначных критериев определения какая команда лучше другой — нет, каждый сам для своих условий выбирает лучшее. Я решил построить список команд на основе наиболее рейтинговых приемов работы с консолью от commandlinefu.com, кладовой консольных команд. Результат выполнения одной из таких команд под Linux приведен на картинке. Если заинтересовало, прошу под кат.
Узнать больше
Total votes 382: ↑346 and ↓36+310
Comments215

Symfony CMF. Часть 1, хранение данных

Reading time18 min
Views34K
image

Вместо предисловия


Я программирую на Yii уже два года и в последнее время начал засматриваться на Symfony Framework 2. Отчасти меня привлекает продуманная архитектура, отчасти слабая связность компонентов, отчасти гибкость построенных приложений. Сразу после того, как я разобрался с основным устройством нового фреймворка, мне стало интересно, возможно ли на нем построить CMS, а может быть, даже воспользоваться готовой.

Коробочного решения пока не придумали, однако, каким-то образом я забрел на сайт проекта Symfony CMF и оказался сражен наповал методичным подходом к решению тех проблем, с которыми я сталкивался в бытность работы на конвеере по натягиванию дизайна на какой-нибудь Друпал. На Хабре публикаций про именно CMF нет, да и сам проект еще очень сырой, однако в перспективе выглядит все интересно, хоть местами и есть к чему придраться.

Symfony CMF


Проект Symfony CMF призван упростить разработку функционала, присущего CMS, для всех, кто использует в работе Symfony Framework 2.
Основные особенности проекта:

  • слабая связность компонентов
  • масштабируемость
  • удобство
  • тестируемость

Стоит сделать акцент на слове CMF — проект не является CMS сам по себе, это именно фреймворк. В отличие от CMS, где все компоненты жестко завязаны друг на друге, в Symfony CMF вы:

  • используете все, что хочется
  • заменяете то, что не нравится
  • игнорируете то, что не требуется

То есть, вам дан набор модульных инструментов для разработки, а не готовое приложение «под ключ», хотя уже разработаны базовые бандлы, обеспечивающие CMS-функционал.
Зачем еще один CMF?
Total votes 37: ↑33 and ↓4+29
Comments17

Linux pipes tips & tricks

Reading time8 min
Views185K

Pipe — что это?


Pipe (конвеер) – это однонаправленный канал межпроцессного взаимодействия. Термин был придуман Дугласом Макилроем для командной оболочки Unix и назван по аналогии с трубопроводом. Конвейеры чаще всего используются в shell-скриптах для связи нескольких команд путем перенаправления вывода одной команды (stdout) на вход (stdin) последующей, используя символ конвеера ‘|’:
cmd1 | cmd2 | .... | cmdN

Например:
$ grep -i “error” ./log | wc -l
43

grep выполняет регистронезависимый поиск строки “error” в файле log, но результат поиска не выводится на экран, а перенаправляется на вход (stdin) команды wc, которая в свою очередь выполняет подсчет количества строк.

Логика


Конвеер обеспечивает асинхронное выполнение команд с использованием буферизации ввода/вывода. Таким образом все команды в конвейере работают параллельно, каждая в своем процессе.

Размер буфера начиная с ядра версии 2.6.11 составляет 65536 байт (64Кб) и равен странице памяти в более старых ядрах. При попытке чтения из пустого буфера процесс чтения блокируется до появления данных. Аналогично при попытке записи в заполненный буфер процесс записи будет заблокирован до освобождения необходимого места.
Важно, что несмотря на то, что конвейер оперирует файловыми дескрипторами потоков ввода/вывода, все операции выполняются в памяти, без нагрузки на диск.
Вся информация, приведенная ниже, касается оболочки bash-4.2 и ядра 3.10.10.

Простой дебаг


Утилита strace позволяет отследить системные вызовы в процессе выполнения программы:
$ strace -f bash -c ‘/bin/echo foo | grep bar’
....
getpid() = 13726                   <– PID основного процесса
...
pipe([3,  4])                       <– системный вызов для создания конвеера
....
clone(....) = 13727                <– подпроцесс для первой команды конвеера (echo)
...
[pid 13727] execve("/bin/echo",  ["/bin/echo",  "foo"],  [/* 61 vars */] 
.....
[pid 13726] clone(....) = 13728    <– подпроцесс для второй команды (grep) создается так же основным процессом
...
[pid 13728] stat("/home/aikikode/bin/grep",   
...
Видно, что для создания конвеера используется системный вызов pipe(), а также, что оба процесса выполняются параллельно в разных потоках.
Читать дальше →
Total votes 105: ↑97 and ↓8+89
Comments36

Linux Malware Detect — антивирус для веб-серверов

Reading time4 min
Views65K


Интернет уже не тот, что прежде — кругом враги. Тема обнаружения непосредственного заражения сайта и поиска вредоносных/зараженных скриптов на взломанном сайте рассмотрена слабо, попробуем это исправить.
Итак, представляем вашему вниманию Linux Malware Detect.

Linux Malware Detect (LMD) — это сканер для Linux, предназначенный для поиска веб-шеллов, спам-ботов, троянов, злонамеренных скриптов и прочих типичных угроз характерных для веб-пространств и особенно актуален для виртуальных шаред-хостинг платформ. Главное отличие от прочих Linux-антивирусов — его веб направленность, сканирование файлов веб-сайтов, ведь обычные антивирусы ориентируются на более глобальные угрозы уровня системы.
Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments48

3D-печать органов человека

Reading time11 min
Views94K
UPD: Владельцы лаборатории — Инвитро — теперь есть на Хабре. Занёс в их корпоративный блог. С вопросами можно обращаться к ним напрямую.


Это из новой лаборатории 3D-печати органов. Спереди внушительный микроскоп, дальше видно двух медицинских инженеров за AutoCAD – делают макет площадки для формирования тканевых сфероидов.

Тут недавно открылась лаборатория 3D-биопринтинга органов (проект Инвитро). Вокруг неё творится какая-то лютая феерия непонимания того, что именно делается. В общем, хоть я и не микробиолог, но мне стало интересно. Я пробился до разработчика — В.А. Миронова. Именно он изобрёл технологию печати органов и запатентовал это в США, участвовал в разработке уже трех модификаций биопринтеров, и именно он «главный по науке» в новой лаборатории в Москве:


В.А. Миронов (M.D., Ph.D., профессор с 20-летним опытом в микробиологии, в частности, на границе с IT) — в процессе полуторачасового объяснения мне сути технологии изрисовал кучу бумаги.

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

А пока главное. Не торопитесь пить всё что горит: до новой печени ещё очень далеко. Поехали.
Читать дальше →
Total votes 165: ↑158 and ↓7+151
Comments141

Классификация русского текста с помощью библиотеки Natural на NodeJS

Reading time3 min
Views17K
Преамбула


Я никого не удивлю, если скажу, что современный человек, а, в особенности, программист, каждый день получает огромное информации. К примеру, мой RSS-клиент выдает мне в неделю около 500 статей. И, конечно же, это далеко не единственный источник информации.

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

Я решил начать с тестирования подвернувшихся под руку нейронных сетей. Я взял небольшое количество входных данных. Позитивные данные я скопировал из статей по nodejs с хабра. Негативные данные я нашел на «ленте.ру». Задача классификатора заключалась в том, чтобы отсортировать статьи о программировании и nodejs от обычных, безынтересных для моего развития, новостей.

Результаты работы с Brain и Fann я показывать не хочу — я не считаю, что я обладаю достаточной экспертизой для того, чтобы судить о них. Скажу только что из коробки они меня не устроили совершенно — на моих входных данных они не давали адекватного количества правильных ответов. А вот библиотека Natural меня очень впечатлила.

Далее я покажу как я обучал классификатор, проверял его работу и заставлял понимать русский язык.

Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments7

Создавайте продукты, которые не масштабируются

Reading time16 min
Views70K
Один из наиболее универсальных советов, которые мы даем в Y Combinator, это браться за сложную работу. Многие начинающие основатели верят, что стартапы или «взлетают» или нет. Вы создаете что-то, делаете это доступным, и, если вы придумали самую лучшую мышеловку, люди, как и было обещано, сами придут к вам. Или не придут, в таком случае у вас нет рынка. [1]

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

Привлечение клиентов


Самая распространенная сложная работа, за которую основатели должны браться на старте, это самостоятельное привлечение пользователей. Этим должны заниматься почти все стартапы. Нельзя ждать, когда пользователи к вам придут. Вы должны сами пойти и привести их.
Читать дальше →
Total votes 95: ↑86 and ↓9+77
Comments12

О молекулах РНК

Reading time3 min
Views34K

О рибонуклеиновых кислотах (РНК)



Для поддержания жизни в живом организме происходит множество процессов. Некоторые из них мы можем наблюдать — дыхание, прием пищи, избавление от продуктов жизнедеятельности, получение информации органами чувств и забывание этой информации. Но большая часть химических процессов скрыта от глаз.
image
Приоткроем завесу тайны
Total votes 28: ↑15 and ↓13+2
Comments15

Безвентиляторный домашний мини-сервер на базе корпуса HD-Plex H3.S

Reading time6 min
Views98K
Я давно задумывался о новой игрушке, на которой можно запустить несколько виртуальных машин для опытов, но ставить дома шумящий пылесос совсем не хотелось. Альтернативный вариант – покупка VDS (VPS), или машины в каком либо облаке был давно отметен, ну а последние скандалы в области информационной безопасности только укрепили мое мнение.
Итак цель определена — бесшумный и достаточно производительный домашний сервер.
Под катом много картинок, и краткое, очень краткое, описание как можно использовать синюю изоленту в сервере!
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments26

Часть 2. Как подключить смартфон к авто — приступаем к практике

Reading time7 min
Views237K
После того как мы подковались теоретически (см. Часть 1) и уже представляем, что стоит, а чего и не стоит ожидать от подключения смартфона к вашему авто, можем переходить к практике.

Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments50

Information

Rating
Does not participate
Location
Калининград (Кенигсберг), Калининградская обл., Россия
Date of birth
Registered
Activity