Admun's Tech Journey

thoughts, ideas, projects, and discoveries on technologies

  • Main
  • Tag Cloud
  • Archives

29

Jun

Random S/W design rants

Posted by Admun  Tags: opinion, coding
Coupling of software is bad (maybe even all kind of coupling??)

By coupling, I mean designing software/system that a component is depends on another entity in order to function, or part of the functionality is located in another object that does not related (directly or indirectly) otherwise. Functionality should be clearly partition in a way that a component can be replaced without causing other part of the system to fail. There are many scenario that limitations and flaws are caused by this.

Software should be smart

There are bugs and there are scenarios that the system just failed (foreseeable or else), so we need defensive programming. The best defends is to design/write good software that not even getting into a bad case like this. But in case of problem does araise, the software should be self-healing (that's detect the error, report it, and take corrective action) if possible. If this route failed, it will rely on auto-recovery (ie reset) if unable to calm with the error. The worst is the software just failed and go into freefall and OoC (Out of Control).... ultimately unacceptable: just crashed

Global/Static data is bad, we should all know by now

I thought all 1st year students learnt it already. This shoud be imprinted into their brain: prevent global/static at all cost! Static data in the global scope is accessible by any software, someone can make a mistake, or change the data by bad design when it should not. There are also a chance of race condition if the static data is in multithreads environment. What if the data in the future needs to have multiple instances in the future? Use the singleton design pattern.
Leave a comment

23

Jun

Searching for ET from home

Posted by Admun  Tags: grid, boinc
To help our civilization find the ET out there, I have updated my SETI@Home client with the new BOINC platform based client.

Cool.
Leave a comment

About Me

admun My passion has always been on software development, and I know it since I wrote my first program on an Apple II. I worked on cellular wireless system in the past (C/C++) and now focus on web application (LAMP, PHP, MySQL, CakePHP, Symfony, jQuery, Google AppEngine/python).

Tags

abit android apache app engine audio bandwidth benchmark bing blogroll bluetooth boinc bookmark botnet bt cakephp cdma cellphone chinese chrome clouds coding crash crawler date dns drm dsl fedora friendster g1 gaim gdesklets gmail google grid h323 hardware html ie6 instant messaging internet javascript jquery language lifestreaming linux liunx meetup ming motorola msi mysql nas nat networking nokia ntp nucleus opinion optimization os p2p palm parrot php power reblog redhat regex rss sdk se search security shell skype social network spam stats string svn syntax sysadmin t-mobile teksavvy telecom thinkpad time tips tuning tv twitter unix voip web web app web2.0 webos wordpress

Archives

  • Full archive
  • May, 2013
  • Feb, 2013
  • May, 2012
  • Aug, 2011

Search

Powered by LMNucleus CMS v3.66 | Copyright Edmond Hui
This page takes 0.038 sec/27 queries to process | NP_BadBehavior blocked 334 spams for the past 7 days
Theme Design by short funny jokes | Ported to Nucleus CMS by BABOCHTA
[Valid XHTML 1.0 Strict]