Monday, 22 June 2015

Can’t find all the tech people you need? The Blind Institute of Technology can help

The fledgling organization says there is a large untapped pool of talent waiting in the wings

Mike Hess is the founder and Executive Director of the Blind Institute of Technology, a Colorado-based nonprofit transitioning to be a national outfit, whose goal is to find tech roles for the chronically underemployed visually impaired community. Hess, who runs the organization with 40+ volunteers, including eight C-level executives on his board of directors, recently outlined his goals for Network World Editor in Chief John Dix.

Why did you start this organization and what is it about?

Mike Hess is the founder and Executive Director of the Blind Institute of Technology

I started in technology 18 years ago in the mid-90s and most of my career was in telecommunications. I started with US West as a mainframe developer and when US West Wireless started I thought that sounded fun so I moved over and that’s when I started expanding my technical skills. In the mid-2000s when VoIP became the latest craze I went and got Cisco certified and learned how to overcome those challenges, and then ultimately I ended up at Level 3 Communications.

Through all of that I noticed I was always the token blind guy in the organization, so I started doing some digging and came to realize the unemployment rate for the vision-impaired (VI) ranged from 70% to 80%. I found the numbers just staggering and I thought, I can make a difference by bringing awareness to executives here locally in Denver.

The first six to eight months was all about proof of concept. I kept knocking on doors, talking to executives, telling them about how I was able to overcome visual obstacles in environments just like theirs, so I was bringing credibility to the story. I was talking to them about the amazing candidates they were overlooking even as they were struggling to find talent. In Denver, unemployment within IT is less than two percent.

Was the focus to encourage employers to hire visually-impaired people or were you also out to encourage visually impaired people to pursue technology careers?

My initial focus was on awareness with a mission to impact unemployment. I didn’t start out to build a staffing or placement organization. That’s kind of evolved over the last two years.

Today BIT offers multiple programs designed to enable success in the workplace for both employers and the VI community. Our Education and Outreach Program (Art of Blinders) teaches organizations the true power of listening. These workshops help educate organizations about the innate assets a vision-impaired person brings to the workplace, and helps with organizational development by having participants practice listening skills while blind folded.

Our second program is Workplace Preparation. We provide technical assistance to organizations that are interested in learning how to make software accessible to consumers, or organizations that need technical assistance for a VI employee.

The third program is Certification and Training, so it is all about education. We have partnered with the Tuliva Academy in downtown Denver to offer technical certifications that are fully accessible in the classroom.

And the fourth program is Staffing and Placements. We have signed direct placement agreements and master service agreements with organizations for full-time employment, project and contract work.

Since we’re a 501C3 Nonprofit, organizations can donate to one of our programs to help us impact the unemployment within the vision-impaired community.

When you approach a large company, is it hard to get in the door or are they receptive to the idea and just haven’t thought it through?

When I talk to CIOs or CTOs I talk pure technology. I explain that bringing in technology to support visually impaired programmers adds less than one percent to software development lifecycle costs, and suddenly you have access to this large talent pool out there. Technically minded executives get this concept. Every organization is looking for scalability. When I explain how many millions of blind people there are, it’s kind of a no-brainer to start incorporating accessible technology in the workplace because it allows you to scale immediately.

Where I get more resistance is when I talk to HR types. Their goal is to mitigate risk, but I’ve found zero statistics that show that the visually impaired are any more problematic for organizations. As a matter of fact, all the testimonials and statistics I’ve found show that companies that have embraced the vision-impaired community have some of the lowest churn in the industry because, quite honestly, once I know my way to my office, I continue to walk that path. So I think the loyalty factor is a huge win for organizations.

So yeah, it’s kind of a mixed reaction, although the reason we’ve been able to grow is because when I talk to an executive I always ask if they can introduce me to two or three peers and they’re like, “Absolutely,” because what we’re selling is this amazing talent pool that they’re probably not tapping into.

How many people are visually impaired?

In Colorado alone there are 45,000 blind people between the ages of 18 and 64. And if 70%-80% are unemployed? Do the math. And the vision-impaired community has roughly the same level of higher education degrees as our sighted peers, which is about 20% percent of the population.

Then we look for the unemployed visually impaired that have what I call the AA standard. The first A is for attitude. Is your vision impairment an obstacle or is it a barrier, because if it’s a barrier, BIT is not the right organization for you. If it’s just an obstacle, and you’ve got the attitude that you can overcome whatever is in front of you, to me that is a great asset for any technical organization.

The second A is your aptitude. Do you have skills? We literally represent double master, double bachelor’s degree candidates that are just sitting on the sidelines right now chomping at the bit, waiting for a friendly organization to say, “You know what? I’m not worried about the accessible technology. I’m not worried about the perception. I’m just looking for a talented, loyal professional to help our group.”

What was it like for you to learn technology as a visually-impaired person? What kind of obstacles did you face as you pursued this career?

I think you’ll find a lot of vision impaired people can memorize copious amounts of information. When I was coding, my learning curve in the beginning was slower because I had to memorize large COBOL programs, although give me a couple of months and I was way more proficient because I knew exactly where to go to update my data division or go to my procedure division. I could do the correlating of data elements so much faster than my sighted peers because memorizing was secondary to them because they could just see what they were doing.

And because of my sight, I use a lot of tactile representations. For network topologies, for example, I would lay a document over a hard rubber mat and ask a coworker to use a pen to perforate around the shapes, giving me a tactical, three-dimensional layout.

So I leverage all my senses, I leverage every tool and technique I can. There’s actually a lot of science that quantifies how, if you use multiple senses during your transfer of information, your retention and recall go up exponentially. I’ve had high success of getting projects out on time and on budget and that is an anomaly within the IT network space.

When you were going to school for technology, was it hard to find adequate tools to help you learn?

In the early 90s IBM provided a grant to four community colleges and the program I attended was called Computer Training for People with Disabilities. It was designed to get people with physical challenges into technology organizations. There were screen reader and early speech-to-text software and other technologies, but when I first started the software that would help me had not yet arrived. However, there was another student there who had crippling carpal tunnel and so I said “I’ll be your hands, you be my eyes,” and for the first two months of the program that’s how we turned in our assignments. Today, 20 years later, the technology is so much better, thank goodness.

When you transitioned into the corporate world, did they have adequate tools for you?

Back then the technology was a lot more pricey than it is now, but organizations could write-off the investment and they were more than willing to do that because there was this boom in IT like we’re going through now.

Today the technology is so much better. One of the brilliant things Steve Jobs did with the i-devices, he went out and talked to the blindness community and made sure the very first i-device was completely accessible to the VI community. Now, for example, you have applications from companies like Salesforce that I can use to do everything a sighted person would do. The technology is 100% percent innate within iOS.

A lot of what we do now when we go in to talk to an organization is showcase the new capabilities. We say, “Here’s how the technology looks and feels, here’s some of the code you can implement, and here’s how our devices actually respond to that code.”

Are schools doing enough to prepare visually impaired people for tech roles?

In Colorado I’ve checked out all of the major universities, and the thing that saddens me is there’s not one program that actually offers an accessible technology class or tutorial. So BIT is going to be a game changer within the educational realm. We will challenge the IT programs to offer accessibility as a portion of its curriculum. Currently, Universities are not teaching anything about accessible technology. We believe that is important not just to have accessible technology available but teach students about using accessible technology. Therefore, graduates will know what it looks and feels like to code for accessibility.

We’re also partnering with a local technology school that has the curriculum for Cisco and Salesforce and Project Management certifications, and they’re going to be the first technical school in the country that is 100% percent accessible to the visually-impaired community.

So if we have a visually-impaired person reach out to us that has, say, a bachelor’s in English, we can say, “With that degree and with this certification, you’ll be able to line up for a project management role,” or something like that. So we can help them leverage their current skills, augment them with some additional certifications that are completely VI accessible, and then place them in an industry with the lowest unemployment rate out there.

Security is an interesting opportunity. A lot of healthcare organizations, for example, are building out security operation centers, and they’ve told us, “We just want the right personality. We’ll teach them the hard skills.”

Well, Mike, anything else that’s important to know about your organization that I haven’t thought to ask about?

I just want to reiterate that we have national reach. We’re completely connected with all of the blindness organizations nationwide, and this is of national importance and I know with community effort, with organizations who are just looking for talented, loyal people, BIT can absolutely be a brand name that they can come to depend on to help them get those resources out there nationwide.

Best Microsoft MCTS Certification, Microsoft MCITP Training at certkingdom.com

Thursday, 18 June 2015

9 useful PowerShell tools

 Microsoft's mighty Windows administration framework gets even better with the help of these tools and materials. Almost all are free; the one for-fee tool is well worth the cost.

Why PowerShell?
Ah, PowerShell. A simple blue window and some text has transformed the world of Windows administration from a point-and-click GUI to scripts that automate everything, as well as provide log rotation and identity lifecycle management and which server receives which updates.

With everything in the newest versions of Windows Server accessible primarily via PowerShell and only secondarily (and sometimes even not at all) via the server's GUI, PowerShell knowledge has become a must. Sometimes, though, it is difficult to know whether you are proceeding correctly. Luckily, there are other resources available that will help speed you along in your training and your professional responsibilities.

In this slideshow, I will highlight 9 resources for immersing yourself in the PowerShell world. Whether you're writing scripts, working in a DevOps-oriented environment or administering software from vendors other than Microsoft using PowerShell, there is something for everyone in this group of resources. And best of all -- they are all free, save for one excellent paid product.

What are you waiting for? Let's dive in.

Dell PowerGUI
Presumably left over from Dell's 2012 acquisition of Quest, PowerGUI is a visual complement to PowerShell. It makes assembling scripts and getting things done in PowerShell as simple as selecting cmdlets that are appropriate for your task and then dragging them into place. Perfect for those who are new to PowerShell but have a basic grasp of its concepts, PowerGUI is an easy-to-use script editor that will probably advance your understanding of assembling more complex and advanced scripts quicker than anything else -- especially if you are a visual learner.

Perhaps the most useful features of PowerGUI are the Power Packs: Pre-built scripts that have been open-sourced by the user community and made available to other PowerGUI users. These range from adding users to managing switches; they can be customized and further improved upon, or simply baked into whatever script you are currently writing, saving the time it would take you to reinvent the wheel.

There was once a paid edition of PowerGUI with more advanced features, but that edition was rolled up into the freeware product. PowerGUI does not seem to have been updated for a while, but that does not make it any less useful, and since it is freeware, you have nothing to lose by adding it to your arsenal.

Sapien Technologies PowerShell Studio 2015
More advanced PowerShell developers and administrators need more advanced tooling, and PowerShell Studio 2015 from Sapien is the first place to look. When you first open PowerShell Studio, you are immediately reminded of Visual Studio and for good reason: PowerShell Studio is as much an integrated scripting environment as Visual Studio is an integrated development environment (IDE).

Features include: Ribbon, remote debugging support, compiler features that let you turn scripts into executable files, support for multiple versions of PowerShell (useful for targeting scripts to different servers running different levels of the Windows Server operating system), source control for checking in and out script code and support for multiple developers. All of which make this an obvious choice for shops where administrators and developers work together on building advanced PowerShell scripts to handle a variety of scenarios.

At $389 per license, it is a little pricey. But considering all of the product's functionality, if you live in this part of the PowerShell world, it is well worth the cost of admission.

Amazon AWS Tools for Windows PowerShell
It's not just Microsoft that is jumping on the PowerShell bandwagon; even a competitive cloud service like Amazon Web Services recognizes that (a) Windows Server is huge, (b) lots of administrators are learning PowerShell, and (c) anything that lets administrators manage Amazon services more easily increases the likelihood that an Amazon server will stick in any given enterprise. Thus the AWS Tools for Windows PowerShell were born.

With AWS Tools for Windows PowerShell, you can manage virtual machines and service instances that are running in the Elastic Compute Cloud (EC2), or write scripts that automate the management of any workloads you have running in a variety of Amazon services. The tools install a bunch of cmdlets into your Windows PowerShell "sphere of influence" and let you manage and script tasks like backing up data from virtual machines in EC2 to the Simple Storage Service (S3) or logging and publishing metrics to the Amazon CloudWatch personal dashboard.

If you know PowerShell and you use Amazon cloud services, these tools will be a great addition.

Microsoft Script Browser for Windows PowerShell ISE
The problem: You want to do something in PowerShell. You know your outcome. But you do not know how to get there and, further, you have a sneaking suspicion that someone, somewhere out there on the Internet has already figured it out and probably would tell you for free. What if there were this free magic tool that would scour the TechNet Script Center -- probably the most authoritative source for PowerShell scripts on Earth right now -- and find scripts that purport to do what you need? That is exactly what Microsoft Script Browser claims to do.

It also includes a built-in Script Analyzer function that will read through your scripts and suggest improvements or changes to make based upon scripting best practices.

This tool plugs right into the Windows PowerShell Integrated Scripting Environment, which you get for free as part of Windows. You might need to install the feature on Windows client machines, but it should be installed by default as part of the basic Windows Server image.

Adam Driscoll's PowerShell Tools for Visual Studio
If you are more on the "dev" side of DevOps, then you probably use Visual Studio as one of your tools of choice. While Visual Studio has a lot going for it, it does not do a lot with PowerShell out of the box. That is where Adam Driscoll's PowerShell Tools for Visual Studio project comes in.

This project integrates within Visual Studio, brings syntax highlighting and colors to the IDE, and adds IntelliSense support for automatically completing syntax elements like variables, cmdlets and arguments as you type within a Visual Studio window. It also extends options for configuring Visual Studio projects so you can keep your scripting efforts organized and together, extends support for scripting arguments with the MS Build compiler and supports script debugging via breakpoint and breakpoint pane support. It also extends some testing features with Pester and PSate test adapters.

All in all, this is a free set of resources for making Visual Studio more PowerShell savvy. If you like this after downloading it, consider throwing Mr. Driscoll a few bucks for his efforts.

Microsoft Windows PowerShell Web Access, via Control Panel
PowerShell Web Access is like webmail but for PowerShell cmdlets. You log into a webpage that presents a Web-based console where you can run cmdlets, perform operations and do simple remote administration tasks right over the Internet. There's no need for PowerShell, extensions or cmdlets to be installed on the machine you are browsing with.

This means that yes, you can run PowerShell operations from your iPad if you have this feature enabled.
Best of all, it is free with a Windows Server license and is built right in. I do not see this in use a lot, but I think it is very handy. As the saying goes, "You might not need this until you need it, but when you do end up needing it, you need it very badly."

Be careful, though, as opening this facility up to users outside your network is just an invitation for security problems. Restrict access to the PowerShell Web Access site in IIS to only IP addresses local to your corporate network. Or even better, restrict that access to a few workstations on your local network and perhaps a static VPN address you can use to perform administration tasks remotely.

Free. Windows feature, installed through Control Panel / Add and Remove Windows Features.

PowerShell Training via the Microsoft Virtual Academy
With great power comes the need for a lot of training. PowerShell is a capable language that can do so much. It marries scripting with development and .NET programming. It comes with a universe of cmdlets. It has its own syntax. And while I have (and will continue to) explain PowerShell basics training on Computerworld.com, those pieces just scratch the surface of all there is to know.

Fortunately, the Microsoft Virtual Academy contains hours of video training on getting to know PowerShell, using it and making the language work for you. These courses include information from stars such as the father of PowerShell, Jeffrey Snover, and distinguished technologists who have made (new) careers out of understanding every nook and cranny of PowerShell. Perfect for lunch hours.

Master-PowerShell, an ebook from Dr. Tobias Weltner
If you are a visual learner, then video training is the best way to learn PowerShell. For those of us more language inclined, we can learn from Microsoft MVP Dr. Tobias Weltner in his free ebook cleverly titled Master-PowerShell. Weltner covers a lot of ground in his book, including variables, arrays and hashtables, the pipeline, objects, conditions, loops, functions, scripts, error handling, scope, text and regular expressions. Also included: XML, administrative work using the file system, Registry, processes, services, event logs, WMI and users. He even includes a chapter on .NET and compiling for the developers among us.

The book is hosted by Idera, a popular administrative tool developer, and can be found over on the PowerShell.com site, which is a useful community resource in its own right.

VMware vSphere PowerCLI
Like Amazon, VMware has figured out that, in some respects, making nice with your competitors for the benefit of your mutual customers is not a bad thing. To that end, VMware created PowerCLI, a command line-based environment for managing VMware vSphere resources that integrates PowerShell throughout.

The PowerCLI environment is basically a bunch of cmdlets that interact with vSphere and vCloud, and also provides interfaces based on C# and PowerShell for the various APIs that are exposed by the VMware products. If you are a VMware shop and want to get your hands on PowerCLI, head over to this link. Is it not great when everyone plays nicely together in the sandbox?

Freeware, with a free cmdlet reference available.

Best Microsoft MCTS Certification, Microsoft MCITP Training at certkingdom.com

Monday, 8 June 2015

Exam 70-490 Recertification for MCSD: Windows Store Apps using HTML5

Exam 70-490 Recertification for MCSD: Windows Store Apps using HTML5

Published: 01 August 2014
Languages: English
Audiences: Developers
Technology: ASP.NET MVC
Credit towards certification: MCP, MCSD

Skills measured
This exam measures your ability to accomplish the technical tasks listed below.

Please note that the questions may test on, but will not be limited to, the topics described in the bulleted text.

Design Windows Store apps

Design the UI layout and structure
Evaluate the conceptual design; decide how the UI will be composed; design for the inheritance and re-use of visual elements (e.g. styles, resources); design for accessibility; decide when custom controls are needed; use the Hub App template

Develop Windows Store apps

Implement search

Provide search suggestions using the SearchPane and SearchBox control class; search and launch other apps; provide and constrain search within an app, including inside and outside of search charm; provide search result previews; implement activation from within search; configure search contracts

Implement Share in an app
Use the DataTransferManager class to share data with other apps; accept sharing requests by implementing activation from within Share; limit the scope of sharing using the DataPackage object; implement in-app Share outside of Share charm; use web links and application links

Integrate media features
Support DDS images; implement video playback; implement XVP and DXVA; implement TTS; implement audio and video playback using HTML5 DRM

Create the user interface
Implement WinJS controls

Flipview; flyout; grid layout; list layout; menu object; WebView; item container; repeater

Implement HTML layout controls
Implement layout controls to structure your layout; implement templates and bindings; support scrolling and zooming with CSS3; manage text flow and presentation, including overflow

Create layout-aware apps to handle windowing modes

Use CSS3 media queries to adapt to different devices; respond to changes in orientation; adapt to new windowing modes by using the ViewManagement namespace; manage setting for an apps view

Program user interaction

Notify users by using toast
Enable an app for toast notifications; populate toast notifications with images and text by using the ToastUpdateManager; play sounds with toast notifications; respond to toast events; control toast duration; configure and use Azure Mobile Services for push notifications

Manage security and data

Choose a data access strategy
Choose the appropriate data access strategy (file based; web service; remote storage, including Microsoft Azure storage and Azure Mobile Services) based on requirements

Retrieve data remotely
Use XHR or HttpClient to retrieve web services; set appropriate HTTP verb for REST; handle progress of data requests; consume SOAP/WCF services; use WebSockets for bidirectional communication

Manage Windows Authentication and Authorisation
Retrieve a user’s roles or claims; store and retrieve credentials by using the PasswordVault class; implement the CredentialPicker class; verify credential existence by using credential locker; store account credentials in app settings

Manage Web Authentication
Use the Windows.Security.Authentication.Web namespace; set up OAuth2 for authentication; CredentialPicker; set up single sign-on (SSO); implement credential roaming; implement the WebAuthenticationBroker class; support proxy authentication for enterprises

Develop Windows Store apps

Create background tasks
Implement the Windows.applicationmodel.background classes; implement WebUIBackgroundTaskInstance; create a background task to manage and preserve resources; create a background task to get notifications for an app; register the background task by using the BackgroundTaskBuilder class; prioritise tasks by using the Scheduler namespace

Discover and interact with devices

Capture media with the camera and microphone
Use CameraCaptureUI to take pictures or video, and configure camera settings; use MediaCapture to capture pictures, video and audio; configure camera settings; set media formats; handle media capture events; implement advanced photo capabilities, such as sequence mode, thumbnails and focus mode

Get data from sensors
Determine the availability of a sensor (Windows.devices.sensors); add sensor requests to the app manifest; handle sensor events; get sensor properties; determine location via GPS; enable geofencing

Implement device access
USB; Bluetooth; Human Interface Device (HID); 3D printer support; Point of Service (PoS) devices

Program user interaction
Implement Play To by using contracts and charms

Register an app for Play To; use PlayToManager stream media assets; register an app as a PlayToReceiver; programmatically implement PlayTo functionality

Notify users by using Windows Push Notification Service (WNS)

Authenticate with WNS; request, create and save a notification channel; call and poll the WNS; configure and implement push notifications by using Azure Mobile Services

Enhance the user interface

Design for and implement UI responsiveness
Choose an asynchronous strategy between web workers and promises; implement web workers; nest and chain promises; make custom functions promise-aware; improve interface performance by using the Scheduler namespace

Implement animations and transitions
Apply animations from the animation library (WinJS.UI.animation); create and customise animations and transitions by using CSS; apply transformations; create animations by using keypoints; apply timing functions; animate with the HTML5 < canvas > element

Manage data and security

Design and implement data caching

Choose which types of items (user data, settings, application data) in your app should be persisted to the cache based on requirements; choose when items are cached; choose where items are cached (Microsoft Azure, Azure Mobile Services, remote storage); select a caching mechanism; store data by using indexDB, LocalStorage, and SessionStorage

Save and retrieve files
Handle file streams; save and retrieve files by using the StorageFile and StorageFolder classes; set file extensions and associations; save and retrieve files by using file pickers and the folder picker; compress files to save space; access libraries and KnownFolders, for example, pictures, documents and videos; manage appearance of the file picker; improve searchability by using Windows Index; integrate OneDrive with apps; compare files; manage libraries

Secure application data
Encrypt data by using the Windows.Security.Cryptography namespace; enrol and request certificates; encrypt data by using certificates; revoke file permissions

Prepare for a solution deployment

Design and implement a test strategy
Design a functional test plan; implement a coded UI test; design a reliability test plan, including performance testing, stress testing, scalability testing and duration testing; simulate in-app purchases

Evaluate and configure for Windows Store deployment
Configure app options to submit to the Windows Store, such as age restrictions, privacy statement, permissions, images and contact information; create application files, resource files and application bundles; verify application readiness by using the Windows Application Certification Kit (WACK)