Skip to content

Instantly share code, notes, and snippets.

View HeathHopkins's full-sized avatar

Heath Hopkins HeathHopkins

View GitHub Profile
@HeathHopkins
HeathHopkins / delete_all.sql
Created November 13, 2018 15:51 — forked from mmattozzi/delete_all.sql
Delete all objects in an Oracle Schema
BEGIN
FOR cur_rec IN (SELECT object_name, object_type
FROM all_objects
WHERE object_type IN ('TABLE', 'VIEW', 'PACKAGE', 'PROCEDURE', 'FUNCTION', 'SEQUENCE') AND
owner = '<schema_name>')
LOOP
BEGIN
IF cur_rec.object_type = 'TABLE' THEN
EXECUTE IMMEDIATE 'DROP ' || cur_rec.object_type || ' "' || cur_rec.object_name || '" CASCADE CONSTRAINTS';
ELSE
@HeathHopkins
HeathHopkins / bulk.cs
Created October 10, 2018 16:10 — forked from felipensp/bulk.cs
Oracle bulk insert for Dapper .NET
private static int OracleBulkExecuteImpl<T>(this IDbConnection cnn, ref CommandDefinition command)
{
object param = command.Parameters;
IEnumerable multiExec = GetMultiExec(param);
Identity identity;
CacheInfo info = null;
if (multiExec != null)
{
int total = 0;
bool wasClosed = cnn.State == ConnectionState.Closed;
@HeathHopkins
HeathHopkins / test.js
Created June 4, 2018 19:35
Vue supported
var vueTest = ('__defineSetter__' in Object.prototype);
@HeathHopkins
HeathHopkins / test.js
Created June 4, 2018 19:35
Vue supported
var vueTest = ('__defineSetter__' in Object.prototype);
@HeathHopkins
HeathHopkins / ResizeWithSkia.cs
Created March 22, 2018 01:09 — forked from xoofx/ResizeWithSkia.cs
Resize an image and draw some overlay text with SkiaSharp
// You need to configure your C# project with x86 or x64 platform (Tools\Configuration Manager\Create new Platform on the project)
// otherwise the native libSkiaSharp.dll will not get copied
using System;
using System.IO;
using SkiaSharp;
namespace TestSkia
{
class Program
{
@HeathHopkins
HeathHopkins / ValueConverterGroup.cs
Created February 23, 2018 13:37 — forked from QiMata/ValueConverterGroup.cs
Reuse converters by chaining them together with a custom converter.
public class ValueConverterGroup : List<IValueConverter>, IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return this.Aggregate(value, (current, converter) => converter.Convert(current, targetType, parameter, culture));
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
@HeathHopkins
HeathHopkins / ControllerExtensions.cs
Created September 27, 2017 13:36
Strongly typed RedirectToAction in ASP.NET Core (work in progress)
// todo: get route values from action parameters?
public static RedirectToActionResult RedirectToAction<T>(this Controller controller, Expression<Action<T>> action, object routeValues) where T : Controller
{
if (!(action?.Body is MethodCallExpression body)) throw new ArgumentException("Expression must be a method call.");
if (body.Object != action.Parameters[0]) throw new ArgumentException("Method call must target lambda argument.");
string actionName = body.Method.Name;
var actionNameAttributes = body.Method.GetCustomAttributes(typeof(ActionNameAttribute), false);
if (actionNameAttributes.Length > 0)
* Reducing executable size:
http://developer.xamarin.com/guides/cross-platform/deployment,_testing,_and_metrics/memory_perf_best_practices/#Reducing_Executable_Size
* Use the linker (iOS [1], Android [2]) to remove unnecessary code from your assemblies
[1] https://developer.xamarin.com/guides/ios/advanced_topics/linker
[2] https://developer.xamarin.com/guides/android/advanced_topics/linking
* Reference third-party libraries judiciously
* Applying constraints to generics may reduce app size, since less code would need to be included (haven’t verified this)
<?xml version="1.0" encoding="utf-8" ?>
<NavigationPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
BackgroundColor="{Binding BackgroundColor}"
BarBackgroundColor="{Binding BarBackgroundColor}"
BarTextColor="{Binding BarTextColor}"
Title="{Binding Title}"
x:Class="MyProject.Views.PrismNavigationPage">
</NavigationPage>
@HeathHopkins
HeathHopkins / makeicons.sh
Last active October 30, 2017 15:26
Create all of the icon sizes needed by Apple devices (2016).
#! /bin/bash
# place this script and your 1024x1024 icon in the same directory then run
# usage sh makeicons.sh [nameof1024file.png]
declare dir=$(pwd)
declare -a sizes=( 16 20 29 32 40 48 50 55 57 58 60 64 72 76 80 87 88 100 114 120 128 144 152 167 172 180 196 256 512 1024 )
for i in "${sizes[@]}"
do
sips --resampleWidth "$i" "${dir}/${1}" --out "${dir}/Icon-$i.png"