Hungry Mind , Blog about everything in IT - C#, Java, C++, .NET, Windows, WinAPI, ...

Показаны сообщения с ярлыком Microsoft. Показать все сообщения
Показаны сообщения с ярлыком Microsoft. Показать все сообщения

Xbox 360 Wireless Controller for Windows

Купил себе Xbox 360 Wireless Controller for Windows, для ПК. Некоторые игры засияли во всей красе, например заброшенный почти сразу Prince of Persia Forgotten Sands. Невероятно удобный манипулятор! Втыкнул ресивер в USB, засунул батарейки в устройство, включил - все, можно играть.

Xbox 360 Wireless Controller for Windows

Visual C++ concurrency runtime bug

#include <thread>
#include <mutex>
#include <condition_variable>
 
std::mutex m1;
std::mutex m2;
 
std::condition_variable e1;
std::condition_variable e2;
 
void t1()
{   
   for (;;) {
      {
      std::lock_guard<std::mutex> lg(m1);
      e1.notify_one();
      }
      std::unique_lock<std::mutex> m2Lock(m2);
      e2.wait_for(m2Lock, std::chrono::milliseconds(15));
   }
}
 
void t2()
{   
   for (;;) {
      {
      std::lock_guard<std::mutex> lg(m2);
      e2.notify_one();
      }
      std::unique_lock<std::mutex> m1Lock(m1);
      e1.wait_for(m1Lock, std::chrono::milliseconds(15));
   }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
   const auto hc = std::thread::hardware_concurrency();
   std::thread thread1(&t1);
   std::thread thread2(&t2);
   thread1.join();
   thread2.join();
   return 0;
}
 

Вот такая простая программа падает со следующим сообщением:

Unhandled exception at 0x0000000077A32782 (ntdll.dll) in Win32ConInv.exe: 0xC000000D: An invalid parameter was passed to a service or function.

Stack:

 	ntdll.dll!string "Enabling heap debug options\n"()	Unknown
>	msvcr110d.dll!__crtWaitForThreadpoolTimerCallbacks(_TP_TIMER * pti, int fCancelPendingCallbacks) Line 539	C
 	msvcr110d.dll!Concurrency::details::DeleteAsyncTimerAndUnloadLibrary(_TP_TIMER * timer) Line 696	C++
 	msvcr110d.dll!Concurrency::details::TimedSingleWaitBlock::destroyTimer(bool waitForOutstandingCallback) Line 457	C++
 	msvcr110d.dll!Concurrency::details::TimedSingleWaitBlock::Satisfy(Concurrency::Context * * pContextOut, Concurrency::details::EventWaitNode * pNode) Line 484	C++
 	msvcr110d.dll!Concurrency::details::EventWaitNode::Satisfy(Concurrency::Context * * pContextOut) Line 330	C++
 	msvcr110d.dll!Concurrency::details::_Condition_variable::notify_one() Line 645	C++
 	msvcp110d.dll!do_signal(_Cnd_internal_imp_t * * cond, int all) Line 68	C++
 	msvcp110d.dll!_Cnd_signal(_Cnd_internal_imp_t * * cond) Line 84	C++
 	Win32ConInv.exe!std::_Cnd_signalX(_Cnd_internal_imp_t * * _Cnd) Line 108	C++
 	Win32ConInv.exe!std::condition_variable::notify_one() Line 51	C++
 	Win32ConInv.exe!t1() Line 21	C++
 	Win32ConInv.exe!std::_Bind<1,void,void (__cdecl*const)(void),std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil,std::_Nil>::operator()() Line 1152	C++
 	Win32ConInv.exe!std::_LaunchPad >::_Run(std::_LaunchPad > * _Ln) Line 196	C++
 	Win32ConInv.exe!std::_LaunchPad >::_Go() Line 188	C++
 	msvcp110d.dll!_Call_func(void * _Data) Line 52	C++
 	msvcr110d.dll!_callthreadstartex() Line 354	C
 	msvcr110d.dll!_threadstartex(void * ptd) Line 337	C
 	kernel32.dll!BaseThreadInitThunk()	Unknown
 	ntdll.dll!RtlUserThreadStart()	Unknown

А вот и дефект на Microsoft Connect со статусом Closed. Stephan T. Lavavej обещает the fix will be available in the next release of our C++ Standard Library implementation, 12/17/2012. Дефект открыт 9/13/2012, сейчас 04/28/2013. Пиздец!

Internet Explorer 8 RC1

С дуру поставил Internet Explorer 8 RC1. Господа индусы, вы что, блядь, наделали? Он тормозит еще больше, чем предыдущий. Хотя, казалось, куда уж больше! Слов нет, одни матюки.

Microsoft GraveYard

Наткнулся на забавный мувик...

Гвоздь в гроб Windows

20 минут назад мне подкинули в аське ссылочку на статью "Гвоздь в гроб Windows". Мне, как человеку, использовавшему UNIX-подобные ОС системы больше 6-ти лет, стало интересно - что нового может быть брошено в эту глупую войну. Вкратце основные пункты статьи:

  • будущее за unix-системами, и уже ясно, что это будет Linux

    А почему Linux? Почему не FreeBSD или OpenBSD или Solaris? Ответ на этот вопрос полностью содержится в статье, только надо поменять Windows на Linux.

  • Выпустив продукт единожды (вложив деньги в его разработку), корпорация Microsoft косит бешенные деньги на постоянно возростающем количестве потребителей продукта, тратя при этом копейки. Другими словами, каждый платит за то, за что уже заплатили многие другие.

    Неоспоримый факт. Вот только программисты, тестировщики, менеджеры, уборщицы продолжают получать зарплату. Продолжают отвечать на глупые телефонные звонки, на сообщения в форумах поддержки, продолжают создавать апдейты, сервис паки и пр. А реальная стоимость (важность) разработки может оцениваться далеко не в выплаченных сотрудникам деньгах, а в миллионы раз больше.

  • Аналоги есть, и по своим характеристикам значительно превосходят Windows.

    По каким характеристикам и в чем превосходят? По количеству статей, которые я должен прочитать, чтобы настроить хоть что-то, что не было настроено при установке? Или по количеству команд, которые я вынужден набрать?

    Но при работе с ними есть ряд проблем, связанных с совместимостью программ, драйверами оборудования, невозможностью легально использовать закрытые патентами MS протоколы...

    Какие закрытые патентами протоколы? Проблема UNIX в том, что его ПО не соответствует потребностям пользователей. И, что самое плохое, - никто эти потребности выяснять не хочет. А Microsoft тем временем тратит кучу денег на создание удобных интерфейсов и повышение юзабилити.

  • они не заработали этих денег и близко.

    Кто "они"? Билл Гейтс? Свои деньги он заработал, уж поверь. А вот разработчики, написавшие Windows, действительно, своих денег не заработали (точнее, не получили), т.к. зарплата разработчика в MS колеблется от 75 до 150 тысяч в год (ровно, как и зарплата Билл Гейтса не составляет миллиарды). Остальные деньги сотрудники получают с опционов (акций) своей же компании. Чем больше человечек сделал для развития корпорации - тем больше он сможет купить опционов.

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

    Если рынок ПО (в частности, бесплатного ПО) не способен составить конкуренцию платным продуктам, то Microsoft в это не виновата. Ровно, как и любая другая организация не виновата, что ее продукт - лучший. Никто никого не заставляет покупать Windows. Сиди на своем Linux-е, чем ты не доволен? Firefox используют не потому, что он бесплатный, а потому, что он лучше. И, стань он платный, его будут продолжать использовать. Конкуренция рождается, когда продукты взаимозаменяемы. О Windows и Linux этого сказать нельзя.

  • пользуйтесь такой операционной системой, которую дают бесплатно, поскольку деньги создатели зарабатывают не на вас, а на техподдержке

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

  • программист должен сполна получить за свою работу, и плюс премию, и плюс отпускные, и плюс все вышеперечисленное умножить на три, если работа хороша. Но не миллиарды.

    Никакой программист не получает миллиарды, откуда эта глупость появилась в твоей голове?

  • Стоимость рекламы товара не входит в его рыночную цену.

    Ошибаешься. Ты платишь за товар, за его рекламу и сам же ее потом смотришь.

  • Мировой продукт должен быть бесплатен, т.к. стоимость разработки полностью окупается рекламой фирмы-производителя при использовании продукта.

    Леонид Каганов, а ты сыт от того, что отрекламирован? Или ты все-же ждешь, что твоя реклама когда-то превратится в заказ с кругленькой суммой? Или, может, ты выполнишь заказ бесплатно в пользу еще большей рекламы? До тех пор, пока не умрешь с голоду. Microsoft уже давно прошла этот этап и сейчас рубит заслуженное бабло (при этом нахаляву продолжая себя рекламировать).

  • Этот сыр - бесплатный.

    Для тебя - почти бесплатный. Зато не бесплатный для провайдеров, через оборудование которых прошли байты этой картинки. Бесплатного сыра не бывает. Точней, даже за бесплатный сыр кто-то платит.

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

    Автор, ты абсолютно некомпетентен, чтобы говорить подобное. Windows NT еще с версии 3.51 4.51 сертифицирована по уровню безопасности C2. И было это в 1995 году, а с тех пор много чего изменилось в ядре в лучшую сторону.

  • Интерфейс пользователя намного красивее и удобнее, например, у Макинтоша, откуда MS постоянно тырит решения.

    MS тырит, и правильно делает. А самый красивый и удобный интерфейс у удобной палки, которой можно колотить по пню.

  • быстрее всего исправляются ошибки в системах с открытым кодом.

    Беспочвенное заявление. Их там быстрее всего находят. И чаще находят. И находят порядком больше, чем в системах с закрытым исходным кодом. А Windows Update позволяет тебе быть уверенным, что дырки будут закрыты быстро и автоматически, без ежедневного чтения BugTraq. Да и лучше не исправлять ошибки, а выпускать софт без ошибок, но, оупенсорсу до этого далеко.

  • Да, Windows самая распространенная сегодня. А почему? Ответ прост: как мы уже говорили, это потому, что под Windows работают все программы, игры и любое оборудование. А почему они работают под Windows? Потому что это самая удобная среда для запуска программ и устройств? Напротив: большинство системных протоколов закрыто и нет документации. Программы и драйвера создают под Windows именно потому, что это самая распространенная система. Замкнутый круг.

    Они работают под Windows потому, что ОС представляет собой адекватную среду для разработки таких программ (как и UNIX для программ другого типа - сетевых сервисов). Потому, что аналога DirectX с аппаратной поддержкой видеокартами в UNIX-е нет и не будет. Потому, что графический сервер X11 - тормозящее устарелое убожество. Потому, что нет адекватных инструментальных средств для разработки.

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

    Бред. Производители софта сначала выбирают ОС (и инструментарий), а потом уже создают продукт. А создатели оборудования продают свои спецификации! И правильно делают.

  • пришлось бы бегать к ним в соседний квартал чинить слетевший Windows - страшную штуку в руках деятельного и любопытного новичка.

    Заменить Windows на Linux.

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

    У каждого свои цели при использовании чего-либо. Кто-то любит наблюдать появление строчек в файле /var/log/xxx.log, жуя при этом позавчерашний бутер, найденный в системном блоке. Кто-то вынужден наблюдать за изменением квот на бирже дабы сходить в дорогой ресторан, и ему совершенно наплевать на то, какая идеология у ОС.

  • Все больше программ появляется под Linux. Фактически нет только хорошего Фотошопа, хотя Gimp уже близок.

    Хорошего Фотошопа нет и не будет. По крайней мере до тех пор, пока не появится нормальный современный векторный графический сервер. Нет, не сервер, а подсистема, в которой шрифты будут выглядеть одинаково качественно, а не корявиться после очередного апдейта, а возможности видеокарты будут задействованы по максимуму.

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

В целом, с автором я согласен в том, что Microsoft гребет слишком много денег с пальца. В этом плане мне нравится лицензионная политика Oracle: используешь для зарабатывания денег - плати! Поэтому считаю, что для некоммерческого использования ОС должна быть бесплатной (или условно-бесплатной за 10 баксов). А послевкусие статьи у меня такое: оплачиваться должно создание корпоративного софта.

Мне кажется, что текущее положение вещей в области интеллектуальной собственности вполне рационально и адекватно - она (собственность) бесценна. Так что платим, товарищи. The best software money can buy.

Copyright 2007-2011 Chabster