Talking in Front of People About AI

I recently gave a talk, Harnessing the Power of AI, at the PwC Designed to Disrupt conference in Halifax, Nova Scotia.

This was my first speaking event as a Googler, so that was both exciting and a bit nerve-wracking. I think I did well though!

Some of the things I talked about:

Thanks to the PwC Canada team for the great event and making me feel extremely welcome.

 

One Month at Google: I Know Kung Fu

Well, it’s been a little over a month since I joined Google.  I feel like Keanu Reeves in the Matrix: I know kung fu.

I know kung fu

Not really, but I have learned a ton about Google. I took a Tech Immersion training class, I travelled to our gleaming Sunnyvale campus, I commuted on an infamous GBus (but in the wrong direction, reverse-commuting from the valley to downtown San Francisco), I visited the San Francisco office (where there are really cool views of the bay), and I mostly learned how to get around the sprawling Chelsea office in NYC. The Chelsea building is has quite a lot of history. And yes, there is excellent food everywhere. I am trying to take the stairs and walk more to counter that!

First things first though: the tech, as you may have heard, is nuts. In 2.5 weeks I only scratched the surface of the enormity that is Google tech. Calling this training “immersion” may be a little… ambitious. It’s impossible to go deep with Google tech in that short of a time period. It’s just too big!

However, we did learn how to use the famous mono-repo for source code, the also famous massive code-build system (which is open-sourced as Bazel), the code search and code review tools, and all of the other basic tools you need for excellent software engineering. In typical Google fashion, there’s a good research paper that summarizes these things if you want to read up on it more. The source code repository has literally billions of lines of source code, and you can search all of it instantly. Google is pretty good at search, and this includes source code!

More on said mono-repo in this talk:

I also learned more about practices like Site Reliability Engineering (SRE), which Google famously wrote the book(s) on, Testing, Accessibility, Security & Privacy, and others. This part of the training program was quite thorough and enjoyable.

Even more important, I learned how to learn things at Google. Meaning, I learned the basic patterns of documentation, collaboration, team roles, structures, and all of the elements that go into working in an organization. Given that this is by far the largest organization I’ve worked for, this was something that I was concerned about. How do I figure out who to talk to? How do I find information about team X or product Y? How do I understand how things work, and how can I get things done? Which cafes are open now? I’m happy that I now have reasonably good answers to these questions.

Books I’m reading to supplement my learning:

Onward!

 

 

Talking in Front of People About Data

A few weeks ago I had the opportunity to speak on a panel at an event hosted by Bloomberg. It was fun! Here was the info about the event.

Bloomberg Speaker Series: Artificial Intelligence in Finance

Bloomberg invites you to join us for our 2nd Data Speaker Series Event. Our Speaker Series is a more intimate forum where we will discuss trending topics after working hours. Our goal for sponsoring these events is to gather a community of market leading practitioners to have a chance to network and share best practices.

Bloomberg kicked off the Data Speaker Series in February with a very engaging discussion regarding alternative data usage in the investment process. The goal of the May event is to have industry experts across investing and academia discuss AI & Machine Learning tools and applications in finance. Featured speakers include leaders from Citadel, Neuberger Berman, Blackstone and NYU.

Time and Location:

Wed, May 16, 2018, 6pm-7:30pm
Bloomberg Enterprise, 120 Park Avenue (41st and Park)

Agenda:

6:00 PM – Registration & Networking
6:30 PM – Panel Discussion
7:30 PM – Networking Reception

Speakers:

Moderators:

  • Ashish Singal, Senior Product Manager, Artificial Intelligence, Bloomberg
  • Jeremy Baksht, Global Head of Alternative Data, Bloomberg

Discussion Topics – AI in Finance:

  • What are the unique challenges applying AI to financial markets?
  • How is AI actually being used today both sell side and buy side in trading / investing?
  • In terms of culture / people, how do we bridge the gap? Do researchers understand markets and do traders understand technology?
  • What kind of models specifically hold the most promise and for which use cases?
  • How will AI help unlock value in unstructured data?

Here I am pontificating about how “data is an asset class”. Deep!

20180516_Bloomberg_Data Speaker_AI_jeff

Fighting the Proxy

Like many companies, mine uses an HTTP proxy to protect us from various security risks, such as malware, unintended data leaks, and the like. In general this is a great thing. I heard from one of our risk engineers that malware incidents went down substantially when they implemented this proxy.

However, as a developer trying to code behind this proxy, it’s a constant battle. I recently found develop-behind-proxy, which is a very good resource for this. In particular, knowing how to configure the tools you’re using is super important. There doesn’t seem to be very much agreement out there in how to configure tools to route http/https traffic through the proxy, especially when any kind of proxy authentication is involved.

The things I’ve tried have included:

  • setting HTTP_PROXY, HTTPS_PROXY, and similar environment variables
  • setting the lower case version of these vars (are some tools case-sensitive? I think so…)
  • putting my username and password in the proxy URL (e.g. http://user:pass@proxy.company.com:8080)
  • URL encoding my username and password
  • since this is a windows environment, adding the domain and a backslash before my username
  • setting these in various places, like the windows user environment variables, Cmder‘s user-profile.cmd file, the .bash_profile inside the little Ubuntu VM I set up since some apps are either not available or break in weird ways in the windows shell

Of course I haven’t taken detailed notes so I’m not sure which config works for each tool! That’s on me though.

Oh, I’ve also tried Cntlm, and it has a nice little way to encrypt your username and password so that you can feel a little better about putting your credentials in a config file. But so far it hasn’t seemed to really help that much. The key thing I can’t quite figure out with it is how to reference it running as a Windows service from inside the Ubuntu VM.

The frustrating thing about this is that I get the feeling that all of this energy I’m spending configuring the proxy is taking away brain power and time from my “real work”.

But maybe not? Perhaps part of being a coder in a corporate setting is fighting the proxy? Perhaps we should put this in our job postings?

First Week

I just started a new job, and finished my first week. I’m working with people I’ve worked with before. However it’s been about 6 years since we worked together, so it’s a interesting mix of familiar and new, both culturally and technically.

Culturally, processes are very open and there are lots of discussions, both hallway chats and meetings. Of course everyone has these, but the thing that sticks out in this culture is that generally the content is “real”. Meaning it’s focused on topics that are highly relevant to the work being done on the team. Things like who’s going to work on what? Why is this approach better? What are we actually going to do next? There’s very little tolerance of high-level hand-wavy atmospherics. Business-speak is rarely used and often scoffed at. I like it.

Being an engineer, I’m probably more interested in how the tech stack is both familiar and new. The familiar parts are the application architecture (mostly 3-tier) and the programming framework (.NET). The new parts are that there is more automation in general, and more rigorous security practices.

An even new part of the stack is so new it doesn’t exist yet, because I am here to build it! That is, we want to build a data science stack, including all the big data stuff that entails. In short, to “bring in data science”.

Should be fun!