Дальше много текста, фотографий, разборок. Ну все как обычно
Пользователь
Фриланс как средство заработка. Ч.2. Приступаем к работе
6 мин
26KЧтож, в первой части я долго и упорно лил из пустого в порожнее, преследуя лишь одну цель — признать, что в провалах проектов по стоимости и срокам виноваты мы, мы и только мы. Не существует мифических дядь Вась, повинных во всех наших бедах, не заказчик выносит мозг нам своими требованиями и сменой приоритетов — это все мы, родимые, учиняем, потом благополучно взращиваем и оберегаем от внешнего воздействия. Так что если вы с этим спорить не будете, то айда под кат, посмотрим что у нас дальше на повестке дня.
+24
Фриланс как средство заработка. Ч.1. Старт проекта
5 мин
43KВ предыдущих своих постах я постарался рассказать о том, как взаимодействуют фрилансер и заказчик. Большинство мыслей, представленных в этих статьях, были самим собой разумеющимся, на что мне указывали, и не раз. Сегодня я бы хотел начать разговор о том, как мы, благополучно пройдя все перипетии первоначального обсуждения, начинаем проект. Я опять буду банален до безобразия, вновь и вновь буду перетирать то, что каждому понятно. Но, как показывает практика, все мы с упорством мазохистов наступаем на одни и те же грабли.
+33
Черногория — не Таиланд
11 мин
432KТак получилось, что последние пять месяцев я работаю и проживаю в Черногории. Раньше я жил в московской области, работал инженером-руководителем в небольшой, но успешно российской компании и как многие другие задумывался иногда о лучшей жизни. Лучшая жизнь в моем понимании выглядела в виде небольшого домика в горах, недалеко от моря в месте где всегда хорошая погода, дружелюбные люди, хорошая экология и размеренная жизнь. Но дорога к лучшей жизни выглядела трудной — 20 лет ипотеки на квартиру в Москве, потом 10 лет накоплений на домик в горах, поэтому когда появился шанс пропустить все это и сразу попробовать мечту, то я не сомневался.
Прошло уже достаточно времени, чтобы немного разобраться в черногорской реальности, но все еще сохраняется контакт с родиной и свежесть восприятия, поэтому надеюсь что мои наблюдения можно считать вполне объективными. Сразу скажу что жизнь в Черногории в умеренных дозах (несколько месяцев) может быть терапевтической процедурой для жителя почти любого российского мегаполиса. Дальше возникает развилка — либо кажется что попал в болото, либо, как Владимир Высоцкий — обретаешь еще одну родину. Но оставим лирику для личных блогов и посмотрим на ситуацию глазами фрилансеров. Я взял за основу интересный пост про Таиланд и решил сравнить с со своими впечатлениям. В Таиланде я был туристом и понимаю что автор хоть и перегибает палку, но многие вещи излагает адекватно.
+224
Машина времени в git
5 мин
194KВ последнее время мои коллеги начинают знакомство с git'ом. И один из интересующих их вопросов — как откатиться до определённой ревизии. В интернете можно найти набор команд, но хочется, чтобы было понимание каждой из них. Баловство с комадами git'а без понимания может привести к потере истории разработки.
В этой статье я хочу рассказать о командах
В этой статье я хочу рассказать о командах
git checkout
и git reset
с ключами --soft
и --hard
.+117
Опера не спешит закрывать уязвимость?
3 мин
60KRecovery Mode
Если вы считаете, что знакомы с языком HTML и принципами работы браузеров, попробуйте прямо сейчас ответить для себя на вопрос — может ли картинка вставленная через тег IMG сделать редирект той странице, на которой она вставлена? Странный вопрос, скажете Вы. Тем не менее ответ на него не такой однозначный «нет», как кажется на первый взгляд. В браузере Опера это возможно, что даёт огромное поле деятельность по угону пользовательских аккаунтов, особенно с учетом того что уязвимость до сих пор не закрыта. А по заявлениям компании Опера — будет оставаться незакрытой еще неопределенное время.
Что представляет из себя уязвимость, а также официальное мнение Оперы на этот счет — под катом.
(Пользователи Оперы должны быть готовы к редиректам при открытии поста, т.к. в комментариях решили проверить уязвимость)
Что представляет из себя уязвимость, а также официальное мнение Оперы на этот счет — под катом.
(Пользователи Оперы должны быть готовы к редиректам при открытии поста, т.к. в комментариях решили проверить уязвимость)
+91
Учить английский язык с LinguaLeo теперь можно и на Android!
3 мин
89KСлучилось! Мы готовы презентовать долгожданное приложение для Android. Пока его видели всего 200 человек — журналисты, участники бета-тестирования, команда проекта. Наступило время официального релиза!
Android приложение LinguaLeo позволяет изучать английские слова и фразы, проходить тренировки и видеть прогресс в реальном времени. О том, как именно маленький робот может помочь вам в изучении английского языка с LinguaLeo, читаем далее…
UPD: Ура, мы выпустили новую версию! Теперь приложение можно перенести на карту памяти и оно занимает меньше места.
Android приложение LinguaLeo позволяет изучать английские слова и фразы, проходить тренировки и видеть прогресс в реальном времени. О том, как именно маленький робот может помочь вам в изучении английского языка с LinguaLeo, читаем далее…
UPD: Ура, мы выпустили новую версию! Теперь приложение можно перенести на карту памяти и оно занимает меньше места.
+148
Ещё раз об изучении языков (часть 2)
13 мин
136KВо второй части статьи (первая, в основном теоретическая часть, находится тут), посвященный моему личному опыту изучения иностранных языков и советам начинающим это не всегда простое дело, мы разберем первый этап освоения языка: он нулевого уровня до уровня продвинутого туриста, способного разговаривать на базовые темы и понимать тексты на данном языке при помощи томика словаря.
Я уверен, что многое из того, что я описываю, уже не раз писалось в том числе и на Хабре: в конце концов, я не изобрел ничего нового. Однако для полноты картины я стараюсь описывать все то, чем я сам пользуюсь при изучении языка в надежде, что подробное описание поможет заинтересованным читателям Хабрахабра более точно воспроизвести мой подход.
+48
Еще раз об изучении языков
7 мин
189KТема изучения иностранных языков уже много раз обсуждалась здесь. В архивах можно найти много различных интересных способов и практических советов по поводу изучения языков. В какой-то момент я решил, что мне тоже, наверное, стоит поделится опытом, накопленным в процессе изучения иностранных языков: более-менее бегло я могу говорить на шести языках.
Всё, о чём я пишу здесь — это моё личное понимание проблемы изучения языков и моё видение возможных решений. Я не претендую на какую-либо истину или научность и не имею законченного профессионального образования в области лингвистики.
Я не буду рассматривать здесь изучение языка на уровне туриста, где достаточным уровнем является способность понять основные пункты меню в ресторане, сделать заказ или суметь спросить дорогу и понять, что тебе ответили. Знание языка на таком уровне, конечно, полезно, но это нельзя назвать «владением языком». Для меня уровень владения начинается с того момента, когда я могу спокойно читать тексты на этом языке используя лишь словарик, встроенный в электронную читалку (раньше AlReader, потом СoolReader, сейчас наконец PocketBook Reader).
Всё, о чём я пишу здесь — это моё личное понимание проблемы изучения языков и моё видение возможных решений. Я не претендую на какую-либо истину или научность и не имею законченного профессионального образования в области лингвистики.
Я не буду рассматривать здесь изучение языка на уровне туриста, где достаточным уровнем является способность понять основные пункты меню в ресторане, сделать заказ или суметь спросить дорогу и понять, что тебе ответили. Знание языка на таком уровне, конечно, полезно, но это нельзя назвать «владением языком». Для меня уровень владения начинается с того момента, когда я могу спокойно читать тексты на этом языке используя лишь словарик, встроенный в электронную читалку (раньше AlReader, потом СoolReader, сейчас наконец PocketBook Reader).
+62
Как два программиста хлеб пекли
5 мин
261KЯ работаю программистом уже много лет, на протяжении которых, как это ни странно, я всё время что-то программирую. И вот какую интересную вещь я заметил: в коде, написанном мной месяц назад, всегда хочется что-то чуть-чуть поправить. В код полугодичной давности хочется поменять очень многое, а код, написанный два-три года назад, превращает меня в эмо: хочется заплакать и умереть. В этой статье я опишу два подхода. Благодаря первому архитектура программы получается запутанной, а сопровождение — неоправданно дорогим, а второй — это принцип KISS.
Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.
Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.
Именно так, «делался», без уточнения способа производства.
Как же поступят наши программисты?
+316
Android прошивки на личном опыте
9 мин
241KДоброе время суток. Данный топик является изложением личного опыта владения телефонами на базе Android. Монолог будет о плюсах и минусах сторонних прошивок и o том, что интересует, не совсем обычного пользователя современных гаджетов. Данный топик, надеюсь, будет интересен пользователям Android устройств раздумывающиж над кастомизацией. Опытным пользователям и тем более разработчикам, эта заметка вряд ли расскажет что-то новое.
У меня нет опыта владения телефонами на Windows Phone или Apple iOS и данный холивар в этом топике не затрагивается.
У меня нет опыта владения телефонами на Windows Phone или Apple iOS и данный холивар в этом топике не затрагивается.
+3
В пень free-lance.ru!
4 мин
639KВ связи с прочтением соседнего поста предлагаю перечислить список бирж, на которых можно найти альтернативу тому унылому говну, в которое превратился free-lance.ru, ибо терпеть планомерный геноцид я больше не намерен.
+302
oDesk для начинающих
6 мин
502KЗачем?
Вообще, идея этого поста пришла мне в голову в тот самый момент, когда я, не имея до этого за плечами полноценного опыта фриланса, решил всерьез освоить oDesk. Да, если кто не знает, oDesk — это одна из крупнейших в мире фриланс-бирж. Итак, дело было в июле этого года. Официальной работы к тому времени у меня уже полгода как не было, все подработки закончились, новых серьезных заказов не предвиделось, и oDesk представлялся мне весьма перспективным вариантом. Аккаунт, как водится, был зарегистрирован «про запас» еще за год до того, но висел все это время без дела, поэтому начинать нужно было с нуля. При этом я был почти уверен, что руководство, хотя бы самое краткое, на тему, как и с чего начинать, я где-нибудь (уж на Хабре-то точно!) да найду.Возможно, я плохо искал. Однако все, что мне попалось по теме, сводилось только к тому, что не нужно сразу загибать цены, лучше начинать с небольших. Примерная цитата: «начинайте с $10 в час, со временем, дорастете и до $15». Дорастать до $15, да еще и со временем, мне категорически не хотелось, я был уверен, что можно зарабатывать значительно больше. Да и кроме того, меня волновало огромное количество вопросов. Как заполнять профиль? На какие проекты откликаться? Как составлять cover letter? Как, черт побери, получить этот первый заказ, когда все тебе отказывают?
В тот момент я решил, что если все у меня получится, обязательно напишу то самое руководство для новичков, которого я не нашел.
+158
C++ Debugger Visualizers: отображение типов в отладчике из Boost, wxWidgets, TinyXML и TinyXML2
2 мин
8.2KС незапамятных времен в Visual Studio существовала возможность написания визуализаторов для своих C++ типов, что позволяет изменить способ отображения типов в окнах отображающих содержимое переменных в отладчике (такие как auto, watch, locals и всплывающие подсказки для переменных). В Visual Studio 2012 появилась возможность в расширениях к Visual Studio распространять визуализаторы в новом формате natvis.
Были конвертированы старые визуализаторы для Boost'а и мои старые для TinyXML, а также добавил новые визуализаторы для Boost, wxWidgets и TinyXML2. Получилось в итоге расширение к Visual Studio 2012 — C++ Debugger Visualizers
Были конвертированы старые визуализаторы для Boost'а и мои старые для TinyXML, а также добавил новые визуализаторы для Boost, wxWidgets и TinyXML2. Получилось в итоге расширение к Visual Studio 2012 — C++ Debugger Visualizers
+20
Пятнадцать мифов о восстановлении и потере данных
6 мин
245KЗа годы работы мы в Storelab Data Recovery собрали небольшую коллекцию мифов об утере и восстановлении данных. Некоторые из них активно тиражируются на различных компьютерных и не очень форумах — поэтому, надеемся, эта статья будет полезна тем, кто ищет помощи, когда сломался диск или потеряны данные. Итак, пост о том, как не сделать трудную ситуацию ещё хуже.
На фото — результат «охлаждения» жёсткого диска
На фото — результат «охлаждения» жёсткого диска
+100
Как правильно скопировать массив и при чем тут 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 строк? Давайте разберемся.+43
Анатомия законодательства о государственных закупках
28 мин
86KПостепенно в грязных подвалах мозга начинается структурироваться информация по госзакупкам и знаменитому 94 ФЗ. Довелось поработать со стороны заказчика и со стороны исполнителя, а также изучить опыт организации взаимодействия государства и бизнеса в США.
В разделе о краткой истории вопроса текущей статьи будет рассказано про то, когда был принят закон о госзакупках и с чем было связано его принятие.
В разделе о процессе типичной госзакупки будет описан процесс покупки партии из 100 ноутбуков, описана процедура закупа и описаны некоторые проблемы, которые могут возникнуть.
В разделе про закупку в рамках сложного проекта будет описан процесс закупки дорогостоящего медицинского оборудования – магнитно-резонансного томографа, подготовка проекта и помещений под оборудование, а также проблемы, которые часто возникают в подобных сложных проектах, но которые не учитывает законодательство о госзакупках.
Будут даны небольшие соображения по улучшению законодательства в области госзакупок, которые проистекают из текущих проблем и зарубежного опыта.
Будут описаны некоторые законные способы обхода действующего законодательства о госзакупах и даны некоторые полезные ссылки в заключении этой статьи.
Нервных попрошу не смотреть.
В разделе о краткой истории вопроса текущей статьи будет рассказано про то, когда был принят закон о госзакупках и с чем было связано его принятие.
В разделе о процессе типичной госзакупки будет описан процесс покупки партии из 100 ноутбуков, описана процедура закупа и описаны некоторые проблемы, которые могут возникнуть.
В разделе про закупку в рамках сложного проекта будет описан процесс закупки дорогостоящего медицинского оборудования – магнитно-резонансного томографа, подготовка проекта и помещений под оборудование, а также проблемы, которые часто возникают в подобных сложных проектах, но которые не учитывает законодательство о госзакупках.
Будут даны небольшие соображения по улучшению законодательства в области госзакупок, которые проистекают из текущих проблем и зарубежного опыта.
Будут описаны некоторые законные способы обхода действующего законодательства о госзакупах и даны некоторые полезные ссылки в заключении этой статьи.
Нервных попрошу не смотреть.
+85
Расставляем точки на Li: Нужна ли тренировка литиевых аккумуляторов?
7 мин
758KПрошло уже достаточно времени с тех времен, когда Ni-Cd и Ni-Mh аккумуляторы безраздельно властвовали в мобильных устройствах, но с самого начала эпохи Li-ion и Li-pol все не утихают споры по поводу того, надо ли «тренировать» эти аккумуляторы сразу после покупки.
Доходит до смешного, в теме обсуждения ZP100 на china-iphone всем новичкам рекомендовали в приказном тоне пройти 10 циклов зарядки-разряда, а только потом приходить с вопросами о аккумуляторах.
Давайте попробуем разобраться, имеет ли такая рекомендация право на жизнь, или это рефлексы спинного мозга (за отсутствием головного, наверное) некоторых индивидуумов, у которых они остались со времен никелевых батарей.
Доходит до смешного, в теме обсуждения ZP100 на china-iphone всем новичкам рекомендовали в приказном тоне пройти 10 циклов зарядки-разряда, а только потом приходить с вопросами о аккумуляторах.
Давайте попробуем разобраться, имеет ли такая рекомендация право на жизнь, или это рефлексы спинного мозга (за отсутствием головного, наверное) некоторых индивидуумов, у которых они остались со времен никелевых батарей.
+284
Как правильно скопировать файлы и папки исключая некоторые из них
2 мин
50KТопик написан в ответ на похожий.
Автор оригинального топика предлагает решить задачу в лоб — а именно, скопировать все файлы а потом удалить не нужные. Это может быть неплохим решением, если вам, конечно, не нужно скопировать всю домашнюю папку на флешку, за исключением вашей коллекции видео.
Но главная проблема этого подхода в другом — он не соответствует идеологии unix: сложные задачи решаются комбинацией простых утилит.
Под катом подробности о методах решения этого класса задач — не рассматривайте это как готовый рецепт.
Автор оригинального топика предлагает решить задачу в лоб — а именно, скопировать все файлы а потом удалить не нужные. Это может быть неплохим решением, если вам, конечно, не нужно скопировать всю домашнюю папку на флешку, за исключением вашей коллекции видео.
Но главная проблема этого подхода в другом — он не соответствует идеологии unix: сложные задачи решаются комбинацией простых утилит.
Под катом подробности о методах решения этого класса задач — не рассматривайте это как готовый рецепт.
+66
Немного о многопоточном программировании. Часть 1. Синхронизация зло или все-таки нет
12 мин
70KМне по работе часто приходится сталкиваться с высоконагруженными многопоточными или многопроцессными сервисами (application-, web-, index-server).
Достаточно интересная, но иногда неблагодарная работа — оптимизировать все это хозяйство.
Растущие потребности клиентов часто упираются в невозможность просто заменить железную составляющую системы на более современную, т.к. производительность компьютеров, скорость чтения-записи жестких дисков и сети растут много медленнее запросов клиентов.
Редко помогает увеличение количества нодов кластера (система как правило распределенная).
Чаще приходится запустив профайлер, искать узкие места, лезть в source code и править ляпы, которые оставили коллеги, а иногда и сам, чего греха таить, много лет назад.
Некоторые из проблем, связаных с синхронизацией, я попытаюсь изложить здесь. Это не будет вводный курс по многопоточному программированию — предпологается, что читатель знаком с понятием thread и context switch, и знает для чего нужны mutex, semaphore и т.д.
Достаточно интересная, но иногда неблагодарная работа — оптимизировать все это хозяйство.
Растущие потребности клиентов часто упираются в невозможность просто заменить железную составляющую системы на более современную, т.к. производительность компьютеров, скорость чтения-записи жестких дисков и сети растут много медленнее запросов клиентов.
Редко помогает увеличение количества нодов кластера (система как правило распределенная).
Чаще приходится запустив профайлер, искать узкие места, лезть в source code и править ляпы, которые оставили коллеги, а иногда и сам, чего греха таить, много лет назад.
Некоторые из проблем, связаных с синхронизацией, я попытаюсь изложить здесь. Это не будет вводный курс по многопоточному программированию — предпологается, что читатель знаком с понятием thread и context switch, и знает для чего нужны mutex, semaphore и т.д.
+49
Информация
- В рейтинге
- Не участвует
- Откуда
- Helsinki, Southern Finland, Финляндия
- Дата рождения
- Зарегистрирован
- Активность