Обновить
70
0
Алексей@foxweb

Оператор ЭВМ

Отправить сообщение

Заметки гика. zsh shell

Время на прочтение2 мин
Охват и читатели5.2K
Дубль первый.


В какой то момент возникла острая необходимость заиметь англо-русский словарь в консоли,
в ходе 2 минутного поиска по пакетам счастья не было обнаружено.
Ну что же, придется делать свой словарь, вспомнив что в chromium стоит плагин для словаря было принято решение распотрошить его содержимое, и прикрутить словарь от google к консоли.
Ну а далее код для zsh.
В комментах ресурсы которые были просмотрены в ходе поиска решения.
Читать дальше →

Директор Linux Foundation: не нужно обижать Microsoft

Время на прочтение2 мин
Охват и читатели3.3K
Линус Торвальдс начал разработку ядра операционной системы в апреле 1991 года, с тех пор прошло ровно двадцать лет — и вот сейчас битва окончена, сказал в интервью по поводу грядущего юбилея Джим Землин (Jim Zemlin), исполнительный директор Linux Foundation.

За исключением только десктопов, операционная система Linux уже вышла в лидеры на всех рынках, включая серверы, мобильные системы, суперкомпьютеры и т.д. «Я думаю, больше нам не нужно так сильно опасаться Microsoft, — говорит Землин. — Раньше они были серьёзным соперником, но сейчас это словно пинать щенка».
Читать дальше →

Идея. Бесплатный государственный хостинг

Время на прочтение1 мин
Охват и читатели2.5K
Ввиду того, что Дмитрий Анатольевич активно занимается развитием информационных технологий в России, у меня встал вопрос — почему бы не создать бесплатный государственный облачный хостинг?

Расходы ничтожно малы (относительно того же проекта «Сколково»), а эффект каков!

Создаётся три шаблона: «Студент», «Малый бизнес», «Для дома».
«Студент» и «Для дома» — запрещается использовать для коммерческих целей, только для экспериментов, личных сайтов и бесплатных сервисов. Вырос во что-то большее — переезжай.
«Малый бизнес» — ограничение ставится по трафику. Например, если трафик перешёл за 1ТБ в месяц, значит фирма легко может позволить себе сервер.

Домен в зоне .ru/.su/.рф бесплатно каждому.

Идентификация по паспорту или по этим новым карточкам.

Ну, основная цель, на мой взгляд, не фирмы, а студенты.
Получить хороший инструмент для реализации своих идей бесплатно — это же здорово!

За последние годы я общался со многими ребятами, которые откладывали запуск своих маленьких стартапов из-за проблем с размещением. Мол, нет средств на нормальный хостинг/сервер.
Ради Бога, вспомните, сколько полезных сайтов начинали жизнь с бесплатных хостингов!

Простите за сумбур. Давайте обсудим :)

Bundler — менеджер для управления gem'ами

Время на прочтение5 мин
Охват и читатели82K

Что такое Bundler?


Это менеджер для управления зависимостями gem'ов в ruby приложениях. Эта утилита позволяет легко устанавливать необходимые gem'ы для вашего приложения, при этом вовсе не зависеть от установленных в системе. Если вы использовали Rails для своих разработок, то вы вспомните, как задавали зависимости gem'ов c помощью config.gem в enviroment.rb, Bundler решает эту задачу намного удобнее и проще. Его включили в Rails 3.0 по умолчанию и теперь, именно он используется для управления зависимостями gem’ов в данной версии фреймворка. Эту утилиту можно использовать для любого ruby фреймворка.
Читать дальше →

Определите свое местоположение по WiFi сети

Время на прочтение1 мин
Охват и читатели7.7K
Простой скрипт. Определяет местоположение. Вы должны работать через Wifi.

iwlist wlan0 scan | sed -n 's/.* Address: //p;T;s/ //g;q' |
sed 's/.*/{version:1.1.0,host:maps.google.com,request_address:true,address_language:'${LANG/.*/}',wifi_towers:[{mac_address:"&",signal_strength:8,age:0}]}/' |
curl -sX POST -d @- www.google.com/loc/json |
sed -e 'h;s/.*latitude":\([^,]*\).*/\1/;G;s/\n[^\n]*longitude":\([^,]*\).*/,\1\n/;s|^|http://maps.google.com/maps?q=|;x;s/[,{]/\n/g;s/["}]//g;s/:/\t/g;s/\n//;G'

Не забудьте поставить curl.

В моем случае правильно определил город и улицу, ошибся с номером дома на 4.

Как это работает? Google собирает информацию о том, где расположены какие точки доступа (по MAC).
Первая часть (iwlist wlan0 scan | sed -n 's/.* Address: //p;T;s/ //g;q' ) — это просто определение мака.

Переписываем проект с Zend Framework на Rails

Время на прочтение9 мин
Охват и читатели8K
Около пяти месяцев назад я завязал с zend framework и пересел на рельсы. Тогда же начал переписывать свой проект www.okinfo.ru. Сейчас он уже закончен и sloccount показал что количество строк в проекте уменьшилось с 15000 до 4000. Мои знакомые php разработчики попросили success story и в итоге родилась эта статья. В ней я опишу как оно было, а так же немного расскажу о своем переходе на ruby.
Читать дальше →

Как хороший договор спасает нервы и монетку

Время на прочтение14 мин
Охват и читатели63K
Договоры, отчеты, акты — кому охота заниматься этой скукотой, когда вокруг бьет ключом и фонтанирует идеями креативная жизнь? Особенно, если заказчик снисходительно хлопает творческого подрядчика по плечу: «Да ладно, зачем какие-то договоры. Мое слово — закон!» Остается только радостно согласиться и приступить к работе.

На заре существования нашего агентства мы вообще не стремились формализовать отношения с дорогими клиентами. Типовой договор умещался на двух машинописных листах. Содержал он минимум информации: предмет договора, сроки, цена. Если заказчиков немного, и все они — старые знакомые, то в известной степени можно положиться на их добропорядочность. Но когда клиентская база активно растет, то и проблемы множатся: задерживают выплаты, не выполняют обязательства, злоупотребляют лояльностью исполнителя. Столкнувшись с ними в полном объеме, мы собрались, подумали и составили новый типовой договор.
Читать дальше →

Ускоряем логин через SSH в Ubuntu в 100 раз

Время на прочтение2 мин
Охват и читатели43K
Долгое время я мучился ужасно медленным удаленным логином на свои Ubuntu сервера (все 2 ). Ужасно медленно в данном случае — 2-3 секунды. Не то чтобы это было совсем фатально, но когда логин через ключ — хочется чтобы все работало мгновенно — в конце концов, у нас не 486SX.

Длительное гугление приводило только к стандартным решениям:
  1. UseDNS no в /etc/ssh/sshd_config — ускоряет логин в случае тормозного DNS. В моём случае стоял локальный кеширующий DNS, потому и так все было быстро.
  2. Принудительное указание IPv4 в SSH клиенте — особо не помогло, видимо не у всех тормозит
И на askubuntu.com вопрос c bounty уныло провисел долгие недели без ответа…

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

Сайт, автомобиль — никакой разницы!
Простые ответы на 7 популярных вопросов по сайтостроительству.

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

Классы — это объекты

Время на прочтение3 мин
Охват и читатели13K
Кто изучает Ruby, знает, что в нем все сущности — объекты, но порой не догадывается насколько. Так вот, классы в Ruby это тоже объекты.



Как это понять..

Мой опыт открытия бесплатного хостинга

Время на прочтение2 мин
Охват и читатели5.7K
Два с половиной года назад я открыл бесплатный хостинг.

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

Обычно, бесплатный хостинг создаётся по следующим бизнес-моделям:
— Заработок средств на размещении рекламы и платных дополнительных услугах (пример: ucoz.ru).
— Привлечение клиентов на свой же платный хостинг (пример: jino-net.ru)
Читать дальше →

Новый программерский жаргон

Время на прочтение7 мин
Охват и читатели53K
Посетителям сайта stackoverflow.com был задан вопрос: «Какие программерские термины вы придумали, так чтобы они стали популярны в ваших кругах (то есть вы слышали, что кто-то их повторяет)?

Ниже — вольный перевод самых популярных ответов.

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

У вас много идей стартапов? — Забудьте!

Время на прочтение2 мин
Охват и читатели1.2K
У меня есть друг, давайте я буду звать его Гарри. Возможно, он прочтет это, поэтому я постараюсь быть очень дипломатичным. Итак, Гарри — идиот, который постоянно говорит и думает об одной и той же идее стартапа
в последние четыре года.

Почему Delphi «умирает» или «программист – не читатель, программист – писатель»

Время на прочтение4 мин
Охват и читатели51K
Здравствуйте, уважаемые хабражители! С наступившим Новым годом! Желаю вам удачного кодинга, безбажного кода, понимающих руководителей, понятливых подчиненных и терпения при разборе кода, написанного предшественником.

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

В эпоху, когда родился Delphi, персональный компьютер начинал внедряться везде, где только могла привидеться выгода от его внедрения. Но одного компьютера не достаточно для извлечения выгоды. Есть еще пользователь оператор, который работает как посредник между бизнес-данными и информационной системой, и собственно сама информационная система — программы которые хранят, обрабатывают и выдают эти самые данные.

Значит, чтобы получить как можно больше профита, требуется уменьшить затраты на
Читать дальше →

Впечатления от TechCrunch Moscow

Время на прочтение6 мин
Охват и читатели2.1K
13 декабря мне довелось побывать на первой российской конференции ТехКранчаTechCrunch Moscow 2010.

Главной темой конференции стало обсуждение привлекательности отечественных IT-продуктов для инвесторов и специфики российского Интернет-рынка в целом.

Формат мероприятия был очень оригинален — интервью. Все гости на сцене отвечали на вопросы ведущих, Майка Бутчера и Эммы Барнетт, тем самым заменив привычные доклады живой дискуссией в режиме «вопрос-ответ».

image

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

Настройка nginx

Время на прочтение5 мин
Охват и читатели311K
Тема правильной настройки nginx очень велика, и, боюсь, в рамки одной статьи на хабре никак не помещается. В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. :)

Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: sysoev.ru/nginx/docs/example.html. Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами. :)
подробности

База всех населенных пунктов и регионов России

Время на прочтение2 мин
Охват и читатели8.2K
Мне для одного проекта понадобилось создать базу географических наименований России. Из всех источников подобной информации наиболее авторитетными мне показались 2:

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

Проверяем отказоустойчивость сайта

Время на прочтение4 мин
Охват и читатели36K
Результаты тестирования. Время ответа сервераЭто очередной пост их уже традиционной предновогодней серии про проверку отказоустойчивости сайта и готовности его принять всех ваших посетителей, озадаченных выбором подарков или предновогодними скидками. В этом выпуске я рассмотрю создание тестов в расширенном режиме с использованием записи действий (Proxy recorder), что позволяет почти полностью эмулировать поведение реальных пользователей из реального браузера у вас на сайте. Также немного будет затронута тема анализа самих графиков по отказоустойчивости.
Итак, поехали.
Читать дальше →

Tips & Tricks

Время на прочтение9 мин
Охват и читатели5.1K
Практически во всех языках программирования одну и ту же задачу можно решить несколькими способами. Однако какие-то из них лучше, какие-то хуже. Для некоторых требуется написать 10 строк кода, для других можно обойтись и одной.

Совершенствование кода и его оптимизация порой отнимает больше времени, чем заняло написание первой версии. Вы часто встречали новый для вас код или интересную реализацию, и говорили себе: «Оказывается, это можно сделать стандартными средствами, а я изобретал велосипед»? Лично я — да. Поэтому в этой статье я собрал свою коллекцию «велосипедов», и рассказал, как от них можно избавиться.

Методы массивов


Простой пример — допустим, у вас имеется массив объектов класса User. У них есть свойство activated, которое выставляется на 1, если юзер активировал свою учетную запись. Вам нужно проверить, все ли юзеры из массива активированы. Не берем во внимание ActiveRecord (там можно и по-другому сделать), моя цель — показать работу с массивами.

Способ первый, самый примитивный:
  1. @users = User.find(:all)
  2. activated_users = 0
  3. foreach user in @users
  4.   activated_users += 1 if user.activated == 1
  5. end
  6.  
  7. # если количество совпадает, значит все юзеры активированы
  8. activated_users == @users.size
Читать дальше

Информация

В рейтинге
5 604-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Разработчик баз данных
Старший
От 5 000 $
Ruby
Ruby on Rails
PostgreSQL
Git
Linux
ООП
Docker
RabbitMQ
Elasticsearch
Apache Kafka