Pull to refresh
0
0
Анатолий @int27h

User

Send message

Переход с bash на zsh

Reading time 12 min
Views 191K

Чтобы перейти с bash на zsh необходимо знать базовые отличия между ними — без этого будет сложно провести первоначальную настройку zsh в ~/.zshrc.


Я не нашёл краткого описания этих отличий когда переходил сам, и мне пришлось потратить немало времени на вычитывание документации zsh. Надеюсь, эта статья упростит вам переход на zsh.


Зачем переходить


Для начала — а стоит ли вообще тратить своё время и внимание на переход? Учить ещё один диалект sh, менее распространённый чем POSIX sh или bash, заново заниматься настройкой рабочего окружения…


На мой взгляд, если вы проводите много времени в консоли, вам нравятся Vim или Emacs и вы уже потратили немало времени на их настройку "под себя" — однозначно стоит! Zsh по духу очень на них похожа: это очень сложная и гибкая программа, чьи возможности полностью мало кто знает, но потратив некоторое время на настройку можно получить очень удобную лично вам рабочую среду.

Читать дальше →
Total votes 44: ↑44 and ↓0 +44
Comments 118

Рождение Software Tools: как и зачем появились GREP и AWK

Reading time 9 min
Views 8.9K
image
Этим летом мне на глаза попалось эссе Брайана Кернигана «Иногда старые способы — лучшие», опубликованное в честь 25-летнего юбилея журнала IEEE Software в 2008 году. В нем профессор Керниган рассказывал о том, какие инструменты он использует в работе.

В тот момент он был занят двумя сложными проектами — один из них подразумевал экспертный анализ проекта на 100 000 строк кода, написанный на C и Assembler в 1990 году, под Windows XP; другой — перенос кода с экзотического языка L1 на не менее экзотический язык L2 при помощи программы, написанной на неназванном скриптовом языке под Linux. Удивительно, но для столь разных задач профессор Керниган вместо IDE использовал один и тот же набор инструментов — grep, diff, sort, awk, wc и прочих «старых знакомых» из эпохи раннего Unix. Более того, многие инструменты и IDE конца прошлого десятилетия он подверг критике за неудобность и несовершенство.

Действительно, к некоторым вещам в своей жизни мы привыкли настолько сильно, что уже воспринимаем их за данность и критиковать их нам даже не приходит в голову — нам кажется, будто они существовали всегда. Подобный образ мышления помогает адаптироваться к потоку новой информации и неизбежен в современном мире, но давайте не будем сегодня отказывать себе в удовольствии «спуститься на уровень ниже», чтобы увидеть, как появилась сама идея программных инструментов (они же далее по тексту — «software tools», утилиты, команды Unix).
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 2

Способы обработки данных физического эксперимента

Reading time 3 min
Views 8.6K
Несмотря на то, что в большинстве учебных заведений России лабораторные работы проходят в старом формате (когда бедный студент, собирая данные с доисторического оборудования, замеряя период колебаний с помощью таймера вручную, мучительно пытается найти объяснение нереалистичности данных), некоторые университеты закупили датчики, платы и (главное) компьютеры для удобства работы студентов. Безусловно, хорошее оборудование повышает точность эксперимента. Тем не менее, ваш покорный слуга множество раз сталкивался с нытьем однокурсников: «Ну и чем нам эти датчики дались? Легче ручками графики рисовать и время замерять, чем мучится с программированием на компухтере.» Признаюсь — у меня также был подобный период адаптации, который, однако, довольно быстро прошел. Итак, делюсь своим опытом.
image
Читать дальше →
Total votes 25: ↑21 and ↓4 +17
Comments 34

Первая игра, которую я просто написал для себя

Reading time 11 min
Views 74K
Пост ностальгии по игрушкам, которые мы сами для себя писали в детстве.
Лазая по просторам App Store ища очередную игрушку для своего айпада, наткнулся на старинную игрушку “Братья Пилоты”. Сразу купил, поставил и прошёл на одном дыхании (уже наверное в 3 раз). Но более всего задержался на эпизоде с холодильником. Уж больно меня прёт эта головоломка.



И внезапно вспомнил, что ещё в школьные годы, после прохождения холодильника, головоломка меня так накрыла, что я написал на паскале свою собственную игрушку — эмулятор головоломки. Но не просто повторяла исходную игру, а позволяла выбирать размер поля, имела хелп, возможность сохранения и продолжения игры с прошлого места после выхода.

Подняв старые бекапы я нашёл исходную игру. Запустил её в dosbox и пропал для внешнего мира на пару часов.
Читать дальше →
Total votes 137: ↑123 and ↓14 +109
Comments 116

Тернистый путь Hello World

Reading time 16 min
Views 32K

Вдохновение на написание данной статьи было получено после прочтения похожей публикации для архитектуры x86 [1].


Данный материал поможет тем, кто хочет понять, как устроены программы изнутри, что происходит до входа в main и для чего всё это делается. Также я покажу как можно использовать некоторые особенности библиотеки glibc. И в конце, как и в оригинальной статье [1] будет визуально представлен пройденный путь. В большинстве своём статья представляет собой разбор библиотеки glibc.


Итак, начнём наш поход. Будем использовать Linux x86-64, а в качестве инструмента отладки — lldb. Также иногда будем дизассемблировать программу при помощи objdump.


Исходным текстом будет обычный Hello, world (hello.cpp):


#include <iostream>
int main()
{
        std::cout << "Hello, world!" << std::endl;
}
Читать дальше →
Total votes 76: ↑75 and ↓1 +74
Comments 4

Электрические схемы средствами LaTeX и TikZ

Reading time 5 min
Views 24K
Иногда в LaTeX нужно нарисовать несложную электрическую схему. Далее рассказано как это сделать без привлечения стороннего ПО средствами самого LaTeX. То что будет написано далее рассчитано на тех, кто уже знаком с таким средством создания векторной для LaTeX как TikZ. В противном случае нужно сначала ознакомиться с TikZ. Немного информации на русском языке есть тут . Те, кто уже знаком с TikZ — см. под кат. Данные способы рисования схем в LaTeX я использовал в процессе написания диссертации.

Вот такую схему можно нарисовать средствами LaTeX:


Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Comments 48

Оцифровка и аппроксимация графиков функций при помощи Wolfram Mathematica и Graph Digitizer

Reading time 9 min
Views 39K
С задачей оцифровки графиков функций и кривых приходится сталкиваться почти каждому инженеру и студенту. Традиционный «ручной» метод очень неудобен и к тому же вносит большие погрешности в данные. Для единоразовой задачи этот метод не так плох, но если графиков больше чем один и на каждом изображена не одна кривая, а семейство кривых?

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

image
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 15

Семантическая разметка: LaTeX, DocBook или ???

Reading time 4 min
Views 18K
Писал комментарий к статье и понял, что надо выносить в отдельный пост.
Как многие отмечают там в комментариях статья отстой, человек не разбирается и смешал всё в кучу, попробую поделиться своими выводами от использования разных разметок.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 55

Фетиш LaTeX (или Не пишите в LaTeX! Он только для вёрстки)

Reading time 24 min
Views 118K
Сейчас то время года, когда студенты выбирают себе классы для обучающих навыков. Один из навыков, который будет поощряться, — обучение LaTeX. Другие могут придти к использованию LaTeX по другим причинам: кто-то хочет сверстать книгу; кто-то слышал, что LaTeX может иметь отношение к журналу Digital Humanities; ну и так далее. Я написал это эссе в качестве предварительного введения в LaTeX. Оно не научит вас использовать редактор (я не имею квалификации для этого!), но я попытаюсь популярно объяснить тем, кто ещё не использует LaTeX, для чего именно он нужен. Это поможет им понять, стоит ли LaTeX усилий на его изучение (не говоря уже о том, чтобы просто заставить его работать). Почему такое большое эссе? Потому что многие из евангелистов превратили LaTeX в фетиш и распространяют дезинформацию о его истинных достоинствах. Хочу прояснить ситуацию.

1. Что такое LaTeX?


По словам официального сайта, LaTeX — это «высококачественная система набора и вёрстки» и «стандарт де-факто для обмена и публикации научных документов». С этим никто не спорит.
Читать дальше →
Total votes 55: ↑33 and ↓22 +11
Comments 71

Организация хранения личных файлов локально и в облаках

Reading time 4 min
Views 120K
Статья написана для тех, кто ищет наилучший способ организации хранения и управления своими файлами и хочет при этом пользоваться всеми преимуществами наиболее распространенных на сегодняшний день облачных хранилищ.

Найти


  1. Единую структуру папок для хранения и «обозрения» всех файлов.
  2. Способ реализации такой единой структуры с использованием преимуществ всех облачных хранилищ.

Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 42

Визуализация результатов выборов в Москве на карте в Jupyter Notebook

Reading time 11 min
Views 39K


Всем привет!


Сегодня мы поговорим о визуализации геоданных. Имея на руках статистику, явно имеющую пространственную привязку, всегда хочется сделать красивую карту. Желательно, с навигацией да инфоокнами В тетрадках. И, конечно же, чтоб потом можно было показать всему интернету свои успехи в визуализации!


В качестве примера возьмем недавно отгремевшие муниципальные выборы в Москве. Сами данные можно взять с сайта мосгоризбиркома, в можно просто забрать датасеты с https://gudkov.ru/. Там даже есть какая-никакая визуализация, но мы пойдем глубже. Итак, что же у нас в итоге должно получиться?

Читать дальше →
Total votes 61: ↑59 and ↓2 +57
Comments 45

Поиск взаимосвязей на примере Нефть-Рубль

Reading time 2 min
Views 136K
Одна из базовых задач анализа данных — поиск взаимосвязи двух величин. Здесь я хочу показать пример поиска связи между ценой нефти и курсом рубля.

image

Во-первых надо определить, имеет ли вообще задача смысл. Почему нефть и рубль должны/могут быть взаимосвязаны? Вкратце, модель такая: экспортёры продают нефть за доллары, а затем продают доллары, чтобы получить рубли для расчётов внутри страны. Механизм крайне упрощён, надо учитывать объёмы добычи-продажи, что эскортируют не только нефть, не всегда экспортёры продают доллары, на курс валют влияет ЦБ интервенциями и т.д. И тем не менее, будем считать, что модель более-менее рабочая, то есть, что существуют фундаментальные причины для взаимосвязи цены нефти и курса рубля.
Читать дальше →
Total votes 90: ↑80 and ↓10 +70
Comments 87

Оформление научных результатов: интеграция LaTeX и Gnuplot

Reading time 6 min
Views 44K
«Если ваш единственный инструмент — молоток, то каждая проблема становится похожей на гвоздь»

Абрахам Маслоу


Введение


Научное творчество само по себе процесс не тривиальный, требующий некоторого отрешения от внешнего мира. И нелинейный в плане распределения интенсивности во времени — порой проболтаешься впустую полгода, чтобы потом, в течение месяца-полутора решить большую часть беспокоящих тебя вопросов.

И вот, ты на 100% использовал возможности посетившей тебя «эврики», закончил основную работу и пришла пора опубликовать свои результаты в журнале, доложить их на конференции, да и просто порадовать своего научного руководителя/консультанта красивым отчетом. И ты приступаешь к мучительной фазе оформления статьи/доклада/отчета. И насколько мучительной будет эта фаза, зависит от того, какие инструменты ты решил использовать для этой работы.

Вспоминаю времена, когда молодым и глупым аспирантом, я писал первый вариант кандидатского «кирпича», предназначенный для тщательного «вычитывания» мной и моим научным руководителем. Тогда я не знал о формате EPS, а поэтому экспортировал графики, построенные в Maple в *.bmp-растр и вручную… обводил их в MS Visio для последующей вставки в Word. Были и другие, не менее топорные глупости. Не удивительно, что тогда я проклял всё, и дал себе слово следующую диссертацию писать совершенно по другому.

Путем последовательных итераций, на сегодняшний день я пришел к такому вот решению:



И настало время отдать накопленный опыт людям. Интересующимся, добро пожаловать под кат.
Читать дальше →
Total votes 45: ↑44 and ↓1 +43
Comments 25

Настройка LaTeX-шаблонов для Jupyter notebook

Reading time 4 min
Views 28K
Есть отличный инструмент для обучения/отчётов/написания умных книг про код — Jupyter Notebook. Если отчёт или книга, например, пишутся на кириллице, а нужно быстро сделать из этого PDF с красивыми формулами и тире правильной длины, то сразу обнаруживается проблема: в стандартном шаблоне, который Jupyter использует для конвертации блокнотов в PDF через LaTeX, нет подключения нужных пакетов с нужными параметрами, поэтому LaTeX просто не компилируется и PDF не получить.
Что делать?
Total votes 14: ↑13 and ↓1 +12
Comments 4

Особенности Jupyter Notebook, о которых вы (может быть) не слышали

Reading time 10 min
Views 355K
Jupyter Notebook – это крайне удобный инструмент для создания красивых аналитических отчетов, так как он позволяет хранить вместе код, изображения, комментарии, формулы и графики:



Ниже мы расскажем о некоторых фишках, которые делают Jupyter очень крутым. О них можно прочитать и в других местах, но если специально не задаваться этим вопросом, то никогда и не прочитаешь.
Читать дальше →
Total votes 49: ↑45 and ↓4 +41
Comments 14

Помедленнее, мы записываем: 10 новых применений API QIWI Кошелька, которые предложил Хабр

Reading time 2 min
Views 6K
На прошлой неделе мы решили поощрить креатив хабражителей и напомнить про наше новое API QIWI Кошелька, проведя конкурс идей по его применению. Который, в свою очередь, является прологом к конкурсу решений QIWI API Contest, который пройдёт 23 сентября в Москве.



Как и обещали, мы отобрали и публикуем 10 наиболее перспективных, на наш взгляд, предложений, которые можно успешно воплотить в жизнь с использованием открытого API QIWI Кошелька, и призываем разработчиков смело их разбирать и записываться с ними на наш конкурс — приём заявок закрывается уже в пятницу, 15 сентября.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 1

По тысяче рублей за идею: платим за предложения по автоматизации кошельков QIWI

Reading time 4 min
Views 7.7K


Современные онлайн-кошельки — как интернет-клиенты классических банков, так и сервисы электронных денег — стараются максимально кастомизироваться, пытаясь вести учёт ваших трат или автоматизировать оплаты. Но что, если стандартных «создать регулярный платёж» вам недостаточно? Что, если вам нужно «оплачивать телефон каждый раз, когда у меня баланс ниже определённой суммы»? Или «сделать покупку, когда цена/курс упадут ниже порога»? Очевидно, что такие сложные сценарии требуют как доступа к параметрам сторонних сервисов, так и доступ к управлению своими платёжными инструментов.

Такой, как доступ, который даёт API кошелька QIWI. Чтобы как можно больше разработчиков узнал и опробовало возможности автоматизации своих кошельков через наше API, QIWI проводит конкурс приложений для QIWI Кошелька, который завершится в Москве 23 сентября финальным этапом. До 15 сентября будут отобраны 15 команд, которые померятся качеством и оригинальностью своих вариантов автоматизации QIWI-кошелька ради главных призов: поездки на Singapore FinTech Festival и деловой завтрак с генеральным директором QIWI Сергеем Солониным, входящего в список «Форбс» 200 самых богатых бизнесменов России.

Но даже если вы не разработчик, то помочь участникам хакатона и получить за это свой приз можно будет, дочитав этот пост до конца — мы расскажем, как принять участие в конкурсе самых перспективных идей приложений для QIWI-кошелька.
Читать дальше →
Total votes 24: ↑19 and ↓5 +14
Comments 56

Основы статистики: просто о сложных формулах

Reading time 6 min
Views 294K

Статистика вокруг нас


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

Еще будучи студентом психологического факультета СПбГУ, я заинтересовался когнитивной психологией. Кстати, Иммануил Кант не считал психологию наукой, так как не видел возможности применять в ней математические методы. Мои текущие исследования посвящены моделированию психических процессов, и я надеюсь, что такие направления в современной когнитивной психологии, как вычислительные и коннективисткие модели, смягчили бы его отношение!
Читать дальше →
Total votes 51: ↑48 and ↓3 +45
Comments 14

Игры с xkbcomp — настраиваем асимметричное переключение раскладок клавиатуры

Reading time 2 min
Views 3.7K
Хочу поделиться с сообществом своею нелюбовью к циклическому переключению раскладок клавиатуры. Циклически это как? Это когда за английским следует русский, за русским украинский, за украинским опять английский и т.д.
До чего-же упрощается жизнь когда привыкаешь к асимметричному переключению раскладок. Это когда переключению в каждую раскладку соответствует своя комбинация.
Например, хотите английский — нажмите CapsLock (очень часто-густо нужная клавиша, правда?), русский — Shift + CapsLock, украинский Ctrl + CapsLock. Кажется неудобным? Как бы не так! Когда привыкните — не сможете больше отвыкнуть.
Читать дальше →
Total votes 8: ↑5 and ↓3 +2
Comments 17

Почему гику стоит переходить на Linux

Reading time 9 min
Views 23K
Вот уже четвертый год я являюсь счастливым пользователем ОС Linux. Должен сказать, что до этого, начиная примерно с 1996 года, я был сначала просто пользователем, а потом и убежденным сторонником продуктов Microsoft. Я очень долгое время работал с их ОС, от DOS 6.22 до Windows XP/2003 Server. В сторону Linux я тогда смотрел со стойким недоверием. Но, признаюсь, вникать не хотел, а поверхностно Windows выглядела сильнее. Как говорил мой начальник, «не любил я все эти оккультные вещи с демонами и прочим». В силу специфики работы через мои руки прошли десятки, а то и сотни Windows-машин. Так что все, что я буду хаять тут, выстрадано на опыте :) Скажу также, что стандартные аргументы о безопасности и стабильности в моем случае не особо срабатывали. Умеючи администрировать Windows, можно добиться вполне приемлемой стабильности и безопасности. Windows падала у меня за 10 лет считанные разы. Да, конечно бывали BSODы, но тоже не сильно часто (kernel panic — линкусового аналога BSOD — на своих машинах, правда, не видел ни разу). Заражений вирусами на домашней машине я вспомнить вообще не могу. На работе, как и все, попали под Blaster. Но в целом, все было не так плохо, как об этом говорили.

На закате моей эпохи Windows я работал .Net программистом. Тогда я уже прочитал «Running Linux» и еще какую-то книгу по общей архитектуре Unix-систем. Они потрясли мое мировоззрение :) Я увидел на сколько стройнее и правильнее можно делать вещи. Увидел на сколько корявыми и костылистыми являются некоторые решения Microsoft. В общем, морально я уже был готов. Но в 2005 году Mono все еще было неработоспособной штукой. Помнится, я даже качал с сайта проекта LiveCD с Mono Develop. Но среда рухнула с грохотом при попытке изменить размер какого-то фрейма. Такое средство разработки меня не устраивало. С Linux пришлось отложить до лучших времен. А времена настали, когда я поменял работу, предав .Net в пользу Java. Уж тут то привязок к операционной системе было по минимуму. Так что сам Бог велел. К тому же у меня дома появился отдельный ноутбук, на котором я мог безболезненно для остального человечества экспериментировать. За месяц я настроил до устраивающего меня состояния Kubuntu 6.10. С тех пор я все сильнее раздражался с каждым разом, когда мне приходилось общаться с Windows XP на компьютере жены.

Итак, не холивара ради, а пользы для, посмотрим, что же получает IT-специалист от использования Linux?
Читать дальше →
Total votes 464: ↑348 and ↓116 +232
Comments 867
1

Information

Rating
Does not participate
Registered
Activity