Allir þeir sem hafa áhuga á að kynna sér Silverlight er hér með bent á 3ja daga námskeið (13., 14., og 15. okt) sem heiðursmaðurinn David Platt (Why software sucks) heldur í samvinnu við Endurmenntun Háskóla Íslands. Kennt er á ensku og eru þátttakendur eru vinsamlega beðnir um að koma með eigin fartölvur á námskeiðið. Skráningu lýkur þann 24. sept og því er um að gera að skrá sig sem fyrst !
Nánari upplýsingar um námskeiðið má finna hér
Inspirado por este artículo. Estamos como siempre en el sector, inventando siglas para podernos explicar. En gran medida, detalles que nos interesan más a nosotros que a la gente de negocio, pero que sin duda tienen un impacto real en la manera de funcionar en el día a día de nuestros sistemas. Por clarificar algunos términos que han ido apareciendo en los últimos meses:
IaaS: Infraestructura como servicio: es lo más fácil de poner en marcha. Básicamente se trata de dejar al cliente que ponga en marcha máquinas virtuales, sobre las que nosotros podremos instalar cualquier cosa. No deja de ser la evolución de lo que se llamaba antes el hosting dedicado, pero aprovechando las tecnologías de virtualización. Es la que ofrece más flexibilidad al cliente (que puede montar lo que quiera), pero también es la que ofrece menos valor, porque sólo se trata de cambiar de lugar físico la máquina virtual en la que funciona un sistema. Existen ahorros en la administración de hardware, pero hay que administrar el sistema operativo.
PaaS, o Plataforma como servicio: En este caso cuando hablamos de plataforma nos referimos a la plataforma de desarrollo. Es una instalación que nos permite crear aplicaciones para que funcionen específicamente ahí. La idea es renunciar a algunas características de nuestros desarrollos para ganar en funcionalidad de plataforma. Windows Azure, por ejemplo, no permite a día de hoy escribir directamente a disco desde una aplicación (y por lo tanto no todas las aplicaciones que funcionan en Windows Server funcionarán en Windows Azure) pero a cambio ofrece la posibilidad de escalar las aplicaciones hasta niveles globales sin cambiar ni una coma de la arquitectura de la aplicación. Las aplicaciones además se pueden desplegar en todo el mundo, o cambiar de datacenter o de servidor con muy poco trabajo (cuestión de minutos). Igualmente una aplicación puede estar funcionando en una máquina virtual, darle instrucciones para que pase a 300 máquinas virtuales, y lo hace en cuestión de minutos. Hay que tener en cuenta el impacto que tiene todo esto en ahorro de tiempo y esfuerzo en desarrollo de arquitecturas y en planificación de la puesta en operación. Si se quiere de verdad aprovechar de verdad las capacidades de la nube con una aplicación hecha a medida, el servicio de plataforma es probablemente la mejor opción.
SaaS, o Software como Servicio: este modelo es el que hace tiempo se llamaba ASP (Application Service Provider). Se trata de ínstalar una aplicación de manera que pueda ser utilizada por múltiples organizaciones al mismo tiempo (y que cada una de ellas lo haga como si fuera la única, tanto en privacidad como en seguridad), generalmente a través de internet. En la oferta de Microsoft se puede encontrar muchas opciones de este estilo, desde BPOS a CRM Online y últimamente Windows Intune.
En fin, palabrejas que definen matices en el mercado del Cloud Computing, y que tienen pinta de quedarse por aquí una temporada. Supongo que es bueno ponerlos al aire y, si se quiere, empezar una discusión.
The launch of the next release of Microsoft Dynamics AX will be next year, 2011. We will be the hosting the Microsoft Dynamics AX Technical Conference 2011 in January to give partners and customers an early look at the product.
This will be an important event for architects, consultant developers and IT infrastructure consultants to get deep technical information on the upcoming release of Microsoft Dynamics AX. You can find out more information herehttp://www.microsoft.com/dynamics/DynamicsAXtechnicalconference2011
Конференция Платформа – это самое яркое мероприятие компании Майкрософт для разработчиков в нашей стране. Нынешняя, уже двенадцатая по счету, будет особо посвящена облачным вычислениям.
«Мы становимся свидетелями одной из самых серьезных трансформаций ИТ-индустрии за всю историю её существования, – сказал Николай Прянишников, президент Microsoft в России. – Облачные вычисления кардинальным образом меняют подход к информационным технологиям, делая их более доступными для самого широкого круга организаций и конечных пользователей, как в 90-ые годы это сделала операционная система Windows. Мы очень серьезно работаем над тем, чтобы предложить компаниям любого масштаба и простым пользователям лучшие решения «в облаке», и мы будем рады представить на «Платформе 2011» результаты нашей работы».
Конференция пройдет 17 и 18 ноября в в Центре международной торговли по адресу: г. Москва, Краснопресненская набережная, 12. Узнать подробнее и зарегистрироваться можно на сайте конференции http://msplatforma.ru/
I love visualizations. One of my all time favorites are the programs that show how different sorting algorithms work. I was reminded of this by a recent post by Stacey Armstrong (CS News – What do sorts sounds like? ) with a link to a sorting sample that used sound as well as images. You can access the “What different sorting algorithms sound like” imagine at this link. These visualizations are really quite helpful for understanding how these sorts work. In fact writing them is a great exercise for students. But I get asked the question “why bother teaching sorting algorithms when most programmers use library or framework sorts. It’s a fair question.
If I want to sort an array named MyArray in a dot net language I will call the sort method of the Array object. That’s it. One call to a method with a parameter. It’s quick and easy for me as a programmer and the results are a very fast sort. In fact in every test I have done the framework sort method has been faster than any sorting algorithm I can write myself even when I use the best reference books I can find. Truth be told companies hire really brilliant mathematicians and computer scientists to create their library methods. Few can hope to do as well, let alone, better than these people. They bring outstanding brains and unparalleled training to the task. So why have students write sort algorithms?
Several reasons. One is just to study algorithms in general. Looking at different methods of sorting lets you discuss efficiency (think Big-O) using a problem (sorting) that students already understand. Though they probably don’t understand it as well as they think they do. It also helps to understand complexity of things that appear easy on the surface. Just try asking them how they sort things and watch them struggle to document the process. Along the way we get to explain related concepts such as searching (insertion sort), swapping of objects, loops and nested loops, and for several sorts – recursion! Quick sort is a much better example of recursion than Fibonacci sequence or Towers of Hanoi in my opinion. Students can more easily relate to sorting and that is one of the things that makes for a good exercise.
So it is not so much about the particular problem (sorting) as it is learning the tools and related (or sub) concepts. And if you use visualizations it can even be fun. Are you using visualizations for sorts or other algorithms? What do they look like? Are they working for you in your classes? Please share what works for you.
By the way, I do highly recommend Stacey Armstrong’s blog if you teach computer science. He’s been posting a lot of good stuff.
A customer reported some issues with obtaining performance counters from Exchange. in particular they wanted to access the MSExchangeIS\Rows in NamedProps Table“ Perfmon Counter using WMI. Using WMI, you can access system counter data programmatically from objects in the performance libraries using WMI performance classes. The customer had written a script to access several other performance counters using WMI but was having trouble with the NameProps specifically in Exchange.
In WMI, you can access a bunch of counters from the base class - Win32_PerfFormattedData.
Performance Counter Classes
http://msdn.microsoft.com/en-us/library/aa392738(v=VS.85).aspx
Here is an example of obtaining performance counters ..
strComputer = "supernova.prod.com"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( "SELECT * FROM Win32_PerfFormattedData_Perf_PerformanceCounter_PerformanceCounterSample",,48)
For Each objItem in colItems
Wscript.Echo "-----------------------------------"
Wscript.Echo "Win32_PerfFormattedData_Perf_PerformanceCounter_PerformanceCounterSample instance"
Wscript.Echo "raw: " & objItem.raw
Next
But with exchange, you do have access to the Exchange_Mailbox Class but this only has methods/properties that return information about Microsoft® Exchange mailboxes.
http://msdn.microsoft.com/en-us/library/aa143732(EXCHG.65).aspx
Unfortunately Exchange 2007 RTM cut the support of WMI to manage/monitor the Exchange Server. However you should be fine using Powershell as the alternative, most of the counters from that should be available. What is be required is to use Powershell to read the data from the performance counters. Here is the generic Cmdlet to read this:
Get-Counter
http://technet.microsoft.com/en-us/library/dd367892.aspx
This will allow you to access these counters. However the customers basic problem was that they wanted to use these counters within a cscript because they were writing a monitor for SCOM.
Within SCOM, cscript has supported scripting environment and within some complex actions you can use powershell for some rules/monitors within SCOM. You can use powershell within System center operations manager but the customer wanted a way to access these kind of counters from within cscript instead. Microsoft Operations Manager 2007 R2 now includes the ability to run Windows PowerShell scripts from within management packs by using new module types provided in the Windows Core Library management pack.
This concluded that the best way to go was to use powershell (within COM) to access the counters and not be using WMI in a CSCRIPT-Environment.
ほかの方から教えていただきました。面目ない。
Windows Phone 7 のエミュレーターは [PageUp] キーでハードウェアキーボードからの入力ができるようになり、[PageDown] でハードウェアキーボードからの入力が切れます。また [Pause] キーでトグル操作になります。
Keyboard Mapping for Windows Phone Emulatorhttp://msdn.microsoft.com/en-us/library/ff754352
後は Phone 7 に届くまで #32:Emulator 単体起動 のようにショートカットがあれば、エミュレーターを単体起動でき、上記の技で入力することができます。もちろん入力だけなので日本語入力はだめですが。
We’re in the midst of launching some new Windows Azure training, and here are the first two events, hot off the press, so to speak. We’ve also got a great new online conference coming up – details to follow very soon.
Online Windows Azure Platform – Accelerated Training Workshop
If you’ve got some good practical experience with Visual Studio and want to do some more practical exercises, take a look at our online “Windows Azure Platform – Accelerated Training Workshop”, uniquely delivered over a two week period from 11 - 25 October , combining instructor led sessions (delivered virtually over Live Meeting) with independent distance learning, email support and access to hands-on practical exercises. The training provides delegates with an opportunity to gain insight into the nature and benefits of the Windows Azure Platform.
This course is aimed at software developers with at least 6 months practical experience using Visual Studio 2008 or Visual Studio 2010.
Find out more information and register
In Person Windows Azure Platform – Accelerated Training Workshop
If face to face learning is more your thing, this two-day intensive instructor-led workshop (£100) will provide you with an early opportunity to gain insight into the nature and benefits of the Windows Azure Platform. Delivered through workshop style presentations and hands-on lab exercises, the workshop will focus on three key services – Windows Azure, SQL Azure and AppFabric.
Agenda
•Module 1: Windows Azure Platform overview
•Module 2: Introduction to Windows Azure
•Module 3: Introduction to SQL Azure
•Module 4: Introduction to AppFabric
Objectives
At the end of the workshop delegates will:
• Gain an understanding of the nature and purpose of the Windows Azure Platform
• Understand the role played by the following components: Windows Azure; SQL Azure; AppFabric
London 30th September 2010
London 15th November 2010
London 8th February 2011
London 5th April 2011
Ein Update für Silverlight 4, das auch für Beta-Anwender von Visual Studio LightSwitch interessant ist, steht jetzt unter der Versionsnummer 4.0.50826.0 zum Download bereit. Einhergehend mit der neuen Version wurde auch das Silverlight SDK (Software Development Kit) aktualisiert und erweitert. Microsofts Tim "Silverlight" Heuer beschreibt die Details des Updates in seinem Blog, richtig in die Tiefe geht der Knowlede Base-Artikel KB2164913. Für Eilige stehen direkte Downloads des SDKs und der Runtime für Windows- und Mac-Endanwender bereit.
In der MSDN Deutschland Tutorial-Reihe „3 Zeilen Code – Entwickeln für Windows 7“ erklärt eine weitere Kurzanleitung, wie sich die Funktionalitäten der „Windows 7“-Energieverwaltung mit wenigen Dreizeilern in eigene Anwendungen integrieren lassen. Wie bei allen Artikeln der Serie steht das dazu passende Codebeispiel gleich zum herunterladen bereit.
Menu: Tools -> Options -> Text Editor -> [Language] -> TabsVersions: 2008,2010Published: 9/8/2010Code: vstipEdit0072
Make sure to check out the Windows Phone Developer Portal!
Some people like tabs in their code and others are more fond of spaces. You can specify what you want by going to Tools -> Options -> Text Editor -> [Language] -> Tabs:
Сегодня никаких компьютеров, но кое-что интересное и важное – математика. (И, веселого празднования Дня Канады всем канадцам!)
"Car Talk" – это популярная еженедельная радиопередача по Национальному Открытому радио, которая идет уже несколько десятков лет и в которой братья из Бостона Том и Рэй острят по поводу проблем автомобилей и человеческих взаимоотношений. Одной из главных особенностей этих программ является рубрика «головоломка». Вот головоломка из передачи, которая выходила в эфир пару недель назад, в полном виде:
Тим и Джетро счастливо работают на заправочной станции в небольшом городке. И поскольку Farmer's Almanac[1] предсказал, что это будет самая холодная зима со времен ледникового периода, они были безумно рады тому, что могут находиться внутри помещения, пока клиенты заправляют свои автомобили самостоятельно.
Это была настолько современная запр��вочная станция, что в ней были камеры для каждой заправочной колонки и монитор, который показывал заднюю часть любого автомобиля, подъезжающего к колонке.
Когда же тоска от такой работы окончательно их одолела, Тим и Джетро начали играть в маленькую игру. Игра заключалась в попытке угадать, какой клиент подъедет к колонке с такой стороны, чтобы дверца топливного бака находилась с противоположной стороны от колонки.
Теперь они не могли видеть автомобили, подъезжающие к заправочной станции, поскольку видеокамеры предназначены для наблюдения только задней частью подъезжающих автомобилей. Так что у них не было возможности посмотреть боковую сторону автомобиля, чтобы увидеть расположения крышки топливного бака. Они могли видеть автомобиль только после того, как он подъехал к колонке для заправки.
Они делали ставки перед тем, как водитель глушил двигатель и выходил из машины и до того, как он хлопал себя по лбу из-за того, что подъехал с неправильной стороны.
Джетро был прав в 99 процентах случаев. Тим был прав в 50 процентах случаев, поскольку он просто гадал.
Что знал Джетро такого, что позволяло ему понять, когда водитель подъезжал к заправочной колонке с неправильной стороны?
Когда я услышал этот вопрос, ответ на него для меня был очевидным. Представляете мое удивление, когда ответ, который был для меня очевидным, оказался не тем ответом, который дал Рэй в прошлую субботу! Ответ Рэя заключался в том, что практически во всех автомобилях выхлопная труба находится с противоположной стороны от дверцы топливного бака. Джетро знал, что если у подъехавшего автомобиля выхлопная труба располагалась с той же стороны, что и заправочная колонка, значит, водитель подъехал с неправильной стороны. Джетро был точен в 99% случаев, поскольку практически все автомобили, которые вы встретите на наших улицах, отвечают этому шаблону; только лишь у небольшого количества автомобилей выхлопная труба располагается по середине, выхлопных трубы две, дверца топливного бака располагается по середине, располагается с той же стороны, что и выхлопная труба или имеет другую подобную аномалию.
Я не собираюсь заходить сегодня так далеко, как это иногда делает Томми и кричать ФАЛЬШИИИИИВКА! Я верю, что это на 99% надежный эвристический способ определения стороны расположения дверцы топливного бака и даже если Джетро его знал, то он мог спокойно победить Тима. (Замечу, что мы не пытаемся рассуждать о том, на основании чего делал предположения Тим, но можем предположить, что его догадки основывались на некотором процессе сродни подбрасыванию монетки). Очевидно, что когда Джетро и Тим играли в эту игру, то где-то в половине случаев получалась ничья (поскольку Тим случайно угадывал правильно), но в другой половине случаев в основном выигрывал Джетро. И я с этим не спорю.
Однако существует чрезвычайно важный аспект анализа, который в данном случае проигнорирован. Мы знаем по опыту, что процент водителей, которые подъезжают с неправильной стороны колонки, достаточно мал. Те редкие случаи, когда я подъезжал с неправильной стороны колонки, были связаны с тем, что это был арендованный или чужой автомобиль (а во многих автомобилях нет стрелки на панели приборов, которая показывает, с какой стороны располагается дверца топливного бака). Основное большинство водителей подъезжают с правильной стороны колонки. Этот дополнительный факт, пропущенный в исходной формулировке задачи, но разумно предполагаемый, существенно изменяет анализ.
Давайте назовем автомобиль, подъехавший с неправильной стороны колонки «положительным» (по причинам, который будут понятны позднее) и автомобиль, подъехавший с правильной стороны колонки «отрицательным». Джетро и Тим делают предположения о том, является подъехавший автомобиль положительным или отрицательным. Давайте назовем автомобиль, положение дверцы топливного бака которого может четко предсказать Джетро «нормальным» автомобилем, а которого не может – «не нормальным».
Давайте предположим, что процент «положительных» водителей составляет 1%. Обратите внимание, что этот процент такой же, как и вероятность того, что эвристическое предсказание Джетро окажется неверным. Я сделал такое предположение намеренно, но на самом деле имеет значение только то, что оба эти значения являются маленькими. Позднее мы выясним, что произойдет при изменении этого значения. Но сейчас, давайте просто предположим, что процент тупоголовых водителей примерно равен вероятности ошибки Джетро.
Но при наличии этих разумных предположений, Джетро вообще больше не нужна никакая эта хитрая эвристика! Предположим мы заменим Джетро на Боба, который всегда ставит на отрицательное независимо от положения выхлопной трубы. Эта стратегия будет работать в 99% случаев, поскольку в 99% случаев водители подъезжают с правильной стороны!
При наличии этого разумного предположения, решение для меня было сразу же совершенно очевидным: всегда ставить на отрицательное. Вы сможете одержать победу над стратегией Тима, основанной на «подбрасывании монеты» путем простого наблюдения, что отрицательные значения значительно превосходят положительные; поэтому разумно всегда ставить на отрицательное.
Предположим Боб и Тим сыграют в эту игру миллион раз (в Бостоне долгие зимы) и Боб будет использовать стратегию «всегда ставить на отрицательное», что, как мы знаем, будет работать в 99% случаев исключительно основываясь на распределении между положительными и отрицательными результатами. В среднем будет 990000 отрицательных и 10000 положительных результатов. Боб будет предсказывать отрицательный результат всегда, а Тим – в 50%. Итак, для этих 990000 случаев Боб выиграет 495000 раз, столько же раз будет ничья и не проиграет ни разу. Боб никогда не будет предсказывать положительный результат, а Тим будет предсказывать этот результат в 50% случаев. Так что для 10000 случаев Боб никогда не выиграет, в 5000 случаях будет ничья, и в 5000 случаях он проиграет. Из миллиона игр, Боб выиграет 495000 раз, ничья будет 500000 раз и проиграет 5000 раз. Как мы и ожидали, Боб будет выигрывать в 99% игр, в которых не произошла ничья.
Теперь давайте предположим, что Джетро и Тим играют в эту игру миллион раз и Джетро использует свою хитрую стратегию, основанную на положении выхлопной трубы, которая оказывается точной в 99% случаев, но не на основе положительных или отрицательных результатов, а на основе определения правильных автомобилей. Анализ будет аналогичным: существует 990000 нормальных и 10000 необычных автомобилей. Джетро будет предсказывать нормальные автомобили в 100% случаев, и необычные автомобили в 0% случаев, и т.д. и т.п. и выиграет 495000 раз, ничья будет 500000 раз и проиграет 5000 раз, точно так же, как и Боб.
Это раскрывает мою точку зрения о том, что Джетро совершенно не нужна его хитрая тактика, чтобы победить Тима. И Боб, и Джетро выиграют у Тима в среднем одинаковое число раз, не зависимо от применяемой стратегии. Но мы можем рассмотреть стратегию Джетро глубже.
Из одного миллиона попыток, в 99% случаев будут нормальные автомобили. 99% из них будут отрицательными, т.е. средние цифры будут такими:
980100 нормальных отрицательных – Джетро предсказывает, что будет отрицательное, правильно
9900 нормальных положительных – Джетро предсказывает, что будут положительное, правильно
9900 необычных отрицательных – Джетро предсказывает, что будет положительное, неправильно
100 необычных положительных – Джетро предсказывает, что будут отрицательные, неправильно
Бог ты мой! Джетро предсказывает положительный результат в 19800 случаях и ошибается 50%, даже со своей 99% эвристической точностью! Рассматривая только эти случаи, когда Джетро говорит о положительном результате, он угадывает не чаще, чем Тим, со своим алгоритмом на основе подбрасывания монеты.
А теперь давайте представим, что мы имеем дело не с мужиками, которые пытаются определить тупоголовых водителей, а имеем дело с тремя врачами, каждый из которых пытается определить не болен ли пациент болезнью Таппета. Предположим, что 99% жителей обладает иммунитетом к этой болезни: они не больны. У доктора Джетро есть тест болезни Таппета, который точен в 99% случаев. (Люди, для которых этот тест работает, являются «нормальными», т.е. 99% людей – нормальные). Доктор Боб вообще не заморачивается с анализами, он просто каждый раз говорит «вы здоровы». Доктор Тим – бросает монетку.
Предположим, вы прошли всех трех докторов и каждый из них сказал «вы не больны». Помните, что доктора Боб и Джетро оба точны в 99% случаев, но доктор Тим точен только в 50% случаев. Вы точно ничего не узнали у доктора Боба, который даже не взглянул на вас; тот факт, что его диагноз точен в 99% случаев ничего не дает вам. И вы абсолютно точно ничего не узнали у доктора Тима; он подбросил монетку прямо перед вашим носом. Но из 980200 пациентов доктора Джетро, которым он сказал «не больны», он оказался прав в 980100 случаях, а в 100 случаях – ошибся. Когда доктор Джетро говорит о том, что пациент здоров, то его диагноз точен в 99.99% случаев.
С другой стороны, вероятность того, что доктора Боб или Тим ошиблись с отрицательным диагнозом, в обоих случаях составляет 1 шанс из 100. Вероятность того, что доктор Джетро ошибся в отрицательном диагнозе составляет 1 из 10000, т.е. в сто раз менее вероятно. Доктор Джеттро использует преимущество маленькой вероятности положительного диагноза и точность тестов, в то время как другие врачи этого не делают. Отрицательный диагноз доктора Джетро намного, намного надежнее, чем диагноз двух других врачей.
А что если результат положительный? (Очевидно, что доктор Боб никогда не поставит такого диагноза, так что его в этом случае мы можем игнорировать). Так чьему мнению стоит доверять: мнению доктора Джетро или доктора Тима? Если доктор Тим сказал, что диагноз подтвердился, тогда вероятность того, что он ошибается составляет 99 шансов из 100. Если же доктор Джетро сказал о том, что диагноз подтвердился, то вероятность того, что он ошибся составляет 50 шансов из 100. Мнение доктора Джетро все еще более надежно, но это для большинства людей совершенно неинтуитивно, что тест, точный в 99% случаев обладает 50% вероятностью ошибки при отрицательном результат теста.
И, конечно же, чем более редкой является болезнь, тем больше вероятность того, что отрицательный диагноз является корректным; у большинства людей нет этой болезни, а значит, отрицательный результат становится более вероятным. Но обратная сторона заключается в том, что чем менее распространенной является болезнь, тем выше вероятность того, что положительный диагноз будет ошибочным: из-за ошибки во время тестирования.
Представьте, что только один водитель из тысячи будет подъезжать с неправильной стороны заправочной колонки. В этом случае на 99% точный эвристический алгоритм Джетро станет хуже стратегии Боба «всегда ставь на отрицательное», поскольку у алгоритма Джетро появится слишком много «ложных срабатываний».
Это является серьезной проблемой в медицине! Худшим ошибочным результатом является ложное отрицание, когда тест говорит, что ты здоров, когда ты на самом деле болен. Вот почему стратегия доктора Боба совершенно недопустима; все его неправильные результаты являются ложными отрицаниями. Однако математика нам показала, что при наличии достаточно точных тестов у доктора Джетро, для маловероятных случаев, ложные отрицательные результаты будут достаточно редкими.
Но и ложные положительные результаты приводят к ненужному, потенциально вредному и дорогому лечению, не говоря уже о лишнем беспокойстве. Математика в этой ситуации говорит о том, что вероятность ложного положительного результата невероятно высока, когда вероятность ошибки и вероятность заболевания являются соизмеримыми величинами. Тесты редких заболеваний должны быть невероятно точными для снижения вероятности ложного положительного результата. Вероятность ошибки должна быть на порядок ниже вероятности возникновения заболевания.
Этот тип вероятностного анализа основывается на теореме Байеса и обладает множеством невероятных следствий, гораздо более серьезных по сравнению с рассмотренными здесь примерами. Эти следствия применяются в законодательстве, алгоритмах определения нежелательной почты, они применяются повсюду.
Если у Тома и Рэя будут комментарии по поводу критики их загадки, я с удовольствием их выслушаю.
Оригинал статьи
[1] Farmer's Almanac - это ежегодное периодическое издание, которое публикуется с 1818 года и знаменито оно , помимо всего прочего публикацией прогноза погоды на длительный период времени. Подробнее см. http://en.wikipedia.org/wiki/Farmers%27_Almanac - Примеч. перев.
One of the consistent pieces of feedback from our Australian TechEd attendees is “the schedule builder is difficult to navigate”
Rob Farley, of Lobster Pot Solutions in Adelaide used Live Labs Silverlight Pivot to create a Session Browser view. According to Rob, he screen-scraped the data.
Viewing complex data sets, such as TechEd session data, in Pivot is just beautiful. And useful.
This Pivot was highlighted by Michael Kordahi in the TechEd keynote:
In the week prior to TechEd, a magical URL appeared that exported a 3Mb XML file. This contained Session, Topic, Speaker and Room data all mashed up in XML. Only 25% of the data corresponded to real sessions. And there were other small pieces of clean up required.
My goal was to generate an OData feed of the raw data for others to use for their nefarious reasons. The easiest way would be to add an OData feed from the original source. As with most IT situations, it wasn’t that easy as the system contains PII data and the cost to implement outweighed the immediate benefit.
Onto data munging.
At this point I will have to make an admission. I like to code first. Research post the event showed that I could have used SQL Server SSIS to import the data via a schema. My attitude is that the less you deal with XML the better life is.
After downloading the XML, it is processing time.
Waitlisted = string.IsNullOrEmpty(ss.Element("waitlisted").Value) ? 0 : Convert.ToInt32(ss.Element("waitlisted").Value)
For future work, a worker-role in Azure capturing and updating the data would have reduced personal intervention in updating the data.
Microsoft patterns & practices (p&p) is a small group of technology-passionate architects, developers, writers, and evangelists hidden away in the woods in a quiet corner of Redmond campus and sprinkled thinly across many countries around the globe. They strive constantly to provide developers with predictable results by using proven practices. p&p develops guidance and documentation in a myriad different forms, books, configurable reusable code frameworks, end to end samples, and much more in order to help developers be more successful when working with the Microsoft platform, tools, and technologies.
Always at the leading edge of new technologies, one of their most recent series of projects demonstrates how easy it is for developers to make used of their existing skills to join the growing mobile revolution by developing for Windows Phone 7 and Windows Azure cloud services. The Windows Azure Guidance project is divided into phases that cover migrating applications to the cloud, building new applications and services for the cloud, and leveraging the cloud.
As an accompaniment to this project, the same team is creating a guide to building applications on Windows Phone 7 and the cloud right now. It shows how easy it is to take your Silverlight and .NET experience (and code), using familiar tools such as Visual Studio, and very quickly create great looking and great performing applications that integrate a compelling mobile user experience with the capabilities and availability of cloud-based services.
The guides are based around the experiences of planning, architectural design, and development in fictional corporations, and include written material that describes their journey; and adds extra information that is useful within the application and environmental space inhabited by Windows Azure, SQL Azure, and Windows Phone 7. The projects also provide you with downloadable reference implementations—real code for the applications that you can install and run, and use to help you develop your own applications.
Isn’t it time you were getting mobile with Windows Phone 7, and moving into the cloud? For more information about p&p, the Windows Azure Guidance project, and the Windows Phone 7 project see the following resources:
· "Windows Azure Guidance" at http://wag.codeplex.com/
· "Windows Phone 7 Developer Guide" at http://wp7guide.codeplex.com/
· "Claims Based Identity & Access Control Guide" at http://claimsid.codeplex.com/
· "patterns & practices Developer Center" at http://msdn.microsoft.com/practices/
Read Alex’s blog
If you have been following this blog for a while, you will have often heard Kristen and I talking about virtual classroom tours, more commonly know as VCTs. These are the project submissions that we receive and share at the Partners in Learning Innovative Education Forums. We have over 200 VCTs hosted on the UK Partners in Learning Network site. These have been created by teachers throughout the UK, many are award winning projects. There are also a large number from teachers right across the globe, they show how technology is being used to support great learning and teaching in other countries.
The VCT is a simple PowerPoint template, that is not meant to be the usual slide presentation. But an e-portfolio, documenting a project that a teacher has undertaken.
The template consists of two slides. The first asks for a summary of the project, the software used, the age range of the pupils and details of the school.
The second slide is where a teacher can place examples of resources used and created during the project. This can include photos and links to websites that were used in the project. This could be a link to the school’s learning platform, especially if it is hosting resources and/or outcomes of the project. We also encourage the uploading of any video resources used to the schools learning platform or YouTube, and links added to the slide. Video could be simply embedded on the slide, but this has a tendency to make the file size a little too large.
But, probably the two most important documents are the embedded Word files. These provide the detailed thinking behind the project and the reflection about the impact on learning. This is the unique feature of the VCT, as it asks teachers to reflect on the most important outcome, learning.
The Virtual Classroom Tour concept has been adopted by many schools and Local Authorities as a professional development tool, if you are interested in using it, please feel free to download the template and modify how you wish.
The best way to experience the benefits of using this concept is to document a project that you have done or are doing in your school, and enter it into this year’s Innovative Education Awards which will be announced at our Innovative Education Forum in November. So download the template attached to this post and get started.
Shared components define shared resources. It might seem obvious, but it’s important to understand that whatever you do to a shared resource during the installation of one product affects those same resources for any other product. For example, when upgrading one product to update files shared with another product, that other product will use the newer resources such as versioned files. It’s important to test those interactions before you ship to make sure the products can work with newer resources – that the changes to those resources are backward compatible.
By default, newer versioned files will overwrite older versioned files; however, non-versioned resources like text files or registry values are always overwritten. But even versioned files exhibit different behavior when and how they are downgraded.
Continuing with the example where one product is upgraded by another MSI and shares components with another product on the system, uninstalling either of those products leaves the files at the current version. Even if both products initially installed version 1.0 of a shared file and one of those products was upgraded to include version 1.1 of that same shared file, uninstalling that product which upgraded the file to 1.1 will leave the file version at 1.1. Shared components are ref-counted and when uninstalled that reference count is only decremented.
If one or even both of those products are patched by an MSP, uninstalling that patch will downgrade that file back to version 1.0 regardless of the reference count. But Windows Installer 4.5 introduced a new feature called shared component robustness will prevent shared components marked with this bit from being downgraded when a patch is uninstalled. Windows Installer 4.5 is available as a redistributable, and this feature is available in Windows Installer 5.0 included in Windows 7 and Windows Server 2008 R2.
But if you need this functionality down-level when you can’t take a dependency on Windows Installer 4.5, you need to consider whether you prefer that files are kept at their newest version or forcibly downgraded.
The difference in behavior could be desirable for your scenarios, but if they are not you need to plan your product deployment strategy with Windows Installer accordingly.
As you may be aware, Lab Management GDR is now available. In sync with this release, I am happy to announce that the VM Prep Tool for Visual Studio Lab Management 2010 GDR in now available at http://code.msdn.microsoft.com/vslabmgmt.
What’s new?
VM Prep Tool GDR supports installation of patches for all lab management software on the VM. Patches can be downloaded here: (http://www.microsoft.com/downloads/details.aspx?FamilyID=8406ef19-35a3-4c03-a145-08ba982f3cef&displaylang=en) All patches to be installed should be indicated in the LabVMConfig.xml (located in the same folder as VMPrepTool.exe) under the ‘PatchesFolder’ parameter. The VM Prep Tool would pick up any patch executables found in this folder and install them on the VM.
This operation is supported both in self-service/ admin mode using the VM Prep Tool UI or from the command line.
Please refer to the documentation available on the release site for details on how to setup and use the tool. Do let us know if there are questions or feedback on the tool. Previous versions of the tool will continue to be available online (under the download tab->Releases) in case someone still requires it.
Tech.Ed Online is here!
Tech.Ed Online is the best way to catch up on all the latest Microsoft technology updates and training information from Tech.Ed NZ and around the world. With more than 170 sessions available on-demand or for download from Tech.Ed NZ, along with more than 250 sessions from around the world, Tech.Ed Online is the most up-to-date source for all things Microsoft. In addition to watching the sessions and accessing the PowerPoint presentations, you can share and discuss technical content and ideas with your peers in New Zealand and around the world.
http://www.microsoft.com/nz/techedonline
Today’s post is brought to you by Frederique Klitgaard. Frederique is a writer on Office.com
It’s easy to understand why the IF function appears in the top 10 list of popular Excel functions. It’s a versatile function that can be used for all sorts of tasks.
For example, this function can save you a lot of time when you need to grade a stack of papers. It quickly turns a long list of test scores into grades without having to do any of the math. It can also instantly determine who passed or failed.
I don’t ever grade papers but I’ll use this example to show you the effectiveness of this function. Let’s start by having a look at the syntax that this function uses to determine that a condition is true or false.
IF(logical_test, [value_if_true], [value_if_false])
The first argument, logical_test, is the required value or expression that will be evaluated to true or false. Expressions use comparison operators, such as equal to (=) or greater than (>), for example A10=100. For a list of comparison operators, see Calculation operators and precedence.
The other two arguments, value_if_true and value_if_false, are optional arguments (as indicated by the square brackets in the syntax). When these arguments are used in the formula, they’ll return the value that you want to be displayed when the logical_test argument evaluates to true or false.
I’ll s apply this syntax to the following list of test scores.
To determine who passed or failed the test, I want the formula to return the following results:
Test score
Result
Greater than or equal to 70
Passed
Less than 70
Failed
In the first cell of the Result column, cell C2, I’ll enter the following formula:
IF(B2>=70, “Passed”, “Failed”)
To turn the list of test scores into grades, I can go a step further and embed additional IF functions as formula arguments, often referred to as nesting. You can nest up to 64 IF functions as value_if_true and value_if_false arguments.
I want the formula to return the grades as follows:
Grade
Greater than 89
A
From 80 to 89
B
From 70 to 79
C
From 60 to 69
D
Less than 60
F
Based on these conditions, the nested formula I’ll enter in the first cell of the Grade column, cell D2, will then look like this:
IF(B2>89, “A”, IF(B2>79, “B”, IF(B2>69, “C”, IF(B2>59, “D”, “F”))))
Notice that I’ve nested three other IF functions to calculate the grades. The last argument doesn’t need the IF function; it automatically displays an F for numbers that have not been accounted for in the nested IF functions. I’ve used the IF function four times, so I’ll need to include four ending parentheses in the formula.
Because I used a table format, the formula is automatically applied to all test scores. If that were not the case, however, I would just fill the formula down to the other cells in the column to get my list of grades.
That’s all there is to it. I’m ready to get my rubber stamp and grade away!
I hope that the examples I used will help you become familiar with this function. For additional information and other examples, please see our function reference article, IF function.
Today I resigned from Microsoft. While I’m leaving to take a big step in a new direction, I have to say, it’s with very mixed emotions.
Five and a half years ago, I started a journey that changed me forever. Not only was it the realization of a teenage dream (I still remember unwrapping the Visual Basic 3.0 box as an intern and thinking, one day I’ll ship a product for Microsoft), but it was also a graduation of sorts into the realm of industrial software engineering.
My time at Microsoft has been completely magical. Not only have I been fortunate to work with some of the most amazing professionals in my career (colleagues, partners, influences and students!), I’ve also had the opportunity to travel around the world, move from Australia to the United States, and fulfill a life-long dream and ambition, to ship a major product for Microsoft Corporation.
But, it’s time to move on.
Where am I going? I’m joining PricewaterhouseCoopers.
What am I going to do there? I’m taking a role as Director of Cloud Computing, focusing on how customers transform their businesses to take advantage of the cloud.
Why? Cloud is my passion, and while building one of the biggest and best at Microsoft was amazing from a geek and engineer perspective, I’m yearning to focus on the other aspects of what it takes for customers to truly use the cloud as a business transformer.
What will happen to my blog? I have a new one here.
So to all my Microsoft friends and family, thanks for five and a half years of being awesome!
Vale, lacerte!
Last night, we held a night to showcase some cool Windows Phone 7 apps being written by developers in and around the Toronto area. We invited some local tech and mobile industry bloggers and developers to see these apps in action and try out a late beta version on Windows Phone 7 on the hard-to-come-by advance devices and check out the look and feel of our new mobile operating system on some actual mobile hardware.
King Street East, looking west from George Street (just east of Jarvis).
Rather than hold it in some bland “multi-purpose room” at the office, we chose to hold the event at Kultura, a nice little tapas restaurant on King Street, a short walk east of Toronto’s financial district, yet worlds away at the same time.
The front room of Kultura’s second floor.
We held the event in the back room of Kultura’s second floor, a lounge area with enough space to do a big presentation followed by a number of small hands-on sessions with the apps:
The back room of Kultura’s second floor.
Sure, seeing Steve Ballmer run around shouting “Developers, developers, developers, developers” is funny, but it’s also the truth. We’re a software platform company, and we know that a software platform ain’t nuthin’ without developers building apps for it. Windows Phone 7 is our newest software platform (coming soon!) and we want developers to build for it, so we decided to inspire people by showcasing local developers building apps for our phone and making them rock stars.
A well-run show requires a practice run. We asked the developers to come early and do a practice run through their presentations, and while they did that, I snapped some photos:
Alexey Adamsky shows off his 3-D Sudoku app while Barranger Ridler waits his turn.This looks like an album cover.
Barranger Ridler demonstrates his “Where’s Timmy?” app, which guides you to the Tim Hortons locations closest to you.
Shawn Konopinksy shows us his social music app, “Songbuzz”.
Mark Arteaga shows us his open data app, VanGuide.
Mike Kasprzak demos his match-the-objects-to-eliminate-them game, “Smiles”.
With the practice run done, I had a little time to grab a drink and chat with some of the guests as they arrived:
Steve Syfuhs, Todd Lamothe and Colin Melia.
And soon after, it was time to start the presentations. I did the “opening monologue”, a quick three-minute overview of Windows Phone and what it means to both users and developers:
“…and the Twitter hashtag for this event is #WP7dev…”
“It’s like having an Xbox in your pocket.”
“I’m never without my Windows Phone and my Microsoft Office ironic hipster trucker cap.”
“Ever since Alexander Graham Bell, Canadian techies have always punched above their weight class.”
The audience sat in rapt attention, bedazzled by my scintillating oratory:
Must…hang onto…every word…
And then came the developers, showing off their Windows Phone 7 wares running on the emulator, which made it easy to show apps on the phone to an audience.
First up was Alexey Adamsky, who with Alex Yakobovich, built Sudoku 3D, which literally adds an extra dimension to the popular puzzle game.:
Alexey Adamsky and Sudoku 3D.
Alexey and Alex work out of Ryerson University’s Digital Media Zone, an incubator where Ryerson students and alumni with a technical bent and entrepreneurial ambition can work on their projects, start companies and take their ideas to market. Sudoku 3D started off life as a game for the Xbox 360 written using the XNA framework, but when they heard that Windows Phone 7 was going to be XNA-powered, they knew their project could be turned into a mobile game.
Sudoku 3D, running as both a phone app (in the WP7 emulator) and a Windows application.
XNA lets Alexey and Alex target Windows, Xbox 360 and Windows Phone 7. Alexey says that most of the code is the same across all three platforms and that porting Sudoku 3D from the original Xbox version to the phone was very easy.
After Alexey finished, it was Barranger’s turn:
Alexey Adamsky, Barranger Ridler and Shawn Konopinsky.
Barranger Ridler is an indie developer who’s done some work for utility companies, and this work sometimes took him to small towns. One of the questions he often asked when arriving in a small town was “Where’s the nearest Tim Hortons?” His app, “Where’s Timmy?”, answers that question:
Barranger Ridler demos Where’s Timmy?
Luckily for Barranger, Tim Hortons publishes their store location data as a static file saved in a number of formats. He took this data and put it into a database on a server that Where’s Timmy? can access. Where’s Timmy? uses this data, the user’s location (determined via the phone’s GPS) and Bing Maps to tell the user where the nearest ten Tim Hortons branches are and even provide step-by-step directions:
Where’s Timmy? shows us the way to the nearest Tim Hortons.
Next up was long-time Windows Mobile developer and MVP Mark Arteaga, who showed us a couple of his apps, including VanGuide. Mark is one of my “go-to guys” for Windows Phone, and he’ll be sharing his knowledge in two Windows Phone sessions at the TechDays conference, which will take place in eight cities across Canada.
Mark Arteaga shows the crowd his apps.
After Mark came Shawn Konopinsky of Nascent Digital, a Toronto-based company specializing in building applications based on touch technologies:
Shawn Konopinsky and Songbuzz.
Shawn demoed Songbuzz, a social music app that allows users to share what they’re listening to, find out what their friends are listening to and discover new music:
Songbuzz, close up.
The audience, still captivated.
Closing the demos was Mike Kasprzak, creator of the puzzle game Smiles:
Mike Kasprzak shows us Smiles.
The Jedi Mind Trick doesn’t work on games.
It’s a really cute game with gorgeous graphics and great animations featuring several modes, from a full-on arcade mode to a more relaxed “zen mode”:
A close-up of Smiles in action.
Everyone to the bar!
With the demos done, it was time for mingling and socializing. The audience could talk to the developers and get personal demos of their Windows Phone apps, grab a drink and some tapas, and work the room.
Everyone to the bar….again!
I got to chat with a number of guests, including Valerie Fox, Director of Ryerson’s Digital Media Zone, Emil Protalinski, who write for Ars Technica’s column One Microsoft Way and Nitin Bharti of DZone.
Mandatory arty shot.
I had my hands full chatting up guests, doing video interviews and answering technical (and some non-technical) questions, so I’m glad that my fellow evangelist Ruth Morton took most of these pictures. Also present was another evangelist on my team, Barnaby Jeans, who held court at a banquette as people came to him to find out more about Windows Azure:
Barnaby Jeans and Michelle Michalak.
Barnaby Jeans and Todd Lamothe.
It was a full and lively room…
Everybody to the tapas!
…with some of the brightest lights in our local tech scene…
Sandy Kelmsley, Leigh Honeywell and Valerie Fox.
…and these guys, too! (I kid because I love, gentlemen!)
Colin Melia, Steve Syfuhs, Jean-Rene Roy, Mark Arteaga and a guy I can’t identify.
I’d like to thank:
For the developers who showcased their apps, this is only the beginning. They’re going to continue polishing them, and soon the Windows Phone 7 Marketplace is open up and they’ll submit them for approval. For them, the next few weeks look something like this:
Register at the marketplace today.
Finish their application or game using the Beta tools.
Download the final Windows Phone Developer Tools when they are released on September 16th.
Recompile their app or game using the final tools.
Have their XAP ready for ingestion into the marketplace in early October when it opens.
For the Developer and Platform Evangelism Team at Microsoft Canada, this is only the beginning. We’ve got a cross-Canada conference starting next week, and Windows Phone 7 is going to be one of the big topics. It offers the most bang for the tech conference buck; if you haven’t registered for it yet, do it now!
We’re also looking for more Windows Phone 7 developers and their apps, and we want to showcase them! Do you have a Windows Phone 7 app that you’re working on? Drop me a line and tell me about it!
For you, this can be the beginning. The mobile platform is still new ground, and Windows Phone 7 is a great mobile platform for both developers and users. Download the developer tools today, check out some tutorials and make your mark!
This article also appears in Global Nerdy.