Skip to content

Instantly share code, notes, and snippets.

@acsrujan
Last active November 27, 2015 07:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save acsrujan/15e211400258871f538a to your computer and use it in GitHub Desktop.
Save acsrujan/15e211400258871f538a to your computer and use it in GitHub Desktop.
Resume of Srujan Akumarthi (Myself). Python program readable by layman, and also, executable through command line.
'''
If you're viewing it from pdf, original program can be found at: https://gist.github.com/acsrujan/15e211400258871f538a
To run download the file as it is.
Make sure you've python installed. (run python --version in terminal)
python filename.py -h will show the help line. (Make sure to change the file name.)
python filename.py -c will show contacts. and so on.
'''
from datetime import datetime
from collections import namedtuple
import argparse
NAME = "Srujan Akumarthi"
EMAIL = "acsrujan@gmail.com"
class JobMixin(object):
def __repr__(self):
return "{0} - {1}, {2}, {3}, {4}\n{5}\n{6}".format(
self.started.strftime("%B %Y"),
self.left if isinstance(self.left, str) else self.left.strftime("%B %Y"),
self.company,
self.location,
self.title,
"\n".join(self.description),
"=" * 20
)
# Experience
class TinyOwl(JobMixin):
company = "TinyOwl"
location = "Mumbai, India."
title = "DevOps - Software Engineer"
started = datetime(2015, 4, 26)
left = "current"
description = [
"Infrastructure Management on AWS cloud.",
"Orchestration with chef, ansible.",
"Ensuring server level security."
]
class Pricebaba(JobMixin):
company = "Pricebaba.com"
location = "Mumbai, India."
title = "Software Developer"
started = datetime(2014, 9, 22)
left = datetime(2015, 4, 22)
description = [
"Building an online price comparision backend engine.",
"Scraping from various e-commerce websites.",
"Infrastructure using Mongodb, Digital Ocean (Linux)",
"Matching algorithms to map same devices (mobile phones, in particular) from multiple websites."
]
class ProjectsMixin(object):
def __repr__(self):
return "{0} - {1}, {2}, {3}, {4}\n{5}\n{6}".format(
self.started.strftime("%B %Y"),
self.left if isinstance(self.left, str) else self.left.strftime("%B %Y"),
self.name,
self.location,
self.course,
"\n".join(self.description),
"=" * 20
)
class Sarcaso(ProjectsMixin):
name = "Sarcaso"
description = [
"Algorithms to detect sarcasm in given pool of tweets based on various factors."
]
class XkcdDownloader(ProjectsMixin):
name = "XKCD Downloader"
description = [
"Downloads all images from XKCD with a single command. Designed to learn scraping."
]
class Octopus(ProjectsMixin):
name = "Octopus"
description = [
"A price comparison portal from various online ecommerce websites and"
"mapping the same products from different websites. It’s done in Python, with Scrapy",
"This is a part of Pricebaba.com."
]
class Quizot(ProjectsMixin):
name = "Quizot"
description = [
"A quizzing platform firmly curated with good classification of topics."
]
class OtherProjects(ProjectsMixin):
name = "Other Projects: Random weekend ones"
description = [
"These projects are just to learn how stuff works.",
"1. Task manager in Ruby on Rails, Django."
"2. Configuration manager with Go."
"3. Cows and bulls - game implementation"
"4. Javascript simple tasks - Angularjs, Harpjs, Backbonejs."
]
class SchoolMixin(object):
def __repr__(self):
return "{0} - {1}, {2}, {3}, {4}\n{5}\n{6}".format(
self.started.strftime("%B %Y"),
self.left if isinstance(self.left, str) else self.left.strftime("%B %Y"),
self.name,
self.location,
self.course,
"\n".join(self.description),
"=" * 20
)
# Education
class Graduation(SchoolMixin):
name = "Visveswaraya National Institute of Technology"
location = "Nagpur"
course = "Computer Science and Engineering"
started = datetime(2010, 7, 16)
left = datetime(2014, 5, 7)
description = [
"Thesis topic: Object technologies implemented in relational databases.",
]
Account = namedtuple("Account", "name description")
def parse_command_line():
parser = argparse.ArgumentParser('Terminal Resume Viewer')
parser.add_argument('-tldr', '--tldr', action='store_true', help="Too Long; Don't read version")
parser.add_argument('-c', '--contact', action='store_true', help="Contact")
parser.add_argument('-s', '--skill', action='store_true', help="Technical Skills")
parser.add_argument('-e', '--education', action='store_true', help="Formal Education")
parser.add_argument('-x', '--experience', action='store_true', help="Work Expereince")
parser.add_argument('-p', '--projects', action='store_true', help="Project")
args_pass = parser.parse_args()
return args_pass
def main(tldr, c, e, s, p, x):
if tldr:
# Brief Bio
print "Named Srujan Akumarthi."
print "I am a Software Engineer " \
"with experience in web and infrastructure programming." \
"I also write some stories. You can read them on blog."
elif c:
Accounts = [
Account("Blog", "statophole.blogspot.in"),
Account("Github account", "github.com/acsrujan"),
Account("Linkedin profle", "https://www.linkedin.com/in/acsrujan")
]
print "Name: " + NAME
print "Email: " + EMAIL
for account in Accounts:
print account
elif e:
education = [Graduation()]
for edu in education:
print edu
elif s:
print "In distributed system: infrastructure management (autoscale replication, load balancing),docker,linux." \
"Configuration management with Ansible, Chef and Shell." \
"Programming specific: Python primarily. Good in others and flexible to adapt quickly."
elif p:
print "Projects"
for pro in projects:
print pro
elif x:
print "Experience:"
for exp in experience:
print exp
else:
print "Try '-h'. I don't have other info about myself."
if __name__ == "__main__":
experience = [Pricebaba(), TinyOwl()]
eduction = [Graduation()]
projects = [Sarcaso(), XkcdDownloader(), Octopus(), Quizot(), OtherProjects()]
args = parse_command_line()
main(args.tldr, args.contact, args.education, args.skill, args.projects, args.experience)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment