6 Matching Annotations
  1. Nov 2025
    1. In the world of educational technology, we constantly explore tools that enhance student engagement, support learning, and nurture creativity. But beyond formal applications — LMS platforms, digital whiteboards, and assessment tools — there’s an equally important conversation to have: how do we design meaningful breaks within the academic day?

      Not all “tech time” has to mean productivity in the traditional sense. Sometimes, small, intentional pauses can make a huge difference. Integrating micro-breaks into learning workflows helps students and educators recharge without falling into mindless screen time. These are moments to reset attention, reflect, and refocus.

      One surprisingly effective way to do this is through very simple, reflex-based games. For example, I’ve started using a minimalist game called Slice Master during my breaks. It only takes a minute or two, yet the process of slicing shapes precisely, reacting quickly, and sharpening one’s timing feels deeply satisfying — without the cognitive load of a complex narrative or multiplayer match.

      In a teaching context, encouraging students to take short, focused breaks with a game like Slice Master could help them transition between activities: for instance, shifting from a lecture to an individual assignment, or pausing between intense problem-solving sessions. These mini-game pauses foster better mental clarity, reduce burnout, and can even boost intrinsic motivation. Students return to tasks feeling more centered and attentive.

      As edtech professionals, we should think not just about how to “deliver content” but also about how to weave in small moments of cognitive rest. By integrating light gaming breaks into academic routines, we honor the human need for both challenge and calm. What practices have others found effective in creating this balance? Have you or your students ever used micro-games as a reset tool?

  2. Dec 2022
    1. For example, this FindDigits function loads a file into memory and searches it for the first group of consecutive numeric digits, returning them as a new slice. ``` var digitRegexp = regexp.MustCompile("[0-9]+")

      func FindDigits(filename string) []byte { b, _ := ioutil.ReadFile(filename) return digitRegexp.Find(b) } This code behaves as advertised, but the returned []byte points into an array containing the entire file. Since the slice references the original array, as long as the slice is kept around the garbage collector can’t release the array; the few useful bytes of the file keep the entire contents in memory. To fix this problem one can copy the interesting data to a new slice before returning it: func CopyDigits(filename string) []byte { b, _ := ioutil.ReadFile(filename) b = digitRegexp.Find(b) c := make([]byte, len(b)) copy(c, b) return c } ```

    1. The length of a slice is the number of elements it contains. ↳ The capacity of a slice is the number of elements in the underlying array, counting from the first element in the slice. ↳ The length and capacity of a slice s can be obtained using the expressions len(s) and cap(s).

      len(slice []type) cap(slice []type)

  3. Nov 2021
  4. Oct 2021
    1. It’s important to understand that even though a slice contains a pointer, it is itself a value. Under the covers, it is a struct value holding a pointer and a length. It is not a pointer to a struct.

      slice 是一个包含指针的结构体,他是一个具体值而不是指针