Pull to refresh
13
0
Дмитрий @VCoder

User

Send message

PhpVirtualBox позволяет вам управлять вашими виртуальными машинами через веб-интерфейс

Reading time1 min
Views8.2K
image

Опен-сорс веб-панелька phpVirtualBox поможет вам управлять вашими VirtualBox виртуальными машинами через ваш браузер. После установки веб-сервера запущенного с vboxwebsrv utility, вы сможете пользоваться веб-интерфейсом который мало чем отличается от программного.

phpVirtualBox может быть запущен на любой платформе.
Total votes 61: ↑59 and ↓2+57
Comments47

По ту сторону браузера: Как подключить прием платежей

Reading time4 min
Views33K
Привет!

Лето — жарко и писать про бухгалтерию совсем не хочется. Поэтому мы решили начать серию статьей, описывающих работу нашего SAAS сервиса изнутри. Напишем как о чисто технических вещах (процессинг платежей, безопасность, техподдержа), так и о том как мы выросли от перспективного стартапа к самоокупающемуся бизнесу — о деньгах, о людях, о проблемах любого молодого бизнеса и путях их преодоления. Если интересно что-то еще — пишите в комментариях или в личку.

Процессинг платежей


Итак, в какой-то момент вы понимаете что хотите начать принимать от пользователя денежку за свои услуги и начинаете думать как бы вам это лучше сделать. Ниже я опишу системы, с которыми мы начинали работать и на чем в итоге остановились. Все приведенное в статье является только нашим опытом, ни в коем случае не реклама и отражает только наше мнение. Возможно, где-то нам просто не повезло, а где-то наоборот способствовала удача.
Читать дальше →
Total votes 90: ↑84 and ↓6+78
Comments125

Виртуальные путешествия по знаменитым местам мира в 3D

Reading time1 min
Views3.4K
Совершенно случайно наткнулся на интересный и ранее не освещенный на Хабра-хабре проект — Vizerra.com. Скачав и установив небольшой клиент появляется возможность попутешествовать по 3D моделям известных мест мира.

image

Доступен режим свободного перемещения, так и режим интерактивного гида (с русской или английской озвучкой).
Еще картинки и как это работает...
Total votes 104: ↑97 and ↓7+90
Comments64

Краткая история компьютерной иконографии

Reading time5 min
Views8.8K
Краткая история компьютерной иконографии

С семидесятых годов прошлого века самые обычные компьютерные иконки прошли долгий и тернистый путь. Эта статья – попытка собрать коллекцию иконок, иллюстрирующую развитие компьютерной иконографии. И хотя в период с 1981-го по 2010-ый год существовало множество различных операционных систем с графическим интерфейсом, были выбраны лишь самые значимые, оказавшие наибольшее влияние на современный дизайн иконок.

История в картинках
Total votes 140: ↑130 and ↓10+120
Comments135

RSA, а так ли все просто?

Reading time5 min
Views35K

Прелюдия


Доброго времени суток, уважаемые читатели.
Скорее всего, большинству из вас известно, что из себя представляет асимметричный алгоритм шифрования RSA. В самом деле, этому вопросу по всему рунету и на этом ресурсе в частности посвящено столько статей, что сказать о нем что то новое практически невозможно.
Ну что там, ей богу, можно еще придумать и так все давным-давно понятно. Рецепт приготовления прост:
Два простых числа P и Q.
Перемножить до получения числа N.
Выбрать произвольное E.
Найти D=E-1(mod(P-1)(Q-1)).
Для шифрования сообщение M возводим в степень E по модулю N. Для дешифрования криптотекст C в степень D по все тому же модулю N. Все криптопримитив готов. Берем и пользуемся, так? На самом деле, не так. Дело все в том, что это и в самом деле не более чем криптопримитив и в реальном мире все самую чуточку сложнее.
Читать дальше →
Total votes 132: ↑124 and ↓8+116
Comments21

Генерируем цепочку сертификатов с эллиптическими кривыми при помощи OpenSSL

Reading time8 min
Views25K
график функции y^2 = x^3-x+1Думаю многие слышали о криптографии эллиптических кривых, о том
что работает она во много раз быстрее RSA и при несоизмеримо меньшей длине ключа обеспечивает несоизмеримо большую стойкость ко взлому. Если не слышали, то можно глянуть на wiki или почитать в книгах А.А. Болотова.
К сожалению, данный вид шифрования слабо распространен. Я постараюсь объяснить как им пользоваться и поможет мне в этом OpenSSL.

Чтобы не быть голословным приведу сравнение необходимых длин ключей для обеспечения сравнимой стойкости ко взлому для различных алгоритмов. Нам интересна правая часть.
Сравнение алгоритмов
Видно, что популярным сегодня ключам RSA длиной 1024-2048 бит соответствует всего навсего 160-224битный ключ ECC (Elliptic Curve Cryptography)

Ну а чтобы понять какой RSA тормоз достаточно попробовать сгенерировать самый длинный из предложенных в таблице ключей (и пойти вздремнуть):

openssl genrsa 15360

Желающих прикоснуться к «next gen» криптографии, придуманной аж в 1985 году, прошу под кат.
Читать дальше →
Total votes 77: ↑75 and ↓2+73
Comments27

Вот Вы сейчас скажете: «Ещё один очередной стартап», — а вот не тут то было!

Reading time4 min
Views18K
Привет, Хабр

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

Итак, поехали!
Total votes 149: ↑88 and ↓61+27
Comments142

Лёгкий способ добыть много валидных почтовых адресов

Reading time2 min
Views7.3K
В топике про тыренье вандов у людей я сказал, что в самих вандах может быть список валидных почтовых адресов, которые можно использовать для спама, но выгоднее использовать встроенный поиск MailAgent’а. В этот раз я решил проверить насколько легко их оттуда достать.
Итак, как все, наверное, знают, у МейлРу есть своя сеть для обмена мгновенными сообщениями, которая состоит из пользователей главного сервиса компании — почты. А МейлРу на данный момент стандарт де факто в выборе почты (хотя многие сейчас мигрируют в gmail.com). Другими словами, у этой компании сейчас самое большое количество рабочих адресов, не считая, быть может, Контакта.

В чём, собственно, суть проблемы: для авторизации в качестве логина и уникального идентификатора используется почтовый адрес пользователя. Так как в протоколе присутствует функция поиска контактов (что вполне логично), а в выдаче есть адрес, то спокойно можно сделать граббер валидных почтовых адресов. И даже больше — можно делать поиск по критериям (возраст, страна, пол) и находится ли контакт онлайн. По умолчанию в mAgent’е включена функция оповещения пользователя при получении нового письма на почтовый ящик. Что в результате имеем? Ищем людей из определённой целевой аудитории онлайн, отправляем им спам, они даже получат извещение о новом письме и вполне вероятно его прочитают.
Читать дальше →
Total votes 121: ↑70 and ↓51+19
Comments47

Прячемся от Anti-P2P организаций

Reading time3 min
Views11K
Тут сейчас конечно популярно стало шифровать разделы, для защити от масок-шоу и прочих представителей органов наказания. Но судя по информации из западных стран все не так жестко, и занимаются этим частные фирмы, представители правообладателей, просто подавая на вас в суд, без какого-либо выламывания дверей, наручников, снайперов по периметру квартала и пр. И у вас, скорее всего, будет куча времени физически уничтожить компьютер со всей информацией, не дожидаясь пока суд решит проверить его содержимое.

К тому же у вас может быть вполне легально на компьютере альбом в mp3 — потому что вы официально купили CD, все понимают что сам CD слушать в наше время никто не будет. Вы можете даже скачать альбом с торрентов, потому что CD у вас есть, но вы не знаете как его перевести в MP3. Что точно нельзя, так это раздавать, не важно как полученный, альбом.

Поэтому не важно что у вас там на зашифрованном разделе, если антипират зафиксирует раздачу с вашего IP, то у вас уже есть проблемы, и никто не будет разбираться в том что диск у вас заполнен якобы случайными данными. Может быть суд ничего и не докажет, но вам обеспечат такой геморрой, что вы сами согласитесь договориться полюбовно, и выплатите какую-то устраивающую обе стороны сумму. А милиция, наручники, понятые и прочие будут если вас хотят привлечь за использование нелицензионного софта (и насколько я понимаю они должны будут доказать то что вы извлекаете из этого коммерческую выгоду), что в случае Ubuntu не столь актуально, как выкачивание свежей серии любимого сериала.
о том как защититься от этого
Total votes 65: ↑59 and ↓6+53
Comments73

10 бесценных жизненных советов, которые дает нам Альберт Эйнштейн

Reading time4 min
Views55K
Интересная на мой взгляд статья, которая показывает, что одни и те же принципы никогда не устаревают. Конечно, все они уже часто проскакивали в той или иной форме на множестве ресурсов, но мне бы хотелось предложить вам их видение Ученым с большой буквы, Альбертом Эйнштейном.
Читать дальше →
Total votes 200: ↑172 and ↓28+144
Comments63

Как обойти URL-фильтры с помощью математики

Reading time1 min
Views5.1K
Может быть для кого-то станет открытием, но современные браузеры могут воспринимать URL не только в десятичной системе, но также в 8-ричной и 16-ричной, и даже единым 32-битным числом. То есть URL типа 66.102.13.19 можно представить несколькими разными способами.

0x42.0x66.0x0d.0x63
0x42660d63
1113984355
00000102.00000146.00000015.00000143

Щёлкаете по любому из вариантов — и попадаете на google.com.
Читать дальше →
Total votes 141: ↑92 and ↓49+43
Comments72

Паттерн проектирования «Приспособленец» / «Flyweight»

Reading time6 min
Views32K
Почитать описание других паттернов.

Проблема


Проектирование объектов самых низких уровней системы, может обеспечить ее оптимальную гибкость, однако сопровождается неприемлемыми затратами памяти и производительности.

Описание


Как уже отмечалось, существует большое количество программных систем, предназначением которых, является конструирование сложных составных объектов из большого числа более мелких и простых объектов. При этом, гибкость и универсальность подобных систем, достигается за счет предоставления пользователю полного набора инструментов и примитивов. Важно понимать, что примитивами, в данном контексте являются элементарные объекты, из которых в последствии конструируются составные. Причем, уровень на котором, объект считается примитивным, на самом деле, определяет применимость и эффективность данной системы. Однако, не всегда существует возможность спроектировать систему вплоть до самых низких уровней абстракции. Затраты на память и низкая производительности системы, при прямом подходе, не позволяют этого сделать. Поэтому, при проектировании подобных систем, зачастую применяют паттерн «Приспособленец».
Читать дальше →
Total votes 58: ↑37 and ↓21+16
Comments21

100 долларов в час

Reading time5 min
Views8.5K

Ранее я упомянул свою ставку 100 долларов в час. Я получил десятки комментариев с общим смыслом “получать так много нескромно”. И никто не сказал “работать так мало нескромно”. Почему-то считается, что работать надо хотя бы 40 часов в неделю. Общество настроило нас:

  • работать надо много
  • жизнь должна быть трудной
  • времени должно не хватать.

“Welcome to real life. It sucks, but you’ll get used to it”, – говорят в сериале Friends.


Сколько стоит мое время?

Посчитать свою часовую ставку легко: зарплату делим на число рабочих часов. Если вы получаете хотя бы 10 долларов в час, вы найдете кучу мест, где можно сэкономить.

Я для себя принял ставку в 100 долларов в час, в первую очередь засчет того, что работаю неполный день, только по утрам.


Оно того не стоит

Стоит выяснить цену своего времени, как можно забить на убыточные дела. На прошлой неделе я ходил в театр Станиславского на “Севильского цирюльника” и забыл бутылку вина в камере хранения. Вино стоило 287 рублей, до театра идти 15 минут туда и 15 минут обратно. Получается, что при часовой ставке до 574 рубля дело выгодное, иначе выгоднее не забирать.

Пример расточительства
Удивительно, но даже крупные банки, обладающие штатом квалифицированных экономистов, не всегда прибегают к такому анализу. Мой друг получил звонок из Citibank с просьбой погасить задолженность в размере… 90 копеек. По самым скромным оценкам, только минута работы оператора на телефоне стоит полтора рубля. Прибавьте расходы на офис коллцентра, оборудование, страховку, налоги. Прибавьте работу офиса, куда друг приехал гасить задолженность, операционистов, в конце концов стоимость бумаги!

Вот примеры того, где можно сэкономить:


Читать дальше →
Total votes 387: ↑254 and ↓133+121
Comments356

LogParser — привычный взгляд на непривычные вещи

Reading time5 min
Views56K
Когда я в очередной раз использовал LogParser, то чтобы проникнуться и чужим опытом, ввел его название в поиск на Хабре. Как результат — сообщение «Удивительно, но поиск не дал результатов». Вот уж воистину удивительно, когда столь интересный инструмент обойден вниманием. Пришла пора восполнить этот пробел. Итак, встречайте LogParser. Маленькая, но чертовски полезная утилита для любителей SQL.

Из названия инструмента, казалось бы, очень непросто понять, что он делает в разделе SQL. А правда заключается в том, что он такой же LogParser, как и ChartGenerator. В то смысле, что он справляется с обоими задачами с одинаковыми успехом. В целом я бы его охарактеризовал как SQL-процессор гетерогенных данных. Концепция работы в общем такова, что он берет данные из некоторого формата и преобразует их в табличный вид (собственно говоря, только на этом этапе и выполняется иногда парсинг). Затем, посредством выполнения над этими табличными данными некоторого SQL-запроса формирует таблицу с результатом и сохраняет ее опять же в некотором формате. Если коротко, то цепочка выглядит как подготовка входных данных->SQL-процессинг->генерация выходных данных.
Читать дальше →
Total votes 56: ↑46 and ↓10+36
Comments17

Паттерн проектирования «Адаптер» / «Adapter»

Reading time6 min
Views96K
Почитать описание других паттернов.

Пожалуй, начнем.
Для начала, поясню несколько организационных вопросов.
  • Описание того или иного паттерна, является моей сугубо личной интерпретацией теоретического и практического материала, собранного из книг и интернет-статей;
  • При построении UML-диаграмм, я буду использовать свободный редактор от компании astah, ввиду его простоты и независимости от конкретного языка или среды. При этом, диаграммы не будут отличатся изобилием картинок и цветов, но будут ясно отображать суть паттерна;
  • При реализации практических примеров, язык программирования будет выбираться совершенно случайно. Однако, я буду стараться подбирать те языковые средства, на которых данный паттерн реализуется не тривиально;
  • Каждый мой пост, будет содержать как минимум 5 секций — Проблема, Описание патерна, Практическая задача, Диаграмма классов и Реализация;
  • Если Вы, с чем-то не согласны или у Вас есть дополнения к материалу, изложенному мной — я буду рад их почитать в комментариях. Однако, помните — я тоже изучаю паттерны вместе с Вами :)

Читать дальше →
Total votes 150: ↑126 and ↓24+102
Comments62

Быстрочтение featuring Восприятие текста

Reading time8 min
Views79K
Привет всем. Основываясь на предыдущем опыте, считаю нужным сразу расставить все точи над ё. Описанная ниже методика — не мое изобретение. Однако из собственного опыта могу уверить вас, что она работает. Ровно так, как обещано.
Идея, описанная в посте, появилась давно (под катом есть история), в том виде, в каком расскажу ее я, по большей части она представлена в чудесных книгах Тони Бузана Use You Head и The Speed Reading Book (в последней много воды).

Пост затрагивает проблемы скорости чтения, понимания текста, а также методы значительного улучшения и того, и другого.

Написано с подачи пользователя cympak. Посвящается всем кто много читает: будь то деловые документы, художественные произведения или статьи на Хабре типа этой.

Прежде чем приступить к самому главному, прошу вас пройти тест из шести вопросов на Да/Нет.

1. Чтение со скоростью свыше 1000 слов в минуту невозможно?
2. Медленная скорость чтения способствует лучшему пониманию текста?
3. Пропускать слова во время чтения — плохая привычка, ухудшающая понимание текста?
4. По умолчанию мы все читаем с «естественной» для нас скоростью, а следовательно, наилучшей?
5. Если вы не поняли слово или предложение, лучше перечитать его и понять?
6. Ваши глаза находятся в непрерывном движении во время чтения?
За результатами и, наконец-то, интересными штуками добро пожаловать под кат.
Читать дальше →
Total votes 169: ↑145 and ↓24+121
Comments100
12 ...
11

Information

Rating
Does not participate
Location
Brisbane, Queensland, Австралия
Registered
Activity