Crafting

by Duzy Chan

Freelance developer available online.

Read this first

Work in Hourly Basis

When I work in hourly basis, I have to maximize my working hours for a client.

My latest hourly work experience teach me that I was producing much better products when I work 2 to 6 hours per day. I took one break for every 2 hours work. Such breaks are very important for making better. During the break, I can take some food or do some body movements. My brain was relaxed and refueled in such way. It’s also giving me a chance to think about what should I do in the next 2 hours (if continued). When a job comes into a clearer image in my mind, it could be done extremely efficiently and less error-prone. This work-break-work cycle is very important for me to deliver the best to a client.

There is another case to explain the importance of my work-break-work cycle. Jobs are not always done smoothly, when it stuck somewhere, I would stop the work and switch into a break. In such a break, I

Continue reading →


What I Made (What Can I)

I’m hoping to help my clients and employers to have an overview of my expertise and skills. It might be too many tech terms to read (hope not to you).

 In Brief

C++ and Go expert working with Linux+Emacs, also programming in C, Java(Android) and many scripting languages (JavaScript, Bash, TCL, etc). Makefile Guru (GNU Make), also work with build tools (autotools, cmake, gradle for Android) when came into needs. I’m working in these areas:

  • Mobile Development (currently Android only)
  • Linux Software Development (back end server and desktop using GTK+, QT)
  • Website Development (Golang, JavaScript, HTML, NodeJS)
  • Google App Engine and GCE (Golang)
  • Some Windows Applications

 Longer story

I’m always using open source technologies for software development (why). My basic programming languages today are Go(since 2012) and C++(since high-school, 2001). I also use many other programming

Continue reading →


Rethinking Jobs Being Done

A job is being done to solve an issue. A great job is supposed to help as many people as possible in their life. In return, the operator gains some reward to support his life and to help more.

As an independent developer, I’m working hard to help different clients with my expertise and experiences in the field. By fulfill the needs of my client, I get payed. I believe that it’s the right way to work it hard and offer useful helps always. As I’m working to help client to succeed, It’s a chance of cooperation to solve the problem together.

Normally, a buyer is tend to cut the price as much as possible and looking at the best value of what he/she is paying for. And a seller is tend to earn as much as possible without doing much efforts. This is common between clients and freelancers. I believe this is a potential failure of a remote relationship when both parties get to the extreme.

Continue reading →


Rethinking Data Languages

A data language is used to describe structured data.

A data description language could be a subset of an advanced programming language. JSON is actually a subset of JavaScript. Many applications written in some advanced programming languages are even using the language to describe data. Such as gradle, based on groovy, is using groovy as it’s gradle file (build script act as a makefile) to describe the project configuration.

Applications actually require an extremely lightweight and easy to use (e.g. human readable) data language. Ahead of everything, it’s critical to be patent free. The best option might be a good implementation published in the public domain. The principles are:

  • Lightweight means easy for the developer and small footprint to the application. It’s also tend to be widely usable, say in a mobile device and embedded system. Lightweight also means easy to learn.
  • Easy

Continue reading →


Old Site

Start trying this new blogging experience, the old one is preserved. I like this clear and simple way to do posting.

Continue reading →