disclaimers
Time and number of students matter: It is a weekly 2 hours lesson on Saturday afternoon, which involve around 8 kids. Then a single 5 consecutive days of game design & animation workshop for 19 kids. My experiences are drawn from teaching these kids and these hours only.
Other contexts that matter: This is Kota Kinabalu, Sabah, Malaysia. Not a modern city, but we do not lack of well-off middle class young families with educated parents, money to buy smart phones and broadband. Which is mostly the family background of my students.
These are, at best, my own experiences…
Factory Worker illustrated by elsearts
This is one of the many ways to host AngularDart SPA on the internet, one of the better way (it is free too).
tl;dr Whenever changes are pushed to origin/master, GitLab’s CI/CD kicks in, build the production codes and host it in the project’s page.
To host an AngularDart application on the internet, one just needs to host all the output files (HTML/CSS/JS), like any static website. The problem is, how should you treat the source (Dart file) and the output (generated files).
Normally, also sanely, I always want my code repository to be clean…
5 months have pass since I started working on my current startup. I still fail to seduce any of my close coder friend to join me.
Beside being really lonely to watch the list of git commits with only my name on it, the project really picking up speed in freshing out design, piling up sketches and documents but most of these are not in codes.
That’s the problem when you found a very good project manager, who turns in to a good UX researcher in a week, to join your project. Let her runs the show for a month…
Without a single line of backend code. First, lets drill down the techs. Second, I will tell a bit of story why I chose to do it this way.
Not so much about AngularDart. You can swap in with any frontend technology to achieve this. In other word, if you are AngularDart programmer, this may be a good alternative for your backend solution.
I am not even referring to its most powerful feature — the sync. I am talking only about its REST API. The feature that allows me to skip the whole middle layer backend for my database CRUD…
I might found a reliably debug-able way to develop Dart web application with Web Worker (which is written in Dart in the same project).
This is a continued adventure from my Web Worker + Dart. This story is about how I work around the caveats. To recall. The first caveat is unable to develop the web application with webdev serve
, because worker will not start-up correctly in dartdevc
. Second caveat is force to use different method to convert the incoming data (in the worker, from the worker).
The first thing I did when I revisit Web Worker with Dart…
This is a story about a sort-of frontend programmer, more precisely, an ex-games developer, hopes to skip as much backend (server, infra, whatnot) as humanly possible to develop a web application.
CouchDB because it’s strengths and traits fit nicely with what I am developing — Enterprise asset management thingy. The biggest strength of CouchDB: it talks Rest API. Host it to a remote server and talks to it directly from web/client/cli. Skip the whole custom server API layer. Perfect for me.
CouchApp because I will be able to skip all those hosting, CDN, Nginx, cloud, configuration just to deliver my…
Update 17 Dec 2018: I figured a better way to do Web Worker in Dart and created the second part of this story, do check it out here.
By the time I found Dart and AngularDart, isolate support in web already been deprecated. Googling around the internet and found only traces of its discontinuing and unanswered questions of web worker + dart web.
But I need it. And I really hate to see idle CPUs. So here’s what I did…
dart.html
provided a Worker
class, and it works beautifully. This part is a no-brainer.
This is similar to how…
After drowing in the fresh and raw information about Go1.11 beta support of Web Assembly (wasm), I managed to wrap my head around and editted the “demo” far enough to confirm my own understanding.
This is a note-to-self post.
wasm is still in beta (Go 1.11 beta 1) at this moment. Download the beta from www.golang.org, install according to its recommendation. There is a folder `/home/kuan/sdk/go1.11beta1/misc/wasm` which help boostrap a wasm setup, copy it to own wordspace and start playing.
As wasm gave me a chance to NOT type in html/css to make a frontend, I do not easily pass…
I came across this “puzzle” when I was studying termbox-go source code and I can’t wrap my head around it. So I wrote a very simple package to test it out. Run it in your head first before you scroll further for answer and my naive reasoning.
package mainimport "fmt"func foo(c chan int) {
a := 0
for {
select {
case c <- a:
a = <-c
fmt.Println("foo received", a)
}
}
}func main() {
c := make(chan int)
go foo(c) loop:
for {
select {
case r := <-c:
fmt.Println("main …
If you like typescript and its decorators, and you could use a simple dependency injection, try dip.
import * as dip from "../lib/dip"
@dip.providerOf('father')
class Father {
public say():string {
return 'I am your father.';
}
}
@dip.providerOf('son')
class Son {
public say():string {
return 'NOOOoooooooo!!!111';
}
}
@dip.hasDependant
class Family { @dip.dependsOn('father')
public father:Father;
@dip.relayOf('son')
public get son():Son {
return undefined;
};
public issue():string {
let quotes:string;
quotes = 'Father: ' + this.father.say();
quotes += '\nSon: ' + this.son.say();
return quotes;
}
}
Asking what’s the family issue here will definitely result the following…
let skyWalkers = new Family()…
Wandering software typist