Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Дрон с помощью ИИ обучили экстремальным трюкам в воздухе

Искусственный интеллектМультикоптеры
image

Исследователи из группы робототехники в Цюрихском университете и ETH Zurich в сотрудничестве с Intel разработали метод обучения нейронной сети, который позволяет автономному квадрокоптеру выполнять экстремальные акробатические маневры с помощью бортовых датчиков и вычислений. Дрон смог выполнять трюки, недоступные даже при управлении опытным пилотом-человеком.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры3K
Комментарии 4

Гик-рекомендация

Чулан
Сейчас произошёл диалог с другом-гиком:
— Как Dungeon Keeper 2 запустить в окне (в игре нет такой функции)?
— Подключись сам к себе с помощью Remote Desktop в окне под другим юзером и там его запусти :)
Всего голосов 17: ↑9 и ↓8 +1
Просмотры232
Комментарии 2

Откуда появляются первые 10 клиентов?

Чулан
Перевод
Примечание: ниже находится перевод статьи «Getting those first 10 Clients», в которой автор рассуждает о способах привлечения первых клиентов для начинающего интернет-бизнеса.

В моей первой заметки я спрашивал у своих читателей, о каких вещах мне стоит написать. Часть из них задало несколько совершенно невероятных вопросов, в том числе, о маркетинге и как мне удалось получить свои первые заказы с нуля.
Читать дальше →
Всего голосов 35: ↑24 и ↓11 +13
Просмотры318
Комментарии 37

Отдыхая — учусь, работая — отдыхаю

Учебный процесс в IT
Вся наша жизнь — это рабочие дни разбавленные выходными и праздниками.
А наш рабочий день — это череда часов, минут, секунд.
Наверное каждый из нас слышал о производственной гимнастике:
каждые час-два, минут на пятнадцать (вместо перекуров), хорошо бы дать отдохнуть глазам, кистям, а ещё спине и ногам.
А хорошо бы совместить полезные упражнения с получением новых навыков — и практичных и эстетичных.
Я сейчас перечислю те занятия, которыми пытаюсь заниматься сам.
По моему мнению упомянутые ниже упражнения не требуют материальных затрат и лишь минимум временных.
Дополняйте, плиз.
Читать дальше →
Всего голосов 75: ↑63 и ↓12 +51
Просмотры717
Комментарии 87

Сжатие Psd файлов

GTD
Вчера получил от дизайнера psd-файл (вообще, мне часто приходится иметь дело с «псдшками» — я ведь с ними работаю). Но, вчера дело было не совсем обычным :) Нестандартность ситуации заключалась в приёме сжатия файла — в нем были отключены все слои.

Честно говоря, я впервые встретил именно такой способ уменьшения размера psd-фалов, хотя на Хабре он упоминался. Ранее мне были известны некоторые иные методики сжатия psd, о которых я и хочу рассказать Вам сегодня.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Просмотры22.2K
Комментарии 19

Вызов метода Javascript без его вызова фактически

JavaScript
Перевод
imageИногда мы бываем просто ленивыми. Особенно, когда доходит дело до написания кода. И хоть круглые скобки в вызове функции не приводят к избыточности, иногда все же они могут утомлять, особенно когда javascript-метод не нуждается в передаваемых ему аргументах. Иногда это просто надоедает.
Читать дальше →
Всего голосов 84: ↑57 и ↓27 +30
Просмотры2.8K
Комментарии 49

CSS трюки — пишем сайт без html

Разработка веб-сайтов
Перевод
В качестве предисловия к переводу. Открываем Firefox/Opera, переходим по ссылке, смотрим исходный код страницы и удивляемся. Потому что его нет. Под катом рассказ, как такое можно сделать.
Читать дальше →
Всего голосов 197: ↑184 и ↓13 +171
Просмотры14K
Комментарии 76

Монтаж четвертушками

Работа с видео
Из песочницы
Я прилично времени провожу в поездках. Ноутбук всегда с собой, но творчески работать удается не всегда. А вот заниматься монтажом оказывается самое то. В монтаже больше всего времени отнимает просмотр материала и проработка стыков сцен. Особенно это касается «сырого», «стихийного» материала. Когда много дублей, в дублях много брака и приходиться сшивать ролик буквально единственно возможным образом.

Вот незадача: мой ноутбук ASUS UL30A, не тащит хайресное видео в любимом Sony Vegas'e, при работе от батарей. Я молчу о FullHD.

Небольшой, но полезный трюк под катом.
Читать дальше →
Всего голосов 37: ↑32 и ↓5 +27
Просмотры3.7K
Комментарии 30

Маленькие хитрости Java

Java
Из песочницы
Я уже достаточно много лет занимаюсь разработкой на java и повидал довольно много чужого кода. Как это не странно, но постоянно от одного проекта к другому я вижу одни и те же проблемы. Этот топик — попытка ликбеза в наиболее часто используемых конструкциях языка. Часть описанного — это довольно банальные вещи, тем не менее, как показывает мой опыт, все эти банальности до сих пор актуальны. Надеюсь, статья пригодится многим java программистам. Итак, поехали:

new vs valueOf

//медленно
Integer i = new Integer(100);
Long l = new Long(100);
String s = new String("A");

//быстро
Integer i = Integer.valueOf(100);
Long l = 100L;//это тоже самое что Long.valueOf(100L);
String s = "A";


Старайтесь всегда использовать метод valueOf вместо конструктора в стандартных классах оболочках примитивных типов, кроме случаев, когда вам нужно конкретно выделить память под новое значение. Это связано с тем, что все они, кроме чисел с плавающей точкой, от Byte до Long имеют кеш. По умолчанию этот кеш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кеша. Значение из кеша достается в 3.5 раза быстрее чем при использовании конструктора + экономия памяти. Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной. В случае, если ваше приложение очень часто использует целые типы, можно увеличить кеш для Integer через системное свойство «java.lang.Integer.IntegerCache.high», а так же через параметр виртуальной машины -XX:AutoBoxCacheMax=<size>.
Читать дальше →
Всего голосов 141: ↑126 и ↓15 +111
Просмотры260.9K
Комментарии 166

Маленькие хитрости Java. Часть 2

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

Buffered Streams

//медленно
InputStream is = new FileInputStream(file);
int val;
while ((val = is.read()) != -1) {
}
//быстро
InputStream is = new BufferedInputStream(new FileInputStream(file));
int val;
while ((val = is.read()) != -1) {
}

Казалось бы — очевидная истина, неправда ли? Но как показал чужой код и опыт собеседования кандидатов, часть разработчиков определенно не понимает в чем преимущество буферизованных стримов. Кто до сих пор не разобрался — метод read() класса FileInputStream:
public native int read() throws IOException;

Согласитесь, каждый раз делать системный вызов, чтобы считать один байт несколько расточительно. Собственно для того, чтобы избежать этой проблемы и были созданы оболочки-буферы. Все что они делают — при первом вызове системного read() считывают несколько больше (в зависимости от указанного размера буфера, котрый по умолчанию равен 8 кб) и при следующем вызове read() считывают данные уже из буфера. Прирост производительности — на порядок. Системные вызовы, на самом деле, это не всегда плохо, например:
System.arraycopy(src, srcPos, dest, destPos, length);

В случае копированния массива — системный метод будет гораздо быстрей реализованного на java. И еще — считывайте данные порциями, а не по байтам, это тоже позволит прилично сэкономить.
Читать дальше →
Всего голосов 93: ↑84 и ↓9 +75
Просмотры106.6K
Комментарии 91

Декораторы в JavaScript

JavaScript
Из песочницы
С давних времён использую декораторы в JavaScript. Недавно увидел хабротопик про примеси, который натолкнул меня на мысль поделиться собственным опытом, ибо технологии немного похожие.

Что меня не устраивает в известных реализациях?


Реализации, предлагаемые по первым ссылкам в Google, работают не тем образом, как это работает в Python. Во многих статьях предлагается создать объект, заполнить его поля функциями и осуществлять вызовы отдекорированных через эти поля.
На первой странице есть несколько ссылок, где используются методы, сходные с моими,
Есть ещё много реализаций, но они мне неинтересны.
Расскажу наиболее правильную с моей точки зрения.

Нормальный декоратор


Итак, что такое декоратор?
Декоратор, это функция, которая добавляет функции-аргументу функционала.
Читать дальше →
Всего голосов 31: ↑28 и ↓3 +25
Просмотры8.8K
Комментарии 16

Я просто оставлю это здесь

Perl
Я не ставлю цель обо очернить Перл. Я люблю Перл.
Просто надо различать список и массив в Перле.

use Perl or die;


#!/usr/bin/perl
use strict;
my $x = ('a', 'b');
print $x;

Вывод:
b

Читать дальше →
Всего голосов 98: ↑48 и ↓50 -2
Просмотры7.5K
Комментарии 39

Псевдо 3D: Анимация вращения планет и других шароподобных объектов

JavaScriptПрограммированиеАлгоритмы
Tutorial
Recovery mode
Описание небольшого трюка по анимации вращения планет или других шарообразных штуковин. На написание этой статьи меня натолкнула статья Сфера из двух треугольников (стоит почитать). А сам трюк основан на весьма простом способе создания в Photoshop псевдо-объемной картинки из плоской, который описан под катом.

микродемо


Читать дальше →
Всего голосов 36: ↑23 и ↓13 +10
Просмотры18.2K
Комментарии 26

Подборка трюков при анализе защищенности веб приложений

Digital SecurityИнформационная безопасность
Всем привет! Этот топик посвящен разным трюкам при анализе защищенности (пентесте) веб приложений. Периодически сталкиваешься с ситуацией, когда надо обойти какую-нибудь защиту, выкрутиться в данных ограничениях или просто протестировать какое-то неочевидное место. И этот пост как раз об этом! Добро пожаловать под кат.
Читать дальше →
Всего голосов 87: ↑81 и ↓6 +75
Просмотры34.3K
Комментарии 16

Трюки с интерфейсами в Delphi

Delphi
Приветствую.
Буквально сегодня обсуждал с коллегой интерфейсы. Он мне рассказал о своем интересном приеме, я ему о своем, но только по дороге домой я осознал всю мощь этих приемов, в особенности если объединить их вместе.
Любители удобной автоматики и MVC паттернов — прошу под кат.
За трюками
Всего голосов 35: ↑27 и ↓8 +19
Просмотры30K
Комментарии 26

Неотзывчивый дизайн

Дизайн
Из песочницы
dead pixel Я дизайнер с более чем пятилетним опытом работы как в качестве офисного работника, так и в качестве свободного фрилансера. Буду рад поделиться некоторым своим опытом и подходом к работе с менеджерами или клиентами. Дело в том, что дизайн всегда субъективен. Один и тот же дизайн может вызывать и восхищение, и отторжение. Нередко это порождает немало трудностей для дизайнера, работающего над проектом в котором количество людей чье мнение нужно учесть, превышает одного человека. Попробую объяснить почему, а так же расскажу о некоторых техниках и приемах, которые могут сделать работу дизайнера менее напряженной и более позитивной.
Читать дальше →
Всего голосов 42: ↑36 и ↓6 +30
Просмотры19.6K
Комментарии 19

Джентльменский набор разработчика Access

ПрограммированиеMicrosoft Access
Из песочницы
За время работы разработчиком Access набралась куча полезностей, которую считаю своим долгом выложить на Хабр. Многие из этих сниппетов находятся в сети, а некоторые находятся с трудом или безнадежно затеряны.


Читать дальше →
Всего голосов 22: ↑16 и ↓6 +10
Просмотры119.2K
Комментарии 28

Подготовка к сертификационному экзамену Microsoft 70-483 «Programming in C#»

Программирование.NETVisual StudioC#

Во время подготовки к экзамену номер 70-483 нашел множество разрозненных сайтов с различными ссылками на мануалы, которые мне немного помогли. Но, что помогло мне больше, так это то, что я составил для себя памятку на нескольких страницах, выдержками из которой и хочу поделиться.
Целью не является подробное описание C#, целью является освежить в памяти и заострить внимание на некоторых необходимых темах. Если какие-то темы вам незнакомы, то это значит, что у вас есть пробелы, которые необходимо устранить.
Раскрывать вопросы тестирования я не могу (да и не помню я уже их), но, если многие из перечисленных ниже нюансов, трюков и тонкостей, помогут вам, то вы на меня не обижайтесь (написано с иронией).
Читать дальше →
Всего голосов 50: ↑39 и ↓11 +28
Просмотры99.3K
Комментарии 17

Лайфхаки для веб-разработчика

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

Использование ** в zsh


Таким образом я ищу файлы в папке по расширению рекурсивно:
ls **/*.json

файлы с размером выше чем 1 мегабайт:
ls -lh **/*(Lm+1)

Быстро и уверенно удаляем мусор из репозитория в python проекте и судорожно правим. gitignore:
git rm --cached **/*.pyc


Читать дальше →
Всего голосов 55: ↑35 и ↓20 +15
Просмотры43.5K
Комментарии 51
1