Data Resources for Creating Healthcare Apps

I attended the Medication Management Hackathon at Minneapolis this weekend where I met many leaders, professionals, and entrepreneurs, and learned there are a great deal of data resources for developers who are interested to create apps for healthcare businesses and users. Below is a list of some of the resources I discovered from the event. Pillbox for Developers https://hhs.github.io/pillbox/ RxMix http://rxnav.nlm.nih.gov/ Open FDA https://open.fda.gov/ Developer APIs at Walgreens https://developer.walgreens.com/  

Posted by on 25 October 2014 | 11:53 am

新一批电子商务解决方案和企业管理应用加入 VM Depot 中国站点

新一批电子商务解决方案和企业管理应用加入 VM Depot 中国站点。 //电子商务平台助力您建设网店// 大约有 6 个最近更新的电子商务程序包已经登陆 VM Depot。 这不仅囊括了全球知名的 Magento、OFBiz 等程序包,同时也涵盖了一些流行的本地解决方案,如 phpB2B、天狼星等等。其中应用不仅可以实现常规的 B2C 网店,更有针对行业的解决方案,比如酒店预订系统等等。 值得一提的是,如果您对在灵活且可扩展的平台上运营网店感兴趣,Magento 虚拟机可能会对您快速上手有所帮助。 特色虚拟机镜像:Magento 灵活创建丰富的桌面到移动消费者体验,灵活定制适合您业务的后端工作流。 提供数以百计的扩展,以及可添加更多功能并集成其他最佳组合企业系统的开放架构。 来自全球的合作伙伴以及开发者生态系统,帮助您快速实施解决方案。 //开源的管理应用程序 – ERP、CRM 及 HRM// 越来越多的开源企业管理软件选正加盟 VM Depot! 您可能已经非常兴奋地看到列表中包含了很多流行的开源企业管理应用,如 SugarCRM、Orange HRM、Odoo (Open ERP)等等!显而易见,这为 IT 从业人员和社区开发者尝试并学习领先的企业应用,管控企业业务流程提供了一个绝佳的机会。 特色虚拟机镜像:SugarCRM 堪称本行业最开放、最易扩展的平台,基于最主流的开源 Web 技术创建。 把个人用户的需求放在首位。Sugar 的最新发布版本包含一个重点增强的用户界面 Sugar UX™,为 CRM 用户提供的沉浸式的用户体验。 为客户部署系统提供完备的灵活性。您即可选择使用Sugar的云服务也可以在内部云中进行部署。 还等什么?现在就注册“VM Depot 中国用户优先体验计划”,获取免费的 Azure 试阅账号。观看关于”如何部署(命令行)”,“如何部署(图形界面)”  等在线视频,或者点击此处查看帮助文档。我们欢迎社区成员到这里来发布您喜欢的应用程序、配置和设置。请观看”从 Azure“或”从本地 VHD 文件“发布镜像到 VM Depot 的视频演示。请别忘了通过评论、反馈或级别评定留下您的宝贵意见,以帮助我们增强社区体验。 刘天栋 首席技术推广专家微软开放技术(中国) [相关链接] VM Depot 中国用户优先体验计划 虚拟机镜像搜索方法 本文转载自: http://cn.msopentech.com/blog/2014/06/13/%e6%96%b0%e4%b8%80%e6%89%b9%e7%94%b5%e5%ad%90%e5%95%86%e5%8a%a1%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88%e5%92%8c%e4%bc%81%e4%b8%9a%e7%ae%a1%e7%90%86%e5%ba%94%e7%94%a8%e5%8a%a0%e5%85%a5-vm-depot-%e4%b8%ad/

Posted by on 25 October 2014 | 9:29 am

微软开放技术发布针对 Mac 和 Linux 的更新版 Azure Node.JS SDK 和命令行工具

发布于 2013-12-04 作者 Eduard Koller  这次为我们使用Linux 的朋友带来了更多关于部署云上虚拟机的消息。今天,微软开放技术有限公司 (MS Open Tech),想与大家分享针对 Mac 和 Linux 的更新版 Node SDK 和命令行工具。这次更新为虚拟网络、终结点及其他设备提供了支持。这个工具帮助开发者和 IT 管理员组在 Windows Azure 上部署和管理 Linux (和 Windows)虚拟机。 自去年微软开放技术团队发布了该项目以来,我们已经收到了许多关于针对 Mac 和 Linux 的 Windows Azure 命令行工具的反馈。所以,我们在更新工具中添加了一些普遍要求的功能,包括: 虚拟网络配置 改进了对已停止的虚拟机的帐单管理 终结点管理 负载平衡的终结点更新 下面是这些新功能的概述。像往常一样,如果您想参加我们这些工具的更新,可以向我们发送 pull 请求,或者如果您对我们有些反馈,可以留下您的评论/电子邮件。 1. 虚拟网络 因为 Windows Azure REST API 中已经添加了虚拟网络,我们在针对 Node.js 的 Azure SDK 和针对 Mac and Linux 的命令行工具中都添加了对这一功能的支持: 为了支持虚拟网络,我们在针对 Node.JS 的 Windows Azure SDK创建了一个能够配置虚拟网络新 API。这个 API 可以独立应用于配置 VNETs 的 Node.JS 应用程序。 例如,下列 node.js 代码示例演示了如何使用服务管理 API 配置 VNET。 var service = azure.createServiceManagementService(      subscriptionId, auth,      { serializetype: 'XML'});   var vnetObject = {   VirtualNetworkConfiguration: {     VirtualNetworkSites: [       {         Name: 'test',         AffinityGroup: 'test-ag',         AddressSpace: ['10.0.0.0/20'],         Subnets: [           {             Name: 'sub1',             AddressPrefix: '10.0.0.0/23'           }         ]       }     ]   } }; service.setNetworkConfig(vnetObject, function (err, response) { // handle errors / process the result }); 您可以在 GitHub 查阅我们的全部文档以了解“VirtualNetworkConfiguration”对象模型的全部细节 本 SDK 还提供了命令行工具的基本部分。它使管理员组能够通过我们的命令行工具使用相同的功能。以下实例演示了如何使用默认设置在您的订阅中创建虚拟网络。 $ azure network vnet create vnet1 --location "West US" -vinfo: Executing command network vnet createinfo: Using default address space start IP: 10.0.0.0   info: Using default address space cidr: 8 info: Using default subnet start IP: 10.0.0.0 info: Using default subnet cidr: 11 verbose: Address Space [Starting IP/CIDR (Max VM Count)]: 10.0.0.0/8 (16777216) verbose: Subnet [Starting IP/CIDR (Max VM Count)]: 10.0.0.0/11 (2097152) verbose: Fetching Network Configuration verbose: Fetching or creating affinity group verbose: Fetching Affinity Groups verbose: Fetching Locations verbose: Creating new affinity group AG1 info: Using affinity group AG1 verbose: Updating Network Configuration info: network vnet create command OK 想了解更多信息,请到我们的wiki 网页查阅如何管理 Windows Azure 虚拟网络的完整命令列表。 2.虚拟机停止账单功能 第一版的 Windows Azure 的基础结构服务中,Windows Azure 为每个停止的虚拟机在计算群集中保留一个部署点,并继续向用户提供虚拟机计算资源并计费直到用户明确地删除了这个部署。这种情况已变更。现在 Windows Azure 不再对任何停止的虚拟机向用户按计算时间收费。但是,它仍然保留部署状态和配置。 微软开放技术更新了 基于Node.js的Windows Azure SDK 和 Windows Azure 命令行工具以支持这个方案。因此,当使用 azure vm shutdown命令停止虚拟机时,账户就不再被计费。注意处于StoppedDeallocated状态(如已停止且未计费的)的虚拟机 IP 地址将会被释放,并且无法保证重新启动虚拟机后会分配同样的 IP地址。 如果您想让您的虚拟机保持分配状态并保留 IP 地址,我们提供针对 azure vm shutdown命令提供了 –stay-provisioned开关。但是,请注意,在这种情况下,您的账户将继续按计算时间收费。 3.终结点更新 我们添加了新的命令,使用户可以改变负载平衡器端口、虚拟机端口以及与已有的终结点相关联的端点名称和协议。用法和选项已列在下面。想了解更多信息,请阅读 Windows Azure 文档中的文章虚拟机负载平衡。 $ azure vm endpoint update --helphelp: Update a VM endpointhelp:   help: Usage: vm endpoint update [options] <vm-name> <endpoint-name> help: help: Options: help: -h, --help output usage information help: -v, --verbose use verbose output help: --json use json output help: -d, --dns-name <name> only consider VM for this DNS name help: -n, --endpoint-name <name> the new endpoint name help: -t, --lb-port <port> the new load balancer port help: -t, --vm-port <port> the new local port port help: -o, --endpoint-protocol <protocol> the new transport layer protocol for port (tcp or udp) help: -s, --subscription <id> the subscription id 4.负载平衡的终结点更新 Windows Azure 的一个很酷的新功能是更新负载平衡设置: 我们假设您在同样的云服务“我的服务”中创建了两个虚拟机“vm-1”和”vm-2”,并在两个虚拟机中都添加了负载平衡端点“lbset1”。这个新的 Windows Azure API 使用户可以更新负载平衡集“lbset1”(例如改变探测协议)使其将已定义的负载平衡集终结点应用于所有的虚拟机角色。 为支持这个 Azure 的新功能,我们已经在基于 Node.JS 的 Windows Azure SDK 中添加了新的 API updateLoadBalancedEndpointSet。且不久之后,我们也会添加对命令行工具支持。(此 wiki包含关于所有已建议的负载均衡集命令的列表) 5.其他改进 最后,我们还对vm create 命令做了些更新,例如在创建 Windows 虚拟机时(过去只能用“Administrator”),添加了可以使用任何用户名的功能,以及使用--community选项时,显示图像复制进度功能。此外,这次更新还包括了后台方面的变化,例如,对常见问题的早期报错和包含更多的信息性错误报告。这些功能让该工具在许多情况中使用起来更加容易。 获取针对 Windows Azure 的 Node.js SDK Node.js SDK 和 CLI 能使您轻松地通过自己的应用程序或者命令行使用 Windows Azure。如果您已经有 node.js 工具,您需要做的就是运行 npm update azure-cli –g。如果您对这个工具比较陌生,那么您需要遵循几个简单的安装步骤,这些步骤都完整地记录在 VM Depot help网站。既然我们提到了 VM Depot,那就有必要提醒您,VM Depot 有 500 多个预配置的虚拟机映像,供您在 Windows Azure 上使用 CLI 进行部署。 本文转载自: http://cn.msopentech.com/blog/2013/12/04/%e5%be%ae%e8%bd%af%e5%bc%80%e6%94%be%e7%a7%91%e6%8a%80%e5%8f%91%e5%b8%83%e4%b8%93%e4%be%9bmac%e4%b8%8elinux%e4%bd%bf%e7%94%a8%e7%9a%84-azure-node-js-sdk-%e7%9a%84%e6%9b%b4%e6%96%b0%e7%89%88%e6%9c%ac/

Posted by on 25 October 2014 | 9:11 am

使用 Puppet 在 Windows Azure 中配备 Linux 和 Windows 环境

发布于 2013-12-11 作者 Ross Gardler 微软开放技术有限公司 (MS Open Tech) 很高兴地宣布发行新的 Windows Azure Puppet 模块。通过这个模块,可以使用流行的开源 DevOps 工具 Puppet 在 Windows Azure 上提供 Linux 和 Windows 虚拟机。产品的支持以Puppet专属 Windows Azure 模块的形式发布在 Puppet Forge 上。此外,还支持网络配置和数据库等关键服务的管理。这样一来,Puppet 用户现在可以在 Windows Azure 中运用 Puppet Forge 上超过 1800 种社区制定的配置。 微软开放技术的工程师们在开发这个模块的过程中着眼于增强流行 DevOps 工具之间的互操作性。DevOps 的重点是软件开发与 IT 运营之间的协作管理。它强调的是日益灵活的软件开发团队(要求迅速变更)与需要提供最大运行时间(变更可能影响可靠性)的运营团队之间的协同和融合。DevOps 旨在使这两个团队能够更有效地进行交流与合作。适用于 Windows Azure 的 Puppet 模块是保证 Puppet 用户能够在 Windows Azure 环境下利用其技术的重要一步。 Windows Azure Puppet 模块提供了您准备下列 Windows Azure 服务所需的全部工具: 虚拟机——Linux 和 Windows 虚拟网络——创建逻辑上隔离的 Azure 区段并将它们安全地连接到您的内部客户端和服务器 SQL 服务器——创建和维护您的 SQL 数据库 此外,Windows Azure 用户现在还可访问 Puppet Forge 上 1800 多个现有的由社区定义的模块。 “能够使用 Puppet 在 Windows Azure 中配备虚拟机,从而利用 Puppet Forge 上由社区提供的各种大量模块对于许多 Puppet 用户而言非常具有吸引力。”Puppet Labs, Inc. 业务与公司发展副总裁 Mitch Sonies 表示,“我们认为,该模块对于在 Puppet 社区内推动 Azure 的使用是非常重要的一个步骤,我们希望看到社区的使用率和产业生态系统的贡献不断壮大。” Puppet 和 Azure 入门 Puppet 是一套能够在开发与生产环境中实现 IT 基础设施的配置、配备和管理自动化的开源软件。它使用一种易于阅读的声明性语言对“理想状态”的机器配置进行描述。Puppet 使用这种描述将机器设置到理想状态并保持这种状态。关于 Puppet 的更多信息,请参考 Puppet Labs 网站上的详细文档。 微软开放技术的成果分为两部分。第一部分是 Puppet Manifests,它描述了可用 Puppet 管理的 Windows Azure。第二部分是跨平台命令行接口 (CLI)。通过 CLI 和 Manifests,可以很容易地管理 Linux 和 Windows 虚拟机、虚拟网络, 地缘组以及 SQL 服务器。其目标是实现开发、测试和部署环境的性能最大化。 虚拟机管理 虚拟机能够按需提供可扩展的计算机设施。Windows Azure 可同时提供多种配置的Windows 服务器和 Linux 服务器。要配置一台新的虚拟机并安装 Puppet 代理(以便以后通过 Puppet 管理),您可使用以下命令: puppet azure_vm create \ --management-certificate pem-or-pfx-file-path \ --azure-subscription-id=your-subscription-id \ --image b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-13_04-amd64-server-20130501-en-us-30GB \ --location 'west us' \ --vm-name vmname \ --vm-user username \ --password ComplexPassword \ --puppet-master-ip yourPuppetMasterIPAddress 下表列出了全部操作。如要查看某个操作的可用选项列表,则执行“puppet help node-azure ACTION-NAME”命令。 操作 描述 bootstrap 在一台现有的 Windows Azure 虚拟机中安装 Puppet 节点 Create 创建 Windows Azure 虚拟机 Delete 删除 Windows Azure 节点实例 Images 列出 Windows Azure 镜像 locations 列出 Windows Azure 位置 Servers 列出 Windows Azure节点实例 shutdown 关闭 Windows Azure节点实例 Start 启动 Windows Azure节点实例 管理虚拟网络 通过 Azure 虚拟网络,您可在 Azure 中创建一个在逻辑上隔离的区段,并使用 IPSec 连接将它安全地连接到您的内部数据中心或客户机。这样您就能通过本地开发机器与 Azure 中的虚拟机之间的直接连接来更方便地对应用程序进行远程调试。使用虚拟网络,您可以使用与在内部开发工作中相同的工具对应用程序进行故障排除和调试。 此外,您还能利用这个功能在混合环境中构建分布式应用。例如,Windows Azure 中的 Web 应用程序可安全地访问内部数据库服务器或在内部认证服务器上对用户进行认证。 要创建一个虚拟网络,可运行以下命令: puppet azure_vnet set --management-certificate pem-or-pfx-file-path \ --azure-subscription-id=your-subscription-id \ --virtual-network-name vnetname \ --affinity-group-name ag-name \ --address-space '172.16.0.0/12,192.168.0.0/16' \ --dns-servers 'dns1-1:10.10.8.8,dns2:172.8.4.4' \ --subnets 'subnet-1:172.16.0.0:12,subnet-2:192.168.0.0:29' 其他可用的操作有: 操作 描述 List 列出虚拟网络 Set 配置虚拟网络 set_xml_schema 使用 xml 架构配置虚拟网络 管理 SQL 数据库服务器 很多应用程序都需要一个数据库服务器,因此我们提供了使用 Puppet 来创建和配置 SQL 数据库的命令。可使用这样的命令来创建服务器: puppet azure_sqldb create --management-certificate pem-or-pfx-file-path \ --azure-subscription-id=your-subscription-id \ --management-endpoint=https://management.database.windows.net:8443/ \ --login loginname \ --password ComplexPassword \ --location 'West Us' Manifest 文件 Manifest 文件是让您可以快速和可重复地按预定义的“理想状态”来部署虚拟机的一些定义、引用和命令的集合。除了上面描述过的 CLI 外,我们还提供了 Puppet 用来配置 Windows Azure 服务的 manifest 文件。作为 Windows Azure 模块的一部分,这些 Manifest 可从 Puppet Forge 上下载,您也可对它们进行修改,以满足您的特定要求。我们提供的manifest 有: bootstrap.pp——允许创建一个新的 Puppet 节点 db.pp——创建一个新的 SQL 服务器实例 init.pp——定义一个 Windows Azure 类,以方便地部署到关联的 Windows Azure 帐户 vm.pp——从一个虚拟机镜像创建一个新的虚拟机 vnet.pp——创建一个新的虚拟网络 下一步是什么? 微软开放技术很高兴实现了在 Windows Azure 中使用 Puppet。这是我们持久承诺的一个重要部分,其目的在于确保 DevOps 工具的用户能在 Windows Azure 环境中尽可能地利用他们的技术。 本文转载自: http://cn.msopentech.com/blog/2013/12/11/%e4%bd%bf%e7%94%a8-puppet-%e5%9c%a8-windows-azure-%e4%b8%ad%e9%85%8d%e5%a4%87-linux-%e5%92%8c-windows-%e7%8e%af%e5%a2%83/

Posted by on 25 October 2014 | 9:03 am

微软开放技术开发了适用于 Windows Azure 移动服务的开源 Android SDK

发布于 2014-02-10 作者 陈 忠岳 为进一步实现连接微软与非微软技术的目标,微软开放技术有限公司开发了适用于 Windows Azure 移动服务的 Android SDK,由 Scott Guthrie 今日在他的博客中公布。 Windows Azure 移动服务的创建是为了让开发者更轻松地构建充满吸引力的动态移动应用。通过使用移动服务,开发者不仅能将他们的应用程序连接到由 Windows Azure 托管的可扩展安全后端,而且可以将数据存储在云中、验证用户身份并发送推送通知。 Android SDK 让您将喜爱的 Android 手机或平板电脑(Android 2.2+) 连接到云后端,并通过 Google 云消息发送推送通知,也可让您通过用户的 Google、Facebook、Twitter 或 Microsoft 账户进行身份验证。为此,微软开放技术工程团队提供了以下主要功能: 数据 API:通过使用一个针对查询和自动 JSON 序列化/反序列化的流畅 API,简化了 Android 应用与通过 Windows Azure 移动服务公开的表之间的通信。。 身份 API:该 API 允许在 Android 应用中使用 Microsoft 账户、Facebook、Twitter 或 Google 身份认证。 服务筛选:这些组件允许开发者截获并自定义移动客户端与 Windows Azure 移动服务之间的请求,提供筛选器通道来处理生成的请求和响应。 该 SDK 在 Apache 2.0 许可协议下的 GitHub 上可用,非常欢迎社区的参与。 您可以通过阅读 Scott 的博客和入门教程了解更多关于新 SDK 的内容,也期待您再次来访,浏览更多陆续推出的示例/演示/教程。 本文转载自: http://cn.msopentech.com/blog/2014/02/10/%e5%be%ae%e8%bd%af%e5%bc%80%e6%94%be%e6%8a%80%e6%9c%af%e5%bc%80%e5%8f%91%e4%ba%86%e9%80%82%e7%94%a8%e4%ba%8e-windows-azure-%e7%a7%bb%e5%8a%a8%e6%9c%8d%e5%8a%a1%e7%9a%84%e5%bc%80%e6%ba%90-android-sdk/

Posted by on 25 October 2014 | 9:00 am

.NET Microframework on RaspberryPi (Part 2)

I realize I haven’t posted on my blog the direct link to the porting of .NET Microframework (NETMF) to the RaspberryPi. See previous article. So code is available here: https://raspberrypinetmf.codeplex.com/. This is not a full port of NETMF natively on RaspberryPi. It’s a port of specific NETMF classes on Mono running on Linux. It can be useful to quickly port existing NETMF projects with very little or no modifications. Note also that some classes are missing. So don’t hesitate to participate. Enjoy!

Posted by on 25 October 2014 | 8:48 am

微软开放技术发布开源 Jenkins 插件以将 Windows Azure Blob 服务用的开作存储库

发布于 2014-02-10 作者 陈 忠岳 持续集成 (CI) 的历史源远流长, 其宗旨在于软件团队在敏捷环境中不断将他们的工作整合为持续构建。管理 CI 进程的工具已存在一段时间。过去几年中,鉴于 CI 管理进程变得更复杂而CI 的优势日趋明显,CI 工具变得越来越受欢迎。CI 工具可以结合现有的 SCM 版本控制工具一起使用,以管理当前复杂的构建、测试和部署进程,这些进程往往SCM 的工具和进程本身无法完全覆盖。 Jenkins 是广受欢迎的开源 CI 工具,其具有多个安装和扩展版本,并得到社区的大力支持。为此,微软开放技术有限公司发布了一项Jenkins插件以利用 Windows Azure 的 Blob 存储服务作为构建版本项目的存储库。 通过使用 Windows Azure 存储插件在  Windows Azure Blob 中管理项目存储,我们的 Jenkins 插件能够改进您的 CI 进程。而选择 Windows Azure Blob 服务以存储您的构建项目,则能确保每次需要构建时您具有所需的所有资源,全部资源存储在安全可靠且集中的地点,并可配置访问权限。这将减少本地网络带宽和存储的负担,并改善持续构建的性能。 我们已开源了我们的插件与社区共享。该插件的源代码可在 Github 获得。 在 Windows Azure 设置 Jenkins 持续集成服务器 该插件可与任何 Jenkins CI 安装配合。VM Depot——微软开放技术研发由社区驱动的 Linux 虚拟机存储站——也有若干预配置的 Linux 和 Jenkins 虚拟机,以供在Windows Azure 的Linux 虚拟机上随时迅速启动 Jenkins。有关在 Windows Azure 上设置VM Depot 虚拟机的更多信息,请点击本链接。 在自定义的 Windows Azure 虚拟机上设置 Jenkins 自定义实例也很简单。请在这里获取有用的入门资源。 对于源代码版本控制和存储库管理,Windows Azure 上的 Jenkins 可以使用内置 CVS 或与 Jenkins 一起下载的 Subversion 实例,或者您可以连接至包含插件的任何代码管理存储库资源,包括 Team Foundation Server(通过 Jenkins TFS 插件)或 GitHub 插件。 设置好代码存储库和 Jenkins 实例后,您就可以开始配置 Jenkins 以进行构建管理和部署。我们已创建关于如何设置和使用该插件的详细教程。 设置 Jenkins 项目以管理构建项目 要安装该插件,进入“管理 Jenkins”>“管理插件”,选择“可用插件”选项卡,并从“项目上载程序”类别中选择“Windows Azure 存储插件”。 选择“安装后不重启”后,您会在完成时看到以下确认屏幕:  设置您的 Windows Azure 存储帐户配置选项 在安装该插件后,您应执行的第一步是为使用 Jenkins 设置一个或多个 Windows Azure 存储帐户。您可以在 Jenkins 的位于“Windows Azure 存储帐户配置”的“配置系统”页面中执行该步骤: 配置项目以使用 Windows Azure Blob 存储 在配置完您的存储帐户后,您可以开始为您的工作添加此新的构建后行动:向 Windows Azure Blob 存储上载项目:   选择并配置此选项将使您能够使用 Azure Blob 存储服务配合您的项目,这有助于集成的管理和速度。如需有关配置选项的更多信息,请参考我们的教程。 接下来的步骤 能够参与 Jenkins 生态系统的建设工作,使构建项目能够储存于 Windows Azure 存储中,我们感到非常兴奋。同时,我们也将一如既往地尽力寻找使开发者更易于与 Windows Azure 服务交互的方式,因此,对于我们如何提高 Jenkins 与 Windows Azure 之间的互操作性,如果您有任何建议,请告诉我们! 本文转载自: http://cn.msopentech.com/blog/2014/02/10/%e5%be%ae%e8%bd%af%e5%bc%80%e6%94%be%e6%8a%80%e6%9c%af%e5%8f%91%e5%b8%83%e5%bc%80%e6%ba%90-jenkins-%e6%8f%92%e4%bb%b6%e4%bb%a5%e5%b0%86-windows-azure-blob-%e6%9c%8d%e5%8a%a1%e7%94%a8%e7%9a%84%e5%bc%80/

Posted by on 25 October 2014 | 8:38 am

VM Depot 登陆中国!

发布于 2014-03-24 作者 陈 忠岳 今天我很高兴地向大家宣布,来自微软开放技术(上海)有限公司的首个产品 VM Depot 正式在中国发布!VM Depot是为Windows Azure打造且由社区用户推动的开源虚拟机镜像站。在 VM Depot 上,开发者社区可以创建、部署及分享他们喜爱的Linux配置,创建定制化的开源堆栈,并在开放灵活的 Windows Azure 平台上,基于开放的API与他人共同合作创建全新的云计算架构。预览版的VM Depot中包含了超过700个现成的虚拟机,其中更有来自CCN开源创新联合实验室的Ubuntu麒麟,来自淘宝的Tengine 和Tair 以及来自阿里巴巴的PHPWind 等倍受欢迎的镜像。以下几点原因可以让您喜欢上我们的VM Depot: 快速高效地测试各种解决方案 预览版的VM Depot中包含了超过700个现成的虚拟机,其中更有来自中国本地的Ubuntu麒麟,PHPWind 以及Tengine 等倍受欢迎的镜像。您可轻松部署各种不同配置的Linux虚拟机以评估和测试相应的解决方案。从软件开发包到全套应用解决方案,您都可以通过VM Depot安装初期版本,再根据您的特殊场景需求进行试验。 定制虚拟机镜像并与人分享 VM Depot中所有的虚拟机都可在Windows Azure平台上免费部署,并且您还可以修改后再重新分享到VM Depot上。这意味着您可以根据特殊的业务需求定制虚拟机,然后再在VM Depot上重新发布后(免费)分发给各个业务部用户使用。 VM Depot 再次体现了Azure 平台的开放性。虽然VM Depot看上去非常复杂,然而开放的Azure API 使得VM Depot的构建轻松便捷。当我们在探索云计算平台的开放性与互操作性的意义何在时,我不禁要说Windows Azure毋庸置疑一马当先。与此同时,这也佐证了文档完善的API能大大方便开发者在云计算平台上成就卓越的应用。 以下是我们录制的三个简短的视频教程,以向大家展示如何在VM Depot上部署和发布镜像。您也可在 VM Depot 站点找到相关详尽的辅助教程。 使用 VM Depot 部署镜像(Please visit the site to view this file) 使用 VM Depot 发布镜像 (Please visit the site to view this file) (Please visit the site to view this file) 如您所见,VM Depot 简单而强大。您可轻松地用其高效部署开源虚拟机,或者与开源社区分享您自己创建的虚拟机。作为微软开放技术自今年1月落户中国所以来推出的首个产品,我个���对此感到非常自豪。现在就加入“VM Depot 中国用户优先体验计划”一同领略 VM Depot 的无穷魅力吧! 云浪生 董事总经理 微软开放技术(上海)有限公司本文转载自: http://cn.msopentech.com/blog/2014/03/24/vm-depot-%e7%99%bb%e9%99%86%e4%b8%ad%e5%9b%bd/

Posted by on 25 October 2014 | 8:28 am

VM Depot 喜迎中国本土开源镜像!

发布于 2014-04-07 作者 陈 忠岳 VM Depot 登陆中国之际,我非常高兴地告诉大家,一批各位耳熟能详的中国本地开源镜像已同时上线!得益于开源社区的大力支持,Ubuntu 麒麟13.10,PHPWind 9.0, Tengine 2.0 以及最新版本的Tair 等开源镜像都已纷纷加入我们的 VM Depot! Ubuntu Kylin 优麒麟 Ubuntu麒麟是Ubuntu唯一官方认可的中文衍生版本,其宗旨是采用平台国际化与应用本地化融合的设计理念,通过定制本地化的桌面用户环境以及开发满足广大中文用户特定需求的应用软件来提供细腻的中文用户体验,做更有中国味的操作系统。 PHP Wind PHPWind是一套采用 php+mysql 数据库方式运行并可生成 html 页面的高速、强大、完善的开源共享软件系统。该系统经过多年升级,已经拥有完善的功能,成熟的系统架构,庞大的用户群体。 Tengine Tengine是由淘宝网发起的开源Web服务器项目。在Nginx的基础上,Tengine针对大访问量网站的需求,添加了很多高级功能和特性,基于Nginx,Tengine是一款有着众多高级功能和特性的高容量网站服务器,其中包括动态模块加载(DSO)支持,SPDY v3协议支持以及流式上传到HTTP后端服务器或FastCGI服务器等等。Tengine的性能和稳定性已经在大型网站如淘宝网、天猫商城等得到了充分检验。 Tair Tair 是一个高性能、分布式、可扩展、高可靠性的Key/Value结构存储系统。其专为小文件优化,并提供简单易用的接口(类似Map)。现行版本Tair同时 支持Java 和C 客户端。 使用 VM Depot 您可以轻松迅速地将这些中国本土的开源虚拟机镜像部署到 Windows Azure 平台上。借助这个世界级的云计算平台所独有的灵活性与扩展性,您可以充分发挥开源应用在超大工作任务量的环境下凸显的优势,同时也可测试其在不断变化的工作量环境下的延展性与稳定性。更重要的是,实现这一切您无须从头开始,而不过只是弹指之间。 现在就加入我们的 “VM Depot 优先用户体验计划” 一同领略 VM Depot 的无穷魅力! 查看视频了解“如何部署” 或查看 帮助文档。作为社区成员,我们同样欢迎您将您喜爱的应用、配置以及设置发布到 VM Depot。 查看以下视频了解如何从 Windows Azure 或 从本地 VHD 文件发布镜像到 VM Depot。 当然, 不要忘记您还可以留下您的评论,反馈以及对镜像的评分以帮助我们不断改善社区体验。 云浪生 董事总经理 微软开放技术(上海)有限公司 本文转载自: http://cn.msopentech.com/blog/2014/04/07/%e4%b8%ad%e5%9b%bd%e6%9c%ac%e5%9c%9f%e5%bc%80%e6%ba%90%e9%95%9c%e5%83%8f%e5%8a%a0%e5%85%a5-vm-depot/

Posted by on 25 October 2014 | 8:18 am

VM Depot 助您使用本地开源软件架设开发 Web 站点

发布于 2014-04-25 作者 云 浪生 使用 VM Depot 中的镜像在 Azure 上创建、开发、部署网站与应用不仅方便快捷而且省时省力!感谢开源社区的大力支持,我们的VM Depot 吸引了一批源自中国本土的内容管理,论坛以及博客镜像,诸如ThinkPHP, OneThink, FreeCMS, 师说CMS, NodeClub 以及 Typecho 等等。 ThinkPHP ThinkPHP 是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架 ,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定地用于商业以及门户级的开发。 OneThink One Think 是一个开源的内容管理开发框架,基于ThinkPHP3.2框架开发,遵循Apache2开源协议发布,并且提供免费使用。旨在帮助开发者节约WEB应用开发的时间投入,以最快的速度开发出高质量和强大的WEB应用。 FreeCMS FreeCMS项目是为了致力于打造更好的中国开源免费CMS而发起的。这个项目的目标是提供一个安全,实用有效和可扩展的CMS系统。FreeCMS的特点: 公开源码、免费使用、代码通俗易懂、注释详细、可定制化! 该项目隶属于FreeTeam开发组织! 师说CMS 师说CMS,是一款使用Java开发的内容管理系统。师说CMS致力于打造轻量级的CMS,使用Spring MVC为表现层,Spring为业务层,MyBatis为数据层。项目大量使用注解,代码注释清晰,是学习Java实战项目和企业进行二次开发的首选。 Node Club Node Club 是用 Node.js 和 MongoDB 开发的新型社区软件,界面优雅,功能丰富,小巧迅速, 已在Node.js 中文技术社区 CNode 得到应用,欢迎您用其搭建自己的社区。 Typecho Typecho 是一款基于 PHP (需要 PHP5 以上版本)构建的博客程序。Typecho可以运行在各种平台上,支持多种数据库(Mysql,PostgreSQL,SQLite) 并且具备轻量高效,简洁友好,先进稳定等独特优势。 使用 VM Depot 您可以轻松迅速地将这些中国本土的开源虚拟机镜像部署到 Azure 平台上。借助这个世界级的云计算平台所独有的灵活性与扩展性,您可以充分发挥这些开源网站应用与框架在超大工作任务量的环境下的性能优势,同时也可测试其在不断变化的工作量环境下的延展性与稳定性。更重要的是,实现这一切您无须从头开始,而不过只是弹指之间。 现在就加入我们的 “VM Depot 优先用户体验计划” 一同领略 VM Depot 的无穷魅力! 查看视频了解“如何部署” 或查看 帮助文档。作为社区成员,我们同样欢迎您将您喜爱的应用、配置以及设置发布到 VM Depot。 查看以下视频了解如何从 Azure 或从本地 VHD 文件发布镜像到 VM Depot。 当然, 不要忘记您还可以留下您的评论,反馈以及对镜像的评分以帮助我们不断改善社区体验。 云浪生 董事总经理 微软开放技术(上海)有限公司 本文转载自: http://cn.msopentech.com/blog/2014/04/25/vm-depot-%e5%8a%a9%e6%82%a8%e4%bd%bf%e7%94%a8%e6%9c%ac%e5%9c%b0%e5%bc%80%e6%ba%90%e8%bd%af%e4%bb%b6%e6%9e%b6%e8%ae%be%e5%bc%80%e5%8f%91-web-%e7%ab%99%e7%82%b9/

Posted by on 25 October 2014 | 8:14 am

VM Depot 新功能:直接通过 Windows Azure 管理门户部署虚拟机

发布于 2014-05-09 作者 陈 忠岳 想要尝试 VM Depot 上数以百计的各类开源虚拟机,却因为复杂的命令行操作而感到烦恼?微软开放技术想您所想,及时推出 VM Depot 最新功能! 现在您可以直接使用 Windows Azure 的管理门户,即刻部署虚拟机。Windows Azure 本身作为一个开放的平台,兼容并蓄,海纳百川。而 VM Depot 这项直接部署的新功能就犹如一个快速通道,让您更为方便、快捷的尝试各种选择以最大程度的实现 Azure 这个开放的云平台为您带来的价值。 通过 Windows Azure 的管理门户部署 VM Depot 虚拟机的步骤相当简单明了,主要包括以下三个步骤: 第一步:将所需映像复制并注册到您的存储账户 第二步:从“我的映像”库中新建并部署虚拟机 第三步:使用虚拟机仪表盘所提供的信息验证部署 请参阅以下演示视频。您也访问帮助文档了解详细信息。 (Please visit the site to view this video) 现在就申请加入“VM Depot 中国用户优先体验计划” 获得免费 Windows Azure 试用账号!让我们共同领略开放的云平台所带来的无穷魅力! *当然我们依然保留通过命令行部署虚拟机的方式,具体方法请参阅该视频。  刘天栋 微软开放技术(中国)  首席技术推广专家 本文转载自: http://blogs.msdn.com/b/azchina/archive/2014/10/23/vm-depot-_2d4efd560a4e8476_-bitnami-_5c95cf50f466b065f381_-ubuntu-14.04-lts.aspx

Posted by on 25 October 2014 | 8:10 am

Small Basic - WebCam Motion Detection

WebCam Extension There has been a webcam object in the LitDev extension (LDWebCam) for a while, and I recently updated it so it works on WIndows 8 as well as earlier versions of Windows. There are some effects like grayscale, snow, gamma, contrast, pixelate, fisheye, swirl etc.  The effects can also be applied to an image held in ImageList. This is a basic sample of the webcam and effects (webcam/webcam.sb). GraphicsWindow.Width = 400 GraphicsWindow.Height = 400 GraphicsWindow.BackgroundColor = LDColours.DarkGray   picture = Controls.AddButton("Take Picture", 20,350) pause = Controls.AddButton("Pause", 125,350) resume = Controls.AddButton("Resume", 190,350) effect = Controls.AddButton("Effect", 270,350) end = Controls.AddButton("Exit", 335,350) setDefault = Controls.AddButton("Set Default", 20,320) Controls.ButtonClicked = OnButtonClicked   combo = LDControls.AddComboBox(LDImage.GetEffects(), 100,200) LDControls.ComboBoxItemChanged = OnComboBoxItemChanged Shapes.Move(combo,270,320) default = Controls.AddTextBox(125,320) Controls.SetSize(default,125,24) defaults = LDImage.EffectDefaults   webcam = LDWebCam.Start(320,240) Shapes.Move(webcam,40,40)   Sub OnButtonClicked   If (Controls.LastClickedButton = picture) Then     LDWebCam.Snapshot()   ElseIf (Controls.LastClickedButton = pause) Then     LDWebCam.Pause()   ElseIf (Controls.LastClickedButton = resume) Then     LDWebCam.Resume()   ElseIf (Controls.LastClickedButton = end) Then     LDWebCam.End()     Program.End()   ElseIf (Controls.LastClickedButton = effect) Then     LDWebCam.Effect = Math.GetRandomNumber(21)-1     LDControls.ComboBoxSelect(combo,LDWebCam.Effect)     Controls.SetTextBoxText(default,defaults[LDWebCam.Effect])   ElseIf (Controls.LastClickedButton = setDefault) Then     defaults[LDWebCam.Effect] = Controls.GetTextBoxText(default)     LDImage.EffectDefaults = defaults   EndIf EndSub   Sub OnComboBoxItemChanged   LDWebCam.Effect = LDControls.LastComboBoxIndex   Controls.SetTextBoxText(default,defaults[LDWebCam.Effect]) EndSub   Motion Detection A webcam image can be 'grabbed' at any point in time and stored as an ImageList image.  With the static 'grabbed' image we can do further image processing using methods in LDImage. One of the more interesting options is LDImage.DifferenceImages which creates a new image with each pixel value equal to the modulus of the difference of the two input images.  In other words it is an image of 'what has changed'.  We can then further process this image to identify motion detection and even where something is or how it is moving. This is the source code and a screenshot of a sample motion detection program that also shows a histogram distribution of the image colours (webcam/motion-detection.sb). GraphicsWindow.Width = 980 GraphicsWindow.Height = 280 GraphicsWindow.Title = "Motion Detection" movement = Controls.AddTextBox(360,260) sensitivity = 20 img1 = "" img2 = "" working = 0   graph = LDGraph.AddGraph(700,0,280,280,"Histogram","Value","Frequency") webcam = LDWebCam.Start(320,240) Shapes.Move(webcam,20,20)   Timer.Interval = 1000 Timer.Tick = OnTick   Sub OnTick   If (working = 0) Then     working = 1     img1 = LDWebCam.SnapshotToImageList()     hist = LDImage.Histogram(img1)     LDUtilities.PauseUpdates()     LDGraph.DeleteSeries(graph,"Red")     LDGraph.AddSeriesLine(graph,"Red",hist[1],"Red")     LDGraph.DeleteSeries(graph,"Green")     LDGraph.AddSeriesLine(graph,"Green",hist[2],"Green")     LDGraph.DeleteSeries(graph,"Blue")     LDGraph.AddSeriesLine(graph,"Blue",hist[3],"Blue")     LDUtilities.ResumeUpdates()     If (img2 <> "") Then       img = LDImage.DifferenceImages(img1,img2)       stats = LDImage.Statistics(img)       'TextWindow.WriteLine(stats["STD"][1]+" , "+stats["STD"][2]+" , "+stats["STD"][3])       LDImage.Multiply(img,10,10,10)       GraphicsWindow.DrawResizedImage(img,360,20,320,240)       Total = Math.Floor(stats["Mean"][1]+stats["Mean"][2]+stats["Mean"][3])       Controls.SetTextBoxText(movement,Total)       If (Total > sensitivity) Then         LDImage.Save(img1,Program.Directory+"\movement.jpg")         Sound.PlayClickAndWait()       EndIf     EndIf     LDImage.Remove(img2)     img2 = img1     LDImage.Remove(img)     working = 0   EndIf EndSub   Working Example A recent example using this technique was provided by Zock77 to identify movement and control a turret to aim a gun.  He used a very low resolution webcam image 16*16 pixels to simplify the calculation and identification of a moving target's position.  The image on the right is the current webcam 'grabbed' image with 16*16 resolution expanded to fill a larger area.  The image on the left is the 'difference' image showing movement since the initial image was reset (also expanded from 16*16 resolution), and the 'cross hairs' are the calculated center of the movement, which is used to control the turret using PPM (Pulse Position Moduation sound pulses and another extension). The following 2 threads in the small Basic forum follow this development and there is also a YouTube video by Zock of it all working. Pixelating an image? Auto aiming sentry turret with Small Basic!!

Posted by on 25 October 2014 | 2:00 am

Disponibilité du cours sur les nouveautés Dynamics NAV 2015

  Le nouveau cours "Les nouveautés fonctionnelles Dynamics NAV 2015" est disponible dans la nouvelle plateforme elearning DLP (Dynamics Learning Portal) https://mbspartner.microsoft.com. Ce cours couvre les sujets suivants : - Les nouveautés rapprochement bancaire et Cash Management - Les nouveautés RapidStart : les codes manquants et le mappage des données - Les rapports Word Documents - Planification des rapports - Simplification de l'interface utilisateur : Tableau de bord Small Business, modèles de données, champs obligatoires, article de type service, ... - Les nouveaux indicateurs de performance (les piles) - Les clauses TVA, validation des N° Interacomm. via service web, … Je viens de le suivre, il est super bien détaillé et de très bonne qualité.

Posted by on 25 October 2014 | 1:39 am

Pop Quiz … which Rangers solution enjoys the highest downloads?

Looking at Visual Studio ALM Ranger Solutions Catalogue (aka.ms/vsarsolutions), do you have any idea which solution has had the (1)  most downloads and the (2) highest average daily downloads since January 1, 2010? Add your candidates and a quick “why” as a comment below and watch the space for the solution.

Posted by on 24 October 2014 | 11:54 pm

AX for Retail 2012 R3 Receipt Printing Enhancements: Print Multiple Logos and Select Images in AX Client

Credit to Brian Storie (Microsoft) for authoring this article AX for Retail 2012 R3 introduced a new feature on the Receipt Format Designer that allows you to select a specific image for your Receipt Logo.   In previous versions of AX for Retail you had to place a specific logo file on each terminal, either as a local bitmap on the file system or directly into the printer’s memory.  This made for a lot of effort if you ever wanted to change the logo on your printed receipt.  The new functionality now allows you to centrally manage your receipt images directly from Headquarters, and even provides the ability to have multiple logos on the same receipt. Importing the Images To use the new method of printing logos you first need to import the images you want to print into the RetailImages table in Headquarters.  Loading the Image into AX is pretty straightforward;  simply go to Retail > Setup >  POS  > Images: Click New to create a new image and enter a value for Image ID.  Once the ID is set click the Select Image button and load the image from your file system.  This will then insert the image into the RetailImages table in the AX Database.   You will also see a preview of the logo:   Close the window after uploading the image file.   Adding the Logo to the Receipt Once the image has been added to the table you will be able to add it to your receipt using the receipt designer.  Go to Retail > POS > Receipt Formats and select the receipt you want to modify.  Click the Designer button.   Adding a logo to the layout is the same as previous versions:  simply drag the Logo field from the field list onto either the Header or Footer section.  For this example I'm going to stick with the demo data example of having the logo at the top of the header:   Note that the field just says “Logo” when you drop it on the form. If you leave it as-is, EPOS will look for look for the file RetailPOSLogo.bmp in your POS folder and use that when printing (just like previous versions).  However, the new feature allows you to change any logo field to print a specific image.  Make sure the Logo field is selected and click on the new Select Image button at the bottom of the window:     This will bring up the Select Image form.  Select the ID of the logo you want to use on this receipt and click Select Image.  For this example select the image that was uploaded earlier (10001):   If you look closely at the Logo field on the form you will see that it now shows the specific logo ID:    If you want multiple logos, simply drag new logo fields anywhere you want into the Receipt Layout and repeat the process to select a different image.  Note that you can have as many different images on as many different receipts as you want.   Testing the Logo Hopefully you remembered to click the Save button before you closed the designer form.  In order to test the receipt all you need to do is push your changes to the channel database.  EPOS will automatically use the new receipt layout and images you stored to the RetailImages table.  All of the tables you need to replicate are in the 1090 job. If everything works correctly you should see your (multiple!) images on your printed receipt: Notes Here are a few things to keep in mind with this new feature: In R2 and previous versions EPOS used to scale the image to exactly 250 pixels wide.   In R3 the image is sent to the printer as is (it literally sends an OPOS constant called “PTR_BM_ASIS”).  If your image is larger than the OPOS printer can handle it will not print your logo.  Due to differences in Printer hardware you may need experiment different image widths in order to print your logo. Depending on your Receipt Printer you may be able to print color bitmaps.  However we typically get the best results using a monochrome bmp file. With the new method EPOS loads the images from the channel database every time a receipt is printed.   If you are having network or SQL Server limitations you may want to use the default logo to reduce network congestion.  Logo bitmaps tend to be rather small in size, though, so this may not be a problem.

Posted by on 24 October 2014 | 10:35 pm

Two Presentations This Weekend at #SQLSaturday349 in Salt Lake City

I have the privilege of being selected to fill two slots this weekend at #SQLSaturday349 in Salt Lake City.  The venue is simultaneously hosting the Big Mountain Data event. My talks are: To the Cloud, Infinity, & Beyond: Top 10 Lessons Learned at MSIT & Columnstore Indexes in SQL Server 2014: Flippnig the DW /faster Bit The latter is one of my staples.  The former is a new presentation, a preview of my forthcoming delivery for PASS Summit14. Register, see the schedule, or see the event home page on the SQL Saturday site.  I’ll look forward to seeing you here: Spencer Fox Eccles Business Building 1768 Campus Center Drive Salt Lake City, UT 84112 Kudos to Pat Wright (blog | @sqlasylum) & crew for their crazy efforts (pardon the pun) in coordinating the event. TJay Belt (@tjaybelt), Andrea Alred (@RoyalSQL), & Ben Miller (@DBADuck), keep your peepers peeled—I’m on the way!

Posted by on 24 October 2014 | 8:09 pm

Issues with MSDN Sign-in -10/24 - Mitigated

Final Update Wednesday, Oct  24 2014 12:59 PM UTC There was a widespread issue with live id authentication affecting multiple sites and the same has been resolved at 5:35 PM Pacific time by Live ID support. MSDN subscribers will not be facing any issues with signing in to their account and access their subscription benefits We appreciate your patience. -MSDN Service Delivery Team --------------------------------------------------------------------------------------------- Initial Update: Wednesday, Oct  24 2014 12:38 PM UTC We are currently investigating issues with MSDN page where users may face issues signing-in intermittently .Our DevOps are engaged and investigating the issues We apologize for the inconvenience and appreciate your patience -MSDN Service Delivery Team

Posted by on 24 October 2014 | 7:43 pm

Issues with connecting VSO - 10/24 - Mitigated

Final Update:  10/25/2014 1:00:00 AM (UTC) The issue is mitigated and was root caused to be due to a recent change in login.live.com. Customers should not experience login failures anymore.  We apologize for the inconvenience this may have caused and appreciate your patience while the issue was resolved - Visual Studio Online Team --------------------------------------------------------  Update: 10/25/2014 12:30 UTC We confirm this a login.live.com issue. Customers using live id accounts to log into VSO accounts will experience login issues. However, if the customer is already logged in to the service should not experience any issues. During this impacted window, if the customer signs out and tries to login back will experience login issues. Our DevOps team working with live.com to mitigate the issue as soon as possible.    We apologize for the inconvenience this may have caused and appreciate your patience while working on resolving the issue. --------------------------------------------------------  Initial Update: 10/24/2014 11:56 PM (UTC)  We are currently experiencing issues with VSO logins. Live id accounts might see login failures intermittently while logging into VSO Services. Our DevOps are engaged and investigating the issues. We apologize for the inconvenience this may have caused and appreciate your patience while working on resolving the issue. - Visual Studio Online Team    

Posted by on 24 October 2014 | 6:56 pm

Introducing the Visual Studio ALM Rangers – Marcelo Silva

This post is part of an ongoing series of Rangers introductions. See Ranger Index (Who is Who?) for more details. Who you are? I’m originally from Rio de Janeiro, Brazil, now an American citizen. I have lived in the US for the past 15 years, having worked in Wall Street for most of that time as a Lead Developer in the .Net / Java space. I’ve joined Microsoft in 2011 as a Premier Field Engineer in the ALM space and just recently moved to an Application Development Manager position in the Public Sector. My passions, besides Application Development, Architecture and Project Management and my family include flying, snowboarding and snorkeling. What makes you “tick”? Technology and how we can use it to make the world better around us. One of my passions is to solve problems, make processes and organizations better by applying technology the right way. Where you live? I live in Frisco, TX which is 25 miles NE of the Microsoft Office in Las Colinas. This is in the Dallas metro area. Why are you active in the Rangers program? I just wanted to contribute more to the community and be more involved in the team that is the leader in the ALM space. What is the best Rangers project you worked in and why? I just joined, so I haven’t had a chance to work on any of the projects yet, but definitely looking forward to do so.

Posted by on 24 October 2014 | 6:38 pm

Lifecycle Services Maintenance - Thursday October 30th, 2014

Dynamics AX Lifecycle Services will perform our scheduled infrastructure maintenance (detailed timeline below)   We appreciate your patience as we work to improve the site for you. LCS will be down during this period   PST UTC 10:00   -  18:00  17:00 -01:00 (Next Day)  

Posted by on 24 October 2014 | 6:25 pm

Kanban, MMFs and the Goldilocks Principle

http://agileproductdesign.com/blog/2009/kanban_over_simplified.html really resonates with me. The article explores Kanban and how it differs from other agile approaches such as Scrum. My experience with scrum was as follows. You peel off a set of stories from the backlog to deliver in that sprint. Because you have a fixed-timebox there is pressure to make the stories quite fine-grained so you can be sure that they’ll fit in the time box, and you don’t have fractions of stories assigned to the sprint. You try and identify a theme to provide a common goal, but that can be a bit artificial, and some of the stories don’t really fit with it. Inevitably you are too greedy and as the end of the sprint draws near everyone feels under pressure to complete stuff, quality goes down, and then there’s a long tale of testing that ends up being done in the next sprint. Often the testing can’t be done anyway because you’ve got to wait for other stories to be completed before you have enough of an e2e experience to test (there’s only so much that can be achieved through unit testing). You try to write stories that are customer facing, but as they are quite fine-grained, this can be a bit of a struggle – stories creep in for backend and engineering work. You have trouble explaining the backlog to your stakeholders because the stories are too fine-grained to see the wood from the trees, and they are also not all customer-facing. In order to cure these problems, we started evolving towards a Kanban approach, beginning by adopting the notion of Minimal Marketable Feature or MMF. An MMF is in the Goldilocks zone of granularity – neither too big nor too small, just right. There is a beautiful tension between making the feature marketable yet keeping it minimal, and a lot of hard work goes into designing the backlog and getting this right, as it should. We still have stories – they are used to break down the work to deliver an MMF, and we still try to make them customer-facing to keep the team thinking that way but don’t force it. MMFs are marketable, so it became easier to communicate with stakeholders about the functionality being delivered and how it contributes to the business. Execution focus turned away from the sprint to the MMF. When is the MMF expected to ship? Is the burndown of stories/tasks for that MMF tracking to that expected date? If not, what’s blocking, can the block be removed? Or is it that it’s just taking longer and expectations need to be reset with stakeholders? Do we need to shift effort from another MMF being done in parallel to one MMF to ensure that at least one gets completed ready for the next release? How is a release (= set of MMFs) tracking? Will all the MMFs make it (not too much of a disaster if they don’t, because all MMFs are designed to be self-contained, marketable in their own right)? We found that a Kanban board of MMFs is quite an effective way of tracking progress. Focus shifts towards pushing an MMF across the board as quickly as possible, and lining up MMFs in the queue to feed the continuous delivery pipeline. There is no pressure to finish it against some arbitrary deadline (end of sprint); instead the team pushes itself to get MMFs through the system as fast as possible, though without skimping on quality and in a way that is sustainable long-term: late nights and productivity-sapping long hours are avoided as much as possible. We have continued using sprints, but they’ve been demoted to useful planning checkpoints where an engineering team can re-evaluate it’s capacity, communicate with stakeholders about MMFs that have been completed since the last checkpoint, update expectations about when MMFs in flight are likely to finish, and raise awareness of what’s coming next in the queue. There is no longer a need to identify a theme for a group of stories in a sprint, because the MMF is the theme – all stories required to build it are naturally grouped. I wouldn’t go back to Scrum.

Posted by on 24 October 2014 | 5:03 pm

Sample chapter: Using XAML Styles

This chapter from Microsoft Visual Basic 2013 Step by Step investigates how XAML styles are used to format controls with a consistent and attractive appearance across the user interface. After completing this chapter, you will be able to Understand how XAML styles are used to build attractive-looking user interfaces. Define reusable styles in the App.xaml project file. Reference new styles by using the Style property for controls on the page Build new styles from existing styles using inheritance and the BasedOn property Find the complete chapter here: https://www.microsoftpressstore.com/articles/article.aspx?p=2224055. Interested in more free sample chapters? Check out our growing collection here: https://www.microsoftpressstore.com/articles/.

Posted by on 24 October 2014 | 4:52 pm

Azure Sample App: Vehicle Real-Time Status Tracking, Statistics and Analysis

  This sample app demonstrates how an Azure hosted application, using Storm, a distributed real-time computation system, and Apache Kafka, a publish-subscribe messaging system, keeps track of vehicle data in real time,  from Vehicle’s speed to temperature, RPM and gear usage rate. Text from the sample app: Storm is a distributed real-time computation system. Similar to how Hadoop provides a set of general primitives for doing batch processing, Storm provides a set of general primitives for doing real-time computation. Storm is simple, can be used with any programming language, is used by many companies. Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design. This example shows how to deploy a Storm topology that reads data from the Kafka messaging system. You can use the Kafka client application to send vehicle real-time information from anywhere to the Kafka cluster. The Storm topology will translate those coordinates into JSON objects, use GeoJSON to identify the coordinates on the Bing map, and then keep a running record of Vehicle’s speed, temperature, RPM and gear usage rate. For persistence, the real-time data is stored in Microsoft Azure Table Storage service. The topology also writes data to Redis, which is how this web application gets the data. This web app is written in Node.js, uses Socket.IO and the express web application framework to read the data from Redis and display it via d3js.

Posted by on 24 October 2014 | 4:48 pm

Upcoming Microsoft Conferences in 2015

  Microsoft announced at the Official Microsoft blog site a number of upcoming Microsoft conferences in 2015. Convergence 2015 in Atlanta, March 16-19, the place where business leaders gather to explore solutions. //Build in San Francisco, April 29-May 1, is where developers will hear the latest about our platform strategy, technologies and opportunities. Microsoft Ignite in Chicago IL, May 4-8, 2015, a unified Microsoft enterprise tech conference. Worldwide Partner Conference in Orlando, July 12-16, for our enormous partner community. Build Conference, April 29 – May 1, 2014, San Francisco, CA Build is a Microsoft's premier developer conference. If you want to find out what was covered in 2014, check out the keynote and breakout sessions at http://channel9.msdn.com/Events/Build/2014 Microsoft Ignite, May 4–8, 2015, Chicago, IL  

Posted by on 24 October 2014 | 4:26 pm

Nice to tweet you

I’ve been on twitter for a while, but only recently started to use it actively. Enjoying the experience. You can tweet me @sjhkent.

Posted by on 24 October 2014 | 3:56 pm