Blog

Friday, December 9, 2016

Create Windows apps in 30 seconds

It's been many years since I read the Sams Teach yourself C++ in 24 hours book by by Jesse Liberty and Rogers Cadenhead, and those 24 hours used to seem like an ethernity!

Today's hack is not about writing awesome code in 30 seconds but rather about simplifying your life working on Windows PC with convenient utilities. During my leave my team at work migrated from Google Talk to Slack for instant messaging and group discussions. Slack is awesome and has a multitude of fans, yet they ignored writing a Windows 10 application (but developed old school desktop application, don't ask me why).


Alright, are you ready? All you need is Windows operating system and Chrome browser. Now please launch Chrome. Click on the Hamburger menu (3 dots) select "More tools" and "Add to desktop":




Chrome will ask you for a confirmation, be sure to select the option "Open as window":


All Done. Now I have added "apps" for Slack, Google News and Google Finance. You can also select to add these to your Taskbar and Windows menu.



Each of these apps run in their separate windows and create a separate process in Task Manager. Now I will have Slack app on my Desktop every time I boot the computer and not forget to launch it.


You can use the same tactics for your everyday tools, such as email, news, weather. They will be haunting your from your desktop so you won't forget to launch them. And if you really want to have them running by the time you log in create a job from your Task Scheduler.



Tuesday, September 20, 2016

Silicon Valley and the taboo of dress pants

Last week I had a speaking engagement at the ABI.Silicon Valley chapter launch event for women in tech. The event was going to be memorable and exciting since it was the launch, and myself and other 4 awesome women in tech Jessica MongDeepti Gupta, Lulu Li and Steph Tung were the organizers as well as local chapter leaders.

So, I was debating what to wear, and realized that the choices were between wearing a dress or jeans and semi-casual shirt and blazer. I took another look at my wardrobe and realized that I own no dress pants. I had got rid of all suits after they set in my wardrobe without being worn for 5 years, in fact I think I wore a suit last time for a job interview in Michigan in 2008. It turns out dress pants were gone as well.

This made me realize that there is a sort of a taboo on the dress pants as well as suits in Silicon Valley. Just look at these industry leaders delivering their big keynotes and their jeans!

Facebook CEO Mark Zuckerberg  keynote address at F8 conference 2016

Netflix CEO Reed Hastings's keynote address at the 2016 CES conference 
Apple CEO Tim Cook at WWDC keynote 2016

The morale of the day: if you want to make it to a top executive in Silicon Valley one day, don't wear dress pants on the speaking engagements.

Sunday, July 31, 2016

Turning off the radio to hear your own thoughts..

Let's face it, often time we use our time in the car to switch off the mind from everything but the road and whatever is playing on the radio, or CD/MP3, or your phone connected via bluetooth. Yet, there are times: before important meetings, when thinking on complicated problems, before presentations when you need to focus your mind and use the little commitment free time in the car to sit in silence and think, or sometimes a thought comes and you need to turn off the radio to hear it.




Thursday, July 28, 2016

Rant about dreams and persuasion

Recently I have had an opportunity to revisit some of my dreams from the past, those I have had and kept sacred for a while, those I abandoned at their infancy, those that are on the rise today. Suddenly a realization came that for a while no new dreams have appeared - besides the normal, the expected for this stage of life (travel the world, make sure kids are happy and successful). Looking back I see some shattered dreams for changing the world, reestablishing life and priorities, radically changing everything that have been left to relinquish and die somewhere there in the dusty corners of my past.

So this is a small piece of rant for you, dear reader, dare to change your life, to reestablish yourself and pursue your wildest dreams while you have the option and the ability to do that. The day will come and life will take it's toll with the obligations, routines and dependencies making it no longer feasible and eventually impossible.

I am still keeping my checklist of dreams, bucket list of projects but the few big ones I dearly missed today are to late to attempt. LIVE your life and TAKE chance on that wild dream of yours, I dare you!



Cheers.

Thursday, June 30, 2016

Why are there so few women at tech conferences? What can we do about it?

These days there is an inspiring variety of tech organizations, tech conferences and events hosted for women. Bay Area being a hub of technology hosts great many of those events, participating in which leaves you inspired at sheer number of women involved and actives. This paints a very rosy picture, and after being exposed to a reputable developer conference, meetup or tech group, you might come to a shock, realizing how severely women are underrepresented. Sometimes having a 5% presence, often being limited to presence of 'eye candy' help desk or several speakers to create the illusion of diversity.

One of my favorite events I got to attend last year was Grace Hopper Celebration conference, gathering of 12 thousand people in Houston celebrating women and their achievements in technology, and paving the road for the next generation of women technologists to be more ambitious and successful. One of the recent inspiring events I attended was Women Techmakers gathering at Google, celebrating International Women's day. They hosted a panel of women founders, who came up with very successful startup ideas, had a few sessions by different educational channels targeted for women. There were boots were you could mingle and learn from all these inspiring women about their organizations, sign up, volunteer and participate. I left the event at a very high note, planning to join one of the organizations. Most of these organizations targeted at women in tech are great, but after a while of listening to different names you start to fuse them into one and (so offense intended of any of these organizations) realizing that they are all sound similar and essentially pursue the same goal, e.g. GirlDevelopIt!, WomenWhoCode, Femengineer, She++, etc. They all try to increase awareness that there are very few women in tech and provide resources for women to start or progress in their tech careers.

Just this week there are 2 tech leadership conferences happening in Bay Area for women in tech.

We (women in tech), leave those events feeling warm and fuzzy inside, with great hopes and plans for women in technology changing the future. It is not until you attend a highly reputable conference like Build by Microsoft, AWS by Amazon, or startup/founders meetup, that you realize there are NO WOMEN there! Google and Facebook have been cautiously trying to increase the participation of women through groups like Systers and special discounts for underrepresented groups (Participation of Google I/O rose from 8% in 2014 to 20% in 2015). I was disappointed to see that Microsoft hasn't done anything in this regard, although they say they have tried. I took few pictures of the crowd to share with female coworkers, shared with a challenging hashtag #spotAWoman.

There was a women in leadership session at Build, attended by all the ~30 women present at the conference, from the thousands of attendees. I go to ask the panel this very question "why are there so few women at this conference?". The answer was not satisfying "there are very few women engineers coming through pipeline, you see the same representation here". This is not accurate, there are 20%+ women entering the workforce in technology, if you look at the diversity numbers published by most tech companies (Google, Netflix, Microsoft) that number is far greater than 5%. Percent of every other minority in tech far greater then represented at the conferences. Let's face it, most reputable software conferences are mostly attended by White male population.

***

So what can you do to change this?

As an individual contributor - you need to raise this question to your management and to HR department at your company. Ask for the conference attendance budget to plan for more women speak and attend those events.

As a manager or director - encourage everyone on your team, especially women and racial minorities, to submit talk proposals and attend events/conferences.

As a event/conference organizer - talk to different women's groups to increase awareness of your event, and encourage women to join.

Finally as a woman in tech, step outside of your comfort zone. Don't wait for your management to offer you attending Grace Hopper Conference for the n-th year in the row, go ahead and tell them you need to go to JavaOne or Build or something else. Every organization has a limited budget for conference attendance, and unless you are a VIP engineer (e.g. authored books, have published widely used open source software..), you will have to pick one maybe a couple to attend every year, since you need to be developing/working rest of the time. Do your diligence and step out of your comfort zone, choose a non-women centered event and persuade your company to sponsor your attendance.

Wednesday, April 20, 2016

Build 2016 HoloLens

The long anticipated day came where I had to be at the Moscone center on April 1 at 7:30 in the morning for the start of my Hololense presentation. On my way to the conference center I discovered that hotel decided to lock me out (sent me a bill as if I had checked out already) and I had to spend 15 minutes at the front desk explaining that I needed a new key. By the time I got to the Moscone center there was a huge crowd waiting at the front entrance and security wasn't letting anybody in. I needed to inform the security guards that I was a part of the very special crowd to go upstairs and be part of the most popular event of the conference.

By the time I got up, it was around 7:50 am, the event had already started and apparently my spot was given away to somebody on the waitlist. Maybe it was my being one of the very few women invited (if not the only one), or my persistence, or looking very pregnant and sad, but they decided to let me in. The deal was that I don't get a computer to write the code since all the seats were taken, but a pair of Hololens for all the fun.

Taken at HoloLens photo booth
So after all the frustration of the morning I was let to this huge room, setup in a coliseum shape, with the presenters at the center, and rows of desks and couches around it. One member of the staff was demoing how to code, while the other was talking the crowd through the steps. I didn't miss much since I had done the prework and familiarized myself with Unity. The staff was extremely nice and let me sit on their couch.

After the initial introductions and short talk we got to try the Hololens, every participant got to have the duration of the session one. We started by learning how to control the Hololens, and how to send voice commands, use Cortana. I felt that the fit over my glasses was rather uncomfortable and decided to keep the glasses off for the duration of the session, however I was told they fit fine over a pair of skinny classes.

First we built and deployed an object, basically you can take any 3D object in .3ds or other formats and convert it to "Hololensable". Then we learned how and were to mount the objects through Hololens. The part that started to become more fun was the team aspect of the task. Teams of 6-7 people were formed where we would setup and move our object called 'energy source' and had to collaborate.

With minimal code changes since everything was setup, which mostly involved copy and paste, and use of high level commands like Physics.Move() we added some cool avatars. Our avatars then were programmed to shoot each other, which is always exciting :) Well, to make things more awesome, as the final step of the demo, we added an external enemy, who we were fighting against as a group. Added a 'hole' in the ground where the external avatars were coming and we got to shoot everyone while dodging the bullets!

What was great about the setup was that there was one staff member appointed to help with coding experience and answer any questions for each 2 participants of the demo. This helped get some real questions I was concerned about answered. For example DirectX developers don't need Unity, they can continue doing their coding in C++.

Overall, the experience didn't disappoint my expectations, I left inspired to work on Hololens Netflix app one day and maybe write my own apps in spare time. The price tag of $3000 still seems rather steep for buying the prototype for personal use, and they won't start to ship for a while. But when the price goes down and I have spare time, it will be on the top of my hobby list to try. Awesome morning, thank you Microsoft and Hololens team for having the event, and especially for letting me in.









Thursday, March 31, 2016

Build 2016 announcements and exciting updates

Has it been couple of exciting days? Yes. Has it been tiring? Yes. It it worth it? Absolutely.

So far it feels like very productive couple of days with opportunity to get hands experience with new products, ask questions to the key people in those products and explore what's coming next.

IoT and wearable technology are the highlight. You can watch they keynotes on Channel 9:

The most interesting topic for me this year is mobile. The key efforts highlighted at the conference are on building apps across multiple platforms (IOS and Android) using Windows tools and technology. Especially with Cordova and after Xamarin acquisition. The irony is that Xamarin Mobile Test Cloud does not support Windows (phone or Universal Apps). Trying to pressure them to give me a timeline when it is coming didn't work.

Few more highlights:

Cross-Platform Mobile with Xamarin - https://channel9.msdn.com/Events/Build/2016/B836
Turning Win32 apps into UWP - https://channel9.msdn.com/Events/Build/2016/P504
Linux command line (Bash!) on Windows - https://channel9.msdn.com/Events/Build/2016/C906

One of the innovations for this year's conference were interactive code labs, where you got an opportunity to sit at a computer and go through certain coding task to get started with particular technology:

I can not judge for the all the modules, in fact I heard some good things, but I went to Xamarin Mobile 1 and 2 and felt like the sessions were not properly organized. Running scripts would fail, instructions were at times incorrect, most of the audience wouldn't complete half of the tasks in time, yet the speaker was disconnected, although there were few folks in the audience trying to help.

One of the good things about /Build// compared to last year's Google I/O is number of conference attendees. Since it is hosted in the same venue Moscone Center West in SF, it's easy to compare and see that it's possible to get to sessions, and you don't get "crashed by the crowd". Less is better. Although Google tried so hard with gadgets and decor, something that Microsoft has completely skipped on.

Another great thing about Build is the "Expert" or demo area, were you get to speak to representatives from Visual Studio, Store, Office, etc. and ask very concrete questions. I am super excited today about upcoming Store features to be announced tomorrow and trying out Visual Studio Code debugger for my Node.js app!

To end this on an even higher note, here I am at the 34th week of pregnancy rocking the /Build// conference!




Tuesday, March 29, 2016

Build 2016 anticipations

This is the fourth year I have been attempting to attend Microsoft Build conference, ever since I moved to California! All of this time Microsoft technology has been my primary technical focus. This time however instead of trying to be a single microsecond faster than the other developers sitting with their laptops as the registration opens and the site goes down (sorry to say it does, pretty much every time) I got it through a Netflix corporate deal with Microsoft.


The no hardware giveaway part of the announcement was a bit sad, otherwise I am super excited to be here. By "here", I mean that I am already in San Francisco, since keynote presentation starts at 8:30 am and had I attempted to drive from my house, I would have needed to leave at least by 6 am.


So far I have:
  • Registered and got a T-shirt that is too small for me
  • Had to skip the Women@Build reception because of timing issue
  • Signed up for hands on  Microsoft Holographic Academy event! 
    • I think this is going to be the highlight of the conference 
    • Build team initially rejected my application to attend, saying the opportunity was for people who paid the 3K and preordered Hololens. However a spot opened up. Woot-woot
  • Got the Build app on iPhone and spent a lot of time designing a custom schedule
These are the details of the Microsoft Holographic Academy event:
Date:   Friday, April 1, 2016
Time:7:30AM – 11:30AM PST
Location:Moscone West Room 2022

I assume 4 hours is more than enough to marvel the awesomeness of HoloLens and we'll get to write a demo app for this. The prerequisite is to watch the Holograms 101E video tutorials. I will post an update how this went after the event on Friday. Watching first few tutorial videos reminded me of my long gone 3D programming days with OpenGL and C++, and object modeling through 3ds Max. However the augmented reality programming is going to be much more powerful and have a great number of potential applications.

Monday, February 1, 2016

Delayed post on our GHC session "Balancing Career and Motherhood"

As we know, time files. It's been already four months since Grace Hopper Celebration 2015 conference, and for all these four months I have got multiple requests (believe it or not) to write a blog post and finally put my mind to do it. The reason this is happening today is that my co-worker Harini casually told me about her girlfriend today who lives in Atlanta, who attended our session and was so impressed that decided to make incremental changes in her attempts to balance work and motherhood. She had a memorable experience since she told Harini about it months later. There couldn't have been a better compliment! (BTW, dear friend from Atlanta, let me know the secret once your figure it out, I am still struggling:))

Over many months since hearing that our proposal was accepted, I had been thrilled and looking forward to being on stage in this unique context. This is the official listing of the session on GHC website. My co-presenter and I had met over email, and had few Google Hangouts sessions before heading to GHC in Houston. Even though I had initiated the effort and came up with most of the initial draft, my co-presenter Carolyn Rowland (a superwoman - mother of three, conference organizer and a manager at NIST) did the lion's share of work by creating the PowerPoint presentation and coming up with the game idea, she even printed the color coded sets of came cards for a room of 500.

We all met Carolyn Rowland, Neetu Jain, Jade GroenKatie Lewis and I on the day before our session at the conference, to have lunch together and plan what wasn't yet accounted for in the session. I am very impressed with every one of these overachieving mothers - successful technical women who magically do it all. I told them and I am happy to repeat here as well, I got four role models out of my experience with the "Balancing Career and Motherhood" session. 

I was a little nervous about presenting, since it had been a while after my last public speaking engagement. Although I had to only a quick introduction and most of the session was moderating the game played in groups of 5-8, and answering the Q&A, it was still an unfamiliar territory that comes with frequented hearth beat. We had no idea how many people will show up, since some sessions were packed with a line outside the door and others where half-empty.

Our session turned out to be a very popular one, with a full room, and a waitlist at the door. Even though we didn't have much opportunity to rehearse and had to make some improvisations on the fly, the flow of the session was rather smooth and was a great experience. As part of the Q&A segment, we heard some very insightful observations from the small groups, and heard some questions that are an ongoing challenge for most of us. One of the most interesting observations that my "training session" at work revealed prior the conference and we got to hear at GHC as well, was that when faced with challenges e.g. "Your son is sick and needs to be picked up from school, but your boss asks you to stay for an important meeting", all the women in the group came up with solutions, yet none said "I will ask my husband/significant other to pick him up". 

The most important message of that session was that we are not experts who are here to tell you the magic formula to establishing this delicate balance, we are all mother, who have gone through some of the same challenges you are going through, and we are here to share some of what worked and what didn't work for us.

I had the usual moment of self-doubt at the session that pursues all working mothers. There was a young mother with a baby about my daughter's age in the audience, so I stopped by to say hi and checkout the little cutie. The mom told me that she couldn't leave her daughter at the conference daycare and had to bring her in, since it was very noisy and dirty, my hearth dropped since my daughter was at the daycare that very minute. (My impression of GHC daycare was that it was organized excellently. It was run by very pleasant elder couple, staffed with kind and warm caregivers. Ella and I loved it).

My awesome coworkers TY, Anthony and Carenina also came to my session to support. They were extremely supportive and cheered when I mentioned working at Netflix. Here are some of the pictures from the session, courtesy of TY:







--
Here are the details of the game if you are interested in trying it out yourself. Feel free to contact me or my co-presenters to help set it up: