Skip to content

Instantly share code, notes, and snippets.

View caseycrogers's full-sized avatar
🐢

Casey Rogers caseycrogers

🐢
View GitHub Profile
SELECT *
FROM Entries
-- Find all rows where headword, headword_abbreviation or alternate_headword contains the search term
WHERE CASE
WHEN CASE WHEN headword LIKE "cell%" THEN 1 ELSE INSTR(LOWER(headword), LOWER(" cell")) END = 0
THEN 1000
ELSE INSTR(SUBSTR(headword || " ", CASE WHEN headword LIKE "cell%" THEN 1 ELSE INSTR(LOWER(headword), LOWER(" cell")) END + 4), " ")
END != 1000 OR CASE
WHEN CASE WHEN headword_abbreviation LIKE "cell%" THEN 1 ELSE INSTR(LOWER(headword_abbreviation), LOWER(" cell")) END = 0
THEN 1000
@caseycrogers
caseycrogers / main.dart
Last active September 10, 2021 23:24
Attempted RemoveListener Bug Repro
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
@caseycrogers
caseycrogers / adaptive_color.dart
Last active September 11, 2021 21:25
Implementation of adaptive color
import 'package:flutter/material.dart';
enum AdaptiveColor {
primary,
secondary,
background,
surface,
}
class AdaptiveMaterial extends StatelessWidget {
import 'package:flutter/material.dart';
void main() => runApp(const MaterialApp(home: _DraggableSheetTest()));
class _DraggableSheetTest extends StatefulWidget {
const _DraggableSheetTest({Key? key}) : super(key: key);
@override
_DraggableSheetTestState createState() => _DraggableSheetTestState();
}
import 'package:flutter/cupertino.dart';
extension ValueNotifierExtension<T> on ValueNotifier<T> {
ValueNotifier<R> map<R>(
R Function(T value) mapper,
T Function(R value) backMapper,
) {
final ValueNotifier<R> proxyNotifier = ValueNotifier(mapper(value));
proxyNotifier.addListener(() {
value = backMapper(proxyNotifier.value);
import 'package:flutter/material.dart';
void main() => runApp(const MaterialApp(home: _DraggableSheetTest()));
class _DraggableSheetTest extends StatefulWidget {
const _DraggableSheetTest({Key? key}) : super(key: key);
@override
_DraggableSheetTestState createState() => _DraggableSheetTestState();
}
@caseycrogers
caseycrogers / why_navigator_is_bad.dart
Created January 23, 2022 22:45
why_navigator_is_bad.dart
import 'package:flutter/material.dart';
void main() {
runApp(BackButton());
}
class BackButton extends StatelessWidget {
const BackButton({Key? key}) : super(key: key);
@override
***Personal Story***
Graduated from UC Berkeley 2 years ago. Interviewed with Triplebyte around then, but didn't make it the first time. He joined Google and worked on the firebase team. Now he's looking for something different.
***Communication***
Has a tendency to ramble and sometimes says wrong things confidently. For example, he said that when you send a POST request you also have to specify "the parent path," which is incorrect . This kind of thing happens occasionally.
***Tic tac toe***
He completed 2 steps of tic tac toe. It was slow in large part because he spent a lot of time narrating his process instead of coding. However, he's not a bad coder and the code he puts down is well structured and decent. He made a separate AI class, and seems comfortable with Python.
***Debug***
Very good. His stream of consciousness narration gave insight into his process and he's good at following code and identifying bugs. He fixed 3 and almost fixed the fourth.
Hey Casey,
Unfortunately, we're not going to move forward with your application at this moment. Interviewing is a messy process, and we know that we'll inevitably make mistakes as we iron out our process. We also believe in giving the people we interview honest feedback.
This was a tough decision for us. We thought you coded very methodically during the interview, paying good attention to what it was doing and being carefully to test it. We really liked your overall process and approach to problem solving.
However we made the decision because we didn't see the depth of knowledge we'd need in order to move forward. While your coding process was good, it also showed your lack of experience at times. There was some slowness and awkwardness with Python (having to think for a while about row-major and column-major representations), and not enough knowledge about HTTP, databases, and binary data representation.
We really don't want to discourage you too much though. Interviews are tough and we all have days we
import 'package:flutter/material.dart';
class MyWidget extends StatefulWidget {
const MyWidget({Key? key}) : super(key: key);
@override
State<MyWidget> createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {