Search
Write a publication
Pull to refresh
0
@rokotoonread⁠-⁠only

User

Send message

Работаем в консоли быстро и эффективно

Reading time9 min
Views127K

В сети можно встретить много советов по эффективной работе в консоли. В большинстве таких статей авторы рассказывают про банальности типа "выучите горячие клавиши" или "sudo !! запустит последнюю команду под sudo". Я же расскажу о том, что делать, когда вы уже выучили горячие клавиши и знаете про sudo !!.

Читать дальше →

Песочница и шпаргалка по изучению Python

Reading time3 min
Views54K

Изучать Python3 я начал с документации на официальном сайте. Мне понравились примеры кода, но, к сожалению, они были там не интерактивными. Хотелось попробовать выполнить код самостоятельно, с разными входными данными и посмотреть на выводимый результат. Так же мне лично легче запоминаются конструкции языка, если я их набрал несколько раз вручную. Python консоль для этого подходит отлично, но хотелось так же иметь своего рода шпаргалку, к которой можно было бы вернуться при написании программ в дальнейшем, если, например, возникнет вопрос, как в Python-е написать цикл for и т.п. И последней каплей стало желание автоматической проверки стиля написания кода в соответствии с существующими стандартами. Читать и вникать в них было лень, поэтому хотелось чтобы проверка кода была автоматической и подсказывала какие ошибки я делаю и как их исправить.


В итоге все свои эксперименты я вылил на GitHub.


Читать дальше →

Встречайте псевдоконсоль Windows (ConPTY)

Reading time17 min
Views21K
Статья опубликована 2 августа 2018 года

Это вторая статья про командную строку Windows, где мы обсудим новую инфраструктуру и программные интерфейсы псевдоконсоли Windows, то есть Windows Pseudo Console (ConPTY): зачем мы её разработали, для чего она нужна, как работает, как её использовать и многое другое.

В прошлой статье «Тяжкое наследие прошлого. Проблемы командной строки Windows» мы рассказали о предпосылках появления терминала и эволюции командной строки в Windows, а также начали изучать внутреннее устройство Windows Console и инфраструктуры Windows Command-Line. Мы также обсудили многие преимущества и главные недостатки консоли Windows.

Один из недостатков заключается в том, что Windows пытается быть «полезной», но мешает разработчикам альтернативных и сторонних консолей, разработчикам служб и т.д. При создании консоли или службы разработчикам нужно иметь доступ к каналам связи, по которым их терминал/служба обменивается данными с приложениями командной строки, или предоставлять доступ к ним. В мире *NIX это не проблема, потому что *NIX предоставляет инфраструктуру «псевдотерминала» (PTY), которая позволяет легко создавать коммуникационные каналы для консоли или службы. Но в Windows такого не было…

… до настоящего времени!
Читать дальше →

[Пятничное] Текстовая консоль в киберпанк-мир

Reading time2 min
Views25K
Легко передать видео сигнал, если ты отдален на расстояние спутника. Если выйти за пределы солнечной системы, то для передачи обычной картинки на Землю может потребоваться несколько часов. Но если же сигнал идет из удаленной на миллион световых лет галактики, то лишь обрывки символов долетают до нас. Иногда их можно расшифровать и сложить в анимацию, сделанную из ASCII символов. Эта история об одном странном мире, в котором технологии переплелись с древностью. Возможно, этой цивилизации уже не существует, ведь сигнал шел миллион лет.

В общей сложности дошло 15 сообщений. Некоторые названия взяты не из исходного сигнала, а изменены учеными для более правильного понимания.

1. Вчера отстоял многочасовую очередь, чтобы записаться в школу космических полетов. Шел дождь с коэффициентом радиоактивности 56Гз, но мне не страшно, ведь я [неразборчиво]. И ведь не взяли!


image

Читать дальше →

Идеальный корпоративный почтовый клиент

Reading time26 min
Views179K
Когда возникает необходимость настроить почтовую систему для компании в первую очередь на ум приходит использовать решения от Microsoft — Exchange и Outlook. К сожалению, эти решения не обеспечивают достаточной гибкости и многим не подходят по разным параметрам.

Хорошо, но что же использовать вместо них, ведь хочется такой же красивой и прозрачной для пользователя работы с почтой, которую обеспечивает протокол MAPI? Небольшая перетасовычка и на свет появляется вполне очевидное и на самом деле безальтернативное решение — IMAP. IMAP, слава Богу, в современном мире в той или иной степени поддерживают чуть ли не все почтовые клиенты, так что выбор у нас огромен. Но если присмотреться внимательней, то он сужается до весьма скромного множества из одного-двух наименований.

Итак, нам бы хотелось:
  • Для начала — кросплатформенность. Глупо использовать стандартизированные технологии, но привязываться изначально к одной ОС, тогда уж проще сразу купить Exchange и навсегда забыть о какой-либо гибкости разворачиваемой инфраструктуры.
  • Полная поддержка IMAP и IMAP ACL. Второй пункт важен, т.к. без него нельзя будет организовать ни общих папок, ни передачу прав на различные операции с ящиком другим пользователям, а без этого в корпоративной почтовой системе никак.
  • Возможность централизованной настройки клиента через сервер.
  • Гибкость настроек клиента и удобство в использовании.
Недолгий поиск в интернете может поведать, что единственный вариант, который можно было бы рассмотреть поближе — это Mozilla Thunderbird. Но вот вопрос: может ли Thunderbird предоставить весь необходимый функционал, чтобы можно было с лёгкостью заменить им связку Exchange и Outlook? Оказывается не только может, но и позволяет добиться куда как большего, чем просто банальное подражание продуктам Microsoft.

Мне интересно!

8 полезных регэкспов с наглядным разбором

Reading time2 min
Views274K
О мощи и гибкости регулярных выражений написано много, и их использование давно уже является стандартом для различного рода операций над текстом. Пожалуй, чаще всего регэкспы работают при валидации вводимых данных — здесь им практически нет альтернативы, если не считать громоздкий циклический разбор с кучей неочевидных проверок. Начнём с самого простого:

1. Часть ЧПУ (человекопонятный URL)


По сути, слово с дефисами.

Паттерн: /^[a-z0-9-]+$/
short_url

Примеры посерьёзнее

Раритетный компьютер Robotron EC 1834

Reading time10 min
Views139K
Доброго времени суток, товарищи!

Сегодня я пополню хаб Старое железо еще одним постом о вычислительной технике производства ГДР.
Как вы помните, на Хабре уже был обзорный пост компьютера Robotron CM 1910, и судя по количеству комментариев и плюсов, клоны буржуйских компьютеров, сделанные товарищами из Германской Демократической Республики, все-таки не оставили равнодушными любителей музейных экспонатов.

В этот раз речь пойдет о PC XT совместимом компьютере Robotron EC 1834, который также как и его предшественник Robotron CM 1910 долгое время (аж до 2001 года) использовался в одном из российских НИИ.

image

Компьютер Robotron EC 1834 — первый компьютер из серии ЕС ПЭВМ, выпускавшийся с 1986 года на заводах VEB Robotron-Elektronik в Дрездене и Fachgebiet Geräte E2 в Карл-Маркс-Штадте (ныне город Кемниц, ФРГ), а также на предприятии VEB Robotron-Büromaschinenwerk „Ernst Thälmann“ в городе Зёммерда. Стоимость компьютера в 1988 году составляла 59589 немецких марок, причем можно было значительно сэкономить деньги, приобретя модель без жесткого диска (такая модель комплектовалась четырьмя дисководами для 5" дискет) всего за 39044 немецких марок.
Читать дальше →

Цвета: ссылки, книги и инструменты, которые сделают вашу жизнь проще

Reading time2 min
Views37K
Цвет — конечно, очень важный элемент проекта, и выбор лучшей цветовой палитры для проекта является чем-то, чему действительно должны выделить время. Кроме понимания теории цвета нужно иметь еще и представление о психологии цвета, вы должны убедиться, что ваш выбор будет не только хорошо выглядеть, но и иметь хороший баланс и доставить правильное сообщение. Размышляя об этом, мы решили собрать некоторые советы, книжные рекомендации, ссылки к интересным статьям, а также некоторые инструменты и приложения, которые сделают вашу жизнь легче, когда речь идет о цвете.
Читать дальше →

То, чего еще никто не писал про Нокиа, Элопа и горящую платформу

Reading time40 min
Views551K
Взявшись за этот пост, автор полностью отдает себе отчет. И в том что «набило оскомину». И что «только ленивый не кинул камень». И про то что «хватит уже, достали». Однако, вдоволь начитавшись доморощенных и не очень аналитиков, автор решил все-таки выразить собственное мнение, которое отличается от того общепринятого, что с некоей мазохистской истомой доселе перепечатывалось здесь и тут различными авторами, интерпретаторами и переводчиками. Вероятно кому-то будет интересно его прочитать.

Традиционно, для тех кто не любит много буков, краткие (более-менее) тезисы:

  • Будучи долгое время лидером на рынке, Нокиа сильно расслабилась и загадила свою внутреннюю инфраструктуру бюрократией, чрезмерным аутсорсингом и огромным количеством бесполезной «менеджерской прослойки».
  • Будучи долгое время лидером, Нокиа просрала потратила много денег на ненужные операционные расходы, поглощения никому не нужных фирм и на невменяемую модель аутсорсинга.
  • Полностью оторвавшись от реальности с уходом Йормы Оллилла, Нокиа, под управлением гениального юриста CEO Олли-Пекки Каласвуо, потратила кучу денег и усилий на создание бесполезной и неконкурентоспособной сервисной инфраструктуры Ovi. В результате этого, помимо денег, Нокиа потеряла уйму полезного времени, которое можно и нужно было потратить на развитие основного бизнеса — телефонов, софта и т.д.
  • Бюрократия и непотопляемая менеджерская прослойка в Нокиа, последовательно мигрировала из одного передового проекта в другой, в составе одних и тех же групп лиц, самореплицируясь в виде кучи формальных дебилопроцессов комитетов и управленческих групп, немного перетасовываемых с учетом специфики. В итоге именно эта бюрократия убила и Symbian, и Ovi, и MeeGo и остальные попытки догнать уходящий поезд своими силами.
  • Борьба с бюрократией и прослойкой в Нокиа зашла в полный тупик.
  • У великого CEO Элопа просто не было другого выхода кроме как прибить всю старую, неповоротливую и прогнившую организацию, путем создания альянса с Майкрософтом и переходом на Windows Phone. Тем самым все старые процессы, компетенции, технологии и самое главное — люди резко стали, что называется, «не в тему». И следовательно тем самым можно было под благовидным предлогом прибить этот табун менеджеров, бесконечно рисующих фэнтезийные роадмапы с единорогами и перекладывающих бумаги с левого края стола на правый.
  • Новая Нокиа, после 2011 года и старая Нокиа до 2011 года – это две РАЗНЫЕ организации. Их объединяет только общее название и операционка S40 для телефонов Asha.
  • Горящая платформа, это не Symbian и не MeeGo. Горящая платформа, это то состояние в которое Нокиа загнали годы расслабленного лидерства и тупоголовые амбиции предыдущего CEO – Олли-Пекки Каласвуо с кликой подкаркивающих вице-президентов.
  • С бюрократией и бизнес процессами, имеющимися на 2010 год, Нокиа не спас бы ни Андроид, ни половина населения Бангалора, пишущих на Qt под MeeGo. Даже если бы Apple бесплатно передал Нокиа iOS и все сервисы, то они бы выродились руками всяких Requirement Managerов в типичные Нокийские дизайн-химеры и в итоге загнулись через какое-то время.
  • То, что сделал великий CEO Элоп – было единственно возможным разумным решением, дающим хоть какие-то шансы на выживание. Вопрос «каким образом он это сделал?», остается открытым, равно как и вопрос «поможет ли это Нокиа?» в итоге. Не следует забывать, что нынешняя Нокиа — это совершенно новая организация, поэтому глупо предполагать, что она разом вернет себе лидерство. Как и всем новым организациям ей придется за это лидерство долго бороться.
  • Без ошибок и побед Нокиа никогда не было бы ни Андроида, ни Айфона. И Google и Apple тщательно проанализировали достоинства и недостатки более старших конкурентов перед тем как шагнуть вперед.

Все это в деталях — под катом. Предупреждаю что клевых картинок там нет. Сплошное графоманство и ёрничанье.
Читать дальше →

Много книг, хороших и разных

Reading time20 min
Views97K
Мой список книг, которые мне хочется прочесть, изрядно вырос, спасибо топику “запасаемся на зиму”. Под катом вы обнаружите список книг, составленный по комментариям в том топике.
Читать дальше →

Чудесное введение в программирование

Reading time6 min
Views42K
Доброго времени суток хабр.

Хотел бы преподнести на суд общественности перевод одной чудесной статьи, в которой описаны базовые принципы программирования. Пару слов о том — зачем собственно это все и кому это надо? Отвечаю — последние несколько месяцев я, сам начинающий программист, активно пытаюсь обучать ребят из других сфер. В этом нелегком труде мне приходится шерстить интернет в поисках в первую очередь интересных материалов, чтобы разбить их стереотипы насчет того что код — это скучно и нудно. К моему глубокому сожалению, таких материалов не так уж много. Я уверен, есть огромное количество новичков, которые регулярно читают хабр и эта статья будет им крайне интересна и полезна.
Читать дальше →

Microsoft выпустила обновление для часовых поясов России

Reading time2 min
Views63K
BUILTIN\Administrator, напоминаю, что 26 октября в России будет перевод часов. У тебя есть целый месяц на подготовку и тестирование, у Microsoft уже почти все готово
Также напоминаю, что это не просто перевод стрелок, а еще и введение новых часовых поясов и удаление старых. На некоторых системах тебе придется ручками, насколько ты сможешь их автоматизировать, изменить часовой пояс. Это следует начинать делать уже сейчас.
Читать дальше →

Microsoft NCSI на службе или как мы искали забытый нетбук

Reading time3 min
Views66K
Казалось бы, обычная история — однокурсник забыл нетбук в университете, однако стечение обстоятельств дало идею использования стандартной функции Windows для возможности определения последнего мест выхода устройства в сеть.
Читать дальше →

Jailbreak для Windows RT

Reading time2 min
Views120K

Спустя чуть более 2 месяцев в сети появился долгожданный jailbreak для Windows RT. Была найдена уязвимость в ядре Windows, позволяющая запускать неподписанные Desktop-приложения. К сожалению, данный jailbreak является привязанным, т.к. после перезагрузки превращается в тыкву.
Забавно, что уязвимость была найдена на настольной Windows 8, а оттуда уже перекочевала на Windows RT. Подробнее об этом процессе написано здесь.
Читать дальше →

Жизнь разработчика (в картинках)

Reading time1 min
Views67K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →

Как я победил в олимпиаде по программированию, не умея программировать

Reading time5 min
Views15K
Не совсем победил, а занял второе место, хотя и имел все шансы и на первое, и не совсем не не умел, но об этом со всеми подробностями дальше.

Вообще топик скорее пятничный, поэтому ничего страшного не случится если вы отложите его чтение на соответствующий день.

image

Итак, на дворе осень 97 года, я ученик 10 (предпоследнего) физ-мат класса общеобразовательной школы. Я в этом классе и в этой школе новичок, и наверное единственный кто добирается в школу каждый день на автобусе, т.к. живу не в этом микрорайоне.

В один из дней, меня вызывают в класс информатики, где вместе с учителем оной присутствовал и директор школы. Мне торжественно объявляют что в РайОНо было решено провести районную олимпиаду по программированию в нашей школе, т.к. она на хорошем счету и у нас целых два класса информатики. И для того, что бы поддержать престиж хозяев данного мероприятия нам срочно нужен участник от нашей школы, а я идеальный кандидат, по их мнению, и да, олимпиада через неделю.
Не то что бы я не умел программировать вообще, программировать я умел, но маленько не на том языке, на котором предполагалось проводить олимпиаду. Да и не в том объеме, если честно.

Читать дальше →

Как я разработал устройство для качания детской кроватки

Reading time5 min
Views216K
image


Эта статья о том, как я разработал устройство для качания детской кроватки с маятниковым механизмом.
Если интересно – добро пожаловать под кат.
Читать дальше →

Особенности клонирования в учебном заведении

Reading time7 min
Views11K
У нас есть 300 компьютеров, объединенных в корпоративную сеть и 48 часов для того, чтобы установить на эти компьютеры операционную систему и 65 единиц ПО. О том, как мы будем пытаться совершить этот подвиг, и будет рассказано далее.

Конечно же, в совершении подвига нам поможет Clonnezilla, предназначенная для клонирования и создания дисков и/или разделов. Так же мы остановимся на некоторых нюансов инсталляции ПО в рамках компьютерных классов. Но прежде уточним условия нашей задачи. 300 компьютеров — это компьютеры, находящиеся в 16-ти компьютерных классах нашего университета. В рамках одного компьютерного класса находятся компьютеры одной конфигурации. В целом же классы отличаются друг от друга различным железом ну и, конечно же, возрастом. Компьютеры включены в windows домен.
Читать дальше →

Парсим на Python: Pyparsing для новичков

Reading time6 min
Views190K
Парсинг (синтаксический анализ) представляет собой процесс сопоставления последовательности слов или символов — так называемой формальной грамматике. Например, для строчки кода:

import matplotlib.pyplot  as plt

имеет место следующая грамматика: сначала идёт ключевое слово import, потом название модуля или цепочка имён модулей, разделённых точкой, потом ключевое слово as, а за ним — наше название импортируемому модулю.

В результате парсинга, например, может быть необходимо прийти к следующему выражению:

{ 'import': [ 'matplotlib', 'pyplot' ], 'as': 'plt' }

Данное выражение представляет собой словарь Python, который имеет два ключа: 'import' и 'as'. Значением для ключа 'import' является список, в котором по порядку перечислены названия импортируемых модулей.

Для парсинга как правило используют регулярные выражения. Для этого имеется модуль Python под названием re (regular expression — регулярное выражение). Если вам не доводилось работать с регулярными выражениями, их вид может вас испугать. Например, для строки кода 'import matplotlib.pyplot as plt' оно будет иметь вид:

r'^[ \t]*import +\D+\.\D+ +as \D+'

К счастью, есть удобный и гибкий инструмент для парсинга, который называется Pyparsing. Главное его достоинство — он делает код более читаемым, а также позволяет проводить дополнительную обработку анализируемого текста.

В данной статье мы установим Pyparsing и создадим на нём наш первый парсер.

Читать дальше →

Information

Rating
Does not participate
Registered
Activity