Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Надоела среда оформления Windows? Вас спасет BlackBox 4 Win

Время на прочтение2 мин
Количество просмотров16K
В связи с этим постом, и потугами выбрать WM для старенького компьютера со свежеустановленной FreeBSD, я вспомнил одну старую, но все же интересную вещь. А точнее — BlackBox — легковесный оконный менеджер, как две капли газированной воды, похожий на все другие *box`ы, и при этом настолько опенсорцный, и кроссплатформенный, что есть даже для Windows…
Дальше - больше. И значительно интереснее!
Всего голосов 50: ↑43 и ↓7+36
Комментарии114

Программа 1Password — бесплатно

Время на прочтение2 мин
Количество просмотров43K
Этот пост не будет подробным описанием функциональности программы 1Password — я всего лишь хочу рассказать вам, как получить ее бесплатно. Хотя вообще без описания мне не обойтись: вам нужно знать, что вы получите, потратив пять минут своего времени.

1Password – продвинутый хранитель паролей и форм. Программа автоматически сохраняет все пароли, которые вы вводите в браузере при посещении различных сервисов (каждый раз, естественно, спрашивая у вас разрешение это сделать). При повторном посещении этого ресурса вам не нужно будет вводить логин и пароль заново – всего лишь кликнуть на кнопочке «1P», которая появляется во всех ваших браузерах при установке 1Password (поддерживаются браузеры Safari, OmniWeb, DEVONagent, Firefox, Camino и Flock).
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии31

Лёгкий поиск средствами Google Hacks

Время на прочтение1 мин
Количество просмотров3.9K
Google — довольно мощный инструмент поиска. Мы это знаем.
Но далеко не все могут запомнить все модификаторы поиска на пример как:
"-inurl:(htm|html|php) intitle:«index of» +«last modified» +«parent directory» +description +size +(.mp3|.wma|.ogg)
Тут нам на помощь приходит это удобное небольшое приложение, позволяющее нам искать множества типов файла, песни, кэшированные страницы, шрифты, и других маленьких положительных героев, болтающихся на сети.
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии31

Топ 100 Mac OS приложений

Время на прочтение3 мин
Количество просмотров19K

7zX

(Compress / Decompress 7zX Archives)

ACP Suite

(Ultimate OS X Power Toys Array)

Adium

(Universal Instant Messaging App based on Pidgin)

AP Grapher

(Searches and Displays Wireless Networks)
Смотрите остальные
Всего голосов 49: ↑44 и ↓5+39
Комментарии77

Вардрайвинг в MAC OS X

Время на прочтение5 мин
Количество просмотров96K


Стандартом де-факто в вардрайвинге обычно считается система Linux (модифицированные драйвера, Kismet в связке с aircrack-ng). Но немногие знают, что в маке есть мощные инструменты для взлома аудита безопасности беспроводных сетей, ни чуть не уступающие, а во многом и превосходящие по функционалу Linux-аналоги.
UPD: Описанные в статье инструменты на сегодняшний день устарели. Рекомендуется использовать Linux

Читать дальше →
Всего голосов 93: ↑82 и ↓11+71
Комментарии89

Налоговый вычет для программистов (авторов программ)

Время на прочтение4 мин
Количество просмотров28K
IT отрасль в целом и создание продуктов интеллектуальной собственности (компьютерные программы и многое другое) в частности – немалая движущая сила современной экономики и мирового прогресса.

Специфика отрасли заключается в том, что профессионалы не всегда могут и не всегда хотят работать in-house и являются фрилансерами. Оно и закономерно – интеллектуальный труд не обязан предполагать рамки рабочего дня и стены офиса.

Безусловно я понимаю общий градус нелюбви к нашим законам и законодателям и то, что львиная доля специалистов работает «в черную», однако почти любой крупный заказчик будет работать с вами на договорной основе (соблюдая в том числе и налоговое законодательство), да и вам, как физическому лицу или индивидуальному предпринимателю важно знать о тех расходах, которые вы можете вернуть себе обратно в карман, не отдавая их государству в виде налогов.
Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии18

Кросскомпиляция библиотек под iOS, делаем это правильно

Время на прочтение4 мин
Количество просмотров11K
Во время разработки большого проекта наступает такой момент, когда надо встроить в приложение библиотеку из мира open source с подходящей лицензией. Например, вам захотелось ускорить декодирование картинок, или понадобился sqlite3 с fts4, или нужны какие-то плюшки из libicu, которых нету в системной libicucore.

Для этого библиотеку, которая понадобилась, нужно будет собрать для 5 архитектур: armv7, armv7s, arm64, i386, x86_64. С кросскомпиляцией есть много подводных камней, на которые не хотелось бы наткнуться, когда есть уже проверенные решения. В этом коротком посте я расскажу об автоматизации сборки библиотек на примере protobuf и sqlite3.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии4

1000+ часов видео по Java на русском

Время на прочтение7 мин
Количество просмотров1.3M
Добрый день.
Меня зовут Головач Иван, я руковожу небольшой образовательной компанией и преподаю сам:
  1. Java Core
  2. Junior Java Developer: Servlet API, JDBC, Maven, JUnit, Mockito, Log4J, основы Spring/SpringMVC, основы JPA/Hibernate, шаблоны/архитектуры MVC/IoC/DAO.
  3. Multicore programming in Java.


Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

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

(GolovachCourses.com)


Здесь собраны несколько вариантов записи моего курса Java Core.
Модуль #1 (Procedural Java):
Набор июль 2013: #1, #2, #3, #4
Набор апрель 2013: #1, #2, #3, #4
Набор февраль 2013: #1, #2, #3, #4
Набор январь 2013: #1, #2, #3, #4
Набор октябрь 2012: #1, #2, #3, #4.
Читать дальше →
Всего голосов 120: ↑111 и ↓9+102
Комментарии38

Эдвард Сноуден использовал дистрибутив TAILS

Время на прочтение2 мин
Количество просмотров128K
Когда Эдвард Сноуден впервые появился перед видеокамерой летом прошлого года, многие обратили внимание на его ноутбук с наклейками анонимайзера Tor и Фонда электронных рубежей. Сейчас стало известно, какая операционная система установлена на этом ноутбуке: защищённый дистрибутив Linux под названием TAILS (The Amnesic Incognito Live System) на основе Debian.


Раньше дистрибутив назывался Amnesia и базировался на ОС Incognito

Загрузив образ TAILS с диска или флэшки, мы сразу получаем все необходимые инструменты для безопасной работы в интернете: Tor запускается автоматически, GPG для шифрования почты, OTR-чат, парольный менеджер KeePassX и другие программы, многие из которых модифицированы для безопасности. Дистрибутив спроектирован таким образом, что не хранит никакой информации локально (и вообще не обращается к накопителю), чтобы защитить секретные данные в случае, если компьютер попадёт в руки врага, и обезопасить систему от вредоносного ПО. Оперативная память стирается перед завершением работы с помощью sdmem, чтобы злоумышленник не мог восстановить её содержимое с недавно выключенного компьютера. Графический интерфейс может подделываться под Windows XP, чтобы не вызывать подозрений у окружающих.
Читать дальше →
Всего голосов 94: ↑82 и ↓12+70
Комментарии39

GWT, Java 8 и Future

Время на прочтение6 мин
Количество просмотров21K
Добрый день.
Думаю, многие из вас знают о выходе Java 8, и о том, какие нововведения она несет. К сожалению, последняя версия GWT(2.6.0) на данный момент до сих пор не поддерживает лямбды и default-методы в интерфейсах. Поскольку фреймворк GWT довольно востребован, многим приходится часто сталкиваться с разработкой именно на нем, мне не терпелось попробовать писать на GWT с использованием вновь добавленных в язык фич.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии7

Введение в D3

Время на прочтение6 мин
Количество просмотров139K

D3.js (или просто D3) это JavaScript-библиотека для обработки и визуализации данных. Она предоставляет удобные утилиты для обработки и загрузки массивов данных и создания DOM-элементов. Эта заметка описывает работу с основными методами библиотеки, она подойдёт для изучения основ библиотеки и погружения в её логику и возможности.

Для понимания статьи пригодятся знания JS, HTML и CSS.

Читать дальше →
Всего голосов 63: ↑59 и ↓4+55
Комментарии7

Справочник по уязвимости OpenSSL Heartbleed

Время на прочтение4 мин
Количество просмотров60K

Что может узнать атакующий


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

Уязвимость двусторонняя: если уязвимый клиент подключается к серверу злоумышленника, то злоумышленник может читать память процесса клиента. Пример уязвимых клиентов: MariaDB, wget, curl, git, nginx (в режиме прокси).
Читать дальше →
Всего голосов 68: ↑64 и ↓4+60
Комментарии46

Скорочтение по технологии spritz на любом сайте

Время на прочтение2 мин
Количество просмотров168K


Совсем недавно, была представлена технология скорочтения spritz (500 слов в минуту без подготовки) она позволяет вам читать тексты намного быстрее, но, к сожалению, разработчик не реализовал тогда её в виде приложения для прочтения собственных текстов.

Теперь же, появился проект Squirt, который позволяет читать любой текст по технологии скорочтения от spritz, установив только 1 букмарклет.
Читать дальше →
Всего голосов 84: ↑72 и ↓12+60
Комментарии71

Поиск причин странной производительности

Время на прочтение5 мин
Количество просмотров21K

Введение


Наконец-то полез детально изучать Java-байткод, и почти сразу же в голове возник интересный вопрос. Есть там инструкция NOP, которая не делает ничего. Так вот, а как это «ничего» сказывается на производительности? Собственно, процесс изучения этого и описан в посте.

Дисклеймер


Сам рассказ, в первую очередь, не о том, как оно реально работает, а о том, каких ошибок стоит опасаться при измерениях производительности.
Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии30

Радиоуправляемый выключатель своими руками. Часть 3 — Софт выключателя

Время на прочтение19 мин
Количество просмотров94K
В предыдущих постах мы спроектировали, сделали и всесторонне протестировали блок двухканального радиоуправляемого выключателя.



Но до сих пор это была «бездушная железка», которая несмотря на всю свою потенциальную мощь, заложенную в МК, — ничего не умеет.
Вдохнем в нее жизнь.
Всего голосов 35: ↑32 и ↓3+29
Комментарии21

Знаете ли Вы массивы?

Время на прочтение5 мин
Количество просмотров129K
Думаю, мало кто из готовящихся к своему первому интервью, при приеме на первую работу в должности (pre)junior программиста, ответит на этот вопрос отрицательно. Или хотя бы усомнится в положительном ответе. Конечно, такая простая структура данных с прямым доступом по индексу — никаких подвохов! Нет, в некоторых языках типа JavaScript или PHP массивы, конечно, реализованы очень интересно и по сути являются много большим чем просто массив. Но речь не об этом, а о «традиционной» реализации массивов в виде «сплошного участка памяти». В этом случае на основании индексов и размера одного элемента просто вычисляется адрес и осуществляется доступ к соответствующему значению. Что тут сложного?
Давайте разберемся
Всего голосов 118: ↑71 и ↓47+24
Комментарии178

Как перейти от Java к Scala в вашем проекте

Время на прочтение7 мин
Количество просмотров32K
Всем привет.
Периодически от Java-разработчиков, которые узнали о существовании Scala, звучат вопросы «Как начать использовать Scala в существующем Java-проекте? Сложно ли перейти от одного к другому? Много ли времени это займет? Как убедить начальство?» В нашем проекте именно такой переход и происходил, на сегодняшний день практически весь проект уже на Scala, поэтому решил поделиться рецептами и впечатлениями.

С чего все началось, оно же «А зачем оно мне вообще надо?»:
  1. хотелось изучить что-то новое и полезное в производстве;
  2. надоело писать много букв на Java, но и радикально переписывать все, скажем на Python, совсем не хотелось;

С учетом таких желаний выбор пал на обзор альтернативных JVM-based языков.
После обзора остановились на Scala. Понравились компактный синтаксис, strong typing, возможность писать в ОО-стиле и заявленное хорошее взаимодейтствие с Java-кодом в обе стороны. Тот факт, что Scala уже активно используют такие крупные компании, как Twitter, LinkedIn, Foursquare и так далее, внушил определенную уверенность в будущем языка.
У нас уже имелся проект на Maven с юнит-тестами на JUnit, поэтому важно было легко включить Scala без существенных затрат на адаптацию инфраструктуры.
Итак, по порядку.
Почитать по порядку
Всего голосов 46: ↑40 и ↓6+34
Комментарии56

Будущее JavaScript MVC фреймворков

Время на прочтение6 мин
Количество просмотров32K

Представляем Om




Нам, в нашем ClojureScript-углу, это было известно уже давно — все наши структуры данных неизменяемы и основаны на оригинальных коллекциях из Clojure, написанных на Java. Современные JavaScript движки в настоящее время достаточно оптимизированы и мы часто наблюдаем производительность этих коллекций в пределах 0.4X от JVM.

Стоп, стоп, стоп. А какое же отношение может иметь производительность неизменяемых структур данных к JavaScript MVC? — Достаточно существенное.

Возможно, объяснить это будет не очень просто, но все же я постараюсь. Дело в том, что неизменяемые структуры данных, представленные в новой библиотеке Om позволяют создавать приложения на порядок производительнее, чем на популярных JS MVC фреймворков, таких как MVC Backbone.js (без ручной оптимизации). Om построен на прекрасном фреймворке от Facebook — React. Если вы не слышали о нём раньше, рекомендую посмотреть видео с JSConf EU 2013. Интересен тот факт, что из-за неизменяемых коллекций Om может продемонстрировать результаты лучше, чем при использовании React без каких-либо модификаций.
Читать дальше →
Всего голосов 61: ↑43 и ↓18+25
Комментарии26

Быстрая, экономная, устойчивая…

Время на прочтение10 мин
Количество просмотров60K

Если вам понадобится алгоритм сортировки массива, который:
  • Работал бы гарантированно за O(N*log(N)) операций (обменов и сравнений);
  • Требовал бы O(1) дополнительной памяти;
  • Был бы устойчивым (то есть, не менял порядок элементов с одинаковыми ключами)

то вам, скорее всего, предложат ограничиться любыми двумя из этих трёх пунктов. И, в зависимости от вашего выбора, вы получите, например, либо сортировку слиянием (требует O(N) дополнительной памяти), либо пирамидальную сортировку (неустойчив), либо сортировку пузырьком (работает за O(N2)). Если вы ослабите требование на память до O(log(N)) («на рекурсию»), то для вас найдётся алгоритм со сложностью O(N*(log(N)2) — довольно малоизвестный, хотя именно его версия используется в реализации метода std::stable_sort().

На вопрос, можно ли добиться выполнения одновременно всех трёх условий, большинство скажет «вряд ли». Википедия о таких алгоритмах не знает. Среди программистов ходят слухи, что вроде бы, что-то такое существует. Некоторые говорят, что есть «устойчивая быстрая сортировка» — но у той реализации, которую я видел, сложность была всё те же O(N*(log(N)2) (по таймеру). И только в одном обсуждении на StackOverflow дали ссылку на статью B-C. Huang и M. A. Langston, Fast Stable Merging and Sorting in Constant Extra Space (1989-1992), в которой описан алгоритм со всеми тремя свойствами.

Так что же это за алгоритм?
Всего голосов 155: ↑150 и ↓5+145
Комментарии29

Поверхностно об основах рыночной архитектуры и алготрейдинге

Время на прочтение37 мин
Количество просмотров106K
Многие знают, что одно из первых, что говорят в техническом ВУЗе — забыть все, что проходили в школе. Данная рекомендация актуальна и здесь. Полезно иногда с чистого листа начать.

На данный момент все рынки автоматизированы. По этой причине какие-то экономические объяснения ценообразования являются некими рудиментами. Рулят алгоритмы + некое ручное вмешательство.

Задача каждого торгового алгоритма всегда одна и та же — принести денег владельцу. Алгоритм тем лучше, чем больше денег он в состоянии принести.
Читать дальше →
Всего голосов 83: ↑72 и ↓11+61
Комментарии74

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Зарегистрирован
Активность