Skip to content

Instantly share code, notes, and snippets.

View b-cancel's full-sized avatar

Bryan Cancel b-cancel

View GitHub Profile
@b-cancel
b-cancel / index.html
Last active July 3, 2018 00:24
HTML => Basic HTML Setup File
<html>
<header><title>Setup File</title></header>
<body>
Hello world
</body>
</html>
@b-cancel
b-cancel / Unity3D_euclideanDistance.cs
Last active July 3, 2018 00:24
UNITY 3D => Calculate Euclidean Distance for N-Dimensional Space
static float euclideanDistance(float[] pointA, float[] pointB)
{
if (pointA.Length == pointB.Length)
{
float sum = 0;
for (int dim = 0; dim < pointA.Length; dim++)
sum += Mathf.Pow((pointA[dim] - pointB[dim]), 2);
return Mathf.Sqrt(sum); //distance is always positive
}
else
@b-cancel
b-cancel / main.dart
Last active July 8, 2018 06:50
FLUTTER => Using Widget Sizes to calculate the Sizes of other widgets Automatically Or Manually
import 'package:flutter/material.dart';
import 'dart:async';
//Desired Behavior on FIRST build (It should not take 3)
//CASE 1 (parent uses child size) : eye.width = vane.width * 10
//CASE 2 (child uses parent size) : pupil.width = iris.width / 2
//CASE 3: (child uses sibling size) : iris.width = vane.width * 5
//Desired Sizes (can be read from Render Tree in Flutter Inspector) [in original config of 4 letters]
//vane = 30
@b-cancel
b-cancel / main.dart
Created August 15, 2018 05:11
FLUTTER => using inputFormatters for things other than inputFormatting
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() => runApp(
MaterialApp(home: new MyApp())
);
class MyApp extends StatefulWidget {
@b-cancel
b-cancel / main.dart
Last active August 15, 2018 05:11
FLUTTER => Synchronous Operations Taking Up Time In An Asynchronous Function
import 'dart:async';
import 'package:flutter/material.dart';
/*
OUTPUT (one of many) NOTE: how far behind the Loose Timer is, is not predictable either
I/flutter (11433): Timer Restarted
I/flutter (11433): Timers Started
I/flutter (11433): Loose Timer Will Take 588 solid runs of 0:00:00.017000 and an extra run of 0:00:00.004000
@b-cancel
b-cancel / EnsureVisibleWhenFocused
Last active June 28, 2019 00:49
FLUTTER => Ensures that "TextFormFields" are visible when focused in Flutter
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart';
import 'package:meta/meta.dart';
/// Note:
/// [*] some functions are async simply because that schedules them after something else that should happen first for everything to work properly
/// [*] you really should not use "ensureVisible" or "ensureErrorVisible" or "KeyboardListener" unless that field is already wrapped in "EnsureVisibleWhenFocused"
/// you will get very unusual behavior
@b-cancel
b-cancel / alphaScrollBarOverlay.dart
Created August 6, 2019 21:29
FLUTTER Dynamic Alphabetic Overlay
import 'package:flutter/material.dart';
import 'dart:math' as math;
//NOTE: this widget is designed specifically to go OVER a slider
//the idea is that the slider takes you to certain positions and this should give you some idea of what those positions are
//In order to meet it's goals as best as possible we MUST
//1. fill the entirety of the totalHeight
// - otherwise the overlay won't match the slider and it won't be helpful
@b-cancel
b-cancel / main.dart
Last active November 24, 2019 19:24
FLUTTER select contact page setup
import 'package:flutter/material.dart';
import 'package:flutter_sticky_header/flutter_sticky_header.dart';
//-----Start App
void main() => runApp(MyApp());
//-----Entry Point
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
@b-cancel
b-cancel / main.dart
Created September 4, 2018 06:30
FLUTTER => password and confirm password field validation before the creation of a user. Handles all edge cases well without blocking user input at any point.
String getPasswordValidationError(bool forPassword) {
String initialPasswordString = focusNodeToValue[passwordFocusNode].value;
String confirmPasswordString = focusNodeToValue[confirmPasswordFocusNode].value;
///-----make sure this particular password is valid
if (forPassword) {
if (initialPasswordString.isNotEmpty == false)
return "Password Required";
else if (initialPasswordString.length < 6)
return "The Password Requires 6 Characters Or More";
@b-cancel
b-cancel / main.dart
Last active December 29, 2020 21:33
Receipt Test
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
double totalHeight;
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(