Skip to content

Instantly share code, notes, and snippets.

View alejandrozf's full-sized avatar

Alejandro Zamora Fonseca alejandrozf

  • Cordoba, Argentina
View GitHub Profile
@mishoo
mishoo / image-size.lisp
Last active April 16, 2025 17:25
Get image dimensions by parsing file headers
(defgeneric image-size (input)
(:method ((input pathname))
(with-open-file (input input :element-type 'unsigned-byte)
(image-size input)))
(:method ((input string))
(with-open-file (input input :element-type 'unsigned-byte)
(image-size input)))
(:method ((input stream))
@phoe
phoe / forever.md
Last active June 21, 2025 13:28
Forever Stable Branch

Forever Stable Branch

Stable branch, I can see you in the stable branch
See you again, I see you again
In my dreams, in my dreams, in my dreams, in my dreams

Morning light, I remember the morning li-i-i-i-ight
Outside my door (outside my door), I'll see you no more (see you no more)
In my dreams, in my dreams, in my dreams, in my dreams
>

@stecman
stecman / dump-pyc-with-gdb.md
Last active May 16, 2025 01:00
Dumping all bytecode from a packaged Python application

This is a technique for extracting all imported modules from a packaged Python application as .pyc files, then decompiling them. The target program needs to be run from scratch, but no debugging symbols are necessary (assuming an unmodified build of Python is being used).

This was originally performed on 64-bit Linux with a Python 3.6 target. The Python scripts have since been updated to handle pyc files for Python 2.7 - 3.9.

Theory

In Python we can leverage the fact that any module import involving a .py* file will eventually arrive as ready-to-execute Python code object at this function:

PyObject* PyEval_EvalCode(PyObject *co, PyObject *globals, PyObject *locals);
[playlist]
File1=http://37.59.28.208:8058/stream
Title1=95bFM Auckland, New Zealand
Length1=-1
File2=http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio1_mf_p
Title2=BBC Radio 1
Length2=-1
@svetlyak40wt
svetlyak40wt / get-lisp-dependencies.lisp
Last active April 30, 2024 01:08
A helper to gather all lisp system's dependencies
(ql:quickload :fset)
(defun get-dependencies (system)
"Returns a set with all dependencies of a given system.
System should be loaded first."
(labels ((normalize (name)
(etypecase name
(string (string-downcase name))
(symbol (normalize (symbol-name name)))
(list
@cschiewek
cschiewek / x11_docker_mac.md
Last active September 9, 2025 01:27
X11 in docker on macOS

To forward X11 from inside a docker container to a host running macOS

  1. Install XQuartz: https://www.xquartz.org/
  2. Launch XQuartz. Under the XQuartz menu, select Preferences
  3. Go to the security tab and ensure "Allow connections from network clients" is checked.
  4. Run xhost + ${hostname} to allow connections to the macOS host *
  5. Setup a HOSTNAME env var export HOSTNAME=`hostname`*
  6. Add the following to your docker-compose:
 environment: