Skip to content

Instantly share code, notes, and snippets.

View serious-angel's full-sized avatar
...cogito, ergo sum...

/\ngel serious-angel

...cogito, ergo sum...
View GitHub Profile

We are not going anywhere.

This might sound obvious, but it is worth putting it down, Software Development going forward will be largely done by AIs, you might find the quality subpar, but in terms of cost ratio, it is commercially good enough. Business will accept 99.99 at fraction of cost of 99.999. It is all about general consumer expectations, which will shift.

But most of all, not just that we are not going back, we are also not going anywhere. Software Engineering as science will be largely dedicated to AI development and outside of this discipline, it will slow down to a grinding halt.

No one is going to write new UI libraries if SOTA models know React best, no one is going to bother with new languages if SOTA models know Python, Go, JavaScript, and so on the best.

Yes, it will be easier for people to build new libraries and languages, but they won't gain traction. This might be different for large corporations who can afford to train and finetune models on their new fangled technology, but that

@alurm
alurm / README.md
Last active September 7, 2026 09:23
A generic dynamic array in C that stores no capacity and needs no struct

A generic dynamic array in C that stores no capacity and needs no struct

The following header shows a way to make a generic dynamic array in C with an array of two pointers:

  • one pointer (accessible as vec_ptr[vec]) points to the data;
  • the other pointer (accessible as vec_len[vec]) encodes the length of the array in the pointer. Thus, (size_t)vec_len[vec] returns the len as size_t.

So, int *vec[2] = { 0 }; is an empty dynamic array of ints. struct person *people[2] = { 0 }; is an empty dynamic array of people.

The vec_push(vec, value) macro pushes a value at the end of a dynamic array. It returns true if pushing succeeded, and false otherwise. Note that the dynamic array is not automatically freed on failure.

@OTDE
OTDE / code-golfing-rikis-template-engine-in-julia.jl
Created April 29, 2026 01:03
Code-golfing riki's HTML templating engine in Julia
#=
A few days back, I was on lobste.rs the other day and saw a cool post by
riki. The post is about using Lua to write a super-compact HTML generator,
using the table data structure as a base. HTML generators are an infamous
category of programmer tar pit. Regardless of what programming language you
enjoy, if you like to yap (don't lie), then yapping to the internet in your own
special way will usually require you to interact with HTML in some form. While
writing a fully spec-compliant HTML generator in a weekend might be generously
described as a "fool's errand," it's feasible to quickly build something that
will get you _most_ of the way there.
@charmparticle
charmparticle / fido2_u2p_fingerprint_setup_in_linux.md
Last active April 8, 2026 01:36
setting up the atkey.pro usb fingerprint reader in linux -- this should also work for any fido2 u2p usb fingerprint reader; maybe even those $20 ones.

First, check that the device can be seen by your OS:

lsusb
dmesg

if it appears in dmesg but not lsusb, you might need to plug it directly into a usb port rather than in a usb hub. For some reason when I did this, and then switched it back to the usb hub, lsusb could see it again. I don't understand why, but this might work for you also.

@maciejkos
maciejkos / export_gemini_app_chat_via_console.js
Created June 18, 2025 22:08
Export complete Google Gemini chat to markdown using DevTools console
// WORKS AS OF 6/18/2025; Maciej Kos
// == Enhanced Chat Exporter ==
//
// Purpose:
// This script is designed to be run in the browser's Developer Tools console on a chat page.
// Its primary goal is to export the entire chat history, including both user messages and
// bot responses, into a formatted text block that can be easily copied to the clipboard.
//
// Features:
@ormaaj
ormaaj / roflparser.md
Created March 10, 2025 19:35
Silly bash typeset builtin wrapper

This script exploits bash's weird interpretation of POSIX's requirement that declaration builtins overloaded by functions must not modify the parsing of the arguments. Bash even extends this requirement to nonstandard extensions such as arrays. This typeset wrapper parses options by stealing the (approximately correct) optstring from ksh. It modifies each assignment then prints the effect of the command as a side-effect.

Code:

@Nickguitar
Nickguitar / bypassing_discord_masked_links_filter.md
Last active June 28, 2026 20:53
Bypassing Discord's masked links filter
@0xdevalias
0xdevalias / reverse-engineering-webpack-apps.md
Last active July 12, 2026 06:36
Some notes and techniques for reverse engineering Webpack (and a little bit about React/Vue/Angular) apps
@iscle
iscle / gist:66e946553e74a883b4494d3b6df0ee82
Last active November 19, 2025 16:59
Install python2.7 on Ubuntu 23.04 as "python"
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
tar xzf Python-2.7.18.tgz
cd Python-2.7.18
sudo ./configure --enable-optimizations
sudo make altinstall
sudo ln -s "/usr/local/bin/python2.7" "/usr/bin/python"
@scrivocodice
scrivocodice / neighbors_scan.py
Last active March 16, 2026 22:01
Scan neighbors network devices
#!/usr/bin/env python
"""List all hosts with their IP address on my subnet."""
import os
out = os.popen('ip neighbour show nud reachable').read().splitlines()
for i, line in enumerate(out, start=1):
ip = line.split(' ')[0]
h = os.popen(f'host {ip}').read()