git whatchanged
git log --name-status
git log -p --name-only
| // 3D Dom viewer, copy-paste this into your console to visualise the DOM as a stack of solid blocks. | |
| // You can also minify and save it as a bookmarklet (https://www.freecodecamp.org/news/what-are-bookmarklets/) | |
| (() => { | |
| const SHOW_SIDES = false; // color sides of DOM nodes? | |
| const COLOR_SURFACE = true; // color tops of DOM nodes? | |
| const COLOR_RANDOM = false; // randomise color? | |
| const COLOR_HUE = 190; // hue in HSL (https://hslpicker.com) | |
| const MAX_ROTATION = 180; // set to 360 to rotate all the way round | |
| const THICKNESS = 20; // thickness of layers | |
| const DISTANCE = 10000; // ¯\\_(ツ)_/¯ |
| 2023-11-27 MIT LICENSE | |
| Here's the open source version of my ChatGPT game MonkeyIslandAmsterdam.com. | |
| It's an unofficial image+text-based adventure game edition of Monkey Island in Amsterdam, my home town. | |
| Please use it however you want. It'd be nice to see more ChatGPT-based games appear from this. | |
| It's much easier than you think and you'll be shocked by how relatively well it works with little work. |
| <?php | |
| use Illuminate\Support\ServiceProvider; | |
| use Illuminate\Database\Eloquent\Builder; | |
| use Illuminate\Support\Arr; | |
| class AppServiceProvider extends ServiceProvider | |
| { | |
| // ... |
| var codes_pf500 = { | |
| adjust_date : Chr(61), // 3D | |
| open_smetka : Chr(48), // 30 | |
| close_smetka : Chr(56), // 38 | |
| open_storno : Chr(85), // 55 | |
| close_storno : Chr(86), // 56 | |
| stavka : Chr(49), // 31 | |
| vtor_red : Chr(10), // 0A | |
| kraj_opis : Chr(9), // 09 |
| /** | |
| * Generic helpers | |
| */ | |
| interface Fn { | |
| input: unknown; | |
| output: unknown; | |
| } | |
| type Call<fn extends Fn, input> = (fn & { input: input })["output"]; |
| /* Ultra lightweight Github REST Client */ | |
| // original inspiration via https://gist.github.com/v1vendi/75d5e5dad7a2d1ef3fcb48234e4528cb | |
| const token = 'github-token-here' | |
| const githubClient = generateAPI('https://api.github.com', { | |
| headers: { | |
| 'User-Agent': 'xyz', | |
| 'Authorization': `bearer ${token}` | |
| } | |
| }) |
| Mute these words in your settings here: https://twitter.com/settings/muted_keywords | |
| ActivityTweet | |
| generic_activity_highlights | |
| generic_activity_momentsbreaking | |
| RankedOrganicTweet | |
| suggest_activity | |
| suggest_activity_feed | |
| suggest_activity_highlights | |
| suggest_activity_tweet |
| import type { FunctionComponent } from "react"; | |
| export const combineProviders = (providers: FunctionComponent[]) => providers.reduce( | |
| (Combined, Provider) => ({ children }) => ( | |
| <Combined> | |
| <Provider>{children}</Provider> | |
| </Combined> | |
| ), | |
| ); |
| #### Patron > View | |
| 1. Patron details are automatically loaded when scrolling patron's list | |
| **ONLY IN SPECIFIC ACTIONS COMBO** (after deleting a patron) | |
| - Details: | |
| Line 727: Code below is called twice on scroll, and the second time `loadFirst` is `true` | |
| ``` | |
| .on('draw.dt', function () { | |
| setTimeout(function () { | |
| redraw_dt() | |
| if (loadFirst) { |