Sridhar Poduri's Blog

February 25, 2020

Want to work on Security and Compliance tooling for Engineering Systems?

It’s been some time since I wrote on this blog. In case you are wondering what I have been doing, I help build and ship Compliance and Security tools for Microsoft’s Engineering Systems. It is a big challenge, given the diverse tools that are in use across Microsoft, our subsidiaries, and acquisitions. It is also a lot of learning and having fun solving hard problems on behalf of our customers. In the entire process, we end up forming great relations and partnerships with our stakeholders, partner teams, and most importantly our customers. If the work sounds exciting, please do let me know as we are hiring!!


Software Engineer – https://careers.microsoft.com/us/en/job/794148/Software-Engineer-II


We are also hiring for PMs. Hit me up for more info and I’d be glad to route you to the right hiring managers.

 •  0 comments  •  flag
Share on Twitter
Published on February 25, 2020 11:10

October 25, 2017

3BHK flat available for rent

I will be moving to another place in a few days’ time and am putting up my 3BHK flat for rent. The said property is located at Golf Edge Residences, Nanakramguda, Hyderabad. It is within walking distance to the Microsoft India Campus (IDC), Amazon, CA etc. Some of the salient features of the property are:



Located on the 16th floor of Tower A

Only 4 flats in the 16th floor thereby giving ample privacy

2018 sft built up area

Comes with 5 Daikin A/C [1 each in the bedrooms and 2 in the living area]

42″ Samsung smart TV in the living room

False ceiling

White LED lights in the entire house

Modular kitchen with chimney, 4-burner gas stove and an IFB dishwasher

All bathrooms have shower cubicles

Wooden flooring in all 3 bedrooms

Ample storage space in kitchen and bedrooms

Spacious balconies

Maintenance includes daily housekeeping and weekly one time deep cleaning of the entire flat

100% full power backup, including for refrigerator and A/Cs

Internet services already setup [you only have to pay monthly rental as per chosen package]

TV connection ready

Piped gas connection ready

Infinity pools and spa are almost ready

Club house with parlor game area, gym with trainer and terrace swimming pool

2 mini theatres for private patron viewing facility [each theatre is 40 seater capacity]

1 car parking


You can download the pictures of the flat here. If you are interested in renting out the property or to schedule a visit, please reach out to me directly via the contact form on the home page.

 •  0 comments  •  flag
Share on Twitter
Published on October 25, 2017 02:16

September 7, 2017

C++17 is formally approved

As Herb Sutter announced yesterday, C++17 is now formally approved by all participating ISO countries. Hope to get a fully compliant toolset soon J


I have been offline for the past two years, promise to start blogging more frequently soon!

 •  0 comments  •  flag
Share on Twitter
Published on September 07, 2017 21:25

July 14, 2014

Interested in working in a startup?

 


What we offer:


An opportunity to work from the ground up building mobile apps and services in one of the hottest growing market in India. We are betting big in shaking up the market with our mobile strategy and bring revolutionary experiences to our users. I am sorry I cannot reveal more details at this point of time.


If you are an outstanding developer with experience developing mobile apps for iOS, Android and Windows Store, please send across your profiles, along with references (apps and people) to sripod at exmsft dot com.


We are currently looking for candidates based out of Hyderabad, India as we do not have sufficient budget for relocation expenses.


-Sridhar

 •  0 comments  •  flag
Share on Twitter
Published on July 14, 2014 21:49

July 9, 2014

Moving on from Microsoft and my next steps…

 


I have an announcement to make. I sent this mail over to my colleagues at Microsoft last week.


Hi,


After nearly 8 years with Microsoft wearing different hats, as a Consultant and a PM, it is time for me to move on to my next challenge. I am leaving MS to chase my startup dreams. My experience with Microsoft provided me with many wonderful opportunities to learn, collaborate, grow and in the process ship solutions and products that delight customers.

I have also made a lot of friends’ whose guidance and notes of wisdom I will long cherish. In short, I will take plenty of wonderful memories with me.

July 1 is officially my last working day. Stay in touch. I’m a tweet, post, IM, email, like away.

-Sridhar Poduri

 

Hopefully between my various engagements in the startup, I will also continue talking about C++, WinRT and Windows 8/8.1

 •  0 comments  •  flag
Share on Twitter
Published on July 09, 2014 22:15

March 25, 2014

Submissions for CppCon now open

Hello,


Submissions for CppCon are now open. Please head over to http://cppcon.org/submissions/ to make a submission.


I have blogged earlier about this and I reiterate. If you are using C++ in any form, then this is the conference to attend and/or share you knowledge with fellow peers from around the world.


I hope to see you there.


-Sridhar

 •  0 comments  •  flag
Share on Twitter
Published on March 25, 2014 21:44

March 18, 2014

Registration for CppCon is now open

Full text of the announcement from http://cppcon.org


Opening Keynote by Bjarne Stroustrup
September 7–12, 2014
Bellevue, Washington, USA

Registration is now open for CppCon 2014 to be held September 7–12, 2014 at the Meydenbauer Center in Bellevue, Washington, USA. The conference will start with the keynote by Bjarne Stroustrup titled “Make Simple Tasks Simple!

CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community. You will enjoy inspirational talks and a friendly atmosphere designed to help attendees learn from each other, meet interesting people, and generally have a stimulating experience. Taking place this year in the beautiful Seattle neighborhood and including multiple diverse tracks, the conference will appeal to anyone from C++ novices to experts.

Bjarne Stroustrup

What you can expect at CppCon:

Invited talks and panels: the CppCon keynote by Bjarne Stroustrup will start off a week full of insight from some of the world’s leading experts in C++. Still have questions? Ask them at one of CppCon’s panels featuring those at the cutting edge of the language.
Presentations by the C++ community: What do embedded systems, game development, high frequency trading, and particle accelerators have in common? C++, of course! Expect talks from a broad range of domains experts focused on practical C++ techniques, libraries, and tools.
Lightning talks: Get informed at a fast pace during special sessions of short, less formal talks. Never presented at a conference before? This is your chance to share your thoughts on a C++-related topic in an informal setting.
Evening events and “unconference” time: Relax, socialize, or start an impromptu coding session.

CppCon’s goal is to encourage the best use of C++ while preserving the diversity of viewpoints and experiences, but other than that it is non-partisan and has no agenda. The conference is a project of the Standard C++ Foundation, a not-for-profit organization whose purpose is to support the C++ software developer community and promote the understanding and use of modern, standard C++ on all compilers and platforms.

The first 100 registrations get a big discount – quoting from the “registration” page:


Regular registration fee is $995 but the first 100 attendees can take advantage of Super Early Bird registration and pay only $695. After that, the Early Bird registration fee is $845 and is valid until the 1st of June. …



I intend to travel to the conference and will be looking forward to meeting you there!

-Sridhar

 •  0 comments  •  flag
Share on Twitter
Published on March 18, 2014 22:12

January 1, 2014

Using resumable functions in the CxxReadFileComponent sample

Hello,


Welcome back from holidays. A few weeks ago, I posted a note about updating the samples of my book to the November CTP of Visual C++. The main goal behind the update is to move away from using PPL tasks for WinRT asynchronous programming and instead use the new resumable functions available in the CTP.


Today is the beginning! The first sample I will talk about updating is the CxxReadFileComponent sample that discusses about building a C++ WinRT Component that can be consumed from other WinRT supported languages.


Before we begin:

Get the updated sample here. We will use this sample as a starting point for our migration. Before we write actual code, it is important to note that the CTP is only supported along with Microsoft Visual Studio 2013.
The CTP works with VS 2013. In case you do not have VS 2013, you can get either an express (free) edition or a trial edition here.
In case you have not already downloaded the Visual C++ November CTP, please do so. You can download and install the CTP from this location.
Install VS 2013 first and then the CTP.
Time for action!!!

The first step is to migrate the solution from Microsoft Visual Studio 2012 to the 2013 version.


When you attempt to open the solution file in Visual Studio 2013, Visual Studio prompts you to retarget the solution for Windows 8.1 as shown in the dialog below. If you choose not to retarget, then you will have to install the Windows 8 development tools in order to build the solution.





For the purpose of this exercise, go ahead and retarget the solution to Windows 8.1 by first clicking on OK in the above dialog and then right click on the project in Solution Explorer and choose Retarget to Windows 8.1


Once you ask Visual Studio to retarget the solution to Windows 8.1, Visual Studio makes the necessary changes and opens the solution. Once the solution is fully loaded, right click on the CxxReadFileComponent project in Solution Explorer and choose Properties. In the Properties Dialog, under the Platform Toolset, choose Visual C++ Compiler Nov 2013 CTP (CTP_Nov2013) and click on OK.


The CxxReadFileComponent has one class named ReadFile. You can find the relevant code in the wrongly named files, Class1.h and Class1.cpp. The ReadFile class defines public methods that returns one of the IAsync* interfaces that all WinRT asynchronous methods are expected to return. This allows for consumption of such async operations from other languages. Before we go ahead with changing code, let’s open pch.h and add a new reference for a header. Add a new include reference for pplawait.h in pch.h which pulls in all the required declarations necessary for the new resumable functions.


Things to remember when using resumable functions in C++ for WinRT

You cannot have resumable support for any WinRT method that returns one of the IAsync* interfaces.
Only methods that return either a Task or void can be resumable.

Making code changes

Now, it is time to make changes to code. Open Class1.cpp and navigate to the ReadBytes function. The original function is listed below:


Original ReadBytes function using PPL tasks:


[image error]


You can see from the code above, using tasks and chaining them can become quite “messy”. With the new resumable functions, each task can be replaced with a single call to the underlying async API along with the __await keyword prepended to the API call. That’s it. No lambdas, no chaining etc.


Updated ReadBytes function using resumable functions:


task<UINT> ReadFile::ReadBytes(String^ fileName) __resumable


{


    StorageFolder^ item = KnownFolders::DocumentsLibrary;


    auto storageFile = __await item->GetFileAsync(fileName);


    auto istream = __await storageFile->OpenAsync(FileAccessMode::Read);


    auto reader = ref new DataReader(istream);


    return __await reader->LoadAsync(static_cast(istream->Size));


}


Disclaimer: I have not added error handling. You can add proper if- checks and handle errors. The intention here is to show the ease of use of the resumable functions.


Changes made:

All resumable methods have a __resumable identifier added at the end of the function declaration in both the header and the source files.
Use the __await keyword when making calls to the WinRT Async APIs.
That’s it!!

Similarly I made changes to the ReadBytesWithProgress function. The original function is listed below:


Original ReadBytesWithProgress function using PPL tasks:


[image error]


Updated ReadBytesWithProgress function using resumable functions:


task<UINT> ReadFile::ReadBytesWithProgress(Platform::String^ fileName, Concurrency::progress_reporter<double> progress) __resumable


{


    StorageFolder^ item = KnownFolders::DocumentsLibrary;


    auto storageFile = __await item->GetFileAsync(fileName);


    progress.report(25.0);


    auto istream = __await storageFile->OpenAsync(FileAccessMode::Read);


    progress.report(50.0);


    auto reader = ref new DataReader(istream);


    progress.report(75.0);


    progress.report(100.0);


    return __await reader->LoadAsync(static_cast(istream->Size));


}


With these changes made, build the solution and run the C# client test app. Make sure you have a text file named 127.txt in your Documents folder before you run the test app. Once you run the app, you can see that the app makes calls into your component and reads the number of bytes in the file using the updated methods, which really simplify writing asynchronous code using C++.


That’s it for today. See you soon for a next sample update. Stay tuned as this is getting very exciting!!


-Sridhar

 •  0 comments  •  flag
Share on Twitter
Published on January 01, 2014 21:44

December 29, 2013

How To: Use XAML and DirectX with C++ and create a compelling Windows Store app

One of the great benefits of using C++ to write Windows Store apps is the ability to mix and match various components and create compelling user experiences. There are a variety of apps that use XAML and DirectX together and have built delightful user experiences. For example, there is the FreshPaint app in the Windows Store that allows free form panting using touch or the OneNote app which allows for, as you know, note taking using a stylus (along with keyboard support).


However, if you want to take a look at code and learn from the experts and masters who have built such apps, there are very few options. One such code base is Project Austin which is a sample built by the C++ team to demonstrate using C++ (and CX) along with XAML and DirectX to build a great note taking app. Today’s post, however, is not about Project Austin. It is about a cool sample built by a colleague and C++ enthusiast, Thomas Petchel. Tom built a cool app named Weathr, which he describes as “3D weather app for Windows 8.1 using C++, DirectX, and XAML“. I cannot agree more. This is the best weather app I have seen in a long time and it shows in the user experience. Tom has also made the sources available for anyone to check out and play with. If you are serious about learning how to build such great experiences in your Windows Store apps, please check out the code. And if you make changes to the code, please ensure you contribute back the changes. This ensures that all the folks get the new stuff!!


I can talk about code and design, but I would leave that out for fellow programmers. The app is not on the Store though. So if you want to get the app, you have to build the sources J


Cheers and Happy Holidays!


-Sridhar

 •  0 comments  •  flag
Share on Twitter
Published on December 29, 2013 19:58