Skip to content

Instantly share code, notes, and snippets.

@jsadeli
jsadeli / pkce.main.kts
Created December 21, 2023 07:07
Proof Key for Code Exchange (PKCE) for OAuth 2.0
#!/usr/bin/env kotlin
import java.security.MessageDigest
import java.util.Base64
import kotlin.random.Random
/**
* Proof Key for Code Exchange (PKCE) for OAuth 2.0
*/
fun pkce() {
@jsadeli
jsadeli / PageJsonSerializer.kt
Last active December 1, 2023 16:56
Page JSON Serializer
import com.fasterxml.jackson.core.JsonGenerator
import com.fasterxml.jackson.databind.JsonSerializer
import com.fasterxml.jackson.databind.SerializerProvider
import org.springframework.boot.jackson.JsonComponent
import org.springframework.data.domain.Page
/**
* JSON serializer for [Page].
*
* @since 2023-11-27
@jsadeli
jsadeli / EmailAddressFormatValidator.kt
Created September 13, 2023 09:21
email address format validator
import java.util.function.Predicate
import java.util.regex.Pattern
import org.springframework.stereotype.Component
/**
* Email address format validator.
*
* @author Jeffrey Sadeli
* @since 2023-05-16
*/
@jsadeli
jsadeli / banned-vendors.txt
Created August 21, 2019 03:29
List of Banned Vendors
The following contains list of vendors banned from future use/contracts/work for various reasons.
This list will evolve over time.
--------------------------------------------------------------------------------
Date Vendor Description
--------------------------------------------------------------------------------
@jsadeli
jsadeli / 0_reuse_code.js
Created October 28, 2013 04:05
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@jsadeli
jsadeli / gist:2595009
Created May 4, 2012 14:09
Actipro-MMVM-Docking: Layout Load
private readonly DockSiteLayoutSerializer _dockSiteLayoutSerializer;
private string _pendingDockSiteLayout;
public void Initialize()
{
_dockSiteLayoutSerializer = new DockSiteLayoutSerializer() { SerializationBehavior = DockSiteSerializationBehavior.All };
this.mainDockSite.Loaded += OnDockSiteLoaded;
//
// initialize dockable windows (documents and tools)
@jsadeli
jsadeli / RootBindingExtension.cs
Created July 15, 2011 14:37
XAML markup extension to bind directly to root object's datacontext
using System;
using System.ComponentModel;
using System.Globalization;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Markup;
using System.Xaml;
namespace YourNamespace.MarkupExtensions