Яндекс.Метрика

    Ни о чём

    Ни о чём

    IPood Nano с Ebay. Что внутри? Что он ест?

    image
    Привет хаброжители!

    Сегодня под руки попал китайский плеер, приобретенный на Ebay. Решил познакомиться с его внутренностями. Думаю, что туда положили китайцы, что он даже воспроизводит звук и умеет автономно работать целых 2 часа? Изначально планировал рассказать только про его «питание», но расскажу все по порядку.
    Итак поехали (небольшой фотоотчет, трафик)…

    Ни о чём

    Дело Денниса

    История, как известно, учит только тому, что никого ничему не учит.

    Последние несколько лет отмечены активными попытками государства (не только российского, но и многих зарубежных) судить своих граждан за неугодные убеждения — мыслепреступления, как сказал бы Оруэлл — когда абстрактным фразам и суждениям (например, «Долой самодержавие и престолонаследие») приписывается побуждение к насильственным действиям. Думаю, практика применения ст. 282 УК РФ беспокоит многих хабровчан, равно как американских граждан беспокоят законы о противодействии терроризму.

    Между тем, ничто не ново под Луной, и подобные процессы происходили неоднократно. В этом топике мне хотелось бы рассказать о событиях 40-летней давности, связанных с именем Юджина Денниса. Эти события примечательны тем, что замечательно коррелируют с происходящим сегодня в России — будем надеяться, что и развязкой тоже.

    Ни о чём

    Настройка сервера под FreeBSD в качестве роутера

    После базовой установки FreeBSD на сервер или обычный ПК его можно использовать в качестве интернет-шлюза для внутренней (локальной) сети.
    Мы рассмотрим настройку интернет-шлюза средствами программы ipnat.

    Перед началом работы, советую обновить порты. Таким образом мы получим самую новую версию DHСP-сервер.
    Для этого в консоли, предварительно авторизировавшись root-пользователем вводим:

    portsnap fetch update

    Дожидаемся завершения обновления.

    IPNAT по сути уже установлен в базовой системе. Перед запуском ipnat нужно разрешить системе работать с демоном программы. Для этого используя текстовый редактор (например ee) добавим пару строк в файл конфигурации системы. Также мы настроим DHCP-сервер для автоматического назначения IP-адресов клиентам нашего маршрутиризатора.

    Ни о чём

    Игровые рули и джойстики – технологии XXI века в игровых устройствах

    Статья писалась для журнала «Компьютер билд» и потому текст сознательно упрощен. Журнал статью не принял, вот публикую тут.

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

    Ни о чём

    Стоит ли покупать USB Wi-Fi адаптер?

    Приветствую Вас, уважаемые хабролюди!
    Вот решил поделиться с Вами своими чувствами по поводу недавней покупки. При очередном переезде, разбирал коробки, и опять доставая две пары десятиметровой витой пары — решил «уйти» от проводов. Быстрый «гуглинг» дал много решений, подошел бюджетный USB вариант Dlink DWA-131. Выглядит так:
    imageimage

    На первый взгляд «безобидный сабж», но это только кажется.

    Ни о чём

    Яндекс. Директ. Подпорки или как разорить конкурента

    image
    Итак, снова представим ситуацию.
    Мы производим какой-либо продукт (на этот раз — ядерные боеголовки:)) и продаем его с помощью Директа. Наша рекламная кампания работает давно и успешно, CTR устаканился на высокой отметке, стоимость за клик невелика, с Директа сыпятся заказы на наши боеголовки, деньги льются рекой, травка зеленеет и солнышко блестит.
    И вот в один прекрасный день вы получаете письмо от робота Директа о том, что кто-то вытеснил вас с насиженных позиций. Это наш старый негодяй-конкурент, компания «Бобруйские боеголовки» увидев как хорошо у нас идут дела, решает отвоевать часть рынка. Эта гордая миссия была поручена секретарше Люсе, так как «она умеет почту принимать и вообще шарит во всех этих компьютерах».

    Ни о чём

    Какие языки программирования наиболее востребованы

    Захотелось узнать, какие языки программирования пользуются спросом в США на рынке труда. Я выбрал 10 сайтов, судя по отзывам являющимся популярными.
    Как метод оценки, выбрал количество вакансий, выдаваемых по ключевому слову.
    Monster.com не вошёл в спиcок, так как не выдаёт количество вакансий.

    Ни о чём

    fxCanvas 0.1a — релиз «эмулятора» тега Canvas для Internet Explorer

    fxcanvas

    Вышла первая стабильная версия «эмулятора» тега Canvas для Internet Explorer — fxCanvas 0.1a `Mario`.

    Самые вкусные особенности:
    • в качестве выходного буфера для графики используется флеш, что дает высокую скорость отрисовки;
    • близкая к совершенству реализация Canvas API;
    • базовая поддержка текста;
    • возможность работы с массивом пикселей;
    • определение точки-в-контуре;
    • возможность загружать картинки в формате data:;


    fxCanvas практически полностью реализует Canvas API, но с некоторыми особенностями.

    Цепочки комманд и метод invoke


    В fxCanvas используется довольно хитрый способ общения с флешом, благодаря которому время, затрачиваемое для передачи буфера с командами, близко к нулю (не буду утомлять техническими подробностями, так как вы можете их узнать, заглянув в исходники). Но как недостаток этого способа — для получения результата контекстной функции нужно вызывать метод через обертку invoke. Взгляните на пример:
    var canvas = document.getElementById("cv"),
        ctx = canvas.getContext("2d");

    ctx.setFillStyle("#ff0")
        .setStrokeStyle("#0ff")
        .strokeRect(10, 20, 30, 30)
        .fillRect(30, 40, 50, 50)
        .invoke("getImageData", 0, 0, canvas.width, canvas.height, function (imageData) {
            // ... imageData - возвращаемые данные getImageData
        });
    В этом примере обработчик вызывается после того, как контекстные команды будут выполнены (и да, это цепочка команд).

    Картинки


    Для предзагрузки картинок в fxCanvas добавлен метод loadImage:
    var canvas = document.getElementById("cv"),
        ctx = canvas.getContext("2d"),
        image_src = "sample.jpg";

    canvas.onload = function(img) {
        if (img.src.indexOf(image_src) > -1) {
            ctx.drawImage(img, 10, 10);
        }
    }
    canvas.loadImage(image_src);
    Кроме того, картинки могут быть в формате data: URI.

    Карта пикселей


    Карта пикселей (image data), вероятно, одна из самых интересных особенностей fxCanvas, так как эта штука предоставляет разработчикам возможность реализовывать различные эффекты «не выходя из браузера». Например вот так:
    var canvas = document.getElementById("cv"),
        ctx = canvas.getContext("2d");

    ctx.invoke("getImageData", 0, 0, canvas.width, canvas.height, function(buf)
    {
        for (var y = 0; y < canvas.height; y++)
        {
            for (var x = 0; x < canvas.width; x++)
            {
                var ofs = y * canvas.width + x,
                    pixelValue = buf.data[ofs],
                    red = pixelValue.charCodeAt(0),
                    green = pixelValue.charCodeAt(1),
                    blue = pixelValue.charCodeAt(2),
                    alpha = pixelValue.charCodeAt(3);

                buf.data[ofs] = String.fromCharCode(red % 32, green % 64, blue % 128, alpha);
            }
        }
        ctx.invoke("putImageData", buf, 0, 0, function () {;
            // ... и распечатаем буфер по завершении операции
            console.log("Image data dump:" + buf);
            // Заметьте, Internet Explorer не отображает текст с символом \x00.
        });
    });
    И да, это работает достаточно медленно в Internet Explorer, в отличие от его конкурентов (хотя есть некоторое решение этой проблемы, оно будет добавлено в следующей версии).

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

    Точка в контуре?


    В Internet Explorer метод isPointInPath(x, y) возвращает положительное значение если x, y находится в границах контура. В остальных браузерах — если внутри заливки контура.

    Снимок холста


    Можно получить через toDataURL():
    var canvas = document.getElementById("cv");
    var type = "image/jpg", quality = .4; // качество картинки - необязательный аргумент
    canvas.toDataURL(type, quality, function (png_data) {
        // следущий код будет рисовать кусок холста на том же самом холсте
        var ctx = this.getContext("2d");
        this.onload = function (img) {
            ctx.drawImage(img, 0, 0, canvas.width - 100, 0, 100, 100);
        }
        this.loadImage(png_data);
    });
    Это похоже на вызов invoke, где возращаемое значение передается фунции-обработчику.
    Тип картики может быть «image/jpeg» или «image/png» (по умолчанию).

    Пример работы с картой пикселей и снимком холста.

    Операции смешивания пикселей (composite operations)


    В fxCanvas реализованы только source-over и lighter. Но в будущем будут добавлены остальные.

    Скачать исходники можно здесь, посмотреть примеры и тесты здесь.

    Ни о чём

    Вкратце о лицензиях Open Source

    Многие разработчики и дизайнеры хотят опубликовать свои работы в виде открытых проектов. Они хотят иметь возможность делиться своим кодом. Сообщество open-source с каждым днём всё прочнее стоит на ногах. Открытые программы существуют для любых видов задач, каких вы только можете себе вообразить. А многие веб-разработчики используют свободное ПО как фундамент для своей работы (WordPress, Drupal и многие другие CMS открыты, свободны и бесплатны).

    Но ситуация такова, что лицензий open-source существует великое множество, и подчас нелегко понять что на самом деле они означают. Какие права получают разработчики, когда выбирают ту или иную открытую лицензию? Попробуем хотя бы в общих чертах разобраться.

    Ни о чём

    Бухгалтерия онлайн для малого и среднего бизнеса

    image
    www.schetov.ru

    Добрый день,

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

    Ни о чём

    Бизнес. Как не надо

    Некоторое время назад я публиковал здесь статью о том как надо и не надо вести монтаж. И буквально вслед за этим брожения в нашей компании достигли своего пика и вынуждают меня к поиску новой работы.
    А между тем я расскажу вам историю загнивания одного стартапа и пример того, как ни в коем случае нельзя относиться к работникам, бизнес-процессу и бизнесу вообще.
    Кладбище стартапов
    Я не сторонник поливания грязью кого-либо, тем более своего работодателя, но этот случай — исключение — адекватный ответ на отношение к сотрудникам.

    Ни о чём

    Идея программы для изучения английского

    Некоторое время назад у меня появилась идея КАК можно качественно улучшить и закрепить свои знания иностранного языка. Ею и хочу поделиться ниже. Возможно, сама идея далеко не нова и, возможно, давно уже реализована в том или ином виде, тогда буду признателен за наводку и ссылки. Самому же мне пока ничего подобного найти не удалось.
    Далее в тексте для простоты я буду говорить об английском языке, но вместо слова «английский» можно подставить любой другой иностранный язык, смысл от этого не изменится.

    Ни о чём

    Как я знакомился с nexus one

    Заранее извиняюсь — это в некоторой степени УГ топик. Буквально на днях до меня таки доехал Nexus One родом из Дубая, моей радости не было предела! Буквально через полчаса любования был подключен wi-fi, он запросил обновиться — я согласился — пошла перезагрузка, потом экран с прогресс баром и аналогичный без него. После чего коммун выключился. Передать мое выражение лица словами не представляется возможным… После целый день я всячески пытался его реанимировать, выучил все найденные форумы — безрезультатно. Попытка связаться с русско-язычной тех. поддержкой HTC результатов не дала — говорят, что пока на территории РФ не продается сделать ничего не могут. Обращаться в англоязычную не позволяет знание собственно английского.

    Ни о чём

    Программное конструирование

    Реалии подтверждают слова Брукса: до сих пор еще не возникло методов программирования, использование которых позволит на порядок величин повысить производительность разработки программного обеспечения при прочих равных условиях («Мифический человеко-месяц», 1995). Программирование сегодня напоминает изготовление автомобиля до появления Генри Форда, который предложил конвейер. Авто собиралось вручную, было крайне дорого, хотя и находило своих заказчиков, а сегодня машина доступна каждому, у кого есть руки и голова.

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

    Об идее

    Ни о чём

    Паттерны проектирования

    Здравствуй хаброчеловек!

    Так уж случилось, что с этого семестра в своем вузе я записался на спецкурс по паттернам проектирования. Курс проходит в виде семинаров, на которых ты (студент) должен рассказать чему научился за неделю (имеется ввиду, какие паттерны изучил и применил на практике).

    Ни о чём

    Оформление скроллбара (кроссбраузерно)

    Не нашел подобную статью на хабре, а тут как раз пришлось столкнуться с данной проблемкой.

    Рассмотрим два решения этой проблемы, на разных фреймворках — jQuery (jScrollPane) и MooTools (MooTools ScrollContro).

    Ни о чём

    Фишинг и фриланс



    Здравствуйте!
    Вы серьезно нарушили правила ресурса free-lance.ru, указав свои координаты в проекте.
    Это категорически запрещено правилами нашего сайта. Во избежание лишнего флуда все контактные данные должны быть отображены только на странице фри-лансера, и нигде более.
    Вы оштрафованы на 20FM, или на 600 рублей.
    Перевести деньги нужно на кошелек "Яндекс. Деньги"
    *номер кошелька убран*
    В информации о платеже не забудьте указать Ваш логин!

    Это можно сделать до 18:00 по Московскому времени (8 января)

    В противном случае Ваш аккаунт будет заблокирован навсегда.

    Ни о чём

    Реальность нереального или Покупатель всегда неправ

    В марте 2010 в рассылке пришло приглашение на конференцию «Эволюция законодательства в области качества ПО». Основным докладчиком значился Cem Kaner, JD (доктор юридических наук), PhD, профессор Технологического Института Флориды, в общем, серьезный товарищ. И тезисы были тоже очень привлекательные (цитирую в моем переводе):
    — почему производители ПО не имеют обязательств, сравнимых с производителями других продуктов;
    — как, с точки зрения закона, должны трактоваться программные сервисы (именно сервисы, не ПО — мое примечание);
    — законность ограничения прав на reverse engineering.

    И т.п. Очень интересная должна была быть конференция. К сожалению, я на нее не попал.

    В свете некоторых недавних событий, мне захотелось порассуждать о первом пункте плана. Итак, «Почему производители ПО не имеют обязательств, сравнимых с производителями других продуктов?».

    Ни о чём

    Проект Xmarks (он же Foxmarks) закрывается из-за нехватки средств

    image

    Всем известный проект Xmarks закрывается с формулировкой: «Нет денег на поддержку хостинга и выплаты зарплат сотрудникам проекта».

    Ни о чём

    Ломастер. Ломаем избирательную систему

    Избирательная урна

    Современная избирательная система, используемая для выборов в различные органы власти (оставим за рамками разговора — насколько эти выборы демократичные и честные) — появилась в 19-ом и в начале двадцатого века. Понятное дело, что никаких современных компьютеров не существовало (хотя специальные счетные устройства — табуляторы, отдаленными потомками которых являются современные компьютеры, будущая фирма IBM разработала как раз для проведения выборов и переписей населения в США). В те годы зачастую и средства связи ограничивались возможностью послать результаты местных выборов обычной почтой или нарочным, так что процедура голосования растягивалась на недели.

    Кстати, существующая нынче в США система выборов, где сначала выбирают уполномоченных, которые уже голосуют — своими корнями уходит именно в те времена, и становится понятно, что такие странные, на сегодняшний взгляд, процедуры — в те годы были вполне практичны. Выборщики были и передатчиками информации, и контролирующим органом, следящим за тем, чтоб присланные голоса были учтены. Плюс, посылка нескольких человек вместо одного подразумевала большую защищенность, как в плане подделки результатов, так и в чисто физическом плане — тогда просторы Дикого Запада были действительно дики, и путешественник-одиночка имел очень большие шансы вообще никуда не доехать.