- ➕ Create your project by clicking this template link: https://github.com/joeskeen/angular-io-game/generate
(link will be live at 8:00 PM MDT (UTC -6)) - 👨🏾💻 Make your own IO game based on the seed project
- 📝 Submit the game using the form: https://forms.gle/qNms32fdgkyMht2L6
⚠️ Submission deadline is 11:00 PM MDT (UTC -6) - 🎮 From 11pm-12am we will all play each other's games and winner will be
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8" /> | |
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
<title>ASCII Webcam</title> | |
<style type="text/css"> | |
html, | |
body { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Observable, firstValueFrom, timer, isObservable, of } from "rxjs"; | |
import { first, timeout, catchError } from "rxjs/operators"; | |
import { TestScheduler } from "rxjs/testing"; | |
describe("testing error cases in Jest", () => { | |
describe("with RxJS", () => { | |
/** | |
* A test utility function for converting an Observable into a Promise for unit tests | |
* Uses a TestScheduler to make things like the passage of time (timeouts, debounce, etc.) | |
* happen instantaneously. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
describe("testing error cases in Jest", () => { | |
describe("errors (vanilla Jest)", () => { | |
describe("when thrown synchronously", () => { | |
function synchronousError() { | |
throw new Error(""); | |
} | |
it("should require expect(action).toThrow()", () => { | |
const action = () => synchronousError(); | |
expect(action).toThrow(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Things that squirt | |
Things you shouldn't throw off a building | |
Things grownups wish they could still do | |
Things you shouldn't do In public | |
Things you shouldn't play catch with | |
Things that go bad | |
Things you shouldn't lick | |
Things you would rather forget | |
Things you Shouldn't swallow | |
Things that jiggle |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
' Searches for and displays appointments that conflict with the current appointment | |
' If a recurring appointment, the recurrance must be saved before conflicts will be checked | |
' If a recurring appointment, only checks the next 50 future instances of the recurrance | |
' Only checks your calendar, not the calendars of other attendees | |
' Based on macro from https://www.datanumen.com/blogs/quickly-find-appointments-conflicting-specific-appointment-outlook/ | |
Sub FindConflictingAppointments() | |
Dim objAppointment As AppointmentItem | |
Dim dStartTime, dEndTime As Date | |
Dim strFilter As String | |
Dim objAppointments As Items |
We spend most days working to build good software, to please customers, and to build impressive projects for our resume. Tonight is different. Tonight we are going to the other extreme - writing a completely obnoxious, unintuitive, or otherwise unusable user interface. Inspired by programmers on Reddit, we're going to push the envelope of bad UX in React.
Write the worst form control you can think of! Here are some ideas of controls to mangle:
- A date picker
- A US state selector
- A captcha
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
describe('PreferencesService', () => { | |
describe('.getPreference', () => { | |
let service: PreferencesService; | |
let testValue: Observable<string>; | |
let result: Observable<string>; | |
let getItemSpy: jasmine.Spy; | |
beforeEach(() => { | |
testValue = scheduled(['test value'], asapScheduler); | |
getItemSpy = jasmine.createSpy('getItem').and.returnValue(testValue); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
describe('PreferencesService', () => { | |
describe('.getPreference', () => { | |
it('should call getItem from LocalStorage', () => { | |
// Arrange: initialize spy and test subject | |
const getItemSpy = jasmine.createSpy('getItem'); | |
const service = new PreferencesService({ getItem: getItemSpy } as LocalStorage); | |
// Act: call getPreference | |
service.getPreference('test key'); |