Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Learn To Think Like A Computer Scientist

264 views

Published on

The security operations center (SOC) wishes to query Tetration for flows between two points in time spanning several months. Tetration only allows querying maximum time range of 1 day per request.

If a user wants to query a longer time range, they need to split that time range into 1 day time periods and query separately for each period.

This talk describes an algorithm to solve this problem and shows several solutions in multiple programming languages.

Published in: Technology
  • Be the first to comment

Learn To Think Like A Computer Scientist

  1. 1. Copyright © 2017 World Wide Technology, Inc. All rights reserved. Network Solutions On-site Learn To Think Like A Computer Scientist August 2017 Building And Automating The Next Generation Network Joel W. King Engineering and Innovations Network Solutions
  2. 2. Abstract FOR YOUR REFERENCE The security operations center (SOC) wishes to query Tetration for flows between two points in time spanning several months. Tetration only allows querying maximum time range of 1 day per request. If a user wants to query a longer time range, they need to split that time range into 1 day time periods and query separately for each period. This talk describes an algorithm to solve this problem and shows several solutions is multiple programming languages.
  3. 3. Joel W. King Engineering and innovations, Network Solutions • Developed Cisco Validated Designs (CVDs) • NetApp Insight 2012, Video Surveillance Storage • DevNet Create 2017, Programming Merkai APIs FUN FACT Inducted to the Phantom Cyber Hall of Fame www.linkedin.com/in/programmablenetworks/
  4. 4. Goal Finding the boundaries Network engineers have learned to navigate the boundaries of the CLI… … there are boundaries with APIs as well. Introduce network engineers to the development of algorithms necessary to effectively interface with a device API.
  5. 5. Problem The security operations center (SOC) wishes to query Tetration for flows between two points in time spanning several months. Tetration only allows querying maximum time range of 1 day per request. If a user wants to query a longer time range, they need to split that time range into 1 day time periods and query separately for each period. We need to write an algorithm to convert the start and end time to a sequence of start and end times which don’t exceed one day, but covers the entire time range.
  6. 6. One Solution Convert time to seconds Guard against user format errors Is start before end? Less than an day? No conversions necessary Create empty list Determine number of days requested Add all the full days to the list Add the partial day documentation documentation
  7. 7. github.com/joelwking/time-bandits John Cleese in Time Bandits (1981)
  8. 8. Multiple Solutions, Several Languages Examine other solutions pythonjava C pythonTypeScript node.js github.com/joelwking/time-bandits
  9. 9. Session Evaluations Please evaluate this session and suggest topics for future Network Solutions Virtual Team Calls. http://tinyurl.com/ns-virtual-team

×