Sade Olutola

JBB: An Artblog!

Kaledo Art
Claire Keane
Keni

izzy's playlists!
todays bird

tannertan36
$LAYYYTER
hello vonnie
2025 on Tumblr: Trends That Defined the Year
"I'm Dorothy Gale from Kansas"
RMH

Product Placement

#extradirty

Origami Around
sheepfilms
Not today Justin

❣ Chile in a Photography ❣
Three Goblin Art
seen from Japan

seen from United States

seen from Malaysia

seen from United States

seen from Canada
seen from United States

seen from Singapore

seen from Pakistan
seen from United States

seen from Mexico
seen from United States

seen from United States

seen from Senegal

seen from Tunisia
seen from Argentina

seen from Japan

seen from United States
seen from Canada

seen from South Korea
seen from Argentina
@envilogger-blog
Часовое выступление, посвященное паттерну проектирования MVVM. Включает описание и пару демок + описание MVVM Light Framework
Отучаем firefox от plugin-container
В последнее время участились случаи зависания firefox при обработке flash-объектов. Зависает на долго. Первый способ, который пришел в голову: при зависании убить процесс plugin-container.exe через диспетчер задач. Работает. Firefox сразу отвисает, но нужно перезагрузить страницу если на ней есть flash.
Наконец-таки нашел радикальный способ:
В новой вкладке нужно открыть about:config
В строке поиска ввести dom.ipc
В отфильтрованных результатах двойным кликом установить dom.ipc.plugins.enabled в false
Перезагрузить firefox
Суть в том, что firefox все плагины (в том числе flash) выносит в отдельный процесс, который иногда вот так зависает. Отчключенный флаг dom.ipc.plugins.enabled говрит браузеру - что так делать не нужно и все плагины подгружаются в основной процесс firefox.exe
JavaScript библиотека предоставляющая API для большинства популярных картографических API, позволяя переключаться между ними.
Ruby и AlorTrade
В качестве бонуса вот решение задачи - подключиться к торговому терминалу AlorTrade из Ruby, с целью получения определенной информации.
Первые результаты из гугла показывали как с помощью Ruby пользоваться Excel'ем. Все гениальное просто. Две строчки кода:
require 'win32ole' excel = WIN32OLE.new('Excel.Application')
Но в моем случае этого мало. Еще немного погуглив я выяснил, все что необходимо сделать - импортировать библиотеку типов с помощью конструктора WIN32OLE_TYPELIB.new, затем получить список типов, найти нужные, получить их guid и с их помощью уже инициализировать объекты. Итого мной была написана маленькая функция для этих целей:
tlib = nil def get_object_by_type(type) tlib ||= WIN32OLE_TYPELIB.new('C:\AlorTrade224\TEClient.tlb') tlib.ole_classes.each { |c| return WIN32OLE.new(c.guid) if c.name == type } end sf = get_object_by_type('SlotFace') # получаем объект SlotFace, предоставляющий доступ к терминалу slot = sf.GetSlot('0') # получаем доступ к нулевому слоту puts slot.State # => Готово
Не думал, что все окажется так просто.
Ruby и трейдинг
Некоторе время назад мой непосредственный начальник рассказал мне об одном трейдере, который усиленно пропогандировал язык Python. Немного его изучив и написав небольшой опционный калькулятор, я начал осматривать альтернативы. И тут мой взор упал на Ruby... Т.к. я в свободное от работы время люблю изучать всякие веб-технологии, то Ruby с небезызвестными Rails влюбили меня в себя. Произошло это в декабре месяце. И сейчас я усиленно штудирую литературу, блоги и документацию.
Расскажу о плюсах и минусах Ruby, касательно трейдинга:
Плюсы:
Низкий порог вхождения (он в разы проще C#)
Компактный синтаксис (это позволяет писать программы быстрее и проще)
Большое количество готовых библиотек - Gem'ов (одна из самых сильных сторон языка)
Кросс-платформенность (можно использовать на windows, linux, mac os - кому как угодно)
Открытый исходный код (в разработке и поддержке языка участвует большое количество людей, как результат: уверенный рост и быстрое исправление недочетов)
Большое количество информационных материалов и дружелюбное сообщество (однозначно плюс, хотя много информации на англ. языке)
Минусы (они, конечно, тоже есть):
Ruby - интерпретируемый язык (а это значит небольшую потерю в производительности по сравнению с другими языками вроде C# и тем более C++)
Открытость исходного кода (программу написанную на C# или C++ можно защитить от взлома, если это коммерческое приложение, а программу написаную на Ruby так просто защитить не удастся)
Таким образом можно сказать следующее: если вы пишете коммерческое приложение на продажу, или вам критически важно ограничить доступ к программе - пишите ее на C# или C++. Если нет - Ruby лучший выбор.
Лично я выбираю такую схему разработки ПО: изначально программа пишется на Ruby (так как это быстрее), после этого критические участки (которым нужна максимальная производительность) будут переписываться на C++/C#/Java, если будет нужна защита - переводить нужную часть кода в C++/C#/Java и уже её защищать.
Как итог: изучайте Ruby - не пожалеете :) Для этого рекомендую книгу "Программирование на языке Ruby" ("The Ruby Way") Хэла Фултона.
В качестве мини-примера: код программы, выводящей в консоль фразу "Hello World!":
puts "Hello World!"
Вот и все. Сохраните в файле hello_world.rb и запустите с помощью команды ruby hello_world.rb :)
Инструкция по установке для Windows:
Скачайте и установите следующие программы
Ruby - RubyInstaller (рекомендую последнюю на текущий момент версию: 1.9.3-p0)
Java - (требуется для некоторых Gem'ов)
После этого откройте командную строку (пуск-выполнить-cmd) и у вас будут доступны команды ruby (для выполнения файлов), irb (интерактивная консоль), gem (для управления gem'ами) и многое другое...
В качестве редактора рекомендую redcar (аналог textmate для mac os), для его установки выполните команду:
>gem install redcar
gem автоматически загрузится и установится. Чтобы запустить редактор нажмите Win+R и введите redcar :)
Вместо приветствия
Итак, я на tumblr. Я еще не решил окончательно и безповоторотно: ограничить тематику программированием и трейдингом, либо разбавлять все это прочим контентом. Но, все-таки программирование будет одним из основных направлений - это точно.