Skip to content

Instantly share code, notes, and snippets.

@rofrol
rofrol / build_and_deploy.sh
Last active July 20, 2024 08:24
Girhub action to deploy with rsync without storing ssh creds in file system
#!/bin/bash
set -o allexport
source .env
set +o allexport
cd webapp && npm run build && cd .. &&
ssh ${SSH_USER}@${SSH_HOST} -p $SSH_PORT "mkdir -p /var/www/example.com/webapp" &&
rsync -avzr --delete --filter=':- .gitignore' -e 'ssh -p '${SSH_PORT} webapp/dist/webapp/ ${SSH_USER}@${SSH_HOST}:/var/www/example.com/webapp/
const std = @import("std");
fn splice(src_rd: anytype, dst_wr: anytype, comptime buf_len: usize, lim: usize) !void {
var buf: [buf_len]u8 = undefined;
var left = lim;
while (true) {
const len = try src_rd.read(buf[0..@min(left, buf.len)]);
if (len == 0) break;
left = try std.math.sub(usize, left, len);
try dst_wr.writeAll(buf[0..len]);
@rofrol
rofrol / zig_update.zig
Last active July 7, 2023 06:33 — forked from doccaico/zig_update.zig
Ziglang Updater in Ziglang
We couldn’t find that file to show.
@rofrol
rofrol / win11-mouse-scroll-reverse.md
Created March 3, 2023 13:51 — forked from gagarine/win11-mouse-scroll-reverse.md
Reverse Mouse Wheel scroll in Windows 11 (Natural Mode like MacOS)

Reverse Mouse Wheel scroll in Windows 11

Chose between natural mode like MacOS or Windows default mode.

Step 1: Open Windows PowerShell in Administrator Mode.

You can do this by going to Start Menu, type PowerShell, and click Run as Administrator.

Step 2: Copy the following code and paste it in the command line of Windows PowerShell:

$mode = Read-host "How do you like your mouse scroll (0 or 1)?"; Get-PnpDevice -Class Mouse -PresentOnly -Status OK | ForEach-Object { "$($_.Name): $($_.DeviceID)"; Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Enum\$($_.DeviceID)\Device Parameters" -Name FlipFlopWheel -Value $mode; "+--- Value of FlipFlopWheel is set to " + (Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Enum\$($_.DeviceID)\Device Parameters").FlipFlopWheel + "`n" }
const std = @import("std");
const net = std.net;
const fs = std.fs;
const os = std.os;
pub const io_mode = .evented;
pub fn main() anyerror!void {
var general_purpose_allocator = std.heap.GeneralPurposeAllocator(.{}){};
const allocator = general_purpose_allocator.allocator();
@rofrol
rofrol / main.zig
Created August 8, 2022 14:47 — forked from doccaico/main.zig
Conway's Game of Life
// Build: zig build-exe -O ReleaseFast --strip src/main.zig
// Run: zig build run -- -w 70 -h 40 -m "*" -s 0.07 -c 25
// Version: 0.10.0-dev.3475+b3d463c9e
// Date: 2022/08/08
const std = @import("std");
const mem = std.mem;
const fmt = std.fmt;
const os = std.os;
@rofrol
rofrol / rx.js
Created March 21, 2022 13:02 — forked from msociety/rx.js
André Staltz (@andrestaltz): You will learn RxJS at ng-europe 2016
/*
* André Staltz (@andrestaltz): You will learn RxJS at ng-europe 2016
* https://www.youtube.com/watch?v=uQ1zhJHclvs
*/
function map(transformFn) {
const inputObservable = this;
const outputObservable = createObservable(function subscribe(outputObserver) {
inputObservable.subscribe({
next: function(x) {
@rofrol
rofrol / README.md
Created October 25, 2021 21:58 — forked from fvclaus/README.md
Run vscode tasks with nvm

Nvm does not work in vscode tasks, because tasks are run without a shell. .bashrc is not loaded and the nvm command is unknown.

My solution uses a wrapper script around /bin/bash that reads in the correct node version from .npmrc in the project folder.

#!/bin/bash

set -e

if [[ "$2" == nvm* ]]; then

export NODE_VERSION=v$(cat .nvmrc)

@rofrol
rofrol / script-calculator.js
Created September 10, 2021 20:55 — forked from tchayen/script-calculator.js
Javascript calculator using Reverse Polish notation and Shunting-yard algorithm
// function connecting algorithm with outer world
function updateCalculator(event) {
var expression = document.getElementById("calculator").value;
var result = calculate(expression);
document.getElementById('calculatorResult').innerHTML = result;
}
function calculate(expression) {
  • +81 Japan
  • +89 —
  • +41 Switzerland
  • +61 Australia
  • +964 Iraq
  • +370 Lithuania
  • +43 Austria
  • +355 Albania
  • +216 Tunisia
  • +7 Russia