АРХИВ ЗА 2012 ГОД
НОЯБРЬ 14, 2012

Hi,

Guyyyys.

Не секрет, что последние несколько недель наблюдается падение на мировых биржах, вначале этого движения я закрыл все свои позиции, это было примерно в начале октября. Так сложилось, что закрыл я свои позиции не из-за начала падения, а по другим причинам, но не суть icon smile Apple stocks vs Google, NYSE and NASDAQ %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 Если вы в дивидеднах по качественным акциям типа RGC, FTE, WWE, STO то можно не париться и сидеть дальше.

Ниже приведены недельные графики на 2011-2012 годы. Очевидно что они очень сильно коррелируют на данный момент, стоит также заметить, что в 2011 акции Apple были лучше рынка. Сейчас мы пришли уровням, которые являются примерно серединой — 2/3 между годичными 2012 максимум и минимумом. Стоит отметить что акции Apple сейчас хуже рынка — падают очень стремительно, возможно это из-за того что и росли они лучше рынка и там сидит очень очень много спекулянтов (неудививтельно, т.к. дивиденды Apple не выплачивает, собственно как и Google). Google сейчас падает не так быстро как эпл, и уровень держит получше, идя за насдак.

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

S&P500 Futures (/ES)

SP500 NYSE Futures CME 2011 2012 weekly Apple stocks vs Google, NYSE and NASDAQ %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8

NASDAQ 100 Futures (/NQ)

NASDAQ 100 Futures CME 2011 2012 weekly Apple stocks vs Google, NYSE and NASDAQ %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8

Apple stocks (NASDAQ:AAPL)

Apple AAPL NYSE NASDAQ Stocks Charts 2011 2012 weekly Apple stocks vs Google, NYSE and NASDAQ %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8

Google stocks (NASDAQ:GOOG)

Google GOOG NYSE NASDAQ Stocks Charts 2011 2012 weekly Apple stocks vs Google, NYSE and NASDAQ %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8

НОЯБРЬ 8, 2012

Hi,

Рябы рябские, как дела?

Меня тут вдруг запарила проблема с оптимистик локинг фейлур (StaleObjectStateException, OptimisticLockingFailureExceptionHibernateOptimisticLockingFailureException) в Grails, когда слишком частые запросы на сервер приводят к синхронному обновлению домена в персистенс, что в свою очередь приводит к падению одного из запросов, т.к. version уже обновлен другим потоком (запросом). Собсно я  решил написать небольшой хелпер для сохранения доменов, в  итоге это оказало не хелпером, а заижекченым методом во все доменные классы проекта. Ща покажу как это юзается, а потом уже саму имплементацию.

Домен

  1. // по дефолту в грейлс каждый домен
  2. // юзает optimistic locking, используя
  3. // version колонку (проперти)
  4. class Something {
  5.   String name
  6.   String value
  7. }

Стандартное сохранение домена

  1. // загружаем и обновляем значение
  2. def e = Something.get(1)
  3.  
  4. // если в этот момент другой запрос (поток) обновит
  5. // эту запись, то грейлс кинет StaleObjectStateException
  6. e.value = "asdasd"
  7. e.save flush: true, failOnError: true

Сохранение с optimistic locking with retry вариант 1

  1. // загружаем и обновляем
  2. def e = Something.get(1)
  3.  
  4. // если в этот момент другой  запрос (поток) обновит
  5. // эту запись, то мы рефрешнем запись в сессии и
  6. // попробуем обновить еще разок
  7. e.saveOptimisticWithRetry flush: true, failOnError: true, retryCount: 2, { obj ->
  8.   obj.value = "asd"
  9. }

Сохранение с optimistic locking with retry вариант 2

  1. // все параметры опциональны, их можно опустить
  2. // по дефолту:
  3. // retryCount = 2
  4. // flush = false
  5. // failOnError = true
  6. def e = Something.get(1)
  7. e.saveOptimisticWithRetry retryCount: 5, { obj ->
  8.   obj.value = "asd"
  9. }

Сохранение с optimistic locking with retry вариант 3

  1. // все параметры опциональны, их можно опустить
  2. def e = Something.get(1)
  3. e.saveOptimisticWithRetry { obj ->
  4.   obj.value = "asd"
  5. }

Имплементация optimistic locking with retry

  1. // в Bootstrap.groovy к примеру можно
  2. // заинжектить метод во все домены
  3. for (dc in grailsApplication.domainClasses) {
  4.   dc.metaClass.saveOptimisticWithRetry = { args = null, setter ->
  5.     final int retryCount = args?.containsKey('retryCount') ? args.retryCount : 2
  6.     final boolean failOnError = args?.containsKey('failOnError') ? args.failOnError : true
  7.     final boolean flush = args?.containsKey('flush') ? args.flush : true
  8.    
  9.     int i = 0
  10.     while (true) {
  11.       try {
  12.         // Save domain
  13.         setter(delegate)
  14.         delegate.save(failOnError: failOnError, flush: flush)
  15.         return
  16.       }
  17.       catch (StaleObjectStateException e) {
  18.         // Throw exception if retry count bounds reached
  19.         if (++i > retryCount) {
  20.           throw e
  21.         }
  22.        
  23.         // Refresh object within session
  24.         delegate.refresh()
  25.       }
  26.     }
  27.   }
  28. }

Хорошего дня!

PS Можно вобщем-то подменить и сам метод save() у доменов, добавив в него имплементацию ретрая при оптимистик логинг фейлуре ексепшене.

НОЯБРЬ 2, 2012

Hi,

Рябы рябские, сайлент хилл 2 в кино показывают — смотреть всем!

Прошел месяц с моего переезда на AWS, я обещал скинул сколько вышло по деньгам итд, поэтому вот, выкладываю. $6.56 за этот месяц получилось, в след месяце запощу расходы за весь ноябрь.

AWS Activity Report for one month ec2 route rds 647x768 Amazon AWS  спустя месяц %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 news

ОКТЯБРЬ 29, 2012

university of liverpool Как я поступал в Университет Ливерпуля %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 news

Hi,

Как дела рябчики?

Я тут приболел чуток, но это мелочи, пью чаёк, рефакторю и фикшу код — стандартненько все.

А вот пришло утречком письмо счастья, о том, что меня таки взяли в Ливерпульский Университет на Master of Science in Software Engineering, обучение начинается с декабря этого 2012 года. Сразу отвечу на несколько очевидных вопросов, которые я сам задавал своему адмишен консультанту, и которые многие я уверен захотят задать:

  • Обучение удаленное;
  • Поступить можно не имея высшего образования (даже бакалавра), если есть сравнимый опыт работы по специальности, т.е. примерно от 5 лет опыта работы в IT;
  • Платное, в зависимости от выбора типа оплаты, от €17,000 до €21,500, побробнее тут;
  • Диплом не отличается о того, который получают студенты, обучаясь в Ливерпуле в самом универе on-site, или очно как говорят у нас;
  • Сроки обучения зависят от интенсивности, с которым ты обучаешься, примерно в пределах от 18 до 48 месяцев (1.5 года — 4 лет);
  • После успешного окончания универа, можно приехать в Ливерпуль на graduation ceremony;
  • Подробнее о MCs in Software Engineering;
  • Подробнее об Online education in University of Liverpool.

А теперь я вкратце напишу как я поступал, вероятно кому-нибудь это будет полезно. Сперва я выбрал специальность и подал заявку на поступление, кажется тут. На следующий день мне уже звонил мой admission consultant (далее Майкл), с которым мы общались на тему зачем я хочу поступать, есть ли у меня вышка и/или опыт работы в ИТ и ваобще о погоде, на инглише. В дальнейшем мы с Майклом созванивались более 5 раз, точно уже не припомню, собственно через него и проходил процесс моего поступления, ему я скидывал все документы, задавал вопросы, Майкл же мне все объяснял и консультировал что да как. Замечательный чувак, спасибо ему:) Теперь по поводу требований и документов:

  • Скан загран паспорта — это легко сделать;
  • Скан школьного аттестата (я, кстати, не уверен что это нужно было, но если ваобще вышки нет, то лучше отправить);
  • Скан диплома из универа, или если нет диплома, то документ, подтверждающий обучение в универе в течение 2-3 лет, или когда вас там отчислили icon smile Как я поступал в Университет Ливерпуля %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 news , меня вот отчислили на 8 семестре, т.е. не хватило пол года до бакалавра О_О в любом случае политех это какашка, хотя тусить там прикольно;
  • Резюме — что-то типа такого;
  • Оч важное: Мотивационное письмо на английском 180+ слов, у меня получилось аж 282;
  • Самое важное: Качественное рекомендательное письмо с текущего места работы — тут мои друзья, Санчес и Егорун, и Дейв постарались отличненько, за что им огромное спасибо;

Собирал и приводил в порядок все эти документы я неделю, и потом запулил их Майклу, который мне как обычно перезвонил и рассказал о дальнейшем плане действий, а он  таков, что мне нужно было теперь ждать аксепт или реджект письмо на почту, ну и звонка Майкла icon smile Как я поступал в Университет Ливерпуля %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 news Сам Майкл уже после того как получил от меня все документы, несколько раз названивал в офис AirSense и мучал Дейва разговорами, так что лучше чтоб на текущем вашем месте работы могли общаться на английском.

Ну вот и все, это если в кратце. Есть вопросы — пишите, я, френдли гай, готов всегда помочь.

Хорошего дня!

UPD1 Terms & Conditions: http://www.liverpool-degrees.com/Online%20Learning/Fees%20and%20Finance/Terms%20and%20Conditions.aspx

UPD2 Students Handbook: http://success.ohecampus.com/index.php?mod=dcp&act=navigationindex&navigationid=3633

ОКТЯБРЬ 6, 2012

AWS LOGO RGB 300px Миграция сайта с хостинга sweb на Amazon AWS %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 news

Hi,

Рябчики, как дела?

Я тут мигрировал все свои проекты (которые хостились на хостинге sweb) в том числе блог и скока лет на Amazon AWS. Сейчас я расскажу вкратце чо да как, быть может кому-то пригодится опыт в данном вопросе.

Зачем

Все просто — это так прикольно иметь свой сервачок! icon smile Миграция сайта с хостинга sweb на Amazon AWS %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 news На самом деле AWS предоставляет кучу возможностей, в том числе и для моих будущих (вероятно) проектов, множество различных сервисов, с которыми между прочем можно даже общаться через AWS API, к примеру на Java. Например, из нетривиального есть SQS, Elastic MapReduce, DynamoDB, итд.

Так же Amazon AWS это все в одном — и облачный сервер(а), и базы данных (реляционные и/или документные), и DNS и прочее.. Причем это все очень легко доключается/отключается и настраивается через консоль. Можно увеличивать машинные мощности очень легко, к примеру в момент подключить дополнительную RO базу в проект с высокой нагрузкой на базу.

Ну и можно ставить любые приложение, т.к. application server? легко, tomcat, jetty — все делается достаточно просто и можно хостить сразу Java EE / Grails / Scala приложения icon smile Миграция сайта с хостинга sweb на Amazon AWS %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 news

Как

Мне нужно было перенести 4 проекта: два из них WordPress, еще два — PHP on Zend. Осуществил я это за пол дня, включая апгрейд WordPress почти трехгодичной давности (2.6.3) на новую версию 3.4.2.

Для начала я сделал все бекапы (копии) проектов, включая продакшен билды и дампы баз данных. sweb почему-то снимал по дефолту дамп базы в кодировке cp1251, поэтому потом пришлсь конвертировать их в utf-8, спасибо iconv -f CP1251 -t UTF-8 dump.sql > dump-utf8.sql icon smile Миграция сайта с хостинга sweb на Amazon AWS %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 news

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

После всех локальных манипуляций я залогинился в Amazon AWS и начал свое путешествие…

Сперва я создал клауд сервер (cloud server) на Linux, Amazon EC2. Собственно сейчас я использую только один micro instance и пока что его хватает. После я создал pem ключик для доступа к серверу по ssh и скопировал локальные файлы используя scp.

Тут я подумал что пора бы уже подумать о базе данных (MySQL), где что хранить, в итоге я решил подключить Amazon RDS вместо поднятия локальной базы на инстансе — вполне логичное решение. Пришлось добавить IP EC2 инстанса в список разрешенных IP для конекта к базе. Окей, тут все гут, базу получили. Дальше я пошел по ssh на сервер, создал нужные 4 схемы и импортировал свои дампы в каждый из них. Все, база данных настроена и можно приступать к конфигурации самого сервера.

(Я все еще на инстансе, и работаю по ssh…) Что нам нужно: Apache HTTPD, MySQL client, PHP5 with GD and MySQL driver. Все это ставится очень просто, ведь в наших руках есть супер инструмент apt-get — надеюсь тут не нужно объяснять. После этого последовала настройка апаче веб сервера с виртуал хостами, это заняло некоторое время, но в итоге я все настроил и можно было стукнуть свой блог извне.

Теперь настало время настроить DNS, сказать интернету, на какой IP теперь стучаться при обращении к моим доменам. Тут на помощь приходит Amazon Route 53. Настраивается очень просто, и в итоге у меня получилось 2 домена + 2 сабдонема для одного из них. Поменял DNS сервера на nic.ru для своих доменов, подождал до 2-х часов ночи и теперь при обращении к chupakabr.ru, sanke.chupakabr.ru, skokalet.chupakabr.ru, delaitak.ru — запросы идут на мой емейзон инстанс! Greetz!

Ну а в завершении я настроил алармы, Amazon CloudWatch, трех типов: алармы по используемым ресурсам, аларм-вотчдог на EC2 инстанс и биллинг аларм. Подробнее:

  • Аларм по используемым ресурсам: Чтобы отслеживать abnormal поведение на сервер, например слишком длительная 100% загрузка на процессор, или аномально большой объем сводящего трафика.
  • Вотчдог-аларм: Следит за тем что инстанс работает (status: running).
  • Биллинг аларм: Аларм показывает, что за текущий день забилалось (ну и слово), например не более доллара по всем Amazon сервисам.
При достижении определенных условий аларм генерирует ворнинг email и засылает его на указанный адрес (email, СМС).

Выводы

Выводы делать пока что рано — в конце месяца посмотрим сколько это все добро выйдет мне в долларах, но пока что я очень доволен icon smile Миграция сайта с хостинга sweb на Amazon AWS %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8 news

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

UPDATE: Еще я заюзал EC2 Elastic IP — статический IP для инстанса, для одного инстанса — бесплатно!

Enjoy the weekend!

 

ОКТЯБРЬ 2, 2012

screen shot 2012 10 02 at 102407 pm Cho to tam news

Hi,

Wasup?

Как же сложно в российских организациях чего нибудь полезное заставить работников сделать icon smile Cho to tam news даж бумажечку с печатью, о том что ты учился в универе, и то непросто заполучить в архиве универа.

Сегодня Лига Чемпионов, Венфика — Барселона мой выбор, думаю барселонцам придется непросто в гостях, 1-1 или 1-2, что то типа того, наверное.

А еще вышел PES2013 недавно, ну я его прикупил и иногда играю за Ливерпуль в мастер лиге, уже купил Хумельса и Ройса. Суарес лучший бомбардир АПЛ пока что, Хендерсон ваобще красава, прокачивается неплохо, один из лидеров вместе с Джеррардом и Лукасом.

На лясе давненько не гонял (с субботы вроде) — работки завались, да и егорыч приехал (неужели) в питер icon smile Cho to tam news Так что работаем работаем вместе эти дни.

Обновился до MacOSX 10.8.2 Mountain Lion — изменений особо не заметил icon smile Cho to tam news АПИ не смотрел, вероятно там чо то есть интересное. Но Apple удручает своими ифона, каждые полгода — не часто ли?

Ну как-то так.

PS Зацените мои школьные итоговые оценки на фотке вначале поста icon smile Cho to tam news

See ya

Страницы:12345...11