Skip to content

Instantly share code, notes, and snippets.

View TheArmagan's full-sized avatar

Kıraç Armağan Önal TheArmagan

View GitHub Profile
@TheArmagan
TheArmagan / elkbledom-noble.js
Created May 26, 2024 14:39
ELK-BLEDOM led controller using nodejs noble
const noble = require('@abandonware/noble');
noble.on('stateChange', (state) => {
if (state === 'poweredOn') {
noble.startScanningAsync([], false);
}
});
function buildColorBuffer(r, g, b) {
return Buffer.from([0x7e, 0x00, 0x05, 0x03, r, g, b, 0x00, 0xef]);
// @ts-nocheck
// The MIT License (MIT)
//
// Copyright © 2021-2022 Kıraç Armağan Önal
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files(the “Software”), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
// copies of the Software, and to permit persons to whom the Software is furnished
@TheArmagan
TheArmagan / ReconnectingWebSocket.js
Last active June 30, 2021 21:07
NODEJS ReconnectingWebSocket
const { EventEmitter } = require("events");
const WebSocket = require("ws");
class ReconnectingWebSocket {
/** @type {string} */
address;
/** @type {WebSocket.ClientOptions} */
clientOptions;
@TheArmagan
TheArmagan / CekCek.json
Created June 29, 2021 19:58
OBS CekCek | Sence Collection
{"current_program_scene":"Main Area","current_scene":"Main Area","current_transition":"Cut","groups":[{"balance":0.5,"deinterlace_field_order":0,"deinterlace_mode":0,"enabled":true,"flags":0,"hotkeys":{"libobs.hide_scene_item.Color Source":[],"libobs.hide_scene_item.Color Source 2":[],"libobs.show_scene_item.Color Source":[],"libobs.show_scene_item.Color Source 2":[]},"id":"group","mixers":0,"monitoring_type":0,"muted":false,"name":"Group","prev_ver":452984833,"private_settings":{},"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"settings":{"custom_size":true,"cx":912,"cy":528,"id_counter":0,"items":[{"align":5,"bounds":{"x":0.0,"y":0.0},"bounds_align":0,"bounds_type":0,"crop_bottom":0,"crop_left":0,"crop_right":0,"crop_top":0,"group_item_backup":false,"hide_transition":{"duration":0},"id":6,"locked":false,"name":"Color Source 2","pos":{"x":0.0,"y":0.0},"private_settings":{},"rot":0.0,"scale":{"x":0.47460940480232239,"y":0.48819440603256226},"scale_filter":"disable","sh
@TheArmagan
TheArmagan / scuffedOWOTLocal.html
Created June 16, 2021 07:10
Small OWOT Client made with vue2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Our World Of Text Scuffed Edition</title>
<style>
* {
padding: 0;
function split(inputString, separateWith)
if separateWith == nil then
separateWith = ", "
end
local t={}
for str in string.gmatch(inputString, "([^"..separateWith.."]+)") do
table.insert(t, str)
end
return t
end
@TheArmagan
TheArmagan / json.lua
Created June 6, 2021 00:37
Useful when working with computer craft.
------------------------------------------------------------------ utils
local controls = {["\n"]="\\n", ["\r"]="\\r", ["\t"]="\\t", ["\b"]="\\b", ["\f"]="\\f", ["\""]="\\\"", ["\\"]="\\\\"}
local function isArray(t)
local max = 0
for k,v in pairs(t) do
if type(k) ~= "number" then
return false
elseif k > max then
max = k
YARRR ALLAH
@TheArmagan
TheArmagan / timezonedb-api.md
Last active June 4, 2021 16:43
Timezone DB - API Documentation

Timezone DB - API Documentation

BASE URL: https://timezonedb.armagan.rest/

Get only one user's info.

GET /api/get/timezone

Query Parameters:

  • id: The target user's platform id. (Example: 707309693449535599, Default: none)
violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins
violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins
violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins violins