Guowei Lv

3 minute read

Do you think Computer Science equals building websites and mobile apps? Are you feeling that you are doing repetitive and not so intelligent work? Are you feeling a bit sick about reading manuals and copy-pasting code and keep poking around until it works all day long? Do you want to understand the soul of Computer Science? If yes, read SICP!!! In Lecture 7A: Metacircular Evaluator, Part 1, Mr Sussman said that he was going to fit the whole evaluator on the blackboard.

Deeply Mediocre

A Good Talk

Guowei Lv

1 minute read

I’ve been following Jonathan Blow for some time now, and this talk is gold. One phrase scared me the most: deeply mediocre. I realized that I’ve been trying all I can to avoid that.

Android Custom View 102 (Part 11)

Touch event dispatching

Guowei Lv

3 minute read

It is interesting how Android view’s touch events are dispatched. Let’s explore it. Firstly, write a custom view and override its onTouchEvent() method. class TouchView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 ) : View(context, attrs, defStyleAttr) { override fun onTouchEvent(event: MotionEvent): Boolean { Log.d("TAG", "TouchView - onTouchEvent - ${event.action}") return super.onTouchEvent(event) } } Then, in MainActivity, on the view, call setOnTouchListener() and setOnClickListener().

SICP Goodness - Metacircular Evaluator

a literate programming approach

Guowei Lv

2 minute read

Do you think Computer Science equals building websites and mobile apps? Are you feeling that you are doing repetitive and not so intelligent work? Are you feeling a bit sick about reading manuals and copy-pasting code and keep poking around until it works all day long? Do you want to understand the soul of Computer Science? If yes, read SICP!!! At the beginning of Chapter 4, we will implement an evaluator.

SICP Goodness - Metalinguistic Abstraction

Metalinguistic Abstraction

Guowei Lv

1 minute read

Do you think Computer Science equals building websites and mobile apps? Are you feeling that you are doing repetitive and not so intelligent work? Are you feeling a bit sick about reading manuals and copy-pasting code and keep poking around until it works all day long? Do you want to understand the soul of Computer Science? If yes, read SICP!!! Do you have the following questions? What programming languages should I learn?