Welcome!
Try clicking a square!
What you see in the background is my Javascript implementation of Conway's Game of Life, but with the ability for you to interact with it.
Projects I've worked on
History Object
PythonA Python Decorator that when used will track the history over time of all attributes of an Object. The Decorator will provide a history
dictionary attribute for the object that contains the names of the object's attributes as the keys and a corresponding List of said attribute's values over time. <the_object>.history[<the_attribute>][-1]
will always be the most recent change.
>>> from history_object import History >>> >>> # Usage >>> @History() >>> class T(): >>> def __init__(self, x): >>> self.x = x >>> >>> test = T("Hello World") >>> test.history['x'] # ["Hello World"] >>> test.x = "Goodbye World" >>> test.history['x'] # ["Hello World", "Goodbye World"]
criva.github.io
HTML/CSS/JavaScriptA website that serves as a place to show off some of the great programming work I've done over the years!
Samanage Slack Slash Command
Ruby/SinatraA simple Sinatra application that allows a user to create a new support ticket in Samanage using a slash command in Slack.
/ticket name = "Title for ticket", description = "Description for ticket", requester = user@domain.com, priority = Low
LXML to Dict
PythonA method allowing for the conversion of an lxml.objectify element to a Python Dictionary for those more familiar with a Dictionary object rather than an XML object.
>>> from lxml_to_dict import lxml_to_dict >>> >>> # Usage >>> lxml_to_dict(<the lxml.objectfy.Element>) >>> >>> root = objectify.Element("root") # <root><root> >>> b = objectify.SubElement(root, "b") # <root><b></b><root> >>> b = objectify.SubElement(root, "b") # <root><b></b><b></b><root> >>> a = objectify.SubElement(root, "a") # <root><b></b><b></b><a></a><root> >>> lxml_to_dict(root) # {'root': {'b': None, 'b1': None, 'a': None}}
Prints2Go
Ruby (Ruby on Rails)A web application for print requests from the repographics print lab at Westmont College. This includes a homepage where users can see their print jobs with a status (To be printed, To be billed, completed), a form for filling in requests and uploading files, and a page to view the costs for each form attribute.