Studay @ Digital October

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


И собственно сами участники мероприятия, которые в основном играли в XBox.




Метки:   


google plus search

Гугл анонсировал новый real-time search полностью скопированный с твиттера по функцилналу.

Для тех кро не верит информации, что гугл скопирует брендовые страницы с фейсбука, о чем я писал в предыдущем посте, то напомню, что информацию я почерпнул из личного разговора с AdewaleOshineye - представителем разработчиков google plus/

Метки:   


bitl.y to T.CO

Сегодня Твиттер анонсировал, что скоро перейдет с Bit.ly на купленную ранее t.co, то есть 2 символа выигрыш. Смертью это Bitly не грозит, так как популярнейший сервис используется многими сайтами в том числе и под "выделенными" своими именами. Однако, видимо мне придется в т30п перейти тоже на t.co , чтобы более точно отслеживать количество кликов по топовому посту с учетом реакции микроблогов.
ЗЫ: следующим постом расскажу про google developers day 2011 и про google plus.

Метки:   


gdd2011

Небольшое видео мероприятия гугла ниже:

Из интересного расказали про goole plus, что скоро и там появятся страницы брендов. Также, что у них плотная интеграция с Chrome, поэтому если вы пользуетесь хромом, то вся информация о вас уже есть в Google plus хотите вы этого или нет.
На секции венчурных капиталистов "русские американцы" поделились, что основной минус ведения бизнеса в России - бюрократия, а основной плюс - можно легко людей увольнять.

Метки:   


Аналитика по соц.сетям 2011

Свежий аналитический обзор за 2011 в PDF пользования соц.сетями в Америке.
Из интересного
1) Почти вся молодежь - 98% - сидит в соцсетях, то есть дальнейшего взрывного роста уже можно не ожидать?
2) Половина - сидят в фейсбуке.
3) При этом проводят в фейсбуке и твиттере заметно больше времени чем в GooglePlus. (непонятна методика подсчета, ибо в том же фейсбуке много перегрузок страниц, а в гугле и твиттере преобладают подгрузки через AJAX)
4) При этом из соц.сети 16%(в лидерах) трафика - это переход в поисковики. То есть люди имеют не все, что хотят в соц.сетях. При этом только 4% - переходы на медиа и новости, и 3% - на телевизионные каналы. Тут выводов не сделаешь.

Метки: ,   


Azure news

Облачные вычисления микрософта продолжают идти в ногу со временем
Уже доступен AzureToolkit for Windows 8
Для стартапов сделана программа бесплатного Азура на год с экономией аж до 3500у.е., но не спешим радоваться, так как это как всегда не для России, а во вторых требуется оформление BizSpark и лицензионного MSVS+MSDN , что и есть дуриловом на примерно такие же деньги


Метки: ,   


bb AdSense

Выяснилась причина, по которой гугл втихаря крутил у меня в блоге рекламу 3 месяца, а показы незасчитывал. А вину этому стал пост http://t30p.livejournal.com/14701.html. В правилах гугла написано, что блокируются сайты, которые содержат либо 1) непристойные или провокационные изображения 2) материалы, содержащие грубую или ненормативную лексику, в том числе эротические рассказы 3) сексуальные советы или рекомендации 4) эротические игрушки и продукция и т.д. А именно этим наполнена блогосфера, особенно по пятницам. В общем 100 у.е. в год не стоят того, чтобы посетители видели объявления. Все, отключаю AdSense в блогах, а жаль, ведь планировал окупить платный аккаунт за год.

UPDATE: После публикации этой записи и отключения рекламы в AdSense, СУП тут же перевел мой блог t30p@lj в режим read-only за публикацию полгода назад поста про навального. Собственно текст разбирательства с конфликтной комиссией. И копия самого поста про навального.

Метки: ,   


BE Themes contest

Разработчики BlogEngine заинтересованы в улучшении дизайна для BE и проводят конкурс на лучшую тему оформления для БЕ. В призах Xbox 360, да WP7. Если у кого есть желание поучавствовать, то пишите мне, подкину идей и просто денег на создание тем оформления блогов. А пока с верстальщиками шаблонов одни проблемы. Как только слышат ASP.Net, то сразу пропадают.

Метки:   


Amazon Browser

Амазон изобрел Opera Turbo и продвигает под брендом Silk. Перво-предшественником всего этого является простой RDP(удаленный десктоп) на VPS(виртуальный выделенный сервер) с мобильного телефона. И уже на сервере открывается браузер с сайтом. Так как амазон крупнейший поставщик виртуальных EC2 (считай тоже VPS), то он решил найти им применение через мобильный интернет.

Метки:   


asp.net 4.5

Уже много хорошего было сказано про следующую версию asp.net , которая выйдет вместе с windows server 8.
Для тех кто пропустил. Вот видео про минимизацию и заметное ускорение открытия страниц. И вот еще общая концепция улучшений. Можно видеть, что большой упор сделан на асинхронные операции. В частности по получению ответов из WebResponse. Сейчас же приходится использовать много второстепенного кода для реализации асинхронного сичтывания. Ниже приведу фрагмент, который используется для асинхронной обработки ответов получаемых из ЖЖ. После нескольких ДДОС атак они стали параноидальными и включили в ответах chuncked, чтобы контролировать загруженность канала, поэтому синхронное считывание очень часто проваливается. Выход из этой проблемы реализуется следующим классом, который надеюсь станет неактуальным в 4.5:
Copy Source | Copy HTML
  1. #region Ассинхронное чтение из документации
  2.     public class RequestState
  3.     {
  4.         // This class stores the State of the request.
  5.         const int BUFFER_SIZE = 1024 * 256;
  6.         public StringBuilder requestData;
  7.         public byte[] BufferRead;
  8.         public HttpWebRequest request;
  9.         public HttpWebResponse response;
  10.         public Stream streamResponse;
  11.         public Encoding encoding;
  12.         public FileStream FileToWrite;
  13.         public RequestState()
  14.         {
  15.             BufferRead = new byte[BUFFER_SIZE];
  16.             requestData = new StringBuilder("");
  17.             request = null;
  18.             streamResponse = null;
  19.             encoding = Encoding.UTF8;
  20.             FileToWrite = null;
  21.         }
  22.     }
  23.  
  24.     class HttpWebRequest_BeginGetResponse
  25.     {
  26.         public ManualResetEvent allDone;
  27.         const int BUFFER_SIZE = 1024 * 256;
  28.         const int DefaultTimeout = 2 * 60 * 1000; // 2 minutes timeout
  29.  
  30.         // Abort the request if the timer fires.
  31.         private static void TimeoutCallback(object state, bool timedOut)
  32.         {
  33.             if (timedOut)
  34.             {
  35.                 HttpWebRequest request = state as HttpWebRequest;
  36.                 if (request != null)
  37.                 {
  38.                     request.Abort();
  39.                 }
  40.             }
  41.         }
  42.  
  43.         public RequestState ReadAsyncWebResp(HttpWebRequest myHttpWebRequest, string filepath)
  44.         {
  45.             // Create an instance of the RequestState and assign the previous myHttpWebRequest
  46.             // object to its request field.  
  47.             RequestState myRequestState = new RequestState();
  48.             allDone = new ManualResetEvent(false);
  49.             myRequestState.request = myHttpWebRequest;
  50.             //Open a file to write if needed
  51.             if (!String.IsNullOrEmpty(filepath))
  52.             {
  53.                 myRequestState.FileToWrite = File.Open(filepath, FileMode.OpenOrCreate);
  54.             }
  55.  
  56.             // Start the asynchronous request.
  57.             IAsyncResult result =
  58.               myHttpWebRequest.BeginGetResponse(RespCallback, myRequestState);
  59.  
  60.             // this line implements the timeout, if there is a timeout, the callback fires and the request becomes aborted
  61.             ThreadPool.RegisterWaitForSingleObject(result.AsyncWaitHandle, TimeoutCallback, myHttpWebRequest, DefaultTimeout, true);
  62.  
  63.             // The response came in the allowed time. The work processing will happen in the 
  64.             // callback function.
  65.             allDone.WaitOne();
  66.  
  67.             // Release the HttpWebResponse resource.
  68.             myRequestState.response.Close();
  69.             if (myRequestState.FileToWrite != null)
  70.             {
  71.                 myRequestState.FileToWrite.Close();
  72.             }
  73.             allDone.Close();
  74.             return myRequestState;
  75.         }
  76.  
  77.         private void RespCallback(IAsyncResult asynchronousResult)
  78.         {
  79.             try
  80.             {
  81.                 // State of request is asynchronous.
  82.                 RequestState myRequestState = (RequestState)asynchronousResult.AsyncState;
  83.                 HttpWebRequest myHttpWebRequest = myRequestState.request;
  84.                 myRequestState.response = (HttpWebResponse)myHttpWebRequest.EndGetResponse(asynchronousResult);
  85.  
  86.                 // Read the response into a Stream object.
  87.                 Stream responseStream = myRequestState.response.GetResponseStream();
  88.                 myRequestState.streamResponse = responseStream;
  89.  
  90.                 // Begin the Reading of the contents of the HTML page and print it to the console.
  91.                 IAsyncResult asynchronousInputRead = responseStream.BeginRead(myRequestState.BufferRead,  0, BUFFER_SIZE, new AsyncCallback(ReadCallBack), myRequestState);
  92.                 return;
  93.             }
  94.             catch (WebException e)
  95.             {
  96.             }
  97.             allDone.Set();
  98.         }
  99.         private void ReadCallBack(IAsyncResult asyncResult)
  100.         {
  101.             try
  102.             {
  103.  
  104.                 RequestState myRequestState = (RequestState)asyncResult.AsyncState;
  105.                 Stream responseStream = myRequestState.streamResponse;
  106.                 int read = responseStream.EndRead(asyncResult);
  107.                 // Read the HTML page and then print it to the console.
  108.                 if (read >  0)
  109.                 {
  110.                     if (myRequestState.FileToWrite != null)
  111.                     {
  112.                         myRequestState.FileToWrite.Write(myRequestState.BufferRead,  0, read);
  113.                     }
  114.                     myRequestState.requestData.Append(myRequestState.encoding.GetString(myRequestState.BufferRead,  0, read));
  115.                     IAsyncResult asynchronousResult = responseStream.BeginRead(myRequestState.BufferRead,  0, BUFFER_SIZE, new AsyncCallback(ReadCallBack), myRequestState);
  116.                     return;
  117.                 }
  118.                 else
  119.                 {
  120.                     responseStream.Close();
  121.                 }
  122.  
  123.             }
  124.             catch (WebException e)
  125.             {
  126.             }
  127.             catch (IOException eio)
  128.             {
  129.             }
  130.             //пофиг на ошибки. что скачалось, то скачалось
  131.             allDone.Set();
  132.         }
  133.     }
  134.     #endregion

Метки:   


Кто я?

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

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

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

Topbot at FeedsBurner

Реклама

 

копирайт

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

© Copyright 2008