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

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

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

Прекратите скручивать (восклицательный знак)

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

Дальше много текста, фотографий, разборок. Ну все как обычно
Всего голосов 682: ↑667 и ↓15+652
Комментарии360

Фриланс как средство заработка. Ч.2. Приступаем к работе

Время на прочтение6 мин
Количество просмотров26K
Чтож, в первой части я долго и упорно лил из пустого в порожнее, преследуя лишь одну цель — признать, что в провалах проектов по стоимости и срокам виноваты мы, мы и только мы. Не существует мифических дядь Вась, повинных во всех наших бедах, не заказчик выносит мозг нам своими требованиями и сменой приоритетов — это все мы, родимые, учиняем, потом благополучно взращиваем и оберегаем от внешнего воздействия. Так что если вы с этим спорить не будете, то айда под кат, посмотрим что у нас дальше на повестке дня.
Читать дальше →
Всего голосов 60: ↑42 и ↓18+24
Комментарии21

Фриланс как средство заработка. Ч.1. Старт проекта

Время на прочтение5 мин
Количество просмотров43K
В предыдущих своих постах я постарался рассказать о том, как взаимодействуют фрилансер и заказчик. Большинство мыслей, представленных в этих статьях, были самим собой разумеющимся, на что мне указывали, и не раз. Сегодня я бы хотел начать разговор о том, как мы, благополучно пройдя все перипетии первоначального обсуждения, начинаем проект. Я опять буду банален до безобразия, вновь и вновь буду перетирать то, что каждому понятно. Но, как показывает практика, все мы с упорством мазохистов наступаем на одни и те же грабли.
Читать дальше →
Всего голосов 59: ↑46 и ↓13+33
Комментарии19

Черногория — не Таиланд

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


Так получилось, что последние пять месяцев я работаю и проживаю в Черногории. Раньше я жил в московской области, работал инженером-руководителем в небольшой, но успешно российской компании и как многие другие задумывался иногда о лучшей жизни. Лучшая жизнь в моем понимании выглядела в виде небольшого домика в горах, недалеко от моря в месте где всегда хорошая погода, дружелюбные люди, хорошая экология и размеренная жизнь. Но дорога к лучшей жизни выглядела трудной — 20 лет ипотеки на квартиру в Москве, потом 10 лет накоплений на домик в горах, поэтому когда появился шанс пропустить все это и сразу попробовать мечту, то я не сомневался.

Прошло уже достаточно времени, чтобы немного разобраться в черногорской реальности, но все еще сохраняется контакт с родиной и свежесть восприятия, поэтому надеюсь что мои наблюдения можно считать вполне объективными. Сразу скажу что жизнь в Черногории в умеренных дозах (несколько месяцев) может быть терапевтической процедурой для жителя почти любого российского мегаполиса. Дальше возникает развилка — либо кажется что попал в болото, либо, как Владимир Высоцкий — обретаешь еще одну родину. Но оставим лирику для личных блогов и посмотрим на ситуацию глазами фрилансеров. Я взял за основу интересный пост про Таиланд и решил сравнить с со своими впечатлениям. В Таиланде я был туристом и понимаю что автор хоть и перегибает палку, но многие вещи излагает адекватно.

Читать дальше →
Всего голосов 262: ↑243 и ↓19+224
Комментарии461

Машина времени в git

Время на прочтение5 мин
Количество просмотров194K
В последнее время мои коллеги начинают знакомство с git'ом. И один из интересующих их вопросов — как откатиться до определённой ревизии. В интернете можно найти набор команд, но хочется, чтобы было понимание каждой из них. Баловство с комадами git'а без понимания может привести к потере истории разработки.

В этой статье я хочу рассказать о командах git checkout и git reset с ключами --soft и --hard.
Читать дальше →
Всего голосов 127: ↑122 и ↓5+117
Комментарии39

Опера не спешит закрывать уязвимость?

Время на прочтение3 мин
Количество просмотров60K
Если вы считаете, что знакомы с языком HTML и принципами работы браузеров, попробуйте прямо сейчас ответить для себя на вопрос — может ли картинка вставленная через тег IMG сделать редирект той странице, на которой она вставлена? Странный вопрос, скажете Вы. Тем не менее ответ на него не такой однозначный «нет», как кажется на первый взгляд. В браузере Опера это возможно, что даёт огромное поле деятельность по угону пользовательских аккаунтов, особенно с учетом того что уязвимость до сих пор не закрыта. А по заявлениям компании Опера — будет оставаться незакрытой еще неопределенное время.

Что представляет из себя уязвимость, а также официальное мнение Оперы на этот счет — под катом.
(Пользователи Оперы должны быть готовы к редиректам при открытии поста, т.к. в комментариях решили проверить уязвимость)
Читать дальше →
Всего голосов 143: ↑117 и ↓26+91
Комментарии130

Учить английский язык с LinguaLeo теперь можно и на Android!

Время на прочтение3 мин
Количество просмотров89K
Случилось! Мы готовы презентовать долгожданное приложение для Android. Пока его видели всего 200 человек — журналисты, участники бета-тестирования, команда проекта. Наступило время официального релиза!

Android приложение LinguaLeo позволяет изучать английские слова и фразы, проходить тренировки и видеть прогресс в реальном времени. О том, как именно маленький робот может помочь вам в изучении английского языка с LinguaLeo, читаем далее…



UPD: Ура, мы выпустили новую версию! Теперь приложение можно перенести на карту памяти и оно занимает меньше места.

Читать дальше →
Всего голосов 182: ↑165 и ↓17+148
Комментарии159

Ещё раз об изучении языков (часть 2)

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

Во второй части статьи (первая, в основном теоретическая часть, находится тут), посвященный моему личному опыту изучения иностранных языков и советам начинающим это не всегда простое дело, мы разберем первый этап освоения языка: он нулевого уровня до уровня продвинутого туриста, способного разговаривать на базовые темы и понимать тексты на данном языке при помощи томика словаря.
Я уверен, что многое из того, что я описываю, уже не раз писалось в том числе и на Хабре: в конце концов, я не изобрел ничего нового. Однако для полноты картины я стараюсь описывать все то, чем я сам пользуюсь при изучении языка в надежде, что подробное описание поможет заинтересованным читателям Хабрахабра более точно воспроизвести мой подход.
Читать дальше →
Всего голосов 56: ↑52 и ↓4+48
Комментарии37

Еще раз об изучении языков

Время на прочтение7 мин
Количество просмотров189K
Тема изучения иностранных языков уже много раз обсуждалась здесь. В архивах можно найти много различных интересных способов и практических советов по поводу изучения языков. В какой-то момент я решил, что мне тоже, наверное, стоит поделится опытом, накопленным в процессе изучения иностранных языков: более-менее бегло я могу говорить на шести языках.
Всё, о чём я пишу здесь — это моё личное понимание проблемы изучения языков и моё видение возможных решений. Я не претендую на какую-либо истину или научность и не имею законченного профессионального образования в области лингвистики.
Я не буду рассматривать здесь изучение языка на уровне туриста, где достаточным уровнем является способность понять основные пункты меню в ресторане, сделать заказ или суметь спросить дорогу и понять, что тебе ответили. Знание языка на таком уровне, конечно, полезно, но это нельзя назвать «владением языком». Для меня уровень владения начинается с того момента, когда я могу спокойно читать тексты на этом языке используя лишь словарик, встроенный в электронную читалку (раньше AlReader, потом СoolReader, сейчас наконец PocketBook Reader).
Читать дальше →
Всего голосов 74: ↑68 и ↓6+62
Комментарии97

Как два программиста хлеб пекли

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


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

Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.

Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.

Именно так, «делался», без уточнения способа производства.

Как же поступят наши программисты?
Читать дальше →
Всего голосов 380: ↑348 и ↓32+316
Комментарии328

Android прошивки на личном опыте

Время на прочтение9 мин
Количество просмотров241K
Доброе время суток. Данный топик является изложением личного опыта владения телефонами на базе Android. Монолог будет о плюсах и минусах сторонних прошивок и o том, что интересует, не совсем обычного пользователя современных гаджетов. Данный топик, надеюсь, будет интересен пользователям Android устройств раздумывающиж над кастомизацией. Опытным пользователям и тем более разработчикам, эта заметка вряд ли расскажет что-то новое.

У меня нет опыта владения телефонами на Windows Phone или Apple iOS и данный холивар в этом топике не затрагивается.
Читать дальше →
Всего голосов 21: ↑12 и ↓9+3
Комментарии29

В пень free-lance.ru!

Время на прочтение4 мин
Количество просмотров639K
В связи с прочтением соседнего поста предлагаю перечислить список бирж, на которых можно найти альтернативу тому унылому говну, в которое превратился free-lance.ru, ибо терпеть планомерный геноцид я больше не намерен.
Читать дальше →
Всего голосов 338: ↑320 и ↓18+302
Комментарии171

oDesk для начинающих

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

Зачем?

Вообще, идея этого поста пришла мне в голову в тот самый момент, когда я, не имея до этого за плечами полноценного опыта фриланса, решил всерьез освоить oDesk. Да, если кто не знает, oDesk — это одна из крупнейших в мире фриланс-бирж. Итак, дело было в июле этого года. Официальной работы к тому времени у меня уже полгода как не было, все подработки закончились, новых серьезных заказов не предвиделось, и oDesk представлялся мне весьма перспективным вариантом. Аккаунт, как водится, был зарегистрирован «про запас» еще за год до того, но висел все это время без дела, поэтому начинать нужно было с нуля. При этом я был почти уверен, что руководство, хотя бы самое краткое, на тему, как и с чего начинать, я где-нибудь (уж на Хабре-то точно!) да найду.
Возможно, я плохо искал. Однако все, что мне попалось по теме, сводилось только к тому, что не нужно сразу загибать цены, лучше начинать с небольших. Примерная цитата: «начинайте с $10 в час, со временем, дорастете и до $15». Дорастать до $15, да еще и со временем, мне категорически не хотелось, я был уверен, что можно зарабатывать значительно больше. Да и кроме того, меня волновало огромное количество вопросов. Как заполнять профиль? На какие проекты откликаться? Как составлять cover letter? Как, черт побери, получить этот первый заказ, когда все тебе отказывают?
В тот момент я решил, что если все у меня получится, обязательно напишу то самое руководство для новичков, которого я не нашел.

Читать дальше →
Всего голосов 192: ↑175 и ↓17+158
Комментарии385

C++ Debugger Visualizers: отображение типов в отладчике из Boost, wxWidgets, TinyXML и TinyXML2

Время на прочтение2 мин
Количество просмотров8.2K
imageС незапамятных времен в Visual Studio существовала возможность написания визуализаторов для своих C++ типов, что позволяет изменить способ отображения типов в окнах отображающих содержимое переменных в отладчике (такие как auto, watch, locals и всплывающие подсказки для переменных). В Visual Studio 2012 появилась возможность в расширениях к Visual Studio распространять визуализаторы в новом формате natvis.

Были конвертированы старые визуализаторы для Boost'а и мои старые для TinyXML, а также добавил новые визуализаторы для Boost, wxWidgets и TinyXML2. Получилось в итоге расширение к Visual Studio 2012 — C++ Debugger Visualizers
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии8

Пятнадцать мифов о восстановлении и потере данных

Время на прочтение6 мин
Количество просмотров245K
За годы работы мы в Storelab Data Recovery собрали небольшую коллекцию мифов об утере и восстановлении данных. Некоторые из них активно тиражируются на различных компьютерных и не очень форумах — поэтому, надеемся, эта статья будет полезна тем, кто ищет помощи, когда сломался диск или потеряны данные. Итак, пост о том, как не сделать трудную ситуацию ещё хуже.


На фото — результат «охлаждения» жёсткого диска
Читать дальше →
Всего голосов 122: ↑111 и ↓11+100
Комментарии150

Как правильно скопировать массив и при чем тут SFINAE

Время на прочтение6 мин
Количество просмотров28K
Копировать элементы из одного контейнера в другой? Нет ничего проще, универсальный алгоритм помещается в 5 строк:
template<class InputIterator, class OutputIterator>
OutputIterator copy(InputIterator first, InputIterator last, OutputIterator result) {
    while(first != last) *result++ = *first++;
    return result;
}
Возможно вы узнали реализацию std::copy с cplusplus.com. Почему же реализация std::copy из GNU STL занимает 139 строк? Давайте разберемся.
Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии26

Анатомия законодательства о государственных закупках

Время на прочтение28 мин
Количество просмотров86K
Постепенно в грязных подвалах мозга начинается структурироваться информация по госзакупкам и знаменитому 94 ФЗ. Довелось поработать со стороны заказчика и со стороны исполнителя, а также изучить опыт организации взаимодействия государства и бизнеса в США.
image

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

Нервных попрошу не смотреть.

Читать дальше →
Всего голосов 115: ↑100 и ↓15+85
Комментарии91

Расставляем точки на Li: Нужна ли тренировка литиевых аккумуляторов?

Время на прочтение7 мин
Количество просмотров758K
Прошло уже достаточно времени с тех времен, когда Ni-Cd и Ni-Mh аккумуляторы безраздельно властвовали в мобильных устройствах, но с самого начала эпохи Li-ion и Li-pol все не утихают споры по поводу того, надо ли «тренировать» эти аккумуляторы сразу после покупки.
Доходит до смешного, в теме обсуждения ZP100 на china-iphone всем новичкам рекомендовали в приказном тоне пройти 10 циклов зарядки-разряда, а только потом приходить с вопросами о аккумуляторах.



Давайте попробуем разобраться, имеет ли такая рекомендация право на жизнь, или это рефлексы спинного мозга (за отсутствием головного, наверное) некоторых индивидуумов, у которых они остались со времен никелевых батарей.
Читать дальше →
Всего голосов 328: ↑306 и ↓22+284
Комментарии194

Как правильно скопировать файлы и папки исключая некоторые из них

Время на прочтение2 мин
Количество просмотров50K
Топик написан в ответ на похожий.

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

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

Под катом подробности о методах решения этого класса задач — не рассматривайте это как готовый рецепт.
Читать дальше →
Всего голосов 122: ↑94 и ↓28+66
Комментарии67

Немного о многопоточном программировании. Часть 1. Синхронизация зло или все-таки нет

Время на прочтение12 мин
Количество просмотров70K
Мне по работе часто приходится сталкиваться с высоконагруженными многопоточными или многопроцессными сервисами (application-, web-, index-server).
Достаточно интересная, но иногда неблагодарная работа — оптимизировать все это хозяйство.
Растущие потребности клиентов часто упираются в невозможность просто заменить железную составляющую системы на более современную, т.к. производительность компьютеров, скорость чтения-записи жестких дисков и сети растут много медленнее запросов клиентов.
Редко помогает увеличение количества нодов кластера (система как правило распределенная).
Чаще приходится запустив профайлер, искать узкие места, лезть в source code и править ляпы, которые оставили коллеги, а иногда и сам, чего греха таить, много лет назад.
Некоторые из проблем, связаных с синхронизацией, я попытаюсь изложить здесь. Это не будет вводный курс по многопоточному программированию — предпологается, что читатель знаком с понятием thread и context switch, и знает для чего нужны mutex, semaphore и т.д.
Читать дальше →
Всего голосов 69: ↑59 и ↓10+49
Комментарии55

Информация

В рейтинге
Не участвует
Откуда
Helsinki, Southern Finland, Финляндия
Дата рождения
Зарегистрирован
Активность