Today's Question:  What does your personal desk look like?        GIVE A SHOUT

 SOFTWARE DESIGN


  Some lovely software design quotes

 Every time when I read technical books, I like reading the quote of a famous person at the start of a chapter(if any), usually they are very interesting. Here is a collection of famous quotes.Life’s too short to build something nobody wants – Ash Maurya, Running Lean authorGive someone a program, you frustrate them for a day; teach them how to program, you frustrate them for a lifetime. – David LeinweberThere are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complic...

6,495 1       QUOTE SOFTWARE DESIGN


  Does mobile application need architecture design?

Looking back to the history of PC software development a dozen years ago there was no  software architecture design, the consequence of this was that there would be a high cost on software maintainability and scalability. Later, people recognized the importance of software architecture and started to make the concept of software architecture mature. Now almost all software will have architecture design which has been the consensus of the software development companies and developers.Similarly, mobile application is also software,  architecture design can also bring many benefits to m...

5,010 0       SOFTWARE DESIGN MOBILE APP ARCHITECTURE DESIGN


  Service discovery with etcd

In previous post, we have talked about etcd and its usage. This post we will cover how to implement server discovery with etcd.Service discovery is to solve one of the most commonly seen scenarios in distributed system where how to find the corresponding target service to talk to. In short, it is to find some server which one can talk to based on some service name.A complete service discovery system include below three key functions:Service registration: A service must register itself to some common place so that others can discover itHealth check: An instance must report its health status to ...

4,606 0       SERVICE DISCOVERY ETCD DEMO TUTORIAL


  One interesting story about Chinese software development

I have once seen an interesting complaint written by one foreigner about Beijing South Railway Station (China) on foursquare. It says: "There is simply no way to buy a ticket at the machine unless you have a Chinese ID. What the hell they have English interface for then?"Apparently,the foreigner cannot buy ticket because he doesn’t have Chinese ID but there still presents an English interface for foreigners on the vending machine. Because of my profession, I find this awkward situation worth discussion. The complaint from foreign friends poses a typical question for Chinese software deve...

4,470 0       SOFTWARE DESIGN IMPORTANCE USER EXPERIENCE


  Shortcut keys in Sublime Text 3(Animated demo)

Sublime Text 3 is a light weight code editor which supports lots of languages. It has lots of shortcuts and plugins easing work of programmers. In this post, we will introduce some shortcuts supported in Sublime Text 3 and show how powerful they are.1. Select sibling matching(equal) word (Ctrl + D)Put the cursor on one word, press Ctrl + D to select the word, then press Ctrl and following by pressing D, it will select next matching word. The number of Ds pressed will mean number of matching word to select. For example, if pressing Ctrl and followed by D for three times, it will select three ma...

4,422 0       TIPS SHORTCUT KEY SUBLIME TEXT


  Optimization Tricks used by the Lockless Memory Allocator

With the releasing of the Lockless Memory Allocator under the GPL version 3.0 license, we can now discuss more of the optimization tricks used inside it. Many of these are things you wouldn't want to use in normal code. However, when speed is the ultimate goal, sometimes we need to break a few rules and use code that is a little sneaky.The SlabA slab is a well-known technique for allocating fixed size objects. For a given object size, a chunk of memory is divided up into smaller regions of that length. Since all the interior objects have the same size, fragmentation is eliminated. The only rea...

4,319 0       OPTIMIZATION MEMORY ALLOCATION


  The 7 stages of refactoring

You have wanted to fix that module for ages. Just one look at it and you cringe. The documentation, the weird naming of functions, classes that are just plain weird. The module hobbeles along, but it is just plain dirty. The real programmer in you cringe, and when there finally is some time to refactor the module, you jump at it.Step 1 - Desperation So you start to have a real good look at what you need to. Fix a class here, rename a few functions there, tear out a few functions here. Simple, right? Well, what at first glance seemed like a simple fix, a few tweaks, now envisions itse...

3,895 0       REFACTORING SOFTWARE DESPERATION


  10 Tools Every Software Developer Should Use in 2018

The main problem I noticed about most programmers is that even though they know about latest software development tools, they never really spend significant time to learn them well. As a programmer, I always try to learn new tools and latest technologies. At the same time, I also look to improve my knowledge of tools which I have been using for many years.Whether you're a front-end developer, full-stack programmer or part of a DevOps team, you should familiarize yourself with the latest development tools to increase your productivity. Today, you will find that there are many tools available wh...

3,886 2       SOFTWARE DEVELOPMENT SOFTWARE DEVELOPMENT TOOLS PROGRAMMING TOOLS