• Какая польза от 3D принтеров? Arduino Robotic Arm

      image

      Довольно часто встречается вопрос зачем вообще нужны 3D-принтеры? Что это просто очередная дорогая игрушка. Возможно, сейчас они и имеют довольно узкую область применения, но и этой области вполне достаточно чтобы относиться к ним серьёзно, в конце концов обычные принтеры тоже по своей сути выполняют достаточно специфическую работу, что не мешает их повсеместному распространению.
      Так вот, одним из ярких примеров полезности 3D печати может служить 17-летний колорадский парень Истон Ляшапель, который сумел спроектировать чертежи для изготовления роботизированных протезов рук на домашних 3D принтерах, себестоимость которых в разы меньше, чем у аналогичных присутствующих на рынке.
      Читать дальше →
    • Опубликованы спецификации Международного линейного коллайдера



        На официальном сайте Международного электрон-позитронного линейного коллайдера опубликован технический проект (Technical Design Report) для строительства этого сооружения. Теперь, после публикации документа, можно немедленно приступать к строительству, как только будет выбрано место для него.
        Читать дальше →
      • Земля в информационной блокаде?

        Для начала немного цифр и краткой информации. Чтобы расшевелить фантазию.
        Кхе-кхе. Наша галактика зовется Млечный путь и имеет в своем составе, по различным оценкам, от 200 до 400 млрд. звезд. Из них звезд типа G, как наше Солнце, примерно 5% (то есть, по самой низкой оценке 10^10 таких звезд). Как минимум 30% таких звезд имеют планеты, и эта оценка, скорее всего занижена, так как с современными технологиями ученые обнаруживают только крупные планеты. На основе инфракрасных исследований предполагается, что от 20% до 60% звезд солнечного типа могут сформировать планеты подобные нашей Земле. По самым скромным подсчетам это так или иначе миллиарды планет, подходящих для жизни.

        Млечный путь имеет форму спирали
        Млечный путь имеет форму спирали.
        Читать дальше →
      • Как создать новый продукт для рынка электроники. Часть 1



          Статьи о разработке продуктов в сфере электроники — это большая редкость на Хабре. Я говорю не о любительских проектах или прототипах, а об успешных коммерческих устройствах для массового рынка.

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

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

          Многие читатели Хабра знакомы с внутренней кухней разработки ПО, а ведь железо — это совсем другая история. Готовы? Тогда поехали.
          Дальше о том, в чем разработка электроники отличается от разработки ПО
        • Дата-майнинг 10 000 актёров порно



            Вокруг adult киноиндустрии существует много мифов и заблуждений. Например, многие склонны думать, что типичная актриса — блондинка с пышными формами. На самом деле это далеко не так. Джон Миллворд (Jon Millward) осуществил дата-майнинг кинематографической базы Internet Adult Film Database и проанализировал информацию о 125 тыс. фильмах, которые содержат информацию более чем о 115 тыс. актёрах. Для статистического анализа были сделана выборка 10 000 человек.
            Читать дальше →
          • Что я постиг в программировании

            • Translation
            Я программирую уже более 30 лет. И мой путь в программировании тянется от микропроцессоров Z80 и 6502 до современных машин, от таких языков программирования как BASIC, assembly, C, C++ до Tcl, Perl, Lisp, ML, occam или arc, Ruby, Go и проч.

            Вот список того, что я постиг в программировании:

            0. Программирование удел ремесленника, а не ученого или инженера

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

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

              Окончив институт и устроившись на работу, я осознал, что совершенно не создан для офисной или выездной работы, четких распорядков, начальников и прочей рутины. А ходить на работу каждый день было ну совсем невыносимо. Хватило меня на пол года :) Потому, несмотря на не пыльную работу, весьма высокую зарплату, а по меркам вчерашнего студента, так вообще шикарную, я дождался первого же срача с начальством и красиво хлопнул дверью. С тех пор развлекаю себя сам и доволен жизнью. О нюансах вольной жизни бывшего фрилансера электронщика я и хочу поведать в этом посте.
              Все нижеследующее это исключительно мой практический опыт и я не уверен, что у вас все получится именно так.

              Бабло
              Начну с самого интересного, с денег. Скажем так, под конец моей деятельности (примерно 2010), не особо напрягаясь, работая около двух-трех дней в неделю, можно было смело делать тысяч по 50-70 рублей. Это в Челябинске. Если работать каждый день, то легко было делать от 150 тысяч рублей в месяц и более, но я для этого был слишком ленив. А теперь по порядку.

              Далее Война и Мир, написал как сумел
            • Почему объектно-ориентированное программирование — это отстой

                Когда я первый раз услышал об объектно-ориентированном программировании — сразу отнёсся к нему скептически. Честно говоря, даже не знаю, почему. Просто оно показалось мне каким-то неправильным. Но ООП очень быстро стало популярным (почему — я объясню ниже) и критика в его адрес превратилась в этакую «ругань в церкви». А объектно-ориентированность стала обязательной составляющей любого уважаемого языка программирования.

                С ростом популярности Erlang часто стали задавать вопрос «— А Erlang — объектно-ориентированный?». Правильный ответ был бы «— Да что вы, нет!». Но мы не могли так заявлять в полный голос, поэтому пришлось выкручиваться. Мы придумали несколько достаточно нетривиальных ответов, которые бы представляли Erlang типа-объектно-ориентированным языком (для тех, кто больше всего тянет руку с этим вопросом), но при этом и не объектно-ориентированным для тех, кто на самом деле в теме.
                Читать дальше →
              • Восстановление расфокусированных и смазанных изображений. Практика

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

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

                  Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



                  И вот результат обработки:



                  Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

                  Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
                  Читать дальше →
                • Coursera — это маленькая революция: +12 университетов, >100 онлайн курсов

                    Для тех, кто в танке (т.е. не получает новости от Coursera).

                    Дополнительно присоединились следующие университеты:

                    California Institute of Technology
                    Duke University
                    Ecole Polytechnique Federale de Lausanne
                    Georgia Institute of Technology
                    Johns Hopkins University
                    Princeton University
                    Rice University
                    Stanford University
                    University of California, San Francisco
                    University of Edinburgh
                    University of Illinois at Urbana-Champaign
                    University of Michigan
                    University of Pennsylvania
                    University of Toronto
                    University of Virginia
                    University of Washington

                    Теперь на Coursera можно выбрать интересующий вас курс из более чем 100 доступных, от функционального программирования на Scala от его создателя (Мартин Одерский), курса по иррациональному поведению до курса “Как работают вещи” профессора Луиса Блумфилда.
                    Читать дальше →
                  • Основы реляционной алгебры

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

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

                      Читать дальше →
                    • Код Хэмминга. Пример работы алгоритма

                        Вступление.


                        Прежде всего стоит сказать, что такое Код Хэмминга и для чего он, собственно, нужен. На Википедии даётся следующее определение:

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

                        Другими словами, это алгоритм, который позволяет закодировать какое-либо информационное сообщение определённым образом и после передачи (например по сети) определить появилась ли какая-то ошибка в этом сообщении (к примеру из-за помех) и, при возможности, восстановить это сообщение. Сегодня, я опишу самый простой алгоритм Хемминга, который может исправлять лишь одну ошибку.
                        Читать дальше →
                      • Настраиваем GNOME Shell

                        Выход GNOME 3.0 вызвал массу недовольства со стороны пользователей. В числе недостатков отмечались неудачные шрифты, большие заголовки окон, отсутствие возможности сменить тему, неудобная система уведомлений и многие другие.
                        Однако я, обновившись с Fedora 14 до F16, сразу подумал — в этом что-то есть. И стал пытаться довести свой рабочий стол до удобного для меня состояния. Результатами остался очень доволен.

                        Читать дальше →
                      • Улучшаем GNOME 3

                          Привет, Хабралюди!

                          image

                          После обновления своего дистрибутива (Russian Fedora) я столкнулся с большим количеством проблем в GNOME 3. В этой статье я постараюсь описать все, собранные мной, методы их решения. Кому интересно, под кат!
                          Читать дальше →
                        • Принципы организации учёта IP-трафика

                          Любой администратор рано или поздно получает инструкцию от руководства: «посчитать, кто ходит в сеть, и сколько качает». Для провайдеров она дополняется задачами «пустить кого надо, взять оплату, ограничить доступ». Что считать? Как? Где? Отрывочных сведений много, они не структурированы. Избавим начинающего админа от утомительных поисков, снабдив его общими знаниями, и полезными ссылками на матчасть.
                          В данной статье я постараюсь описать принципы организации сбора, учёта и контроля трафика в сети. Мы рассмотрим проблематику вопроса, и перечислим возможные способы съема информации с сетевых устройств.
                          Много текста с картинками следует...
                        • Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

                            Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

                            Введение


                            С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
                            Статья большая, так что будет поделена на логические блоки:

                            0. Зачем вообще что-то оптимизировать?
                              
                            1. Оптимизация ОС (FreeBSD)
                              1.1 Переход на 7.х 
                              1.2 Переход на 7.2
                              1.3 Переход на amd64
                              1.4 Разгрузка сетевой подсистемы
                              1.5 FreeBSD и большое кол-во файлов
                              1.6 Softupdates, gjournal и mount options
                              
                            2. Оптимизация фронтенда (nginx)
                              2.1 Accept Filters
                              2.2 Кеширование
                              2.3 AIO
                              
                            3. Оптимизация бэкенда
                              3.1 APC
                              3.1.1 APC locking
                              3.1.2 APC hints
                              3.1.3 APC fragmentation
                              3.2 PHP 5.3
                              
                            4. Оптимизация базы данных
                              4.1 MySQL 
                              4.1.1 Переход на 5.1
                              4.1.2 Переход на InnoDB
                              4.1.3 Встроеный кеш MySQL - Query Cache
                              4.1.4 Индексы
                              
                            4.2 PostgreSQL
                              4.2.1 Индексы
                              4.2.2 pgBouncer и другие.
                              4.2.3 pgFouine
                              
                            4.3 Разгрузка базы данных
                              4.3.1 SphinxQL
                              4.3.2 Не-RDBMS хранилище
                              4.4 Кодировки
                              4.5 Асинхронность
                              
                            Приложение. Мелочи.
                              1. SSHGuard или альтернатива.
                              2. xtrabackup
                              3. Перенос почты на другой хост
                              4. Интеграция со сторонним ПО
                              5. Мониторинг
                              
                             6. Минусы оптимизации

                            Кому что-нибудь из этого списка интересно, жмём сюда...
                          • Еще раз о поиске простых чисел

                              Скульптура `Решето Эратосфена` (Стэнфордский университет) В заметке обсуждаются алгоритмы решета для поиска простых чисел. Мы подробно рассмотрим классическое решето Эратосфена, особенности его реализации на популярных языках программирования, параллелизацию и оптимизацию, а затем опишем более современное и быстрое решето Аткина. Если материал о решете Эратосфена предназначен в первую очередь уберечь новичков от регулярного хождения по граблям, то алгоритм решета Аткина ранее на Хабрахабре не описывался.

                              На снимке — скульптура абстрактного экспрессиониста Марка Ди Суверо «Решето Эратосфена», установленная в кампусе Стэнфорского университета
                              Читать дальше →
                            • Микроэлектроника – мотивации псто

                                image

                                Дисклаймер


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