Skip to content

Instantly share code, notes, and snippets.

View shengslogar's full-sized avatar
👨‍💻
coding or whatever

Sheng Slogar shengslogar

👨‍💻
coding or whatever
View GitHub Profile
@kupietools
kupietools / Docker Desktop v 4.0.0 thru 4.22.1 direct download links
Last active July 21, 2024 10:07
List of Direct Download links for Docker Desktop from version 4.0.0 released 2021-08-31 thru 4.22.1 released 2023-08-24, as archived on archive.org
@renepardon
renepardon / jsconfig.json
Created December 30, 2022 21:35
Vite Alias Support for IntelliJ/PHPStorm/Webstorm
{
"_comment": "This file is used to trick IntelliJ/Webstorm/PHPStorm to use the correct alias as defined in vite.config.js",
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["resources/js/*"]
}
}
}

Lots of folks have asked me about my thoughts on Kaseya’s purchase of Datto:

Until recently I have been very much telling everyone to assume positive intent. Kaseya is looking to continue Datto’s success. In general, people don’t spend 6+ Billion dollars on something they intend to break. Change is inevitable and mistakes will be made but by and large Datto should expect to continue to be the company that is loved by employees and customers alike.

This past week, many current members of the Datto team have reached out deeply dismayed. There is a concern that the current trajectory from Datto’s new owners will snuff the flame that makes Datto a place to come “Do your life’s work.”

I am not associated with the company any more so my understanding of the specifics comes entirely second hand. Current team members have reached out and described the following:

- Sidelining Employee Resource Groups that support under represented people at the company
@valorin
valorin / Middleware-CSP.php
Last active July 10, 2024 12:46
CSP Middleware - the simple CSP middleware I use across all of my projects.
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Vite;
use Illuminate\Support\Str;
/**
* Simple Content Security Policy middleware.
@mfts
mfts / automate-letsencrypt-heroku
Last active December 28, 2022 11:33
Automate Lets Encrypt certificate generation for Heroku via Server
apt update
# install acme.sh
curl https://get.acme.sh | sh
# install heroku-cli
apt install snapd
sudo snap install --classic heroku
heroku login --interactive
@shengslogar
shengslogar / laravel-helpers.php
Created May 21, 2020 22:30
Running list of global Laravel helpers I autoload into projects
<?php
use Carbon\Carbon;
use Illuminate\Support\Arr;
use Illuminate\Support\HtmlString;
use Illuminate\Support\Str;
/**
* Wrapper for Arr::wrap
*
@IanColdwater
IanColdwater / twittermute.txt
Last active July 2, 2024 02:25
Here are some terms to mute on Twitter to clean your timeline up a bit.
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
@yujunz
yujunz / Time Machine On JuiceFS.md
Last active December 29, 2023 16:48
Time machine on JuiceFS
JFS_BASE=/Users/yujunz/JuiceFS
JFS_NAME=rogerz-s3-cn-east-1-qiniu
BUNDLE=TimeMachine.sparsebundle
VOLUME=/Volumes/TimeMachine

# Mount JuiceFS
juicefs mount --cache-dir $JUICEFS_BASE/cache --batch 10 --writeback --metacache --opencache $JFS_NAME $JFS_BASE/$JFS_NAME

# Create sparse bundle
// On PhpStorm, when ussing with laravel mix, for Alias path resolving in components you have to:
// - create a webpack.config.js file separately like:
const path = require('path')
const webpack = require('webpack')
module.exports = {
...
resolve: {
extensions: ['.js', '.json', '.vue'],
@nealey
nealey / slack-emoji-bulk-delete.js
Last active May 25, 2023 23:09
Bulk delete every custom emoji in Slack
//
// I just found out that we have a bunch of NSFW emoji in our bulk-imported set of >4000 emoji.
// Rather than weed them out, I want to start with a blank slate. This code does that.
//
// Navigate to your "Custom Emoji" page, the one with all the delete buttons.
// Delete one of them and acknowledge that it's going away forever.
// Then open the JavaScript console and paste this in.
//
// At some point your JavaScript console will start spewing errors.
// Reload the Emoji page, delete one emoji by hand again, and paste this in again to resume.