Евгений Шадчнев опубликовал перевод замечательной статьи Пола Грэма о типичных вымышленных причинах не создавать стартап. «Нет ничего плохого в том, чтобы быть не уверенным. Если вы хакер, думающий об основании компании и вы сомневаетесь перед этим большим шагом, то вы следуете по пути, пройденному многими. Ларри и Сергей не были уверены, стоит ли основывать Google, а Джерри и Фило сомневались, создавать ли Yahoo. На самом деле мне кажется, что наиболее успешные стартапы получаются у сомневающихся хакеров, чем у переполненных оптимизмом ребят от бизнеса».
Игорь Голов @IgorGolov
Инженер — программист
Главный принцип хорошего кода
9 мин
86KЗа двадцать лет разнообразного программирования я сформулировал, убежден, главнейший принцип хорошего кода. Опираясь на него, мне и моим коллегам удавалось приводить в порядок самый страшный код, объединять в команде малосовместимых программистов и годами поддерживать системы без лишнего нытья.
Прочтение этой статьи: 15 минут
Осмысление методики: 10 минут
Ощутимые результаты: 30 минут
Прочтение этой статьи: 15 минут
Осмысление методики: 10 минут
Ощутимые результаты: 30 минут
+72
Выводим деньги с PayPal на карту: Инструкция для чайников
3 мин
497KТуториал
Потребовалось мне вывести деньги с PayPal в России, только вот через посредников работать не хотелось.
Пришлось получить карту Payoneer для вывода PayPal на эту карту. Сколько не искал, так и не нашел полноценной, пошаговой инструкции.
Поэтому пишу сам.
ВНИМАНИЕ! Все ниженаписанное является де-юре нарушением законодательства РФ и Украины, и вообще выдумкой автора и плодом работы в фотошопе. Применяя описанное на практике, вы действуете на свой страх и риск, и ни автор, на администрация сайта не несет ответственности за ваши действия.
Пришлось получить карту Payoneer для вывода PayPal на эту карту. Сколько не искал, так и не нашел полноценной, пошаговой инструкции.
Поэтому пишу сам.
ВНИМАНИЕ! Все ниженаписанное является де-юре нарушением законодательства РФ и Украины, и вообще выдумкой автора и плодом работы в фотошопе. Применяя описанное на практике, вы действуете на свой страх и риск, и ни автор, на администрация сайта не несет ответственности за ваши действия.
+174
Interplay Medium (часть II). Микро-сервер AXOD (aka Digital Axon)
6 мин
2.3KЭто продолжение серии публикация о проекте Interplay Mеdium (первая статья здесь). В этой статье я расскажу о том, как устроено «сердце» Interplay Meduim кластера — микро-сервер AXOD.
Пара слов касательно этимологии: в wiki и на сайте проекта кое-где все еще фигурирует старое название — AXON. Так я и планировал назвать микро-сервер сперва. Однако позднее, размышляя над графическим решением интерфейса, я пришел к идее о четырех базовых фигурах, которые, кроме всего прочего, просились расположиться именно так, чтобы образовать собою название (с буквой N я, после некоторых сомнений, тогда решил примириться). С одной стороны название — суть, отсыл к Маклюэну (и ранее к Хайдеггеру) с их интерпретациями роли технологий и языка (см ссылку в предыдущей статье). С другой — референция к античным представлениям о базовых элементах. Кроме этого, в процессе этимологического исследования я натолкнулся на древнеегипетские источники, содержащие интерпретации фигур, как нельзя кстати рифмующиеся с задуманным мною разделением на «органы чувств». Таким образом, получившееся воплощение, как это порой случается, оказалось сильнее изначальной интенции. В итоге, буква N приобрела новое для нее амплуа и стала буквой D, как намек на электронно-цифровую сущность все затеи :)
Пара слов касательно этимологии: в wiki и на сайте проекта кое-где все еще фигурирует старое название — AXON. Так я и планировал назвать микро-сервер сперва. Однако позднее, размышляя над графическим решением интерфейса, я пришел к идее о четырех базовых фигурах, которые, кроме всего прочего, просились расположиться именно так, чтобы образовать собою название (с буквой N я, после некоторых сомнений, тогда решил примириться). С одной стороны название — суть, отсыл к Маклюэну (и ранее к Хайдеггеру) с их интерпретациями роли технологий и языка (см ссылку в предыдущей статье). С другой — референция к античным представлениям о базовых элементах. Кроме этого, в процессе этимологического исследования я натолкнулся на древнеегипетские источники, содержащие интерпретации фигур, как нельзя кстати рифмующиеся с задуманным мною разделением на «органы чувств». Таким образом, получившееся воплощение, как это порой случается, оказалось сильнее изначальной интенции. В итоге, буква N приобрела новое для нее амплуа и стала буквой D, как намек на электронно-цифровую сущность все затеи :)
Архитектура микро-сервера AXOD
+7
Interplay Medium
7 мин
2.7KПривет друзья.
Хочу с вами поделиться рассказом об еще одном своем проекте Interplay Medium, о котором я упоминал вскользь в своей предыдущей статье про пражский электронный аудио-гид и которым я неспешно занимаюсь последних четыре года. На этот раз речь пойдет о проекте некоммерческом и рассчитанном в первую очередь на публику, с одной стороны, не чуждую разработке электроники, с другой, интересующуюся разного рода эстетическими практикам, на первый взгляд с электроникой не связанными.
Рассказ этот, пожалуй, имеет смысл разбить на несколько частей. Первая часть будет нести более философский характер, в ней я попытаюсь раскрыть общие предпосылки и основную идею проекта. В дальнейшем я расскажу об архитектуре всей затеи и далее буду по мере сил делиться конкретными поэтапными описаниями простых реализаций, которые, в свою очередь, могут быть полезны дизайнерам и разработчикам, желающим использовать мои наработки в собственных проектах.
Представленный ниже текст является отчасти переводом моего собственного текста на английском языке размещенного на сайте моего проекта, однако, не копирует его целиком (не уверен, что так здесь можно, поэтому заранее прошу прощения, модераторы, не бейте! текст мой собственный, оригинальный).
Мы живем в эпоху технологического и информационного бума, истинный смысл и перспективы которого только начинают приобретать первые осмысленные очертания. Доступность компьютерного инструментария и появление глобальной информационной инфраструктуры стало предпосылкой к изменению самой идеи коммуникации. Компьютерная техника переросла свой младенческий возраст и превратилась из простого средства алгоритмизации и анализа в каждодневный инструмент коммуникации и кооперации. В конце концов появилось большое количество доступных устройств, позволяющих на новом уровне осуществлять информационный обмен и организацию. Что же нас ждет дальше?
Идея о том, что все человеческое существование — суть непрерывная реорганизация окружающей действительности не нова. Еще Витрувий, описывая архитектурные принципы, говорил о создании сооружения, как об преобразовании базовых элементов природы1, позднее идея реорганизации в более широком смысле нашла отклик в эстетике и философии эпохи возрождения, а в ХХ столетии воплотилась в принципах теоретиков и практиков дизайна2. Сегодня мы выводим понятие «дизайн» на еще более абстрактный уровень, говоря об организации информации вообще — как о фундаментальном принципе всех процессов, не только применительно к физическому миру но и на уровне абстрактных отношений и категорий.
Хочу с вами поделиться рассказом об еще одном своем проекте Interplay Medium, о котором я упоминал вскользь в своей предыдущей статье про пражский электронный аудио-гид и которым я неспешно занимаюсь последних четыре года. На этот раз речь пойдет о проекте некоммерческом и рассчитанном в первую очередь на публику, с одной стороны, не чуждую разработке электроники, с другой, интересующуюся разного рода эстетическими практикам, на первый взгляд с электроникой не связанными.
Рассказ этот, пожалуй, имеет смысл разбить на несколько частей. Первая часть будет нести более философский характер, в ней я попытаюсь раскрыть общие предпосылки и основную идею проекта. В дальнейшем я расскажу об архитектуре всей затеи и далее буду по мере сил делиться конкретными поэтапными описаниями простых реализаций, которые, в свою очередь, могут быть полезны дизайнерам и разработчикам, желающим использовать мои наработки в собственных проектах.
Представленный ниже текст является отчасти переводом моего собственного текста на английском языке размещенного на сайте моего проекта, однако, не копирует его целиком (не уверен, что так здесь можно, поэтому заранее прошу прощения, модераторы, не бейте! текст мой собственный, оригинальный).
Преамбула
Мы живем в эпоху технологического и информационного бума, истинный смысл и перспективы которого только начинают приобретать первые осмысленные очертания. Доступность компьютерного инструментария и появление глобальной информационной инфраструктуры стало предпосылкой к изменению самой идеи коммуникации. Компьютерная техника переросла свой младенческий возраст и превратилась из простого средства алгоритмизации и анализа в каждодневный инструмент коммуникации и кооперации. В конце концов появилось большое количество доступных устройств, позволяющих на новом уровне осуществлять информационный обмен и организацию. Что же нас ждет дальше?
Human Generated Environment
Идея о том, что все человеческое существование — суть непрерывная реорганизация окружающей действительности не нова. Еще Витрувий, описывая архитектурные принципы, говорил о создании сооружения, как об преобразовании базовых элементов природы1, позднее идея реорганизации в более широком смысле нашла отклик в эстетике и философии эпохи возрождения, а в ХХ столетии воплотилась в принципах теоретиков и практиков дизайна2. Сегодня мы выводим понятие «дизайн» на еще более абстрактный уровень, говоря об организации информации вообще — как о фундаментальном принципе всех процессов, не только применительно к физическому миру но и на уровне абстрактных отношений и категорий.
+4
ILSpy — open source альтернатива .NET Reflector
2 мин
52KКак вы все знаете, Reflector становится платным. Такой шаг компании Red Gate не мог не сподвигнуть разработчиков сделать бесплатную альтернативу. Вот и всем известные разработчики open source решений для .NET IC#Code (на их счету так же IDE SharpDevelop) взялись за разработку своего Reflector'а.
Разработка началась совсем недавно, поэтому проект ещё не оброс всеми нужными фичами, но есть надежда на успешное продолжение.
Разработка началась совсем недавно, поэтому проект ещё не оброс всеми нужными фичами, но есть надежда на успешное продолжение.
+40
Облачная защита для .NET приложений
6 мин
4KПожалуй, защита ПО всегда была для меня одной из самых любимых тем. Я обожал придумывать сложные хитроумные проверки лицензионности программы, и с упоением реализовывал их. Я всегда держался принципа, что хакер, чтобы взломать защиту, должен изучить максимум технологий использующихся в программе. Пусть думает о синхронизации потоков, если ему захотелось поставить бряк в алгоритме проверки ключа. Пусть изучает вопросы подсчета COM ссылок, если он хочет вмешаться в мой алгоритм. Пусть думает о том, как представлены битовые карты изображений в памяти, если он решил разобраться, как я сохранил данные ключа.
Да, C++ был почти идеальным языком в этом плане. Но времена меняются, старые технологии уходят и на их место приходят новые более продуктивные и удобные. Так наша команда перешла на .NET. Но в обмен на простоту разработки и удобство отладки, мы в придачу получили в довесок и простоту декомпиляции нашего ПО. Теперь хакер мог не просто обойти лицензионные ограничения, но и получить почти полный исходник нашей программы просто скормив ее рефлектору.
Разумеется, в качестве решения этой проблемы на рынке было представлено множество различных обфускаторов. Но, как ни странно, большинство из них разочаровывали меня сразу с двух сторон: и ценовой политикой (даже минимальная лицензия некоторых превосходила стоимость нашего ПО в несколько раз), и «интеллектуальностью» алгоритма. Так, после некоторых обфускаторов, умудрялись падать даже простые WinForms приложения. Что же касалось WPF, то без долгого-долгого черного шаманства над эксклудами, запустить среднего размера программу не представлялось возможным в принципе.
Так сформировалось понимание проблемы и четкое желание создать свой продукт, сводящий озвученные выше проблемы к минимуму. И появился SaaS обфускатор и протектор .NET кода AppFuscator.com
+28
Когда быть хорошим плохо
4 мин
65KПеревод
Я хотел бы начать с истории:
Учитель керамического дела объявил в день открытия, что разобьет класс на две группы. «Те, кто сидят слева» — сказал он: «будут оцениваться только по количеству проделанной работы, те, кто справа — только по её качеству». Его методика была проста, в последний день он принесет весы и взвесит работу группы «количество»: 50 фунтов горшков это «5», сорок фунтов горшков это «4» и так далее. Те, кто оцениваются по «качеству», однако, должны сделать один, пусть и совершенный, горшок, чтобы получить «5». Время сдачи пришло, и обнаружился любопытный факт: работы лучшего качества были сделаны в группе, оцениваемой по количеству. Похоже, в то время, как группа «количество» упорно штамповала свои работы и училась на своих ошибках, группа «качество» теоретизировали об идеале и, в конце концов, только и могла показать свои старания и грандиозные теории об идеале, а также кучу бесполезной глины.
+142
Маленькие и БОЛЬШИЕ компании
4 мин
31KПроработав несколько лет в небольших web агентствах, 5 месяцeв назад я решил попробовать что-то новое и устроился в довольно крупную (3500 сотрудников) IT-компанию. То, что я увидел на новом рабочем месте, оказалось очень далеким от моих ожиданий. По многочисленным просьбам моих друзей и в ответ недавней статье под катом несколько наблюдений о различиях между большими и маленькими IT компаниями. На вкус и цвет, как известно, фломастеры разные. Так что эта статья — далеко не истина в последней инстанции, это то, с чем я столкнулся и что было для меня важным.
+106
Ускорим 3G модем при помощи внешней антенны
4 мин
498KВо всех 3G модемах есть внутренние антенны. В некоторых моделях их даже по две-три. Об этих антеннах никто и не задумывается, пока модем без проблем прокачивает через себя пяток-другой Мбит в секунду. Но если скорость составляет считанные килобиты и если компьютер с модемом уже побывал во всех углах комнаты в поисках хоть какого-то сигнала, но так его и не нашёл, то первое, что может помочь – это внешняя антенна.
+52
24 статьи про Windows Azure на русском языке
1 мин
2.3KВремени остается все меньше и меньше до нового года. Наконец-то могу сказать про самый главный и полезный подарок к новому году. Сегодня мы запускаем абсолютно новый центр по Windows Azure на MSDN, который содержит большое количество полезных материалов на русском языке, а именно cерию статей “Windows Azure – облачная платформа Microsoft”. Краткий список материалов:
- Введение в Windows Azure
- Облачные вычисления (5 статей)
- Технические возможности платформы Windows Azure (8 статей)
- Архитектура приложений в облаке (4 статьи)
- Дополнительные материалы (6 статей)
Полный список под катом
+5
Нейросети для чайников. Начало
5 мин
803KТак получилось, что в университете тема нейросетей успешно прошла мимо моей специальности, несмотря на огромный интерес с моей стороны. Попытки самообразования несколько раз разбивались невежественным челом о несокрушимые стены цитадели науки в облике непонятных «с наскока» терминов и путанных объяснений сухим языком вузовских учебников.
В данной статье (цикле статей?) я попытаюсь осветить тему нейросетей с точки зрения человека непосвященного, простым языком, на простых примерах, раскладывая все по полочкам, а не «массив нейронов образует перцептрон, работающий по известной, зарекомендовавшей себя схеме».
Заинтересовавшихся прошу под кат.
+194
Установка и настройка SVN (сервер+клиент)
6 мин
312KПо просьбам трудящихся, а так же учитывая, что есть статья по установке SVN (правда +Trac) под Linux, решил написать краткое описание установки и настройки SVN для Windows.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.
+57
C#, Разговоры с компом или System.Speech
2 мин
56KНедавно я, программист на C#, нашёл в своей панели управления такую фичу, как Распознование речи. Сменил язык на английский, включил, и всю ночь разговаривал с компом. На утро решил написать калькулятор, разумеется говорящий. Потыкав в .Net'овские библиотеки нашёл System.Speech. Звучало многообещающе.
+16
Учебный курс. Работа с параллелизмом с Entity Framework в приложении ASP.NET MVC
12 мин
12KПеревод
Это заключительная часть цикла статей, посвященного разработке с помощью Entity Framework и ASP.NET MVC 3. Первые главы вы можете найти по следующим ссылкам:
- Создание модели данных Entity Framework для приложения ASP.NET MVC
- Реализация базовой CRUD-функциональности с Entity Framework в приложении ASP.NET MVC
- Сортировка, фильтрация и разбиение по страницам с Entity Framework в приложении ASP.NET MVC
- Создание сложной модели данных для приложения ASP.NET MVC
- Создание сложной модели данных для приложения ASP.NET MVC, часть 2
- Загрузка данных с Entity Framework в приложении ASP.NET MVC
- Обновление связанных данных с помощью Entity Framework в приложении ASP.NET MVC
+14
Учебный курс. Обновление связанных данных с помощью Entity Framework в приложении ASP.NET MVC
11 мин
20KПеревод
Это продложение цикла статей, посвященого разработке с помощью Entity Framework и ASP.NET MVC 3. Первые главы вы можете найти по следующим ссылкам:
Результаты представлены на иллюстрациях.
- Создание модели данных Entity Framework для приложения ASP.NET MVC
- Реализация базовой CRUD-функциональности с Entity Framework в приложении ASP.NET MVC
- Сортировка, фильтрация и разбиение по страницам с Entity Framework в приложении ASP.NET MVC
- Создание сложной модели данных для приложения ASP.NET MVC
- Создание сложной модели данных для приложения ASP.NET MVC, часть 2
- Загрузка данных с Entity Framework в приложении ASP.NET MVC
Результаты представлены на иллюстрациях.
+24
eBay API: Первые шаги
5 мин
31KКак известно начать изучать что либо труднее всего, eBay API даже при том что у него нормальная документация не исключение. Я сам только недавно начал его изучать и пришлось плотно полазить по доке и сторонним ресурсам прежде чем в голове начала складываться нужная картина.
Этот пост предназначен для тех, кому нужно быстро начать работать с eBay API ну и для меня самого, что бы в будущем ничего не забыть.
Этот пост предназначен для тех, кому нужно быстро начать работать с eBay API ну и для меня самого, что бы в будущем ничего не забыть.
+27
Непутевые заметки о ASP.NET MVC. Часть 1 (и единственная)
11 мин
41KВ последнее время на Хабре часто начали появляться статьи о ASP.NET MVC. Однако в этой статье я бы хотел сделать несколько заметок по поводу построения приложений на вышеприведенном фреймворке: минимальный набор NuGet-packages (без которых грех начинать работу), логирование, подводные камни при использовании стандартных membership-, profile- провайдеров. И, напоследок, почему Web API из MVC 4 — то, что так долго мы все ждали.
+36
Что преодолевает сила инновации?
3 мин
1.7KОписанию условий успешности инновации посвящено немало правильных слов и замечательных мыслей. Но вопрос природы сопротивления инновациям, на мой взгляд, незаслуженно обойден. Из смутности представлений происходит множество забавных и печальных продолжений: изобретатели полагаются на силы идей, инвесторы ожидают предложений с очевидными достоинствами, успешные внедренцы именуют инновациями тиражирование существующего…
Мне представляется, что не существует никакой другой силы, препятствующей инновации, кроме силы инерции сознания. Соответственно, единственный предмет, с которым необходимо взаимодействовать инноватору — сознание окружающих.
Мне представляется, что не существует никакой другой силы, препятствующей инновации, кроме силы инерции сознания. Соответственно, единственный предмет, с которым необходимо взаимодействовать инноватору — сознание окружающих.
+20
OAuth 2.0 простым и понятным языком
7 мин
833KНа хабре уже писали про OAuth 1.0, но понятного объяснения того, что такое OAuth 2.0 не было. Ниже я расскажу, в чем отличия и преимущества OAuth 2.0 и, как его лучше использовать на сайтах, в мобильных и desktop-приложениях.
Что такое OAuth 2.0
OAuth 2.0 — протокол авторизации, позволяющий выдать одному сервису (приложению) права на доступ к ресурсам пользователя на другом сервисе. Протокол избавляет от необходимости доверять приложению логин и пароль, а также позволяет выдавать ограниченный набор прав, а не все сразу.
+138
Информация
- В рейтинге
- Не участвует
- Откуда
- Михайловка, Волгоградская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность