четверг, 16 февраля 2012 г.

Keep it simple!




«I really don't like programming.
I built this tool to program less so that I could just reuse code. PHP is about as exciting as your toothbrush. You use it every day, it does the job, it is a simple tool, so what? Who would want to read about toothbrushes?

I was really, really bad at writing parsers.
I still am really bad at writing parsers. We have things like protected properties. We have abstract methods. We have all this stuff that your computer science teacher told you you should be using. I don't care about this crap at all.
There are people who actually like programming. I don't understand why they like programming.

I'm not a real programmer.
I throw together things until it works then I move on. The real programmers will say «yeah it works but you're leaking memory everywhere. Perhaps we should fix that.»

I'll just restart apache every 10 requests.»

Rasmus Lerdorf

вторник, 31 января 2012 г.

С vs Java


сишники:
  • оо надо тут дернуть maallloc//
  • а тут 2 байта смещение..
  • а тут еще структурка вот такая
  • следи за порядком байт
  • а какой поток этим владеет? а сколько наносекунд контекст переключается?
  • нее.. 50ns это слишком долго, так мы не сможем обратывать 1М заявок меньше чем за секунду
  • упс..
явщики:
  • что-то стало лень объекты руками парсить.. давай напишем объект-маппер который будет генерить java код на лету и сразу компилить c помощью javac а результат он пусть пишет с использованием еще одиного фреймворка.. ну а этот фреймворк уже сам смапит в наш текстовый протокол поверх tcp\ip

вторник, 17 января 2012 г.

Программерская читалка



Давно хотел завести себе правильную читалку (ebook) чтобы было куда убивать время в дороге.
Основные требования были такие
  • e-ink экран, чтобы читать на солнце, и заряжать батарейку раз в пол года
  • 10" - чтобы можно читать техн. литературу без нарезки и конвертаций. Это очень важный пункт т.к. все доки часто или в pdf с картинками или в djvu.
  • всеядная по количеству форматов
  • никакого DRM и никаких ограничений на заливку книжек
  • планшет отпал из за маленького времени автономной работы и LCD-экрана

В итоге выбор пал на такой девайс



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

Hardware


Pocket book 902 (без Wi-Fi, и без сенсорного экрана - т.к. книжке это не нужно)

PocketBook Pro 902




Чехол Tuff-Luv
Чехол-обложка Tuff-Luv "Блокнот" для PocketBook Pro 902 и 903 (черный) F2_46



Software

PDF Cropper, утилита которая сама отрезает белые поля по краям (что очень актуально для A4)



Программа для редактирования, чтения и изготовления электронных книг. 


На долю владельцев маленьких читалов выпадает ад по конвертации.
Как сделать читабельный PDF из DJVU/PDF
Помогите сконвертировать книгу PDF---->ebook
 

воскресенье, 1 января 2012 г.

2012 Motivation пост

Детское ожидание чуда вперемешку со взрослым пониманием, что чуда не будет. Ждать чуда от событий, периодичность которых один год кажется мне сомнительным. Да и понятие «праздник» со временем упирается не только в мандарины.

Умиляют люди и их пустой звон бокалов, каждый новый тост словно пук в муку и так год за годом. Это напоминает мне людей, обещающих себе начать новую жизнь с понедельника. А почему не сейчас?

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

Устраивают ли тебя твои достижения за прошедший год? Просрал отведенное время? Сейчас тебе нужно четкое понимание того, что ты хочешь. Ставь самые высокие цели, самые невыполнимые задачи и пусть именно их невозможность вдохновляют тебя в дальнейшем. Найди то, что тебе нравится и сделай это своей работой, рискуй. Риск это гениальное изобретение, которое поделит всех на победителей и проигравших.

(с) do4a

понедельник, 12 декабря 2011 г.

Бесплатный хостинг в amazon ec2

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

Мотивация

Для чего это может быть нужно?
  • поднять свой прототип сайта, проскейлить его если вырастет нагрузка
  • повесить себе прокси
  • хостить блог, картинки итп
  • просто держать бэкапы в облаке (S3)
  • создать софтовый RAID поверх S3 хранилища
  • сделать примерный образ желаемой машины, и расклонировать ее на 100 нодов, причем за некоторые можно платить как за обязательные, а другие будут запускаться только при определенной нагрузке

Тарифы

У amazon'a есть различные типы инстансов. Бесплатен Micro:
Micro Instance
--------------
613 MB memory
Up to 2 EC2 Compute Units (for short periodic bursts)
EBS storage only
32-bit or 64-bit platform
I/O Performance: Low
API name: t1.micro
На него действуют следующие ограничения:
AWS Free Usage Tier (Per Month):
--------------
750 hours of Amazon EC2 Linux Micro Instance usage 
    (613 MB of memory and 32-bit and 64-bit platform support)
    – enough hours to run continuously each month*
750 hours of an Elastic Load Balancer plus 15 GB data processing*
10 GB of Amazon Elastic Block Storage, plus 1 million I/Os and 1 GB of snapshot storage*
5 GB of Amazon S3 standard storage, 20,000 Get Requests, and 2,000 Put Requests*
15 GB of bandwidth out aggregated across all AWS services*
25 Amazon SimpleDB Machine Hours and 1 GB of Storage**
100,000 Requests of Amazon Simple Queue Service**
100,000 Requests, 100,000 HTTP notifications 
1,000 email notifications for Amazon Simple Notification Service**
10 Amazon Cloudwatch metrics, 10 alarms, and 1,000,000 API requests**
На более серьезный setup можно прикинуть расходы в этом калькуляторе.
Если очень грубо, то за 60$ в мес можно получить 1.7Ghz x 1Core, 2Gb ram, 100Gb места и копеечный траффик.

Настройка

Ставим putty и puttygen отсюда

Создаем аккаунт в amazon через admin console. Для этого понадобится действующая кредитка VISA или MasterCard. Как и многие другие магазины они ее проверяют списывая 1 USD.

Далее

Выбираем регион (самый ближайший - IRELAND)
Жмем кнопку Launch instance
Выбираем ОС, по умолчанию предлагают Basic 32-bit Amazon Linux AMI (бесплатный - только linux). При желании поставить LAMP сразу можно ткнуть вкладку Community AMIs и найти там что-то из этого списка готовых образов. Также можно и windows но это дороже.
На вкладке Instance details проверяем что мы делаем Micro инстанс (t1.micro); вводим имя хоста.
Создаем пару ключей для авторизации чз Putty. Скачиваем pem-файлик.
Создаем новую группу безопасности: в поле type = ssh, source = 0.0.0.0/0, жмем add rule.
Идем на вкладку Instances, как только сервер запущен мы сможем залезть в консоль по ssh.
Ура.. Теперь у нас есть свой сервер :].

Теперь цепляемся по ssh к нему.
Запускаем Puttygen, открываем в нем скачанный pem-файл, жмем кнопку import.
Находим dns - имя хоста в админ консоли.
Запускаем путти, коннектится будем под именем ec2-user, поэтому коннект лучше называть ec2-user@dns-host-name.
В свойствах соединения, в Connection -> SSH -> Auth добавляем *.ppk файл сгенеренный нами ранее с помощью puttygen.
Жмем save. Потом соединяемся (user = ec2-user, пароль не нужен.. он в публичном ppk ключе).
А вот и шелл..