Skip to content

Instantly share code, notes, and snippets.

View dideler's full-sized avatar

Dennis Ideler dideler

View GitHub Profile
dideler /
Last active March 23, 2018 14:08 — forked from jasonrudolph/
Programming Achievements: How to Level Up as a Developer

Programming Achievements: How to Level Up as a Developer

  1. Select a particular experience to pursue.
  2. Pursue that experience to completion. (Achievement unlocked!)
  3. Reflect on that experience. Really soak it in. Maybe a blog post would be in order?
  4. Return to Step 1, this time selecting a new experience.

This gist is a fork of the gist from this blog post.

dideler /
Created September 25, 2011 15:19
UCOSP/Freeseer - Dennis Ideler

Update: This gist is from when I was a student participating in UCOSP and helped me to plan and keep track of my progress on Freeseer.

This public gist is for team members and myself to keep track of what I'm working on, what I plan to work on, and to read any miscellaneous notes or tips about the project I feel are worth adding.

Comments and reviews are welcome and encouraged!


dideler /
Created January 10, 2012 06:11
Machine Learning resources
dideler /
Last active May 8, 2024 14:38
Bootstrapping - a list of useful resources to get up and running quickly


UPDATE: This list is no longer maintained. I've moved it to its own repo so you can send suggestions as Pull Requests.

For feedback or suggestions, please send a tweet (@dideler). Gist comments don't notify me. Pull requests aren't possible with gists (yet), so I don't recommend forking because then I can't easily get the change.

Starring this gist will give me an idea of how many people consider this list useful.

dideler /
Created March 5, 2012 20:20
Computation Geometry

Computational Geometry

(Abridged notes from Introduction to Algorithms)

Branch of CS that studies algorithms for solving geometric problems. Input is typically a set of points, a set of line segments, or the vertices of a polygon in counterclockwise order. Output is often a response to a query about the objects, such as whether any lines intersect, or finding a new geometric object (e.g. convex hull) of the set of points.

We look at computational-geometry algorithms in two dimensions (2D), i.e. in the plane. Each object is represented by a set of points {P1, P2, P3, ...}, where each Pi = (Xi, Yi). For example, an n-vertex polygon _P = _.

dideler /
Last active August 29, 2016 03:08
Twitter Gadget for Google Sites

How to display a Twitter feed on your Google Site

A short tutorial for creating a Twitter gadget for Google Sites that will display tweets from a user or search.


Displaying Twitter tweets on your Google Sites website is difficult!
Google Sites filters your HTML code and doesn't allow you to add your own JavaScript code, therefore restricting you from adding any of the many existing Twitter widgets that exist today, including Twitter's very own.

The Google Gadgets directory contains a Twitter gadget called Twit. This is the gadget I was using in the past.

dideler /
Created March 30, 2012 22:43
Chess club ranking system

The ranking system has two sections:

  1. Ladder rankings
  • player name
  • starting rank
  • current rank
  1. Statistics
  • player name
  • wins
  • ties
dideler /
Created April 12, 2012 08:25
Bitwise tricks

Inspired by this article. Neat tricks for speeding up integer computations.

Note: cin.sync_with_stdio(false); disables synchronous IO and gives you a performance boost. If used, you should only use cin for reading input (don't use both cin and scanf when sync is disabled, for example) or you will get unexpected results.

Multiply by a power of 2

x = x << 1; // x = x * 2

dideler /
Created April 13, 2012 22:52
MongoDB reminders

Based on

Rank  Players  Score  W D L
----  -------  -----  - - -
  1    Jim      90    2 1 0
  2    Kim      87.5  1 1 1
  3    Bob      50    0 0 3

where Score is the win/draw/loss ratio.

dideler /
Last active January 23, 2023 16:39
Parsing Command-Line Argument in Python

Command-line arguments in Python show up in sys.argv as a list of strings (so you'll need to import the sys module).

For example, if you want to print all passed command-line arguments:

import sys
print(sys.argv)  # Note the first argument is always the script filename.

Command-line options are sometimes passed by position (e.g. myprogram foo bar) and sometimes by using a "-name value" pair (e.g. myprogram -a foo -b bar).