Skip to content

Instantly share code, notes, and snippets.

View lukepighetti's full-sized avatar
🦞

Luke Pighetti lukepighetti

🦞
View GitHub Profile
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>
Lumbra Hardwoods Inc. – 122 River Road, Milo, Me 04463 207-943-7415
</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat:400,700|Merriweather">
<style>
@media only screen and (max-width: 700px) {
@lukepighetti
lukepighetti / .zshrc
Last active April 9, 2024 11:59
zsh functions I use for Helix / Flutter development
function flutter-watch(){
local PID_FILE="/tmp/tf$$.pid"
tmux new-session \;\
send-keys "flutter run --pid-file=$PID_FILE" Enter \;\
split-window -v \;\
send-keys "npx -y nodemon -e dart -x \"cat $PID_FILE | xargs kill -s USR1\"" Enter \;\
resize-pane -y 5 -t 1 \;\
select-pane -t 0 \;
rm $PID_FILE;
}
import 'dart:io';
import 'package:mqtt_client/mqtt_client.dart';
import 'package:mqtt_client/mqtt_server_client.dart';
Future<void> main(List<String> arguments) async {
final client = MqttServerClient('mosquitto.local', '');
client.setProtocolV311();
client.keepAlivePeriod = 30;
await client.connect();
@lukepighetti
lukepighetti / .ignore
Last active August 29, 2024 14:19
My helix config plus commands I use every day in my Helix / Flutter workflows
*.lock
android
ios
linux
macos
web
windows
@lukepighetti
lukepighetti / list_tile_occluded_app_bar.dart
Created August 25, 2022 19:08
A way to update AppBar title based on what ListTile is being occluded https://twitter.com/luke_pighetti/status/1562871407960522755
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@lukepighetti
lukepighetti / tmi_emote.ts
Last active August 23, 2022 18:47
Parse Twitch message + emote spec
import assert from "assert";
main();
function main(): void {
const parsedMessage = parseEmotes(
"Yo Kappas Kappa Kappa yo",
{
"25": ["10-15", "16-21"],
},
@lukepighetti
lukepighetti / local_overlay.dart
Last active June 1, 2022 12:45
Overlay widgets in any context... only issue, hot reload is broken
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:tuple/tuple.dart';
import 'package:uuid/uuid.dart';
class LocalOverlayScope extends StatefulWidget {
const LocalOverlayScope({Key? key, required this.child}) : super(key: key);
final Widget child;
@lukepighetti
lukepighetti / main.dart
Last active May 27, 2022 17:02
How to check if one type is a supertype of any other type. Credit: https://twitter.com/TheKnaecke/status/1530225626019512323
void main() {
print(isSupertype<BaseClass, SuperClass>()); // true
}
class SuperClass extends BaseClass {}
abstract class BaseClass {}
bool isSupertype<Subtype, Supertype>() => <Supertype>[] is List<Subtype>;
@lukepighetti
lukepighetti / Fastfile
Last active August 22, 2022 08:17
How I build and release Flutter side projects on iOS https://twitter.com/luke_pighetti/status/1530156415611969537
default_platform(:ios)
APPLE_ISSUER_ID = ENV["APPLE_ISSUER_ID"]
APPLE_KEY_CONTENT = ENV["APPLE_KEY_CONTENT"]
APPLE_KEY_ID = ENV["APPLE_KEY_ID"]
DEVELOPER_APP_ID = ENV["DEVELOPER_APP_ID"]
DEVELOPER_APP_IDENTIFIER = ENV["DEVELOPER_APP_IDENTIFIER"]
GIT_AUTHORIZATION = ENV["GIT_AUTHORIZATION"]
GITHUB_RUN_NUMBER = ENV["GITHUB_RUN_NUMBER"]
PROVISIONING_PROFILE_SPECIFIER = ENV["PROVISIONING_PROFILE_SPECIFIER"]