Skip to content

Instantly share code, notes, and snippets.

View rwhitmire's full-sized avatar
👢
New boot goofin'

Ryan Whitmire rwhitmire

👢
New boot goofin'
View GitHub Profile
@rwhitmire
rwhitmire / LockManager.cs
Last active January 7, 2024 15:13
C# key-based locks
public class LockManager
{
private readonly SemaphoreSlim[] _semaphores;
public LockManager()
{
_semaphores = new SemaphoreSlim[1000];
for(var i = 0; i < _semaphores.Length; i++)
{
@rwhitmire
rwhitmire / query_perf.sql
Last active October 26, 2018 16:39
Query performance
--Worst performing CPU bound queries
SELECT TOP 10
st.text,
qp.query_plan,
qs.*
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.plan_handle) st
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
ORDER BY total_worker_time DESC
GO
@rwhitmire
rwhitmire / index_suggestions.sql
Created October 9, 2018 13:40
Index Suggestions for SQL Server
SELECT CAST(SERVERPROPERTY('ServerName') AS [nvarchar](256)) AS [SQLServer]
,db.[database_id] AS [DatabaseID]
,db.[name] AS [DatabaseName]
,id.[object_id] AS [ObjectID]
,id.[statement] AS [FullyQualifiedObjectName]
,id.[equality_columns] AS [EqualityColumns]
,id.[inequality_columns] AS [InEqualityColumns]
,id.[included_columns] AS [IncludedColumns]
,gs.[unique_compiles] AS [UniqueCompiles]
,gs.[user_seeks] AS [UserSeeks]
@rwhitmire
rwhitmire / DateHelpers.cs
Created July 17, 2018 13:53
date helpers
public class DateHelpers
{
public static DateTime GetDayStart(DateTime date, string timezone)
{
var timezoneInfo = TimeZoneInfo.FindSystemTimeZoneById(timezone);
var timezoneNow = TimeZoneInfo.ConvertTimeFromUtc(date, timezoneInfo);
return TimeZoneInfo.ConvertTimeToUtc(timezoneNow.Date, timezoneInfo);
}
public static DateTime GetWeekStart(DateTime date, string timezone)
@rwhitmire
rwhitmire / keybase.md
Created November 21, 2017 19:46
keybase.md

Keybase proof

I hereby claim:

  • I am rwhitmire on github.
  • I am rwhitmire (https://keybase.io/rwhitmire) on keybase.
  • I have a public key ASDLhfQYyRZtGx6CB4wsXp0gUG-hw7nUGyNjZlcJ306r-wo

To claim this, I am signing this object:

@rwhitmire
rwhitmire / AsyncHelper.cs
Last active November 7, 2017 14:13
async in sync
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
@rwhitmire
rwhitmire / checkbox.css
Created February 2, 2017 03:02
styled checkboxes
input[type=checkbox] {
outline: none;
position: relative;
}
input[type=checkbox]:after {
content: ' ';
display: inline-block;
width: 13px;
height: 13px;
@rwhitmire
rwhitmire / round.js
Created December 6, 2016 18:41
round
const round = function(number, precision) {
var factor = Math.pow(10, precision);
var tempNumber = number * factor;
var roundedTempNumber = Math.round(tempNumber);
return roundedTempNumber / factor;
}
@rwhitmire
rwhitmire / native.css
Created November 3, 2016 20:52
native fonts for major operating systems
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}
@rwhitmire
rwhitmire / makeCancelable.js
Created October 3, 2016 14:28
Cancelable Promises
// source: https://facebook.github.io/react/blog/2015/12/16/ismounted-antipattern.html
const makeCancelable = (promise) => {
let hasCanceled_ = false;
const wrappedPromise = new Promise((resolve, reject) => {
promise.then((val) =>
hasCanceled_ ? reject({isCanceled: true}) : resolve(val)
);
promise.catch((error) =>