• Прекратите использовать сокращения слов в интерфейсах

    Все чаще замечаю в разных интерфейсах сокращения типа — Вкл. Выкл. Включ. Выключ. On, Off, и т. п.
    Реального человека (пользователя) это вводит в ступр. В лучшем случае пользователь начинает лихорадочно метаться по интерфейсу в поисках расшифровки или описания к кнопкам/переключателям. Либо в худшем случае пользователь уйдет из-за непонимания происходящего.

    Реальный пример пренебрежения к пользователям в Google Analytics:


    image

    Читать дальше →
  • Bear — автоматизация удаленного развертывания с помощью Groovy/JVM

    image Всем привет. Хочу представить новое средство удаленной автоматизации — Bear (Медведь). Bear позволяет выполнять задачи по настройке развертыванию ваших приложений на группе серверов. Этот инструмент стоит в одну с такими утилитами как Capistrano (Ruby), Fabric (Python), Chef (Ruby) и Puppet (Ruby).

    Существенное отличие состоит в том, что Bear с самого начала предназначен для платформы JVM. Это означает привычное джависту рабочее окружение — отладчик, автодополнение кода, рефакторинг, статическую типизацию и поддержку нескольких языков программирования. Ну и вербозность джавы, куда уж без нее, родимой.
    Читать дальше →
  • Коварный d3dx9.dll и d3dx9_43.dll. Как исправить и почему скачать этот фай — плохая мысль?

    Начну сразу же по теме:

    Решил вспомнить легендарную игру Fable/Fable2 image я скачал новую Fable3 являясь ярым фанатом этой игры и после установки вышла ошибка d3dx9_43.dl тут и началась игра в кошки — мышки! image
    Первым делом которое сделает каждый показан на скрине:
    image

    Если после установки игры или какого-либо ПО в Windows 7 или 8 вы столкнулись с ошибкой «запуск программы невозможен, поскольку отсутствует файл d3dx9.dll» или же, d3dx9_43.dll, в любом случае выглядит так image
    да и вообще этот же файл с любым номером на конце (просто 43 — наиболее часто встречающийся на сегодня вариант в Windows 7,8), то здесь вы найдете решение, но прежде всего запомните и примите к сведению то, о чем я поведаю в следующем абзаце.

    Скачать d3dx9_43.dll или d3dx9.dll с какого-либо сайта и скопировать этот файл туда, где он отсутствует — очень плохая идея и вот почему image как говориться параноя хорошая фобия как не крути :) Как правило, пользователь, сталкиваясь с такой ошибкой, сразу начинает искать, где скачать эту библиотеку, хотя это самый простой способ получить вирусы себе на компьютер и, более того, скорее всего, это не исправит проблему. То есть вы скачиваете файл библиотеки dll с сомнительного сайта среди которых даже группы вконтакте, сайты с названиями ошибки и т.д. в общем на любой цвет и вкус любого шизика (при этом, совершенно не знаете, что в ней находится, так как в любую такую библиотеку можно внести все, что угодно), и самолично регистрируете этот файл в системе — такие действия чреваты последствиями. Это касается любых DLL. Ну а для того, чтобы подобного не случилось, достаточно знать, для чего служит d3dx9.dll, компонентом чего он является и просто установить то, что нужно.

    Файлы d3dx9_43.dll и d3dx9.dll являются библиотеками Microsoft DirectX, а следовательно именно его и следует установить!

    Итак, если запуск программы невозможен из-за указанных файлов, то это гарантированно означает, что не хватает нужных (обычно для игры) компонентов DirectX (несмотря на то, что в Windows 8 и Windows 7 уже есть DirectX, по умолчанию он установлен не полностью) и не нужно скачивать отдельных d3dx9_43.dll и других аналогичных файлов (d3dx9_40.dll и d3dx9_42.dll в игре World of Tanks, Total War и других) — нужно просто установить Microsoft DirectX, который автоматически установит все нужные библиотеки в системе и сообщения о том, что какой-то файл отсутствует, появляться больше не будут.

    О том, как это сделать двумя способами — с помощью Веб установщика Microsoft для Windows 7 и 8 или отдельной программы установки для Windows XP или просто скачайте и установите с официального сайта DirectX и ошибка будет исправлена.
    Читать дальше →
  • Cane Code — язык программирования

    Вступление


    Всем привет, дорогие Хабрапользователи.

    Сегодня я расскажу вам о новом языке программирования — Cane Code.

    Да да, он относится к «ненормальному» программированию. Итак, начнём!
    Читать дальше →
  • WD Red+Linux – доверяй, но проверяй Load_Cycle_Count?

    Внимание! Некоторые партии новых жестких дисков Western Digital Red имеют старую добрую
    проблему с слишком быстро растущим при работе Linux параметром Load_Cycle_Count.
    Да-да, ту же что имели WD Green, замеченную 4 года тому назад.
    Проблемы замечены у 1/2/3/4-х терабайтных версий WD Red. Причём, у дисков с одной датой выпуска, версией firmware (80.00A80) но из разных партий поведение может отличаться, например:

    1st HDD: WDC WD30EFRX-68AX9N0 – счётчик не растёт
    2nd HDD: WDC WD30EFRX-68EUZN0 – (мой случай) счётчик растёт!

    Подробности ниже.
    Читать дальше →
  • Компиляция примеров в Qt 5.2 на OpenGL для платформы Windows 8.1

    Как подготовиться к компиляции на OpenGL в Qt5.2 для платформы Windows 8.1 (x64/x86)


    Хочу поделиться своим впечатлением новичка по настройке среды и установке Qt 5.2 и дополнительных библиотек для компиляции приложений, использующих библиотеку OpenGL.
    Для начала работы, рекомендую установить все требуемые cutting-edge инструменты, включая:



    Установка

    Знаю, для многих — установка чистой системы принципиально не возможна, однако, это помогло мне для быстрого и относительно безболезненного погружения в среду разработки Qt 5.2. Скачав на чистую систему Microsoft Windows 8.1 с полностью установленной Microsoft Visual Studio 2013, версию Qt 5.2, немало удивился, когда увидел, что компилятор выдает ошибку не найден файл «GL\gl.h» (3 раза) для казалось бы самого простого примера OpenGL — Rogue Example.

    Мои пути установки:

    • Qt 5.2: C:\Qt\Qt5.2.0\
    • Microsoft Visual Studio 2013 Ultmate: C:\Program Files (x86)\Microsoft Visual Studio 12.0\

    Читать дальше →
  • Борьба с тормозами при работе в сети с Windows7

    Недавно случилось обновить клиентское место главбуха.
    WinXP — уже наше хорошее прошлое, поставили естественно семерку (Windows7).

    И вот тут опять «наступили на грабли».
    Старенький комп на XPюше в сети себя чувствовал шустряком, а новый постоянно подлагивал.
    Проявлялось в кратковременных фризах (замираниях) на 3-5 секунд при открытии/сохранении документов по сети.
    Ну а при активном сетевом обмене от людей слышишь только возмущения.
    Почему же новое железо работает хуже старых компов?

    1. Рыли в сторону антивирусов.
    2. «Оптимизировали» сетевые настройки.
    3. Игрались с запущенными службами.
    4. Отключали UAC.

    Все без толку.
    Читать дальше →
  • STM32F0Discovery — Мигание светодиодом

    • *
    Эта статья посвящена людям, которые только начинают знакомится с отладочными платами, а в особенности с STM32F0Discovery.

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

    Для работы с платой нам понадобится:
    1. Знания программирование на C
    2. Среда для программирования CoIDE
    3. Программа для прошивки ST-LINK/V2
    4. Начальные знания работы с микроконтроллерами

    И так что же это за плата...
    Читать дальше →
  • Концепция Web Synchronization на базе HTML5

    Новый HTML5 позволил создать концепцию Web Synchronization Concept (WSC) основанную на формирование финальной страницы HTML на стороне браузера, а не на стороне сервера.

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

    Основная идея поместить умный скрипт на сторону клиента (в браузер) с конфигурационной информацией для скачивания сайта целиком или только необходимой части сайта. На текущий момент веб страницы по большей части формируются на стороне сервер и затем передаются в браузер, концепция Web Synchronization предлагает наоборот. Сервер предоставляет клиентской стороне объекты (такие же аналогичные объектные модели существуют сейчас на серверной стороне), шаблоны страниц, карта сайта, контент в файлах и записях БД. После скачивания всей необходимой информации для формирования страницы браузер компонует страницу из объектов сохраненных локально (кэш, локальная БД, локальное хранилище) используя cache manifest файл сервера. Конфигурационный файл может содержать зеркала информации, которую можно получить, если не доступен основной сервер. После формирования страницы браузером заменяются все гиперссылки для запроса загрузки страницы из локальных ресурсов. Это переформирование займет менее секунды, если предварительно были скачены все необходимые ресурсы для данной страницы. Приоритетное скачивания информации из-за ограничений браузера на текущий момент единственное слабое место концепции WSC, но при этом ограничение браузера может быть расширенно, подав запрос владельцу браузера.
    Читать дальше →
  • Автоматизация OpenOffice 3.4.1\4.0 под Windows

    Международная консалтинговая компания в которой я работаю приняла решения о переходе с MS Office на бесплатную альтернативу Apache OpenOffice, поскольку за лицензии Micosoft-у больше платить не хотели. Наш софт формирует много документов Word, Excel, а я получил задачу избавиться от зависимости в MS Office, при этом все документы формировать надо.

    Изначально я пытался разобраться в SDK от разработчиков OpenOffice. Было потрачено много времени и никакого результата, нет толкового описания и примеров, OpenOffice не гарантирует никакой поддержки, пожаловаться некому. На официальном сайте нашёл куски куда, которые не всегда были даже рабочими. Руки стали опускаться.

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

    Читать дальше →
  • Золотая капча

    image

    Всем привет!

    Некоторое время назад я озадачился вопросом, какую капчу поставить себе в блог, выполненный на WordPress. Критерии поиска были довольно простыми: красиво выглядела, легко устанавливалась, приносила прибыль.

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

    Мне всегда казалось, что язык иделального программирования должен быть максимально приближен к нашей речи. Я рассмотрю на примере программы, которая ищет факториал числа. Вот как я вижу структуру этой задачи, и, в целом, всего языка:
    Исходный код программы разбит на две части. В первой мы с помощью зарезервированных слов объясняем базовые понятия для нашей программы(в нашем случае объясняем, что такое факториал):

    Factorial for N is prod from 1 to N

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

    Вторая часть программы — непосредственно «тело» программы (аналог begin...end в pascal).
    read(N)
    find(factorial(N))
    


    Вот и все. Простая программа, не правда ли? Правда под капотом этого языка нужно будет описать, естественно, все зарезервированные слова, все константы, и т.п.
    Читать дальше →
  • Будущее 64-битной Firefox


    В ноябре 2012 года инженер Mozilla Benjamin Smedberg принял решение остановить разработку 64-битной версии Firefox для Windows. Этот шаг многих расстроил, поэтому уже через месяц было объявлено о восстановлении разработки.

    Прошло больше года, стало понятно, что мало, что изменилось: 64-битный билд все еще доступен только на Nightly-канале, и не ясно, когда разработка перейдет в стадию бета-тестирования.

    Разъяснения от разработчиков:
    Уже выпущенные версии Firefox на Mac OS X и GNU/Linux полностью 64-битные. Что касается 64-битной версии для Firefox, то мы занимаемся настройкой автоматического тестирования для этой платформы, чтобы быть уверенными, что она тестируется на должном уровне, как и все наши продукты. 64-битные билды Firefox уже доступны на Nightly-канале, и пока от тестеров не поступало никак жалоб по поводу стабильности их работы. После того, как мы все протестируем, мы обязательно поделимся информацией о времени выхода 64-битной Firefox на Windows.
    Тем временем, кто не в курсе, есть 64-битный форк Firefox – Waterfox.



    [Истоник]
  • Изготовление БП на базе аккумуляторного отсека шуруповерта

    • *,
    • *

    Исходные данные


    Имеем в наличии два китайских аккумуляторных шуруповерта. Аккумуляторный отсек присутствует только у одного из них; да и тот, за давностью лет, к сожалению, перестал держать заряд. Покупать новый аккумуляторный отсек или заменять аккумуляторы не представлялось экономически целесообразным ввиду того, что стоимость его стоимость зачастую сравнима со стоимостью нового аналогичного шуруповерта.
    Читать дальше →
  • Новогодняя звезда из прошлого на светодиодах

    • *,
    • *

    Вот и прошли рождественские каникулы.
    Незадолго до нового года, я притащил из гаража коробку со старыми игрушками. Было любопытно, что там сохранилось после 20 лет забвения. Я обнаружил несколько конструкторов, светофор на батаейках, машинку на дистанционном (проводном) управлении, пинбол, футбол, хоккей, железную дорогу, «за рулём» и др. Многие игрушки нужно было приводить в порядок. Я надеялся, что восстановленные игрушки будут интересны моим подрастающим деткам. В любом случае, рука не поднимается взять их и выкинуть. Если читателю будет интересно, я опишу и даже сравню с современными эти старые игрушки и конструкторы.
    Но сейчас расскажу о том, как я восстанавливал главное украшение новогодней ёлки — красную пятиконечную звезду. Будет много картинок.
    Читать дальше →
  • Ремонт реле напряжения Digitop 48A

    • *

    Попало ко мне как-то сгоревшее реле напряжения Digitop 48A, в котором неисправным оказался бестрансформаторный источник питания, который потянул за собой микроконтроллер ATtiny26L-8PU.
    Заменив электролитические конденсаторы новыми с подобающим рабочим напряжением, тиристор BT169 на BT131, линейный стабилизатор 78L05 на 7805 и собственно микроконтроллер — принялся за написание прошивки.
    Читать дальше →
  • [Не]умышленное вскрытие персональных данных

    Не так давно у меня возникла потребность срочно декодировать md5 хэш. Первым делом обратившись в поисковую систему отетбыл найдет на первой странице, но мой взгляд приковала поддомен одного известного сайта — extdev. На котором в свою очередь на каждой странице всплывало консольное окно. Не долго думаю я решил зайти на свою страницу аккаунта на данном сайте.
    И что же я увидел:
    image

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

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

    image

    Свой стартап — популярно и модно в настоящее время. Большие перспективы и надежды кроются за этим названием в головах разработчиков, мечтающих о славе и прибыли. Успешные истории и взлеты простых приложений заставляют примерить этот успех на себя. Что на самом деле кроется за этим понятием, какие сложности и какие перспективы могут ожидать молодого стартапера? Совсем недавно мой стартап увидел свет, поэтому я решил по горячим следам поделиться опытом и своими ожиданиями, сбывшимися и нет, с теми, кто еще думает.
    Читать дальше →
  • Потоковая система сборки проектов Gulp

    image

    В начале планировал написать статью обзор «Gulp vs Grunt», но так как это сильно разные системы по идеологии, то такое сравнение будет не корректно. Все дело в том, что «Gulp» — это потоковая обработка данных, а «Grunt» — пакетная. И часто реальность сложнее примеров, но даже на самых простых примерах смогу показать некоторые недостатки «Grunt», и почему я начал использовать «Gulp»

    Для примера буду использовать такой Gruntfile.js
    module.exports = function(grunt) {
      grunt.initConfig({
        concat: {
          'dist/all.js': ['src/*.js']
        },
        uglify: {
          'dist/all.min.js': ['dist/all.js']
        },
        jshint: {
          files: ['gruntfile.js', 'src/*.js']
        },
        watch: {
          files: ['<%= jshint.files =>'],
          tasks: ['jshint', 'concat', 'uglify']
        }
      });
    
      // Load Our Plugins
      grunt.loadNpmTasks('grunt-contrib-jshint');
      grunt.loadNpmTasks('grunt-contrib-concat');
      grunt.loadNpmTasks('grunt-contrib-uglify');
      grunt.loadNpmTasks('grunt-contrib-watch');
    
      // Register Default Task
      grunt.registerTask('default', ['jshint', 'concat', 'uglify']);
    };
    


    Недостатки данного подхода для описания задач:
    • Сильная связанность задач между собой
    • Source и Destination файлы задаются в разных местах


    Первый недостаток более существенный, если потребуется убрать 'concat', нужно будет переписать 'uglify'.
    Второй недостаток — это слабая связанность данных в разных задачах. Введение глобальных переменных частично решает это проблему.

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