Дмитpий Hecтepук

Блог о программировании — C#, F#, C++, архитектура, и многое другое

Технологии на моей тарелке

15 комментариев

За последние несколько месяцев, мне под руки попался ряд технологий которые я, без стороннего влияния, наверняка никогда бы и не узнал. Причина этому во-первых в том, что я слишком сильно “залип” в инфраструктуре .Net и языке C# чтобы отчетливо видеть что-то за ее пределами. Тем самым, “отлипание” для меня – процесс болезненный. А целью этого поста является кратко осветить те технологии, с которыми я познакомился – мало ли, может кому-то еще интересно будет.

F#

Писать на F# демо-программки и делать на нем что-то существенное – это совершенно разные вещи. Когда начинаешь массово плодить код на F#, начинаешь понимать всю упадочность своего понимания мира. Например, я достаточно долго писал member this.Something with get() = ... вместо аналогичного варианта member this.Something = .... Ну и тяга к скобочкам и излишним аннотациям типов (даже там где и ежу понятно что это за тип будет) – это тоже наследие использования C# где все прописывается.

F# поражает скудностью поддержки в студии. На одной из моих машин вылетела поддержка IntelliSense (полностью!), на другой – F# проекты по F5 только компилируются но не запускается отладчик. Очевидно что-то тут не так. Я конечно предпринимаю усилия для того чтобы работать с F# было более гуманно, но пока что нужно делать основные вещи, такие как лексер и парсер. Адаптировать их из сорцов F#-а — дело не для слабонервных.

WebSharper

Я упомянул этот фреймворк в моем первом сольном подкасте, сказав что он позволяет делать сайты, полностью оторваные от Asp.Net и IIS. Не знаю, один ли я страдаю такой неприязнью к IIS, но на данный момент для меня нет антидота: тот релиз Вебшарпера который состоялся недавно еще не поддерживает вторую версию Sitelet’ов, в которой как раз и должна быть поддержка создания полностью независимых сайтов. Что-то мне подсказывает, правда, что Адам Границ и компания планируют вообще сделать чуть ли не свой веб-сервер.

Так или иначе, я продолжаю эксперименты с Web#, а как только появятся новые сайтлеты, я начну тестировать все это дело уже на Linux. Интересно, что хоть технология и F#, нельзя сказать что она как-то связана с .Net или Microsoft.

NetKernel

Во-первых, NK – это Java-стек, но меня это не пугает т.к. ничего страшного там нет. NK – это реализация ресурсно-ориентированной парадигмы, которая сейчас будоражит умы всех кто занимается коммуникационными технологиями, например та же комманда WCF. По сути дела, RoC в представлении NK – это REST’ообразная концепция, которая предоставляет как бы аусторсинг веб-архитектуры, позволяя разработчикам писать компоненты, которые работают через ресурсы, запросы на ресурсы, конверсию различных типов ресурсов, и так далее.

NK это, если хотите, эволюция REST, и является интересной технологией (более живой чем существующие .Net аналоги) которая понравится тем, кто доселе работал с такими вещами как WCF REST.

Семантический Веб

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

Во-первых, это DotNetRdf – собственно библиотека, которая позволяет работать с RDF и поддерживает различные форматы хранилищ. Кстати, недавно нашел в блоге попытку создания semantic triple store на MongoDB.

Еще один аспект моих исследований связан уже с конкретикой, а именно с онтологией Good Relations и ее нынешней поддержкой гуглом (их Rich Snippets). Изначально у меня была идея попробовать подобавляеть поддержку всего этого в R2P чтобы с этим было легче работать, но потом я узнал что модели Xml и Html в моем любимом Решарпере не имеют общего корня, что означает что, по сути дела, все пришлось бы делать дважды. Возможно когда-нибудь у меня дойдут до этого руки.

Так вот, в попытках найти возможность создать .Net объектную модель из OWL-файла, описывающего GR, я набрел на проект ROWLEX, в котором поставляется утилита именно для этого. Интересно, а можно ли как-то автоматически брать данные со страниц, записывать их в эту модель и потом заталкивать все в MongoDB без каких-либо лишних действий? Подозреваю что все несколько сложнее…

MindTouch

Я занимался исследованием MindTouch в двух направлениях – в попытке понять, можно ли использовать эту штуку для документирования API большого программного продукта, а также мне хотелось понять, можно ли использовать его вместо SharePoint для внутренних целей.

По первому вопросу у меня нет ответа. Бесплатная версия MT шикарна, и покрывает 99% того что мне лично нужно. Поэтому в личных целях я начал ее использовать. Что же касается построения на нем портала разработчиков, то тут все неоднозначно. Я не decision maker в данном вопросе, но лично меня никто не убедил отдавать за коммерческий вариант этой штуки большие деньги.

Я рекоммендую всем скачать MindTouch Core (бесплатную версию) и поиграть с ней. Это действительно стоит того! Это по сути дела Wiki/CMS которая хорошо подходит для документации. Чудес в этом мире не бывает, но штука красивая, и я ей доволен.

TidePowerd GPU.NET

Поскольку несколько лет назад я плотно занимался GPGPU и даже сам эксплуатировал pixel shader’ы через Direct3D, наличие .Net библиотеки мне импонирует – давно пора. Тем более что трансляция IL во что-то еще – процесс весьма понятный и реализуемый без особых проблем. Библиотека GPU.Net – это как раз оно и есть. Еще одна абстракция чтобы облегчить нам жизнь.

Признаюсь что я только лишь посмотрел вебинар – я не игрался еще с самой библиотекой т.к. не было времени. Все впереди :)Update: уже успел созвониться с директором Tidepowerd – разговор шел в основном в ключе поддержки конкретно F# в GPU.NET. Заинтересованность определенно есть, так что рано или поздно замутим совместный конференс с Саймом, Границем, и партнерами. Как что состоится – обязательно напишу.

Fusion IO

Fusion IO – компания, которая за 3 года получила 300 миллионов долларов инвестиций. Их “фишка” – высокоскоростные хранилища данных, и когда я говорю “хранилище”, подразумевается PCI-карта с SSD-устройствами на ней. Конечно, Fusion IO говорит что их устройства – это не SSD, но на самом деле их отличие в качественном ПО (в плане прошивки их ASIC), а есть ли у них что-то кардинально новое – не знаю. Надо получить образец (надеюсь дадут) и самому посмотреть.

Хотя если по мне, так более интересной фишкой является NVidia Tegra – нам уже 10 лет назад нужно было иметь нормальные SoC-решения. Те же Fusion IO могли бы засунуть на свои карты контроллер и несколько FPGA которые я бы мог “флэшить” и им цены бы не было! Вот интересно – Intel уже начал нервничать или еще нет? Ведь по мне так самое главное это избавиться от ситуации когда я не могу иметь масштабно-инвариантную систему, а должен на каждый процессор закупать еще и материнскую плату, память, жесткий диск, и так далее. Надеюсь скоро эти телодвижения станут пережитками прошлого.

Кстати о Tegra… двухъядерные процессоры в мобильных телефонах это круто или как?

Advertisements

Written by Dmitri

7 января 2011 в 19:44

Опубликовано в .NET, f#, GPU, Hardware

Tagged with , , , ,

комментариев 15

Subscribe to comments with RSS.

  1. F# только начал развитие в качествей майнстрима. Думаю ещё в MS Research Lab не определились с вектором развития и его целями. Ну а поскольку это MS, то по инерции должно двигаться дальше, если не самой MS, то её саттелитами (аналогичное происходило и с PowerShell). Хотя волен признаться, я и сам не могу точно определить, для чего он годится лучше всего (особенно при таком активном развитии C#).

    По поводу MindTouch, кроме него Вы можете отрекомендовать, аналоги для создания собственной «базы знаний»? Особенно интересуют продукты с открытми SDK.

    0x7

    8 января 2011 at 3:02

    • Ну в плане альтернатив есть просто Вики разные, плюс всякие Confluence (отстой!), есть конечно шарик если нужен… Насчет SDK совсем не знаю.

      Dmitri

      9 января 2011 at 0:09

      • >плюс всякие Confluence (отстой!)
        8-O, почему отстой?

        Shrike

        18 января 2011 at 0:19

        • Все сводится к тому, что для того, чтобы Confluence хоть как-то вменяемо себя вел, нужно установить тучу плагинов. Вот например, в Confluence текст растягивается на ширину экрана. Ну не бред ли? Думаете это легко читать? А насчет форматирования — вместо того чтобы взять стандартный HTML, Confluence использует какой-то свой маркап который потом непонятно как назад в HTML конвертировать.

          Ну и не говоря о том, что Confluence структурирует свои страницы так, что потом с ними неудобно работать. Поиск — можно считать что его нет. Ну и так далее. Если коротко — Confluence не стоит моего времени, хотя сейчас периодически приходится с ним работать. Я правда нашел решение — написал себе транслятор для TypograFix, так что я все равно пишу HTML, а потом все само конвертируется.

          Dmitri

          20 января 2011 at 11:33

        • Не спора ряди, но..
          Я храню в конфлюенс проектную документацию. Текст не рястягивается. Рекомендую тему Documentation Theme.
          Насчет форматирования — не видел ни одной вики, использующей html. Это тогда и не вики вообще.
          Кстати, для конвертирования маркапа в html есть api (rest/soap). Поиск — довольный популярный Lucence, даже для русского языка поддерживает форфологию.

          Shrike

          24 января 2011 at 1:20

        • Ну… MindTouch использует HTML. И это чертовски удобно!

          Dmitri

          24 января 2011 at 8:38

  2. Насчет объектной модели по OWL-файлу. В этом сегменте рулят Java-проекты: OWL API, Jena и т. д.

    Но упоминаемый Вами выше DotNetRDF тоже должен это поддерживать, хотя я и не проверял.

    AlexIdsa

    8 января 2011 at 12:02

    • Надо будет глянуть что там в нем есть… я не видел.

      Dmitri

      9 января 2011 at 0:09

  3. […] This post was mentioned on Twitter by Mike Gall, Newsforanton. Newsforanton said: Технологии на моей тарелке: За последние несколько месяцев, мне под руки попался ряд технологий которые я, без с… http://bit.ly/gGWZvA […]

  4. Поправьте ссылку на http://activemesa.com/fsharper, пожалуйста.

    morhetz

    11 января 2011 at 6:45

  5. Домашняя страница GPU.Net недоступна. Есть у вас возможность выложить tidepowerd-gpu.net-beta-3.msi где-нибудь?

    Спасибо.

    xna

    11 января 2011 at 12:58

    • Сорри, кажется я стер инсталлер. Придется подождать пока Tidepowerd обновят свою систему лицензирования. Не думаю что это изменение к лучшему, но что поделать…

      Dmitri

      15 января 2011 at 14:48

  6. В ссылке на http://websharper.com/ пропущена точка.

    likemusicdev

    10 декабря 2012 at 19:56


Оставить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: