(AA) Similarity Postulate The sum of the angles a b K L l2 l1 If two angles of one triangle are congruent to two angles of another triangle, then the two triangles are similar.
every last dollar from a relationship will leave it sour and dry. […] It’s a two-dimensional, flat, and antagonistic relationship. It’s also frequently completely unnecessary, and nearly always unsustainable.”
Usable by a large section of the community in a traditional open source context Makes me laugh Makes my kid laugh Makes my friends laugh Would be fun to build I want to try out a fun idea It would help me in a small way It would help my spouse Common reasons to build apps Less common reasons to build apps
Can use it to build an app that will bring money/fame Can apply on apps I’m currently running Simplify/replace currently-used tech Common reasons to adopt tech
Can use it to build an app that will bring money/ fame Can apply on apps I’m currently running Simplify/replace currently-used tech It will let my grandma do something cool I can talk with my dog using it My daughter can use it to play her favorite game My spouse will totes appreciate it OMFG I feel like a wizard Common reasons to adopt tech Less common reasons to adopt tech
notifications (2) // Job, notifying all users class NotifySubscribersOfNewEpisode implements ShouldQueue { ... public function handle() { Notification::send( User::all(), new NewEpisodeReleased($this->episode) ); } }
notifications (3) // Notification (multi-channel) class NewEpisodeReleased extends Notification { ... public function via($notifiable) { return $notifiable->notificationChannel(); } public function toTwilio($notifiable) { return (new TwilioSmsMessage)->content("Message announcing new episode here"); } public function toFacebook($notifiable) { return FacebookMessage::create("Message announcing new episode here"); } }
notifications (4) // User class, specifying notification channel class User { ... public function notificationChannel() { if ($this->phone_number) { return TwilioChannel::class; } if ($this->facebook_id) { return FacebookChannel::class; } throw new Exception('Un-notifiable user'); } }
// routes/botman.php $botman->hears('.*(Hi|Hello|Hey).*', function ($bot) { $bot->reply('Hello! What can I do for you today? Try "info" for more information.' }); $botman->hears('.*(info|help).*', function ($bot) { $bot->reply('Info message here but it is too long for Keynote HI LARACON ONLINE'); }); $botman->hears('subscribe.*', function ($bot) { $user = $bot->getUser(); Log::info('FB User subscribed! ' . $user->getId()); User::firstOrCreate(['facebook_id' => $user->getId()]); $bot->reply("You're now subscribed to " . config('app.name') . "!"); }); $botman->hears('unsubscribe.*', function ($bot) { $user = $bot->getUser();
new posts Listen for Facebook messages suggesting videos lil’ man can watch Let lil’ man press a button that releases each new episode Give lil’ man an SMS address he can text science pictures to that auto-posts to Twitter and his web site Step 14+: Future ideas?