Skip to content

Instantly share code, notes, and snippets.

View cjanis's full-sized avatar

Craig Janis cjanis

View GitHub Profile
@cjanis
cjanis / loan-calculator.py
Created May 16, 2018 00:37
A loan calculator that allows for extra principal payments
# given principal and interest rate
# + periods = minimum payment amount and total cost
# + extra payment = periods, total cost, and savings over minimum
import math
def calculate(principal,rate_yearly,periods,extra=0):
# variables
rate_monthly = rate_yearly / 12 / 100
@cjanis
cjanis / tic-tac-toe.py
Created May 8, 2018 03:25
Command line tic tac toe game built in Python
b = ['O',' ',' ',' ',' ',' ',' ',' ',' ',' ']
def play(b,m=0):
# reset board if new game
if m == 0:
b = ['O',' ',' ',' ',' ',' ',' ',' ',' ',' ']
print('new game')
# update board
@cjanis
cjanis / blackjack.py
Created May 8, 2018 03:24
A simple blackjack game built with Python
## initiate game
print(
'\n' * 100 +
'#' * 16 +
'\n\nSIMPLE BLACKJACK' +
'\nby Craig Janis\n' +
'\nOverview: You start with two cards\nand decide whether to "hit" (ask\nfor another card) or "stand" (end\nyour turn with the cards you\nalready have). The dealer starts\nwith one card visible and one\ncard face down, and after your\nturn, the dealer will have a\nchance to hit or stand. You win\nif you end the game with more\npoints the dealer, but fewer\nthan 21 points. If you go over 21\npoints, that\'s called a "bust".\nTies go to the Dealer.\n\n' +
'#' * 16
)
@cjanis
cjanis / pi.py
Created May 8, 2018 03:23
Calculate pi using the Nilakantha series with up to 48 decimals of precision
'''
calculate pi using the Nilakantha series up to 48 decimals of precision
Nilakantha series approximates pi, but is not as accurate as some other, more intensive methods
the most accurate predictions come with odd number decimal precision
''
def calculate_pi(decimals):
# make the calculation
@cjanis
cjanis / cipher.py
Created May 8, 2018 03:22
A simple numeric cipher created with Python
# create alphabet and digits dictionary
import string
alphabet_master = string.ascii_lowercase + string.digits + ' '
alphabet_master = {a:(alphabet_master.index(a) + 1) for a in alphabet_master}
# the cipher
def cipher(direction,key,message):
@cjanis
cjanis / gist:fdaed8d5294e96f5ba98
Last active August 29, 2015 14:06 — forked from jedda/gist:4103604
Configuring RADIUS on OS X 10.9 Server
# turn on sudo
sudo su
# enter admin user password
# create the SACL for access to RADIUS
dseditgroup -q -o create -u <admin user> -n . com.apple.access_radius
# configure radiusd to log both successful and failed authentications
radiusconfig -setconfig auth yes
radiusconfig -setconfig auth_badpass yes
@cjanis
cjanis / coronasdk-rating.lua
Created November 28, 2012 06:35
Corona SDK Rating Prompt
-- show rating prompt
local function ratingPrompt()
local function ask()
local function answer(event)
if ("clicked" == event.action) then
if (event.index == 1) then
system.openURL("http://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=440754678")
data.rated = "yes"
writeData()
elseif (event.index == 2) then
@cjanis
cjanis / coronasdk-data.lua
Created November 28, 2012 06:30
Data Storage with Corona SDK
--os.remove(system.pathForFile( "data.db", system.DocumentsDirectory))
-- read data
function readData()
local path = system.pathForFile("data.db", system.DocumentsDirectory)
local file = io.open(path, "r")
if (file) then
data = json.decode(file:read("*a"))
else
file = io.open(path, "w")
@cjanis
cjanis / coronasdk-iap.lua
Created November 28, 2012 06:14
Corona SDK: IAP
-- iap results
function iapTransaction(event)
if (event.transaction.state == "purchased") or (event.transaction.state == "restored") then
if (event.transaction.productIdentifier == "playmaticBalloons") then
data.iap.iapBalloons = "yes"
iconBalloonsPrice.alpha = 0
end
writeData()
elseif (event.transaction.state == "cancelled") then
elseif (event.transaction.state == "failed") then
@cjanis
cjanis / popularposts.php
Created November 23, 2012 05:08
Using Facebook's Social Graph to Find A WordPress Blog's Most Popular Posts
<?php
// this goes into your theme's functions.php file
function popularPosts($limit) {
global $wpdb;
$posts = $wpdb->get_results("SELECT * FROM wp_posts WHERE $wpdb->posts.post_status='publish' AND $wpdb->posts.post_type='post'");
// get data for each post
$popular = array();
foreach ($posts as $post) {