Skip to content

Instantly share code, notes, and snippets.

View topherPedersen's full-sized avatar
💭
Rolling my katamari ball

Christopher Pedersen topherPedersen

💭
Rolling my katamari ball
View GitHub Profile
@topherPedersen
topherPedersen / main.rs
Created January 13, 2022 04:10
Magic 8 Ball in Rust (Small Example for Learning Rust)
use std::io;
use rand::Rng;
fn main() {
println!("Welcome to Magic 8-Ball");
loop {
println!("What is your question?");
let mut question = String::new();
@topherPedersen
topherPedersen / main.rs
Last active January 13, 2022 01:12
Number Guessing Game in Rust (From the Official Rust Lang Book)
use rand::Rng;
use std::cmp::Ordering;
use std::io;
fn main() {
loop {
let secret_number = rand::thread_rng().gen_range(1..101);
println!("Guess the number");
@topherPedersen
topherPedersen / verticallyAndHorizontallyCenterH1.js
Created October 23, 2021 17:15
Vertically & Horizontally Center h1 Tag
export default function Home() {
return(
<div
style={{
position: 'absolute',
display: 'flex',
alignItems: 'center',
height: '100%',
width: '100%',
top: 0,
@topherPedersen
topherPedersen / fillVerticalAndHorizontal.js
Last active October 23, 2021 16:58
CSS: Make Div Fill Entire Screen Vertically & Horizontally
export default function Home() {
return(
<div
style={{
position: 'absolute',
height: '100%',
width: '100%',
top: 0,
bottom: 0,
margin: 0,
@topherPedersen
topherPedersen / JSONFailGracefully.ts
Created September 23, 2021 23:16
TypeScript JSON.parse undefined
const json = '{"foo": { "bar": { "baz": {"a": 1, "b": 2, "c": 3}}}}';
const parsedJSON = JSON.parse(json);
/*
* DANGER! This line will run, but is not fail-safe, could crash if foo, bar,
* baz or a is missing or undefined
*/
console.log(parsedJSON.foo.bar.baz.a);
@topherPedersen
topherPedersen / mobile_friendly_flask_app.py
Created June 16, 2021 22:38
How to Serve Up Mobile and Desktop Versions of Your Website in Python with Flask
from flask import Flask, Response, render_template, request
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
user_agent = request.headers.get('User-Agent')
user_agent = user_agent.lower()
@topherPedersen
topherPedersen / nestenum.ts
Created June 7, 2021 15:37
Nested "Enums" in TypeScript
enum Foo {
A = "ActivityCode.Foo.A",
B = "ActivityCode.Foo.B",
C = "ActivityCode.Foo.C",
}
enum Bar {
A = "ActivityCode.Bar.A",
B = "ActivityCode.Bar.B",
C = "ActivityCode.Bar.C",
@topherPedersen
topherPedersen / MainActivity.java
Created December 16, 2020 15:49
Android Button OnClickListener
package blog.topherpedersen.uselesscameraapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@topherPedersen
topherPedersen / activity_main.xml
Created December 16, 2020 15:48
Android Button
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
@topherPedersen
topherPedersen / stripDuplicates.js
Created November 5, 2020 21:49
How to Strip Duplicate Items from a JavaScript Array
// Duplicates: Bob, Aaron, Frank
const arrayWithDuplicates = ["Aaron", "Bob", "Chris", "Dave", "Edward", "Bob", "Aaron", "Frank", "George", "Frank", "Henry", "Bob", "Bob", "Aaron", "Aaron", "Frank"];
function stripDuplicates(arrayWithDuplicates) {
let uniques = [];
arrayWithDuplicates.forEach( (value, index) => {
const indexWhereValueFirstAppears = arrayWithDuplicates.findIndex( (value_) => {
return value_ === value;
});
if (index === indexWhereValueFirstAppears) {