Pull to refresh
23
0

AI preacher

Send message

«Программирование мышкой» в XCode 6 для Swift

Reading time5 min
Views53K
Привет, Хабрахабр!

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

Будущее гибкой разработки ПО

Reading time14 min
Views21K

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

Проблема в том, что никто не знает, как на самом деле писать классный софт быстро и правильно. Waterfall благополучно скончался на рубеже веков, а новые методы разработки (agile) пока не могут решить фундаментальные проблемы.
Узнать, что нам всем делать и как с этим жить

Три ключевых принципа ПО, которые вы должны понимать

Reading time13 min
Views241K

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

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

Программирование для начинающих — пример создания Азбуки Морзе на базе визуальной системы Snap!

Reading time9 min
Views51K


Одной из целью популяризации DIY-робототехники, для меня, является привлечение внимания к IT, к программированию. И в этом плане мне интересны визуальные среды программирования, где простым Drag&Drop можно создавать программы. Для тех кто только начинает изучать компьютер — такой способ программирования может на начальном этапе вызвать интерес (благодаря своей простоте), и дальше уже способствовать к самостоятельному изучению (чего-то более сложного).

Думаю многие слышали про Scratch — это «классика жанра» (созданная в MIT, идея 2003 и выход в релиз 1.0 в январе 2006 году), но для его работы необходимо установка ПО на компьютер (или Flash). Некоторое время назад в University of California at Berkeley была разработана система Snap!, интерфейсе которой близок к Scratch, но работает в браузере, на базе классических html/js/css. То есть для работы с ней — вам достаточно только браузера (и к тому же она open-source).

Вот о веб-системе визуального программирования Snap! я и хочу рассказать.

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

Программа будет при нажатии на клавиши — рисовать соответствующие символы, и так же «озвучивать». На КДПВ приведена итоговая программа, и справа написано «HI HABR, HABR HI».

Посмотреть демо
Если кому-то хочется сразу увидеть результат, то демо здесь.

Управление:

"клавиша вверх" — инициализация параметров и очистка (лучше нажать после загрузки — выставится ширина точек)
"клавиша вниз" — перевод строки
клавиши "h", "i", "a", "b", "r" — рисование и озвучивание соотв. буквы с помощью азбуки Морзе.
Читать дальше →

Visual Studio Express – отличный бесплатный инструмент для веб-разработки

Reading time4 min
Views187K


Я достаточно часто и с удовольствием посещаю конференции по веб-разработке. На последней JSConf US я встретил огромное количество разработчиков, которым показал, как просто создавать веб сайты, используя Visual Studio 2013.

Многие из них рассказали, что совершенно не были знакомы со всеми возможностями бесплатной версии Visual Studio Express. А ведь даже в бесплатном виде VS Express хороша. Давайте посмотрим, начиная с самого процесса установки, на то, что доступно в Visual Studio Express.

Для тех, кто предпочитает видео-руководства, материал доступен по следующей ссылке.
Читать дальше →

Ультра-легкий переключатель раскладки клавиатуры

Reading time1 min
Views103K
От многой мудрости много скорби, и умножающий знание умножает печаль: чем глубже вникаешь в особенности мира IT, особенно той его части, которая про защиту информации, тем крепче паранойя. И это совсем не означает, что за тобой не следят. В очередном приступе тревоги за сохранность нажимаемых кнопок я удалил Punto Switcher. Однако без переключения раскладки после уже набранного слова, к которому я так привык, стало очень тоскливо. Никаких вменяемых альтернатив я так и не нашел, поэтому пришлось написать небольшую обертку над парой функций win api.

Возможно, результат нескольких дней тыканья веточкой в user32.dll понадобится еще нескольким людям, в виде самой программки, либо в качестве примера отправки сообщений окнам из .Net, так что вот: аналог punto switcher, без свистелок, перделок и яндекс бара.

К сожалению, в скайпе так и не работает. Буду благодарен, если кто-то опытный укажет мне на ошибки в коде.
Читать дальше →

Вертикальное выравнивание кода + немного Punto

Reading time2 min
Views21K
Приветствую. Поговорим о вертикальном выравнивании кода?

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

Работает это в любом редакторе и с любым текстом. Как-то так:



Сразу забрать приложение можно тут: sourceforge.net/projects/tnice/files
(выделяем текст, жмем Ctrl+Shift+D, пишем символы выравнивания, жмем Ctrl+Enter)
А подробный мануал и принцип работы под катом.
Читать дальше →

Механика потока эндорфинов на примере трёх космических игр

Reading time7 min
Views75K


Игрок больше любит получать, чем терять.

При GameDev надо учитывать эту прекрасную особенность психики. Проиллюстрирую тремя играми: замечательным Faster than Light (родившемся ещё на ПК), популярном изначально планшетном Out There и пришедшем из настольного мира Galaxy Trucker.

Ни в одной из этих игр нет возможности сохраниться.
Читать дальше →

Разработка трехмерных игр для Windows 8 с помощью C++ и Microsoft DirectX

Reading time20 min
Views45K


Разработка игр — постоянно актуальная тема: всем нравится играть в игры, их охотно покупают, поэтому их выгодно продавать. Но при разработке хороших игр следует обращать немало внимания на производительность. Никому не понравится игра, «тормозящая» или работающая рывками даже на не самых мощных устройствах.
В этой статье я покажу, как разработать простую футбольную 3D игру с использованием Microsoft DirectX и C++, хотя главным образом я занимаюсь разработкой на C#. В прошлом я довольно много работал с C++, но теперь этот язык для меня уже не столь прост. Кроме того, DirectX для меня является новинкой, поэтому эту статью можно считать точкой зрения новичка на разработку игр. Прошу опытных разработчиков простить меня за возможные ошибки.
Читать дальше →

ActionBar на Android 2.1+ с помощью SupportLibrary

Reading time6 min
Views44K
Здравствуй, Хабрахабр!

Недавно я писал о том, что Google добавил поддержку ActionBar в свою Support Library. Думаю, стоит рассказать, как же им пользоваться. Под катом — инструкция по правильному импорту библиотеки в свой проект и основные моменты использования SupportActionBar.
Читать дальше →

Советы и рецепты начинающему Android программисту

Reading time12 min
Views78K
Добрый день, уважаемые хабраюзеры.

В данной статье я хочу поделиться своим опытом разработки под Android.
Требования к функционалу разрабатываемого продукта породили различные технические задачи, среди которых были как тривиальные, разжеванные во множестве блогов, так и крайне неоднозначные, с неочевидным решением. Я столкнулся с массой вещей, незнакомых мне, как .NET разработчику. Узнал о существовании инструментов, которые значительно упрощают жизнь. Думаю, что каждый начинающий андроидовец проходит похожий путь. Я мог бы сэкономить до трети времени, потраченного на разработку, поиск и эксперименты, имея такую статью.

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

Первое независимое подтверждение LENR (по-простому – холодный синтез)?

Reading time4 min
Views267K
LENR – Low-energy nuclear reaction – Низкоэнергетическая ядерная реакция.

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


E-Cat изобретателя Андреа Росси – устройство, использующее холодный синтез для выработки большого количества дешёвой экологичной энергии – в марте 2014г было проверено независимой группой учёных, представивших сейчас 54-страничный отчёт.
Испытатели
Джузеппе Леви – Университет Болоньи, Италия
Эвелин Фоски – Болонья, Италия

Бо Хойстед, Роланд Петтерсон и Ларс Тегнер – Университет Уппсалы, Швеция

Ханно Эссен – Королевский Институт Технологий, Стокгольм, Швеция

Они исследовали маленький E-Cat в течение 32 дней, за которые реактор произвёл 1.5 мегаватт-часов энергии. Это «намного больше, чем может быть получено из любого известного химического источника для реактора подобного размера».

Интересно, что в самом отчёте написано, что 32 дня – это заранее установленный срок эксперимента. То есть, реактор выключили искуственно, и он, к тому времени, всё ещё не подавал признаков снижения выдаваемой мощности.
Читать дальше →

RAR Print — самодельный 3D принтер из CD rom'ов

Reading time2 min
Views185K


В начале декабря 2013 попался в руки фотополимерный 3D-принтер Muve3D. Принтер пришел кит набором, напрямую из США. Проект этот был запущен на краудфандинговой платформе в апреле 2013 и успешно реализован. Однако конструкция потребовала достаточно трудоемкой сборки и настройки. Ко всему прочему были различного рода недоработки. Тем не менее получилось собрать и запустить принтер. Получил первый опыт.
Читать дальше →

Что такое «Понятный русский язык» с точки зрения технологий. Заглянем в метрики удобочитаемости текстов

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



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

Немного истории


18 января 2011 года, Президент Обама выпустил новый указ, Executive Order, «E.O. 1356 — Improving Regulation and Regulatory Review» («Улучшение регулирования и рассмотрению вопросов регулирования»). В нем говорится, что "[наша система регулирования] должна обеспечить, чтобы правила были доступны, согласованы, написаны простым языком, и легко понимаемы.".

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

Понятный язык — это четкое, краткое написание предназначенное для того чтобы читатель понимал текст, как можно быстрее и как можно полнее. В нем избегаются избыточная подробность, запутанность речи и жаргон.
Читать дальше →

Используем Google Voice Search в своем приложении .NET

Reading time3 min
Views130K


Функция распознавания речи с некоторого времени доступна в браузере Google Chrome. Посмотреть как это выглядит можно, например, здесь.

Так как исходный Chromium открыт, возникает закономерное желание подсмотреть, можно ли использовать технологию в своих корыстных целях наступления мира на земле.

Как это часто бывает, все уже сделано за нас в этой статье. Все оказывается очень просто, необходимо сделать POST запрос на адрес www.google.com/speech-api/v1/recognize со звуковыми данными в формате FLAC или Speex. Реализуем демонстрацию распознавания WAVE-файлов с помощью C#.

Читать далее

Сверхбыстрое распознавание речи без серверов на реальном примере

Reading time10 min
Views334K

В этой статье я подробно расскажу и покажу, как правильно и быстро прикрутить распознавание русской речи на движке Pocketsphinx (для iOS порт OpenEars) на реальном Hello World примере управления домашней техникой.
Почему именно домашней техникой? Да потому что благодаря такому примеру можно оценить ту скорость и точность, которой можно добиться при использовании полностью локального распознавания речи без серверов типа Google ASR или Яндекс SpeechKit.
К статье я также прилагаю все исходники программы и саму сборку под Android.

Прикручиваем Pocketsphinx к своему Андроиду

Беспроводной звук. Часть 1. Препарируем Bluetooth

Reading time20 min
Views318K
Иногда, бывает, натыкаешься на какой-то баг впервые, списываешь все на обстоятельства и забываешь о нем. Затем он повторяется снова и снова, вынуждая тебя приступить к поиску проблем и, по возможности, их устранению. И вот когда ты обнаруживаешь себя в глубокой ночи за анализом дампом/дебагом/чтением_мануалов, то становится понятно, дело на полпути бросать уже нельзя и дело принципа — довести его до конца.

Такая история со мной приключилась в момент обзора с коллегой r3s потребительской беспроводной Bluetooth-акустики Klipsch KMC 3. Я столкнулся с ситуацией, когда «беспроводной» аудиопоток начинал безбожно прерываться, стоило лишь мне расположить источник звука у себя за спиной. Пищи для размышлений мне подкинула другая Bluetooth-аудиосистема, которая в тех же условиях вела себя куда лучше. Такая простая проблема выродилась в нырок с головой во внутренности протокола Bluetooth и детали передачи аудио с его помощью.

Под катом первой части цикла статей мы в легкой и непринужденной форме познакомимся с основными протоколами стека Bluetooth, покопаемся в дампе соединения источника и приемника звука, разберемся в причинах конфликта Bluetooth и Wi-Fi и обнаружим корень моей проблемы — прерывающегося звука.
Читать дальше →

15 малоизвестных команд Linux

Reading time3 min
Views318K
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
Читать дальше →

Emoji Lisp

Reading time4 min
Views15K
(пятница)
Всё началось с того, что я прочитал у Станислава Лема в романе «Мир на Земле» (1985), что в будущем общение на языке будет заменено общением при помощи пиктограмм. Мне показалось это довольно пророческим в связи с возрастающим интересом к различным смайликам и другим видам более крупных картинок и я подумал: а что если программировать при помощи emoji? Поискав в сети я убедился, что мысль такая уже приходила в головы людей и воплотилась в проект https://github.com/wheresaddie/Emojinal
но этот проект меня не впечатлил, во-первых язык не обладает полнотой и вообще подход автора как попытка заменить часть операторов при помощи emoji показалась не сильно интересной.
Читать дальше →

Компания Wolfram Research открыла сервис Tweet-a-Program: интересных программ на языке Wolfram Language, длина которых не превышает 140 символов

Reading time6 min
Views20K


В языке Wolfram Language небольшой код может делать крайне много. Используя это, мы сделали сервис, который позволит вам получить от этого удовольствие, сегодня мы открываем его — Tweet-a-Program.

Этот сервис соединяет в себе программы на языке Wolfram Language длиной в одно сообщение твиттера и возможность их автоматической отправки в @WolframTaP. Наш Твиттер-бот запустит вашу программу в Wolfram Cloud (Облаке Wolfram), после чего опубликует результат.

Hello World from Tweet-a-Program: GeoGraphics[Text[Style["Hello!",150]],GeoRange->"World"]
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity