AI next conference Jan. 2018 Seattle WA

February 6, 2018

The  NextCon conference series  began  early last year. The conference was organized by Association of Technology and Innovation (ATI) ‘s and Bill Liu was the lead.  This was in succession to the last one in Seattle in March 2017. The conference had  loads of companies which sponsored and had tech. talks. Roughly around 400 people attended the conference.

Conference Schedule:

sch1

 

sch2

 

Quick summary of recently concluded AI conference Nextcon in Seattle, Jan 2018.   This summary has my key takeaways and my learnings, Keynote summaries,  some of the break-away sessions I attended summaries, my side discussions as well as links and resources to the tech talks as well as links to blogs and Videos. It also includes some of my follow-up blog reading to understand  concepts. Hope this is useful for you as  much I found it to be!!

 

The conference had 4 tracks:

  1. Computer Vision
  2. Speech /NLP
  3. Data Science/Analytics
  4. Machine Learning

With limited time I picked mainly the Data Science and Machine learning tracks to understand trends on how to handle large amount of data and how to make sense of large amounts of data.

 

  1. Key takeaways & learnings for us:

These are some of things I have distilled and filtered from the Conference as areas of interest.

  1. AI is a great tool to have in your tool box. It isn’t the end all of all tools at least for now. But this could change in the future. For eg: AI which can disambiguate and find flaws in the electronic welds cant tell you whether a Kid is holding a tooth brush or base ball bat.
  2. Reinforcement learning(RL) is making a come back and yielding great results thought at a slightly higher cost of latency etc., time and infrastructure costs. Martin  Gomer  from google showed that how he trained a Pong playing AI with just historic data and by making it play itself and generating lot of data and get better at it. Think of how a kid learns to bike or learns to walk …ai_nvidiaReinforcement  learning (RL) and Neural networks Neural networks are algorithms, RL is a problem type. You can approach RL with neural networks.What makes RL very different from the others is that you typically don’t have a lot of data to start with, but you can generate a lot of data by playing. You have to deal with the problem that you have to make decisions, but it is not clear what is good (delayed reward). For example, it might take several moves until you know in Go if a move was smart.3. OS for AI – The next frontier will be when people will use each others algorithms and models to come up with a sophisticated service which aggregates. For eg: John peck from Algortigmia shows how. Someone writes a fruit classifier and another persona vegetable classifier and then a third party could aggregate them into a fruit or vegetable classifier.composability

elastic scale

Algorithmia maybe a good resource for paying for ML algorithms. I suggested to them after the talk to support  offering data as well at a $$.  This is inline with Data Science as a service idea

4. Auto ML or off-the-shelf machine learning methods – Machine learning is evolving at a pretty strong pace. More and more it is possible to just feed the AI platform dataset and it tunes the hyperparameters and comes up with a trained model

5. In the large scale of things AI is currently pretty early in its evolution

 

aiishere6. Future of AI from Prof. Oren Otzioni  – When will Superintelligence Arrive? AI experts try and answer  the question. It still is far out!!

7. Another interesting talk was by Twitter on Online ML and why they didn’t use deep learning. Deep learning currently has some disadvantages especially in real time low latency scenarios. More details on this below

8. Deep learning is providing lot of value however it comes at a cost as it requires a large data set. It however does require a solid hardware infrastructure.  Unfortunately, in deep learning, people usually see very sublinear speedups from many GPUs. Top performance thus requires top-of-the-line GPUs.

9. Microsoft AI platform is super rich in terms of tools, services, 3rd party tools integrations etc.

Microsoft demoed Azure ML workbench which seems like a really cool tool for the time consuming activity  of data wrangling.

 

2. Conference KeyNote summary:

  1. Steve Guggenheimer from Microsoft

Steve talked about the Microsoft AI platform and applications already on a lot of features.

 

Microsoft AI platform-

msftaiplatform

Microsoft demoed Azure ML workbench which seems like a really cool tool for the time consuming activity  of data wrangling.

azuremlworkbench

 

The platform is super rich in terms of tools, services, 3rd party tools integrations etc.

Ethics in AI

Microsoft realizes the potential of AI and how it can be misused and hence Steve shared the Microsoft AI ethics. Satya has talked about compassionate AI  as  the AI for the future

Microsoft has published a nice book on this subject  called “The Future Computed”

https://msblob.blob.core.windows.net/ncmedia/2018/01/The-Future_Computed_1.26.18.pdf

ai ethics msft

I also liked the live demo on how the Bing  team uses specialized FPGA’s. FPGA’s or Field Programmable Gate Arrays are programmable hardware devices sort of a CPU for specific task rather than general purpose which allows optimizations to be built in.

 

CPU vs FPGA performance within Bing team – FPGAs and ASIC derivatives just dedicated to a certain task perform really really well at the same time taking a fraction of the Power.

fpga

2. AI at DIdi Chuxing – Didi Chuxing is like the Uber of China and the scale they have to deal with is humongous.   I liked DIdi Chuxing’s Presentation on how they are using AI in the transportation sector.  Lot of it can be applied to other fields as well as the problems are similar in nature. They  presented the iterations  on how they solved their problems using various AI algorithms and have narrowed it down to deep learning and Reinforcement learning to look at forecast, ETA, dispute resolution etc.  They started with  regression models to Deep learning models. Deep learning has helped them solve more problems.

didi_ai

They have applied AI to multiple problems areas within transportation –

didi_projects

More details here:

https://www.slideshare.net/BillLiu31/ai-at-didi-by-jieping-ye

 3. UW Prof. Oren Etzioni also presented a good deck on Future of AI which is more like Is AI the evil power it is made out to be rather than typical technical trends of AI?

superinteligence

Winograd schemas is an alternative to the Turing Test developed by Hector Levesque.

The Turing Test is intended to serve as a test of whether a machine has achieved human-level intelligence. In one of its best-known versions , a person attempts to determine whether he or she is conversing (via text) with a human or a machine. However, it has been criticized as being inadequate. At its core, the Turing Test measures a human’s ability to judge deception: Can a machine fool a human into thinking that it too is human? It also suggests that the Turing Test may not be an ideal way to judge a machine’s intelligence.  An alternative is the Winograd Schema Challenge.

Rather than base the test on the sort of short free-form conversation suggested by the Turing Test, the Winograd Schema Challenge (WSC) poses a set of multiple-choice questions that have a particular form.  The test is dedicated to furthering and promoting research in the field of formal commonsense reasoning. For eg:

4. “Tensorflow and deep reinforcement learning without a PhD“ by Martin Gomer  from google.

He briefly alluded to Auto ML which learns the model architecture directly on the dataset of interest:

automl

Google deep mind teaching a virtual human to walk/jump etc I was an athlete and when I look at the image below – The stride and the arms are just what a good long jumper would use and would be proud off below 🙂

jump_rl

Demonstration of playing  pong without any specialized algorithms with deep reinforcement leaning and lots of data:

https://www.youtube.com/watch?v=YFe0YbaRIi8

 Link to the Video of his talk: – https://www.youtube.com/watch?v=aRKOJHRbXeo

Google deep mind taught itself to walk – https://www.youtube.com/watch?v=gn4nRCC9TwQ

 

5. Key Note – “Deep learning at amazon Alexa” by Nikko Strom from Amazon

This is very powerful as it shows how Alexa is using multi modality, device and personal context which Alexa is using. This is really very powerful and can really engage the user!!

3. Summary of Breakout sessions (I attended)

  1. ML track – Twitter – Parameter Server approach for online ML at Twitter

The talk basically discussed the evolution of parameters servers in Twitter which need to scale and have real time approaches to online ML. Their approach has been around load balancing,  filtering, centralized Parameter servers. They have tried deep learning but they found as of now Deep Learning is not working for them:

Some of the disadvantages of Deep learning:

  1. Latency for their usage is high
  2. Model quality not impacted much ROI
  3. New approaches in ML could remove displace deep learning

 

  1. ML track – Machine learning at scale by Amy Unruh from Google The talk showed that there is a gap in the Google ML offering and is addressed by Auto ML for vision. Also, compares the various techniques in terms of resources needed to solve an AI problem typically:

1)      Time

2)      Prediction Code

3)      Serving Infrastructure

4)      Model Code

5) Training data

gcp_spectrum

Resources needed to solve an AI problem  per Google

ml_resources

ML  as an API  – Mainly time and prediction code

ml_api

Custom code and model – More resource intense

custom build

Custom model with transfer of learning from another project  – It takes less time and can reuse model code and training data

transfer learning

Google has identified Gap in the continuum  from DIY ML to ML APIs

gcp_spectrum

They are trying to address it with Auto ML. This is currently limited to Vision API only.

cloud automl

Auto ML – Currently Google has it  only  for Vision API but allows for deep Neural networks  to be auto generated.

It allows savings on Model code etc, infrastructure etc

cloudautoml_vision

Only need to provide training data. It trains, deploys, creates a Neural network automatically.

automl_resuce

Under the hood is creating new Neural network layers automatically.

Content below came from Martin Gomer  Google keynote speakers with the talk  titled “Tensorflow and deep reinforcement learning without a PhD

automl

He briefly alluded to Auto ML which learns the model architecture directly on the dataset of interest

automl_dia

More details on Auto ML  here:

https://www.blog.google/topics/google-cloud/cloud-automl-making-ai-accessible-every-business/

https://research.googleblog.com/2017/05/using-machine-learning-to-explore.html

 3. Deep multimodal intelligence by Xiaodong He from Microsoft –

Microsoft Research Xiaodong He described  the scene with natural language :

  1. Understanding the image’s content
  2. Reasoning relationships among objects & concepts
  3. Generate a story in natural language

However, true understanding of the world is much more challenging

multimodality

https://www.slideshare.net/BillLiu31/deep-multimodal-intelligence-by-xiaodong-he

There were quite a few other parallel talks  but time was limited 😦

4. Presentation Tid- Bits

Slight digression on a nice presentation tool I found some speakers use at the conference which compliments the laser pointer. It retails for  around $130

logitech-spotlight-main

https://www.logitech.com/en-us/product/spotlight-presentation-remote?crid=11

And is great for highlighting code etc.

mortin_phd_highlighting

5.  Links /References

Slides:

Videos:

Papers — Lots of good papers on KDD:

Blog:

Books:

 

 

 

 

Advertisements

Age of the everyday IoT entrepreneur is here and now ….

August 28, 2017

IoT is the new buzz word these days. Anyone who knows anything about Information technology is feeling the buzz. There have been a lot of products which are making all this happen for the everyday entrepreneur and also for the established companies. Access to electronics, access to code which makes it easy to interface with those, price of the components, easy access to amazing education through video tutorials, blog posts, meetup groups etc.

The feature of the everyday entrepreneur is here and now. If you can imagine it and even better put the ideas on paper to products on shelves then your time has come….

Bigger corporations have very few advantages over an everyday entrepreneur these days right from design, engineering, supply chain, distribution etc.

For anyone new to the space who has an idea we can help you get it to market by either partnering with you or consulting on the product…

The Hype of IoT and the areas of applications from an old Gartner article is clearly defined here:

Iot_

Source: Gartner (July 2014)

http://www.gartner.com/technology/reprints.do?id=1-27LJLAK&ct=150119&st=sb

 

Challenges:

The biggest challenges in IoT from a technology perspective are:

1)      Lightweight networking standards

2)      Securing the data

3)      Power Management in IoT devices

In the end I think if you are getting to the new space of IoT or have some great ideas it is time to put those into practice. Happy IoT’ing

From the trenches – Arduino compilation and link errors and fixes to those

August 28, 2017

Error 1 – Loader error of undefined reference
Arduino: 1.6.5 (Windows 8.1), Board: “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

myrobot.cpp.o: In function `__static_initialization_and_destruction_0′:
C:\Program Files (x86)\Arduino/myrobot.ino:57: undefined reference to `Michelino::Robot::Robot()’
myrobot.cpp.o: In function `loop’:
C:\Program Files (x86)\Arduino/myrobot.ino:272: undefined reference to `Michelino::Robot::run()’
collect2.exe: error: ld returned 1 exit status
Error compiling.

Solution
The problem is that the cpp file should not have the word class in it and only the header file.

Original code :

namespace test
{
class Ctest
{
public:
Ctest() {};
void a() {};
};
};

test.h
#ifndef rocketbot_remote_control_h
#define rocketbot_remote_control_h
namespace test
{
class Ctest
{
public:
// Ctest();
void a();
};
};
#endif

main

#include “test.h”

using namespace test;
test::Ctest r;
//Ctest r;

void setup() {
// put your setup code here, to run once:

}

void loop() {
// put your main code here, to run repeatedly:
r.a();
}

Fixed Code
Test.cpp
#include “test.h”
namespace test
{
//void Ctest::Ctest() {};
void Ctest::a() {};
};

Test.h
#ifndef rocketbot_remote_control_h
#define rocketbot_remote_control_h
namespace test
{
class Ctest
{
public:
// Ctest();
void a();
};
};
#endif

Main
#include “test.h”

using namespace test;
test::Ctest r;
//Ctest r;

void setup() {
// put your setup code here, to run once:

}

void loop() {
// put your main code here, to run repeatedly:
r.a();
}

Error 2 – Function not found

Arduino: 1.6.5 (Windows 8.1), Board: “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

In file included from robot_vehicle_with_bth.h:61:0,
from myrobot.ino:55:
rocketbot_remote_control.h:11: error: no matching function for call to ‘SoftwareSerial::SoftwareSerial()’
SoftwareSerial BTSerial;
^
rocketbot_remote_control.h:11:16: note: candidates are:
In file included from robot_vehicle_with_bth.h:34:0,
from myrobot.ino:55:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial/SoftwareSerial.h:90:3: note: SoftwareSerial::SoftwareSerial(uint8_t, uint8_t, bool)
SoftwareSerial(uint8_t receivePin, uint8_t transmitPin, bool inverse_logic = false);
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial/SoftwareSerial.h:90:3: note: candidate expects 3 arguments, 0 provided
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial/SoftwareSerial.h:47:7: note: SoftwareSerial::SoftwareSerial(const SoftwareSerial&)
class SoftwareSerial : public Stream
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial/SoftwareSerial.h:47:7: note: candidate expects 1 argument, 0 provided
no matching function for call to ‘SoftwareSerial::SoftwareSerial()’
Solution
Add extern keyword in header file
extern SoftwareSerial BTSerial;

Error 3 — redefinition of ‘class Michelino::RemoteControl’
Arduino: 1.6.5 (Windows 8.1), Board: “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

In file included from myrobot.ino:56:0:
rocketbot_remote_control.h:14: error: redefinition of ‘class Michelino::RemoteControl’
class RemoteControl : public RemoteControlDriver
^
In file included from robot_vehicle_with_bth.h:61:0,
from myrobot.ino:55:
rocketbot_remote_control.h:14: error: previous definition of ‘class Michelino::RemoteControl’
class RemoteControl : public RemoteControlDriver
^
redefinition of ‘class Michelino::RemoteControl’

Solution :
Fix to add the following since header file gets included multiple times
#ifndef rocketbot_remote_control_h
#define rocketbot_remote_control_h
….
#endif

Error 4
x.cpp file
robot_vehicle_with_bth.cpp:77: error: ‘Robot’ has not been declared
void Robot::Robot()

Solution
Solution is to include x.h file
#include “x.h”

Stay tuned more fun ones coming!

How to Kernel Debug Connected Standby/Modern Standby systems?

October 24, 2016

Premise:

Debugging a Modern Standby (Connected Standby earlier) scenario can be challenging as there are some smaller subtle things to keep in mind. Most modern standby/connected Standby systems are newer systems with USB 3.0 xHCI controllers so this blog post only focuses on systems which support USB 3.0 debugging.

What you need:

  1. USB 3 cable – http://www.datapro.net/products/usb-3-0-super-speed-a-a-debugging-cable.html
  2. USB Type C to type A adapter – Needed only if the device doesn’t have a USB Type A port
  3. Windbg Bits – Many sources including the Kits —  WDK or ADK

Methodology to setup Kernel Mode debugging

  1. Setup the machine for USB 3.0 debug  as mentioned here: https://msdn.microsoft.com/en-us/library/windows/hardware/hh439372(v=vs.85).aspx
  2. Make sure you Disable Secure Boot in the BIOS menu
  3. Hook up the cable as follows  setup
  4. Check the USB device hierarchy and turn  off all the components. You can do this from device manager, usb tools usb_hierarcy
  5. Disable Turning off  USB stack components – Hubs and controllers on target Disable Powersaving on USb controller For the uSB hub, Uncheck the box to allow the computer to turn off the debice to save power  usb_hub_power
  6. Disable Powersaving on USB HUB/s — For the uSB xHCXI controller, Uncheck the box to allow the computer to turn off the device to save power usb_hub_power
  7. If there are multiple controllers or Hubs make sure you pick the right one where you plan to debug . Also if there is another level of hub in between do the same for that as well.
  8. Debug away!!

 

Windows updates on Windows 8.1 almost made my system unbootable

March 15, 2016

I  have an older  (Haswell based) X1 carbon which is running Windows 8.1. I was installing updates on it and after that the system wouldn’t boot and would keep getting to recovery loop. The system is bit lockered. I couldn’t get the system into safe mode or enable debugging. System restore had restore points as I seldom log into my local admin accounts and use mostly my domain  joined account. I tried the startup repair diagnosis and that didn’t find much either. So the system was pretty much unrecoverable. I went and looked at the SRtlogs (attached) and they pointed to a corrupt cng.sys binary. Sure enough it was reduced to 4 kb in size. I tried to patch it with a binary from another 8.1 system but that didn’t help. In the end I ran the sfc tool and that’s when I started seeing issues. Error from the tool:

“Error :There is a system repair pending which requires a reboot to complete. Restart windows and run sfc again”.

I researched the Windows community board which actually led to the diagnosis that there was a pending update which was for whatever reason causing the behavior and found the dism command below. Ran this and rebooted the system came back online.

 

dism.exe /image:C:\  /cleanup-image /revertpendingactions

The drive above could be D: or another one.  Check your system for the drive which has the Windows, Program Files etc directory to be sure.

 

If you get stuck in a loop with the message Windows couldn’t update the system… Try F8 to use restore point or try and reeboot before you reach the We cant install the update screen and this will cause recovery to be invoked. Happy fixing…

 I cant imagine non technical savvy user doing this…

 

Hope this helps!!

 

Windows 10 Power management

July 13, 2015

Win 10 scenarios covered

  • Battery Saver — For Better reporting accuracy, OEMs may need to run E3 micro benchmarks
  • Modern standby — Cheaper alternative to connected standby
  • Power scheme settings — Hibernate for CS systems
  • Project Centennial — Converting Win 32 apps to UWP apps

Battery Saver

  • New Windows 10 Shell option which shows battery consumers on the system at runtime
  • This uses a general model of the platform to indicate battery use
  • The accuracy of data is higher if OEM runs micro benchmarks on their platform or use the Maxim chip at an additional cost to the BOM

 

batteryuse_settings

 

batery_use_set2

Modern Standby

Why does it matter?

  • CS hardware requirements do have a BOM adder(Storage and Network)
  • Modern standby allows for instant on
    •     S3 systems from telemetry may have twice as large S3 resume

times

MS_1 Ms2

  • Background activities (non network related) can still happen
    • Store apps activities
    • Reminders
    • Bth sync
                           Battery drain Hibernate timer OEM setting
Exceptional 9 days or longer battery life Use of Hibernate timer is optional
Ontrack 6 days or longer battery life Use of hibernate timer after 24 hrs is recommended

Modern Standby Implementation

Ms_implememtation

Power management – Hibernate times

  • New Win10 Hibernate Settings for end user
    • Default is same as Win 8/8.1
    • Not to hibernate the system
    • Changing the setting allows the system to Hibernate while in CS
    • Criteria to set the Hibernate values

hibernate_1

Lowering power consumption with UWP apps

Build 2015 – OpenSource, Partners, visual Studio, Cloud, IoT… Need I say more?

May 27, 2015

Build 2015 was full of treasures. Partnerships, open Source integration, Visual Studio, Azure, IoT were the big areas. New face of microsoft with a focus on open source and 3rd party support like github was a huge part of the Visual Studio suite.

There was so much of new stuff disclosed at the Conference. The Key notes(keynote1 and keynote2) gave an idea:
http://channel9.msdn.com/Events/Build/2015/KEY01
http://channel9.msdn.com/Events/Build/2015/KEY02

The big themes of the conference was developing apps for the Cloud and developing UAP apps with Visual Studio 2015 platform. You could download the preview version of the community one here.
http://visualstudio.com/products/free-developer-offers-vs
It was clear that Microsoft had been listening to the developers and was beginning to integrate with open source tools. Azure was a big focus area where developers from a lot of SMB varying from insurance /accounting to gaming were looking at Azure as a potential platform. In the space of Big data Azure Data factory was an interesting talk about reuse patterns for Big Data with machine learning analysis built in step as part of the workflow.
Visual studio tools for converting iOS and Android apps to Windows apps was well received. It is surprising how many developing on iOS using Objective C and were delighted to hear cross platform support for Objective C. The new Visual Studio Code IDE has an intelisense rich environment to build Android apps was a welcomed by everyone. This should be a welcome change from the Android IDE’s such as h Eclipse or Android Development studio. Check the newest member of the Visual Studio family which is pretty lightweight and takes less than 60 Mb of space.
http://code.visualstudio.com/editor vs Ide
Image below shows the power of the Visual Studio platform

universalwindows platform

Halo lens created a lot of buzz with developers being able to play with it. Lot of verticals such as education and Architecture. Gaming maybe next …
Buzz
Big buzz events of the event were Halolens and support for Objective C and Java.
Visual Studio support of Open source software such as Alljoyn and Github and 3rd party software especially in the Big data space and its integration with Visual Studio was very well received.

Key takeaways from Builds

App. Gap between Windows Phone and IoS /Android will be bridged by project Astoria and Islandwood. This allows developers to port their existing IoS apps and Android Apps to Windows apps. There maybe restrictions on phone hardware needed to run such apps. This is great news for Windows Phone OEM’s.

Win32 apps to to UAP apps. with project continuum
This I think is one of the best messages not just for developers but also for OEMs to move their first and third party apps to UAP apps from Win32.
This was ISV’s can convert their Win 32 apps to UAP apps by using Project Centennial. The apps. can then be purchased using the Store. This helps the apps. to be more secure, less resource intensive and battery freidnly.

Edge the new browser – Better web experience
Key reason for using the browser is primarily around because it will work well with optimized sites, supports Cortana and many other gems such as Web extensions, pointer lock for shooter games and reading lists . IE due to compatibility reasons may not support but with forked code. This allows for edge supportability forked with IE compatibility. The best part is that Edge can launch IE for sites which are not compatible for example which need VB script.
Other things are distraction-free offline reading and built-in note-taking & sharing. Below is a comparison of Alaska airlines website on a mobile device.

browser_comparison

http://channel9.msdn.com/events/Build/2015/2-656

Design for Win 10 by the user for the user
Please ask folks from outsider to join the insider program to get an early feel for Windows and provide feedback as the feedback is taken seriously including for UX. The builds with new features are flighted directly to the system.

One  Store

For those of you have written Windows apps for phone and desktop OS like me on Win 8.1. The experience can be nerve wrecking as you need to create 2 accounts one for Windows Phone and one for desktop. Duplicate everything from monetizing, geographies of release, price, screenshots and descriptions. I just saw a note from Microsoft for my store application called “SecureData”

Phone: http://www.windowsphone.com/en-us/store/app/securedata-windowsphone/22280807-99c0-4c10-aaef-ec18662e7815

Desktop : http://apps.microsoft.com/windows/app/securedata/d9355748-f172-4f26-8a33-d69ca28e5a81

There will be now one store, one submission and one process for everything. One does have the option to create multiple packages for OS or platform…

myapp

Win10 app migration

There will be now one store, one submission and one process for everything. One does have the option to create multiple packages for OS or platform…

 

Project Continuum

What is Continuum?

  • Two apps run simultaneously on two screens
  • Windows Apps transition seamlessly and look beautiful on any screen
  • Keyboard and mouse support

To make the application adaptive to any screen size understanding effective pixel is key. Effective pixel is independent of screen. Some terminology. More on that here:

display terminology

Think about how your app. Scales to the big screen. Scaling which depends on pixel density and viewing distance. There is no rule of thumb that a desktop has higher scale than a mobile phone. It is primarily dependent on pixel density and viewing density.

scale_x

Some other cool features include using the other screen not just to mirror but to take advantage of the 2 screens simultaneously with multi screen API …

2screns

Some technologies to watch out for

Nano Server – Nano server doesn’t just remove features but is a self contained engine. Microsoft defines its Nano Server as a “headless, 64-bit only deployment option for Windows Server.” It’s like Server Core, except that it’s 20 times smaller. The compressed size or reduced server “footprint” brings a number of benefits, including fewer security vulnerabilities to address, reduced patch and reboot times, and scalability improvements.

nanoserver

  • 3d printing
  • IoT Maker movements – Raspberry Pi and Arduino

Lots of great talks on IoT. Some of the interesting ones given below.

IF you are considering buying parts for maker projects here is an interesting site. http://www.bizoner.com/

Confidence invoking statements

Windows itself is evolving with feedback from Insider program. Instead of fixed set of design the design is evolving which appears to be by design and is sometimes misconstrued as instability.

The other comforting thing for developers is that the new browser edge which is a UAP was designed using the same tools as a developer would use for their own apps.

Summary of the key areas

 

Area Features
Universal App. Platform(UAP) platform Universal App. Platform offers the capability to write your app. Once and run it on all Windows Platforms starting with the Windows Embedded (Athens) to Mobile to Desktop to new Surface HubApps are coded to Universal App. Platform and not to the hardware platform or Operating Systems using Windows.Foundation.Metadata.Apiinformation. What that means is that applications shouldn’t be designed for Win 10 Mobile or Win 10 desktop etc This alleviates the need to code to least common denominator hardware they would be supporting
Visual Studio Visual Studio teams had a busy year with a lot of new features.. To name a few:·         Web Apps(JS etc),·         Android (Java)·         iOS(objective C),·         Open source integration(Git hub, Alljoin, Big data programming ),

·         Cloud apps,

·         Unit testing, perf.

·         New VS Code part editor part IDE

One $tore for all Windows Platforms One can now link apps meant for Windows Phone to Dekstop.1 submission for all, 1 certification but and 1 pricing. Typically the greatest common denominator if one has apps on both mobile and Desktop is chosen. The base price from is chosen from Windows (desktop), screen shots are chosen from both to give user flexibility, category is chosen from windows(desktop) etc…There is the option of having multiple packages for old OS 1 package. The dashboard is on dev.windows.com is redesigned.

Some folks asked me about the sessions I attended and Below are the some sessions I found useful. These are not in any particular order and cover ranging topics from Azure, IoT, UX, Programming:

Sessions I found useful

Topic Link
Nano sever : A Cloud Optimized Windows Server for DevelopersMicrosoft defines its Nano Server as a “headless, 64-bit only deployment option for Windows Server.” It’s like Server Core, except that it’s 20 times smaller. The compressed size or reduced server “footprint” brings a number of benefits, including fewer security vulnerabilities to address, reduced patch and reboot times, and scalability improvements.To address the cloud, the GUI built into the server had to go. Instead, Nano Server gets managed using a remote GUI through a browser-based application. For instance, the presentation showed off a browser-based dev-ops program called Visual Studio Release Management. It doesn’t use Remote Desktop Protocol to remote into a server. Instead, it uses Core PowerShell scripts for management, along with Desired State Configuration, which is PowerShell’s push-pull configuration technology. http://channel9.msdn.com/Events/Build/2015/2-755
Porting Android apps using Astoria There are some hardware restrictions on the memory and disk space for such apps. http://channel9.msdn.com/Events/Build/2015/2-702
Project Centennial”: Converting your Classic Windows App (Win32, .Net, COM) to a Universal Windows App for Distribution in the Windows Store This allows Win32 apps to run in a container security. The app becomes a UWP app and hence can run on Xbox, Halo lens, Surface Hub etc.To help support Win32 apps which need Winsock, CreateThread() API’s these API’s will be available to UWP apps also. WMI, DAM, COM works just like Win32. Access to click once API’s lost after the first launch.Some features like active X deployment wont work etc. http://channel9.msdn.com/Events/Build/2015/2-692
Project Spartan”: Introducing the New Browser and Web App Platform for Windows 10 Key reason for using the browser is primarily around because it will work well with optimized sites, supports Cortana and many other gems such as Web extensions, pointer lock for shooter games and reading lists . IE due to compatibility reasons may not support but with forked code. This allows for edge supportability forked with IE compatibility. The best part is that Edge can launch IE for sites which are not compatible for example which need VB script.Other things are distraction-free offline reading and built-in note-taking & sharing. Below is a comparison of Alaska airlines website on a mobile device. http://channel9.msdn.com/events/Build/2015/2-656
Windows Design for Developers: An Executive Panel Windows Insider program feedback has been taken into account for UX design for Win 10.One of the better talks I attended. This talk gave me a perspective on how much of Win 10 UX design is incorporating feedback from Windows Insiders Only slideshttp://channel9.msdn.com/Events/Build/2015/2-778
Optimizing Windows Apps for ContinuumEffort involved in letting applications working across multiple screens is very little especially for mobile. You can resize your application on desktop to test the look and feel on mobile.Some key concepts are effective pixel, pixel density and viewing distance etc. More here: http://channel9.msdn.com/Events/Build/2015/2-703
Building Rich, Contextually Aware Universal Windows Apps Using Sensors There is support for batching sensor request to save on power. Applications can use background triggers to detect things like user activity (like walking etc). There is also availability of sensor history data.Custom sensor can be easily added and apps. can use GUID to detect the device. Sensor simulators are available from Github to build and test applications. http://channel9.msdn.com/Events/Build/2015/2-735
Store: Deep Dive on Publishing Universal Windows Apps From now on there will be :·         one store for everything,·         one submission for all,·         one certification

Optional support for multiple packages for OS and platform are available.

http://channel9.msdn.com/Events/Build/2015/3-710
Developing 3D Printing Apps and Services in Windows 10The 3d print space has many individual,  challenges with nonstart drivers, low print success rate, limitations on information exchange,  limitations in existing formats , formats not designed for 3d format.The 3mf consortium tries to solve some of these with open source, compact human readable. This will allow for repair capabilities API, plug and play, enable cloud printing. There will 3d builder inbox which will allow for visualizations and validation and repair. This removes the single highest barrier to entry removed.3d content is open for partners to develop. More details here: www.thingverse.com/Emmett http://channel9.msdn.com/Events/Build/2015/2-718
API Contracts (or How I Learned to Stop Checking OS Versions and Love Feature Detection)Least Common Denominator API’s really suck,. Instead have adaptive apps which run on multiple platforms. Use the Windows.Foundation.Metadata.Apiinformation classes and methods to find out what features your app. Targets. http://channel9.msdn.com/Events/Build/2015/3-733

Some things I found useful to try

  1. Join and give feedback on Windows Insider – This feedback contributes to many things including UX design etc.
  1. Try Cortana – Scenarios such as weather, how much RAM do I Have?
  2. Try Project Spartan/Edge browser on your Nokia Phones and Desktop’s
  1. The build app. Was great to get the summary of all sessions in case you are curious on any developer topic. The app. Works on Windows, Android and iPhone platforms.
  2. INSTALL Visual Studio 2015 and VS Code

VS 2015-  https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx

VS Code – http://code.visualstudio.com/

Etc etc

Comparison of Developer conferences

In this competitive world it is difficult to not compare. I looked at the 3 of the more important key notes of developer conferences.

Build in my opinion had one of the best key notes. The Google key note was dull and lacked appeal, IoS on the other hand was not bad but Apple ecosystem is very limited compared to what Microsoft covers. Build had powerful demos and tremendous wow factor with Halolens especially. We will see more in a couple of weeks when Apple and Google 2015 conferences are held.

Conclusion

Overall I think Win 10 is going to be a great platform for at least a billion devices. So if you are a developer this present s great opportunity on writing all sort of apps. for so many different platforms…

Part 2 of this coming soon looking at more cool windows features …

Read the rest of this entry »

bulk copy data

May 5, 2015

the main goal of this blog is to focus on tools available for doing a bulk copy to a SQL server on windows.

Inserting sequentially –
Sqlcmd – it is a freat tol if you have the data on the machine hosting the SQL server. You can use it if you have the data on a network share but you run into issues with credentials.

BCP- It is a great tool but you need to understand the format files and the syntax of the command. Bcp is like a scripting language where the sepecial characters like “,”, “;” etc. are to be carefully monitored. Also, it is very fical when it comes to validity of source data. For eg: Data time format fields with hours or minutes or seconds not in the HH:MM:SS format will give you a lot of trouble. Missing leading 0’s can be cause of many an issue.

Debugging – Insert a field manually and get it using bcp out.

Hibernate and Hiberfile sizes

June 13, 2014

Windows reserves typically 75% of the Memory for Hiberfil.sys . This is normally enough after compression but maybe less especially if you use memory tools. The way to change hiberfile size is as follows :

powercfg /h /size

To turn off Hibernate use the following command:
powercfg /h off

Turning off hibernate in Windows8+ is:
1) No fast startup so impact on boot time
2) No way to save data if the battery reaches critical levels.
3) No way to save data on Thermal conditions

Decrypting wdf01000.sys interrupts with WPA

June 13, 2014

If you are trying to figure out which WDF driver is the source of all interrupts there is a way out. Since wdf01000.sys fields all interrupts and then calls the actual driver, it is difficult to figure out which driver caused the interrupts. Fortunately, there is a way out: You need to use the trace flags in the kernel – WDF_INTERRUPT and WDF_DPC. You can find all Kernel trace flags by the following command: “xperf -providers KF” .

You can trace as follows: ”

xperf -on diageasy+WDF_DPC+WDF_INTERRUPT+0x48000000+PROC_THREAD+LOADER+INTERRUPT+DPC+CSWITCH+TIMER+CLOCKINT -stackwalk TimerSetPeriodic+TimerSetOneShot+CSwitch+readythread+profile -clocktype perfcounter -buffersize 1024 -minbuffers 1024

xperf -d test.etl