Friday, May 18, 2018

Tuesday, May 1, 2018

Ok Google, talk to Code Tutor!

Code Tutor is still under active development as of this post. Contributions are welcome!


Version 3 of Code Tutor is on the Google Assistant! Just say "Ok Google, talk to Code Tutor".

You can get the Google Assistant on your mobile device:

I'm still improving it. That's why I'm open-sourcing it so we can help it improve faster together. You can also learn from the code to more quickly build your own voice app: https://github.com/hchiam/code-tutor BTW: Can you find all the hidden features? :)


Monday, March 5, 2018

Synthesis of Programming Problem Solving Strategies:

AEIOU

What?

For context: skim/fast-forward through these:

Thing is, when you're already trying to solve a tough problem, you can't mentally keep track of too many steps. But you also don't want to lose out on important considerations. And add on top of that how easy it is to forget* the steps when they're so abstract. Some steps even seem to overlap. 

I like summaries, so I've been playing with a few ideas to optimize for compactness. Some steps can be grouped into larger conceptual chunks. I've tried posting visual mnemonics in my room (think pictionary and infographics), but I found a simpler way to keep a mental checklist.

I came up with:

  • A
  • E
  • I
  • O
  • U

Which stand for:

  • Assumptions
  • Examples
  • Ideas
  • Optimizations
  • Unit tests

Or if you like things in threes:

  • Examples (which you should ask for to clarify assumptions)
  • Ideas (of different possible solutions, and choosing one)
  • Optimizations (which should be done with testing to evaluate your idea(s))
And then you'd just remember the "EIEIO" farmer song.

*Of course, with practice, you don't really need to memorize the steps. You should be internalizing the concepts behind the steps so they become habits of thought. But having a portable checklist (i.e. a mental/paperless way to remember) is helpful for practicing to set up the habits in the first place.

Thursday, February 8, 2018

LUI 4 Update

Lui's back.

Suggestions? Wake-up-words? The voice assistant side-project got upgraded.


"Computer what can you do"

To talk to Lui, start by saying "computer", and then your request. For example: "computer what can you do", or "computer play number guessing game".



"Computer stop/start listening"

You can talk to Lui completely hands-free in Chrome. If you want the voice assistant to stop responding to everything you say, just tell it: "computer stop listening".


"Computer let's program"

One of the newest features is you can get Lui to find code for you. This may come in handy with the feature of programming with your voice (which is still in development). Just say "computer let's program" to see a suggested next action.
 


Links:

Live demo: https://codepen.io/hchiam/full/WOLOJG/

Feedback: https://goo.gl/forms/Nwf8TXvOW2vE2OHA3
 
Release notes: https://github.com/hchiam/language-user-interface/releases

Lui's premier blog post: https://hchiam.blogspot.ca/2017/08/lui.html


_____________________
<This blog post was automatically posted at 12 noon on February 8th, 2018.>
_____________________

Thursday, February 1, 2018

sourcefetch-server: An Interface to Find Code for You*

Live demo*: 


*Please don't blindly copy code. Making use of code you find on Google still requires critical thinking. This interface could be helpful for remembering syntax. But it was made with a bigger project in mind that I've been working on (news coming soon). 
 
_____________________
<This blog post was automatically posted at 12 noon on February 1st, 2018.>
_____________________