Вконтакте закрыла гео-поиск

С этого месяца не работает метод places.getCheckins, который и позволял получить сообщения по месту. Поэтому в приложении t30p меньше стало показываться сообщений по месту. Техподдержка ВК говорит, что метод getChekins будет удален. Замены этому методу не предвидится, разве что поточная обработка всех постов во вконтакте. Но это будет доступно далеко не всем.


Метки:   Категории:Blogs | Code


программа instagramliker обновлена 2018г еще раз

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

Не знаю, нужно ли это кому-то, но вроде работет.


Метки:   Категории:Code


программа instagramliker обновлена 2018г

С нового года Инстаграм обновил выдачу JSON, поэтому обновил программу автоматического лайканья фоток инстаграм до версии 1.3. Описание программы в моем старом поста.


Метки:   Категории:Code


Программа InstagramLiker обновлена

Недавно Интаграм стал требовать авторизацию для просмотра фотографий по определенному тэгу, поэтому пришлось обновить робота для автоматического лайканья по тэгам - InstagramLiker_Net.1.2 . Из дополнительного функционала, робот теперь по галочке может также подписываться на авторов фотографий.

Изначальный пост о программе InstagramLiker.


Метки: ,   Категории:Blogs | Code | Instagram


Исправление производительности Azure SQL (DTU)

Не прошло и 5 лет, и выяснилось, что Azure SQL оптимизирован для работы только с параметризованными запросами. Так как для всех запросов, приходящих к базе, системой наворачивается сложная аналитика, которая и гробит производительность, если этот запрос каждый раз похож на новый. И чтобы все запросы были для системы анализа на одно лицо необходимо их представлять в параметризованном виде. И оказывается можно просто заставить SQL все запросы принимать в правильном виде простой командой

ALTER DATABASE [dbname] SET PARAMETERIZATION FORCED

Вот такая вот оптимизация на ровном месте. И DTU/CPU сразу меньше есть сгорается в пустую.


Метки: ,   Категории:Code


Рекомендованные индексы для Azure SQL

Одно из последних изменений в AzureSQL - рекомендованные индексы. Система анализирует запросы, которые выполняет база данных и предлагает индексы для их оптимизации. Как итог, все выглядит следующим образом - Микрософт придумал проблему в виде DTU, которого всегда не хватает и сам же эту проблему решает в автоматическом режиме. Система сама решает свои же проблемы. На скриншоте ниже видно, что автоматически добавленный индекс экономит мне 0,38 DTU пожирая дополнительное место. Но так как места для всех баз выделено под 250Гб, то места не жалко, можно добавлять сколько угодно индексов, если система будет считать, что она работает быстрее.


Метки:   Категории:Csharp | Code


Visual Studio 2013 Update 3 RTM

Стала доступна MSVS2013.3 RTM, список нововведений и ссылка на скачивание тут. Пост более технический, чтобы сохранить ссылку. Про обновленный Azure SDK 2.4 читать тут.


Метки:   Категории:Csharp | microsoft | Code


Мобильное приложение t30p.ru

Примерно 3 года назад я говорил, что сайту нужна мобильная версия. Естественно, никто не про-инвестировал эту сомнительную разработку и ранее она мне казалась очень сложной. Но вот, не прошло и три года мне удалось своять мобильное приложение, которое обладает следующим функционалом:

  1. Читать актуальные новости из социальных сетей. Это топы, видео, инстаграм. Почти все, что есть на t30p.ru.
  2. Смотреть кто что пишет рядом с вами, используя геолокацию, а также постить с гео-тэгом и картинкой
  3. Мобильный социальный поиск. Искать упоминания слов в общедоступных сетях.

Доступна эта радость пока на двух платформах - Android,WP8 (wp7 пролетает). Недели через 3 думаю будет и в AppStore для Apple. Так как только там процесс публикации занимает много времени на модерацию. 

Сделано, как все гениальное, просто. На базе триала в Telerik Appbuilder (Icenium) и Kendo UI. Все можно использовать бесплатно. В итоге создается фактически сайт прямо в Visual Studio 2013, а потом на сервере конвертирует уже в нужный код для публикации на маркете. Плюс, там еще разная заморочка, чтобы подписать уже скомпиленный файл. В итоге создание мобильного приложение становиться простым как и создание сайта на .net с использованием JS.

Скриншоты приложения есть по ссылкам по кнопкам маркетом. Будет здорово, если хоть кто-то их протестирует и начнет ими пользоваться. И да, отзывы тоже пишите, можно прямо на маркете.


Метки: ,   Категории:Mobile | topbot | Code | t30p | life


Yandex Map 2.1

Примерно полгода назад было объявлено о новой версии 2.1 яндекс-карт. За полгода они так и не успели выйти из беты, но это не помешало мне перевести карту гео-сообщений на новую версию. Улучшено определение местоположения пользователя, да и просто стало работать как обещают на треть быстрее. Кто хочет тестируйте, так как все-равно, судя по логам, эта карта не популярна. Нужно когда-нибудь сделать мобильное приложение, чтобы пользователи начали читать о том, что происходит рядом с ними.


Метки:   Категории:topbot | Code | t30p


Обязательные расширения для Microsoft Visual Studio 2013

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

1.ReSharper 8
Считается платным расширением, но грамотный разработчик должен уметь достать себе копию. Давно гуляет и кряки и стрельнуть у кого-то можно, либо притвориться студентом. Доставание - можно считать испытанием на проф-пригодность.

2.Nuget
В целом, про него можно забыть, так как идет по умолчанию в vs2013.

3.Web Essentials
Все что нужно для ВЕБ-разработки, ставим отсюда.

4.Regex Tester
Если надо протестировать регулярное выражение.

5.CodeMaid
Позволяет удобно "шаманить" с расположением кода и комментариями и т.п. .

6.Productivity Power Tools
По видео презентации больше похоже на Resharper для индусов. Не ставил.

7.Code Digger
Основано на Pex, позволяет определять покрытость кода тестами. Тоже качаем.

8.ozCode
Более удобная отладка. Тоже качаем.

 Остались еще красивые платные расширения, типа nDepend, но ссылки на них смотрите в английском первоисточнике. Еще может оказаться полезным проверка правописания - Spell Check  

UPD: И еще 3 полезных - Trailing Whitespace Visualizer, Error Watcher, Add empty file


Метки:   Категории:Csharp | microsoft | Code


Отключение логирования в Windows Azure

Есть такая проблема, как слишком много логов. Они по умолчанию включены в Azure и пишутся на диагностический диск. Если у вас роль маленькая, то диск этот размером в 15ГБ (+5ГБ сама система). К слову, есть такая фишка, что если заводить Extra Small Virtual Machine, а не Extra Small Web Role, то можно получить за теже 600 р в месяц диск на 120ГБ. Микрософт такое несоответствие объясняет тем, что на виртуальные машины обычно доставляют большие программы, вот и выделили места как у Small Instance.

Так вот, эти 15ГБ быстро исчерпываются, если у вас много обращений и автоматически не чистятся. Такое приводит к тому, что у роли вызывается процесс Reimage, что дает заметный перебой в работе. Чтобы в автоматическом деплое отключить логирование (конечно же для VM можно соединится по RDP и ручками настроить IIS как надо), достаточно подсоединить к проекту библиотеку Microsoft.Web.Administration, которая находится по пути C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll. А в фенкции старта самой роли прописать следующее:

Copy Source | Copy HTML
  1. var iisManager = new ServerManager();
  2. Configuration config = iisManager.GetApplicationHostConfiguration();
  3. ConfigurationSection httpLoggingSection = config.GetSection("system.webServer/httpLogging");
  4. httpLoggingSection["selectiveLogging"] = @"LogAll";
  5. httpLoggingSection["dontLog"] = true;
  6. iisManager.CommitChanges();

Метки:   Категории:Csharp | microsoft | Code


Поисковый виджет

Хочу обратить внимание, что на т30п давно работает возможность создать виджет с упоминаниями любого слова и скопировать его в любой блог или сайт. Панель создания виджета пока очень простая. В списке в хронологическом порядке показаны последние упоминания по всей русскоязычной блогосфере. К сожалению, код виджета не работает под IE, так как под ним вылетает ошибка jQuery, если кто знает как подправить, то пишите. Дизайн тупо скопирован со старого твиттеровского. Как всегда все в бете, но вроде работает стабильно.
UPDATE: Ошибка в IE была исправлена путем обновления jQuery


Метки:   Категории:Blogs | Code


Twitter API v1 Retirement is Complete

Несмотря на годовую подготовку к прекращению работы старого API v1.0, для большинства разработчиков переход на новую версию 1.1 создал некоторые трудности.
Во-первых, это обусловлено тем, что создатель библиотеки Twitterizer перестал ее поддерживать еще полгода назад, а внести нужные изменения в открытый код из 10 тыс. разработчиков за полгода никто так и не решился. Разве что один японец вызвался добровольцем. По факту, соответствующие изменения я тоже внес в BlogsAPI.
Проблемы с переходом на новую версию следующие:

1) Изменения в функции поиска (Search), она сейчас у всех барахлит. К слову, через месяц фейсбук тоже уменьшит функциональные возможности у поискового сервиса.
2) Запрет на получение related_tweets - что делает сложным определять дискуссии. Видимо это сделано специально, одновременно с открытием платформы TwitterAnalitycs, теперь все другие аналитические платформы будут гарантированно иметь худщий функционал.
3) Запрет на создание динамических виджетов с результатами поиска. Опять же позволит твиттеру сильно уменьшить нагрузку на свои сервисы.

И ко всему прочему у многих разработчиков рандомно вываливаются ошибки вида Error 401: Unauthorized {"message": "Could not authenticate you","code":32} . При этом запрос правильно составлен и подписан.

Метки:   Категории:bugs | Twitter | news | Code


HTML5 Video for BlogEngine

Добавил возможность загрузки видео в блоги на базе BlogEngine. Видео проигрывается при помощи новейшего HTML5 и скриптов техаского прогера MediaElementJS. Жаль что пока не работает для мобильных устройств, а то получилось бы очень удобная замена Youtube. Ниже видео танцующего медведя.

[video src="Medved.mp4" width="420" height="360"]


Метки:   Категории:BlogEngine | Csharp | Code


Официальные парковки Москвы

Небольшой вклад в открытые данные. Есть официальный сайт со всеми официальными парковками Москвы. Относительно удобный. Полезность тоже сомнительна, когда все и так паркуются где видят возможность. Однако вот список всех данных с этого сайта одним файлом с гео-координатами мест парковок -

moscowparking.xlsx (119,70 kb)


Метки:   Категории:Government | Code


Azure .Net Framework from 4.0 to 4.5

Небольшая прогерская заметка. Чтобы переключить Azure Web Service с версии .Net 4.0 на 4.5 достаточно в проекте публикации поменять параметр osFamily, который отвечает за тип машины. Для 4.5 будет автоматически запущен WindowsServer2012. Первоисточник этой информации. Скоро узнаем насколько лучше работет BlogEngine на 4.5, а то индусы еще не скоро обновятся.
To use Windows Server 2012 which supports .NET 4.5, change osFamily="2" to osFamily="3" in your Azure role .cscfg file.

Метки:   Категории:Code


Заметка: Если зависает Unit тестирование в MSVS2012

После последнего обновления MSVS2012 update 2, у многих могут перестать работать тесты. Причина кроется в установленном Resharper 7.1, который необходимо обновить до версии 7.1.3. Ключи и кляки не слетают при таком обновлении.

Метки:   Категории:Code


Visual Studio 2012 Update 2

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

Метки:   Категории:microsoft | Code


Twitterizer - This is the end

5-го марта у Твиттера запланированы "Blackout tests". В 9 утра все запросы без авторизации начнут возвращать HTTP 410 Gone status. Некоторые разработчики уже ощутили изменения, так например OAuth авторизация теперь доступна только по протоколу HTTPS. Но куда более интересно сообщение, с которым выступил Ricky Smith, разработчик популярной (наверное второй по популярности) библиотеки .Net для Твиттера. Вкратце, он написал в коде "This is the end". Что за четыре года разработок он устал поддерживать проект и сейчас, когда нужно все переделывать из-за изменений в Твиттере - у него нет больше сил. Всем предлагается либо перейти на аналоги, либо самим заняться поддержкой проекта. Отмечу, что по общей оценке Twitterizer задействован у 12 тыс. разработчиков.

Большинство воспринимает грядущие изменения в твиттере так - что пока все работает можно не суетится, а как перестанет, так внесем изменения. Интересно, будут ли заблокированы некоторые аккаунты за то, что публикуют информацию из твиттера не так, как это предписывают новые правила сервиса со ссылами на твиттер через JS.

Метки:   Категории:Twitter | Code


Azure SDK 1.7 -> 1.8 или как потерять 1000р за один апдейт

Еще в октябре прошлого года одновременно с MSVS2012 появилась версия Azure SDK 1.8 и казалось, что это чисто формальное обновление связанное с переходом на новую Visual Studio. Конечно есть и улучшения, такие как поиск по имени ошибки во многочисленных логах IntelliTrace (как можно было не догадаться сделать это с самомго начала?). Возможно рано или поздно у нас также появится средства для нормальной работы с blobstorage из самой студии. Однако, подозрения, что с 1.8 что-то не так начали появляться сразу, о чем был поднять вопрос в сообществе по рекламе Azure в России.

По опыту выяснилось,что
1) В результате автоматического обновления ссылки на библиотеки 1.8 ставятся CopyLocal = False, даже если до этого у вас стояло копирования этой библиотеки.
2) Уничтожен класс CloudConfigurationManager, отвечавший за получение настроек роли. Вместо него можно использовать RoleEnvironment.GetConfigurationSettingValue("Diagnostics.ConnectionString"); С той лишь разницей, что последняя может падать, если RoleEnvironment.IsAvailiable = false.Например, если обратиться до завершения WebRole.OnStart
3) И самое страшное проиллюстрирую следующим кодом. Заключается в различной обработке Таблицами параметров содержащих символов попадающих под UrlEncode.
Copy Source | Copy HTML
  1. string pageuri = pageElement.Attribute("uri").Value.ToLower().Replace("/default.aspx", "/");
  2. string pageuri_encoded = HttpUtility.UrlEncode(pageuri);
  3. SapePageAzure result = (from e in CreateQuery()
  4.                         where e.RowKey == pageuri_encoded &&
  5.                         e.PartitionKey == partitionid select e).FirstOrDefault();
  6. if (result == null)
  7. {
  8.     result = new SapePageAzure
  9.     {
  10.         RowKey = pageuri,
  11.         PartitionKey = partitionid,
  12.         LastAccess = DateTime.Now
  13.     };
  14.     ContainerTable.AddObject(TableName, result);
  15.     //ContainerTable.SaveChangesWithRetries();
  16. }

Если в Azure SDK1.7 нужно было использовать в обоих местах pageuri_encoded, и в выворе и во вставке. То в Azure SDK1.8 добавилась скрытая перекодировка, и получилось, что при выборе параметров из таблицы нужно использовать pageuri_encoded, а при вставке pageuri, так как теперь кодируется автоматически.
Как результат - все блоги из blogscloud.ru, которые синхронизированы с Sape и хранят набор ссылок в виде URL в таблицах, перестали корректно работать. Sape обнаруживает, что все ссылки на сайтах не отображаются и блокирует все сайты отправляя их на повторную можерацию. End of story.


PS: По случаю отзыв про tfspreview.com - возможность бесплатного использования TFS2012 для одиноких разработчиков. В общем ни в коем случае не расчитывайте на нее. Очень сильно тормозит и не дает чекинить большое количество документов. Появилось сие творение видимо потому, что все нормальные платные TFS провайдеры, такие как discountasp.net не смогли или не захотели вовремя предоставить TFS2012 для коммерческих пользователей.

Метки:   Категории:Analytics | Csharp | microsoft | Code


Кто я?

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

Последние комментарии

Не отображать

Topbot at FeedsBurner

Популярные записи

Облако тэгов

Мои Твиты

Twitter декабря 1, 15:49
Международная система единиц СИ http://dlvr.it/QsZWxP https://twitter.com/f1ashr/status/1068894908939784192/photo/1

Twitter ноября 30, 15:47
Пользователи умудрились поломать гео-локацию в Инстаграм http://dlvr.it/QsVQn0

Twitter ноября 30, 15:47
Популярные блогеры и посты за 2017 год http://dlvr.it/QsVQmn https://twitter.com/f1ashr/status/1068532024984498176/photo/1

Twitter ноября 30, 15:47
Разбор сериала Медичи: Повелители Флоренции http://dlvr.it/QsVQmf https://twitter.com/f1ashr/status/1068532019930353664/photo/1

Twitter ноября 29, 15:45
Обновлен робот instagram для лайков http://dlvr.it/QsPrh2

Twitter ноября 29, 15:45
Skype and Baidu links http://dlvr.it/QsPrht

Twitter ноября 29, 15:45
О смене дизайна Вконтакте http://dlvr.it/QsPrgT

Twitter ноября 23, 13:18
Статистика просмотров Телеграма http://dlvr.it/Qrwybs

Twitter ноября 20, 11:54
По-тихому закрылся http://taaasty.com http://dlvr.it/QrgcJf

Twitter ноября 15, 21:21
Разное - сетевое http://dlvr.it/QrLfbH

Twitter ноября 12, 08:54
@lopp @coinhive_com Beware, that coinhive doesnt process payouts for last month and no reply from them.

Twitter ноября 6, 08:26
@MultiFollow_com @coinhive_com The same, cant get payment since Oct 29

Twitter октября 29, 18:13
Вконтакте закрыла гео-поиск http://dlvr.it/QptcDZ

Twitter октября 29, 17:48
RT @t30p: Моя Борьба (Mein Kampf) - Мыслить №112 https://youtu.be/eq3r3n3jAkY с помощью @YouTube

Twitter октября 23, 17:57
8-й час в России http://dlvr.it/QpG99N https://twitter.com/f1ashr/status/1054793845546790912/photo/1

Twitter октября 18, 06:44
Яндекс атаковал Израиль http://dlvr.it/QnhhCy

Twitter октября 17, 16:07
Как разверифицироваться в Твиттере? http://dlvr.it/Qnddsc https://twitter.com/f1ashr/status/1052591848303120390/photo/1

Twitter октября 17, 16:07
На батуте в космос http://dlvr.it/QnddrT

Twitter октября 17, 16:07
Estonian Fitsme http://dlvr.it/Qnddn3

Twitter октября 17, 16:07
Россия будет воевать http://dlvr.it/Qnddq7

Мой твиттер

Копирайт

Все мысли, высказанные в блоге, являются моим мнением и за это мнение меня никто не забанит! Кроме того, никто не имеет право копировать материалы блога без использования ctrl+C/V!

© Copyright 2008