Skip to content

Instantly share code, notes, and snippets.

@dpapathanasiou
dpapathanasiou / breadth_first_search.py
Created April 2, 2019 23:13
Breadth-First Search in Python
View breadth_first_search.py
#!/usr/bin/env python
"""
A breadth-first search implementation from:
"Python Algorithms: Mastering Basic Algorithms in the Python Language"
by Magnus Lie Hetland
ISBN: 9781484200551
@dpapathanasiou
dpapathanasiou / gist:4329613
Created December 18, 2012 16:47
Simple Social Media "Share" Buttons
View gist:4329613
<div><!-- social media share buttons -->
<a href="http://www.facebook.com/" onclick="window.location = 'http://www.facebook.com/share.php?u=' + encodeURIComponent(window.location); return false"><img src="http://i.imgur.com/aLnZg.png" alt="Share on Facebook" border="0" /></a>
<a href="http://twitter.com/" onclick="window.location = 'http://twitter.com/home/?status=' + encodeURIComponent(window.location); return false"><img src="http://i.imgur.com/oFrLG.png" alt="Tweet This" border="0" /></a>
<a href="http://www.linkedin.com/" onclick="window.location = 'http://www.linkedin.com/shareArticle?mini=true&url=' + encodeURIComponent(window.location); return false"><img src="http://i.imgur.com/mwHNU.png" alt="Share on LinkedIn" border="0" /></a>
<a href="https://plus.google.com/" onclick="window.location = 'https://plus.google.com/share?url=' + encodeURIComponent(window.location); return false"><img src="http://i.imgur.com/tzMMp.png" alt="Share on Google+" border="0" /></a>
@dpapathanasiou
dpapathanasiou / SchemaSpy-HOWTO.md
Last active February 17, 2024 19:45
How to use SchemaSpy to generate the db schema diagram for a PostgreSQL database
View SchemaSpy-HOWTO.md

SchemaSpy is a neat tool to produce visual diagrams for most relational databases.

Here's how to use it to generate schema relationship diagrams for PostgreSQL databases:

  1. Download the jar file from here (the current version is v6.1.0)

  2. Get the PostgreSQL JDBC driver (unless your installed version of java is really old, use the latest JDBC4 jar file)

  3. Run the command against an existing database. For most databases, the schema (-s option) we are interested in is the public one:

@dpapathanasiou
dpapathanasiou / RaspberryPi_A_Plus_Wifi.md
Created January 10, 2015 19:49
How to setup a usb wifi dongle on the Raspberry Pi Model A+
View RaspberryPi_A_Plus_Wifi.md

Rationale

The Raspberry Pi Model A+ has just a single usb port, so getting the wifi configured has to done by editing /etc/network/interfaces from a command line prompt.

These instructions assume the Raspbian OS on the SD card, and a usb wifi adapter that supports the RTL8192cu chipset, since the current Raspbian has built-in support for it.

Before the first boot

  1. Put a keyboard in the usb slot
  2. Connect the HDMI slot to a monitor
@dpapathanasiou
dpapathanasiou / ComodoSSL_HOWTO.md
Last active March 11, 2023 12:15
Installing Comodo SSL Certificates
View ComodoSSL_HOWTO.md

Create the Certificate Signing Request (CSR) file

openssl req -nodes -newkey rsa:4096 -keyout example_com.key -out example_com.csr

Prepare the Bundle file

Unzip the file Comodo sends back and create a single certificate bundle file.

@dpapathanasiou
dpapathanasiou / HOWTO.md
Created November 4, 2018 15:53
How to connect to a USB Armory via ssh on linux
View HOWTO.md

Based on the Host communication instructions, but with a tweak for when the usb0 address is not found:

$ /sbin/ip link set usb0 up
Cannot find device "usb0"

Because of the predictable network interface name scheme, though, usb0 may be renamed to something else:

@dpapathanasiou
dpapathanasiou / simple_kv_service.py
Created December 2, 2020 22:50
A simple example of a key-value (kv) storage and lookup service, accessible over http/rest
View simple_kv_service.py
#!/usr/bin/env python3
"""
simple_kv_service.py
A simple example of a key-value (kv) storage and lookup service,
accessible over http/rest:
http://[host]:[port]/set?somekey=somevalue => assigns "somevalue" to "somekey"
http://[host]:[port]/get?key=somekey => looks up "somekey" and returns its value, if it exists
@dpapathanasiou
dpapathanasiou / depth_first_search.py
Created April 20, 2019 20:26
Depth-First Search
View depth_first_search.py
#!/usr/bin/env python
"""
An iterative implementation of depth-first search from:
"Python Algorithms: Mastering Basic Algorithms in the Python Language"
by Magnus Lie Hetland
ISBN: 9781484200551
@dpapathanasiou
dpapathanasiou / bellman_ford.py
Created April 20, 2019 20:23
Bellman Ford Algorithm
View bellman_ford.py
#!/usr/bin/env python
"""
An implementation of the Bellman-Form algorithm from:
"Python Algorithms: Mastering Basic Algorithms in the Python Language"
by Magnus Lie Hetland
ISBN: 9781484200551
View breadth_first_search.py
#!/usr/bin/env python
"""
A breadth-first search implementation from:
"MIT Open CourseWare: Introduction to Algorithms"
Lecture 13: Breadth-First Search
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/lecture-13-breadth-first-search-bfs/