Showing posts with label analysis. Show all posts
Showing posts with label analysis. Show all posts

Sunday, April 19, 2009

Code reviews and luck of requirements

Code reviews with absence of requirements can not provide quality of software themself.

consider example of change:


main()
{
...
--- return ret;
+++ return 0;
}


If this code is ok?

It depends only from requirements.

The code is ok, if the code satisfied requirements, and not ok, if not.

Syntactic correctness actually tells nothing.

Monday, March 30, 2009

Strategy for legacy software system code redesign

Basically, process of redesign of old existing software system can be presented as following sequence:

1) Define goal for redesign, and characteristics of system after redesign.

2) Cover by tests and measurements to measure degree of correspondence to characteristics defined.

3) Define methods for improvements.

4) Do redesign by methods defined in 3, keeping 2nd) tests and measurements.

5) If 1) goal of redesign achieved stop.


Other things, that should be kept during redesign, if you want to keep system live long after redesign done:

http://rgritsulyak.blogspot.com/2009/03/survivable-long-living-systems.html

Sunday, March 29, 2009

Top searches in my blog up to the moment:

Top 50 searches my blog was found in:

Visits

Pages/Visit

Avg. Time on Site

% New Visits

Bounce Rate
1.
(not set)
3,588 2.63 00:02:26 83.39% 3.54%
2.
pidgin encoding
141 2.16 00:00:18 98.58% 1.42%
3.
epel repository
132 2.23 00:01:23 81.06% 0.00%
4.
eeexubuntu screenshot
95 2.88 00:00:39 98.95% 0.00%
5.
eeexubuntu 8.04
94 2.55 00:00:13 94.68% 0.00%
6.
nmon ubuntu
85 2.58 00:00:56 80.00% 0.00%
7.
centos ddd
67 2.39 00:01:15 83.58% 1.49%
8.
centos qemu
67 2.30 00:00:33 97.01% 0.00%
9.
ddd centos
64 2.42 00:00:43 79.69% 1.56%
10.
eee ubuntu
62 2.48 00:00:26 95.16% 0.00%
11.
centos epel repository
61 2.13 00:00:18 96.72% 3.28%
12.
ubuntu nmon
61 2.56 00:01:35 70.49% 0.00%
13.
eeexubuntu no sound
59 2.31 00:01:40 89.83% 0.00%
14.
centos flash
57 2.32 00:00:08 92.98% 0.00%
15.
autotools howto
51 2.12 00:00:10 92.16% 0.00%
16.
centos fglrx
51 2.08 00:00:46 96.08% 0.00%
17.
javascript ifdef
45 2.18 00:00:09 100.00% 0.00%
18.
shell compare strings
45 2.13 00:00:17 71.11% 0.00%
19.
epel centos
43 2.05 00:00:01 93.02% 0.00%
20.
centos firefox java
42 2.29 00:01:22 69.05% 0.00%
21.
epel repository centos
42 2.07 00:00:03 90.48% 0.00%
22.
flash centos
40 2.62 00:01:53 77.50% 0.00%
23.
gparted centos
38 2.16 00:00:02 89.47% 0.00%
24.
shell script compare string
38 2.00 > 00:00:00 97.37% 0.00%
25.
stop postgres
38 2.03 00:00:18 84.21% 2.63%
26.
centos firefox flash
37 2.49 00:00:23 91.89% 0.00%
27.
eeexubuntu screenshots
37 2.43 00:00:35 86.49% 0.00%
28.
centos gparted
36 2.39 00:00:18 94.44% 0.00%
29.
centos 64 flash
34 2.29 00:00:25 94.12% 0.00%
30.
freemind centos
33 2.30 00:00:35 81.82% 0.00%
31.
centos 5.2 java plugin
30 2.70 00:01:29 63.33% 0.00%
32.
eeexubuntu hardy
30 2.60 00:00:14 93.33% 0.00%
33.
fglrx centos
29 2.28 00:01:07 89.66% 0.00%
34.
bash compare strings
28 2.04 > 00:00:00 100.00% 0.00%
35.
centos 5.2 java
28 2.43 00:02:04 17.86% 0.00%
36.
centos x64 flash
26 2.92 00:01:54 69.23% 0.00%
37.
your system does not have the cpu extensions required to use kvm. not doing anything. failed!
26 2.00 > 00:00:00 100.00% 0.00%
38.
centos ati driver
25 2.24 00:01:28 92.00% 0.00%
39.
epel centos 5
24 2.12 00:00:22 95.83% 4.17%
40.
linux hex viewer
24 2.83 00:00:11 87.50% 0.00%
41.
centos java firefox
23 2.26 00:01:09 86.96% 0.00%
42.
ubuntu stop postgres
23 2.17 00:00:07 91.30% 0.00%
43.
centos 5.2 flash
22 3.09 00:01:35 95.45% 0.00%
44.
how to stop postgresql
22 2.09 00:00:31 90.91% 0.00%
45.
gcc vectorization
21 2.57 00:02:03 90.48% 0.00%
46.
installing eee ubuntu
20 2.30 00:00:59 100.00% 0.00%
47.
flash centos x64
19 2.42 00:00:17 68.42% 0.00%
48.
centos 64 java plugin
18 2.33 00:00:33 16.67% 0.00%
49.
freemind 2 txt
18 2.00 00:00:12 5.56% 0.00%
50.
installing eeedora
18 2.78 00:00:25 77.78% 0.00%

Sunday, December 7, 2008

My Ubuntu installation config variables:

Linux kubic-roman 2.6.24-22-generic #1 SMP Mon Nov 24 18:32:42 UTC 2008 i686 GNU/Linux

generated by APUE2 book chapter 2 program:

opt.txt


_POSIX_ADVISORY_INFO is defined (val is 200112)
sysconf says _POSIX_ADVISORY_INFO = 200112

_POSIX_ASYNCHRONOUS_IO is defined (val is 200112)
sysconf says _POSIX_ASYNCHRONOUS_IO = 200112

_POSIX_BARRIERS is defined (val is 200112)
sysconf says _POSIX_BARRIERS = 200112

_POSIX_CPUTIME is defined (val is 0)
sysconf says _POSIX_CPUTIME = 200112

_POSIX_CLOCK_SELECTION is defined (val is 200112)
sysconf says _POSIX_CLOCK_SELECTION = 200112

_POSIX_FSYNC is defined (val is 200112)
sysconf says _POSIX_FSYNC = 200112

_POSIX_IPV6 is defined (val is 200112)
sysconf says _POSIX_IPV6 = 200112

_POSIX_MAPPED_FILES is defined (val is 200112)
sysconf says _POSIX_MAPPED_FILES = 200112

_POSIX_MEMLOCK is defined (val is 200112)
sysconf says _POSIX_MEMLOCK = 200112

_POSIX_MEMLOCK_RANGE is defined (val is 200112)
sysconf says _POSIX_MEMLOCK_RANGE = 200112

_POSIX_MONOTONIC_CLOCK is defined (val is 0)
sysconf says _POSIX_MONOTONIC_CLOCK = 200112

_POSIX_MEMORY_PROTECTION is defined (val is 200112)
sysconf says _POSIX_MEMORY_PROTECTION = 200112

_POSIX_MESSAGE_PASSING is defined (val is 200112)
sysconf says _POSIX_MESSAGE_PASSING = 200112

_POSIX_PRIORITIZED_IO is defined (val is 200112)
sysconf says _POSIX_PRIORITIZED_IO = 200112

_POSIX_PRIORITIZED_SCHEDULING is undefined
no symbol for _POSIX_PRIORITIZED_SCHEDULING

_POSIX_RAW_SOCKETS is defined (val is 200112)
sysconf says _POSIX_RAW_SOCKETS = 200112

_POSIX_REALTIME_SIGNALS is defined (val is 200112)
sysconf says _POSIX_REALTIME_SIGNALS = 200112

_POSIX_SEMAPHORES is defined (val is 200112)
sysconf says _POSIX_SEMAPHORES = 200112

_POSIX_SHARED_MEMORY_OBJECTS is defined (val is 200112)
sysconf says _POSIX_SHARED_MEMORY_OBJECTS = 200112

_POSIX_SYNCHRONIZED_IO is defined (val is 200112)
sysconf says _POSIX_SYNCHRONIZED_IO = 200112

_POSIX_SPIN_LOCKS is defined (val is 200112)
sysconf says _POSIX_SPIN_LOCKS = 200112

_POSIX_SPAWN is defined (val is 200112)
sysconf says _POSIX_SPAWN = 200112

_POSIX_SPORADIC_SERVER is defined (val is -1)
sysconf says _POSIX_SPORADIC_SERVER = (no limit)

_POSIX_THREAD_CPUTIME is defined (val is 0)
sysconf says _POSIX_THREAD_CPUTIME = 200112

_POSIX_TRACE_EVENT_FILTER is defined (val is -1)
sysconf says _POSIX_TRACE_EVENT_FILTER = (no limit)

_POSIX_TIMEOUTS is defined (val is 200112)
sysconf says _POSIX_TIMEOUTS = 200112

_POSIX_TIMERS is defined (val is 200112)
sysconf says _POSIX_TIMERS = 200112

_POSIX_THREAD_PRIO_INHERIT is defined (val is 200112)
sysconf says _POSIX_THREAD_PRIO_INHERIT = 200112

_POSIX_THREAD_PRIO_PROTECT is defined (val is 200112)
sysconf says _POSIX_THREAD_PRIO_PROTECT = 200112

_POSIX_THREAD_PRIORITY_SCHEDULING is defined (val is 200112)
sysconf says _POSIX_THREAD_PRIORITY_SCHEDULING = 200112

_POSIX_TRACE is defined (val is -1)
sysconf says _POSIX_TRACE = (no limit)

_POSIX_TRACE_INHERIT is defined (val is -1)
sysconf says _POSIX_TRACE_INHERIT = (no limit)

_POSIX_TRACE_LOG is defined (val is -1)
sysconf says _POSIX_TRACE_LOG = (no limit)

_POSIX_THREAD_ATTR_STACKADDR is defined (val is 200112)
sysconf says _POSIX_THREAD_ATTR_STACKADDR = 200112

_POSIX_THREAD_SAFE_FUNCTIONS is defined (val is 200112)
sysconf says _POSIX_THREAD_SAFE_FUNCTIONS = 200112

_POSIX_THREAD_PROCESS_SHARED is defined (val is 200112)
sysconf says _POSIX_THREAD_PROCESS_SHARED = 200112

_POSIX_THREAD_SPORADIC_SERVER is defined (val is -1)
sysconf says _POSIX_THREAD_SPORADIC_SERVER = (no limit)

_POSIX_THREAD_ATTR_STACKSIZE is defined (val is 200112)
sysconf says _POSIX_THREAD_ATTR_STACKSIZE = 200112

_POSIX_THREADS is defined (val is 200112)
sysconf says _POSIX_THREADS = 200112

_POSIX_TYPED_MEMORY_OBJECTS is defined (val is -1)
sysconf says _POSIX_TYPED_MEMORY_OBJECTS = (no limit)

_XOPEN_UNIX is defined (val is 1)
sysconf says _XOPEN_UNIX = 1

_XOPEN_STREAMS is undefined
no symbol for _XOPEN_STREAMS

_XOPEN_CRYPT is defined (val is 1)
sysconf says _XOPEN_CRYPT = 1

_XOPEN_LEGACY is defined (val is 1)
sysconf says _XOPEN_LEGACY = 1

_XOPEN_REALTIME is defined (val is 1)
sysconf says _XOPEN_REALTIME = 1

_XOPEN_REALTIME_THREADS is defined (val is 1)
sysconf says _XOPEN_REALTIME_THREADS = 1

_POSIX_JOB_CONTROL is defined (val is 1)
sysconf says _POSIX_JOB_CONTROL = 1

_POSIX_READER_WRITER_LOCKS is defined (val is 200112)
sysconf says _POSIX_READER_WRITER_LOCKS = 200112

_POSIX_REGEXP is defined (val is 1)
sysconf says _POSIX_REGEXP = 1

_POSIX_SAVED_IDS is defined (val is 1)
sysconf says _POSIX_SAVED_IDS = 1

_POSIX_SHELL is defined (val is 1)
sysconf says _POSIX_SHELL = 1

_XOPEN_ENH_I18N is defined (val is 1)
sysconf says _XOPEN_ENH_I18N = 1

_XOPEN_SHM is defined (val is 1)
sysconf says _XOPEN_SHM = 1

_POSIX_VERSION is defined (val is 200112)
sysconf says _POSIX_VERSION = 200112

_XOPEN_VERSION is defined (val is 600)
sysconf says _XOPEN_VERSION = 600

_POSIX_CHOWN_RESTRICTED is defined (val is 1)
pathconf says _POSIX_CHOWN_RESTRICTED = 1

_POSIX_NO_TRUNC is defined (val is 1)
pathconf says _POSIX_NO_TRUNC = 1

_POSIX_VDISABLE is defined (val is 0)
pathconf says _POSIX_VDISABLE = 0

POSIX_ASYNC_IO is undefined
pathconf says POSIX_ASYNC_IO = (no limit)

POSIX_PRIO_IO is undefined
pathconf says POSIX_PRIO_IO = (no limit)

POSIX_SYNC_IO is undefined
pathconf says POSIX_SYNC_IO = (no limit)
----%<----
ARG_MAX defined to be 131072
ARG_MAX = 131072
no symbol for ATEXIT_MAX
ATEXIT_MAX = 2147483647
CHARCLASS_NAME_MAX defined to be 2048
CHARCLASS_NAME_MAX = 2048
no symbol for CHILD_MAX
CHILD_MAX = 8125
no symbol for CLOCKTICKSPERSECOND /*clock ticks/second*/
CLOCKTICKSPERSECOND /*clock ticks/second*/ = 100
COLL_WEIGHTS_MAX defined to be 255
COLL_WEIGHTS_MAX = 255
HOST_NAME_MAX defined to be 64
HOST_NAME_MAX = 64
IOV_MAX defined to be 1024
IOV_MAX = 1024
LINE_MAX defined to be 2048
LINE_MAX = 2048
LOGIN_NAME_MAX defined to be 256
LOGIN_NAME_MAX = 256
NGROUPS_MAX defined to be 65536
NGROUPS_MAX = 65536
no symbol for OPEN_MAX
OPEN_MAX = 1024
no symbol for PAGESIZE
PAGESIZE = 4096
no symbol for PAGE_SIZE
PAGE_SIZE = 4096
RE_DUP_MAX defined to be 32767
RE_DUP_MAX = 32767
no symbol for STREAM_MAX
STREAM_MAX = 16
no symbol for SYMLOOP_MAX
SYMLOOP_MAX = (no limit)
TTY_NAME_MAX defined to be 32
TTY_NAME_MAX = 32
no symbol for TZNAME_MAX
TZNAME_MAX = 6
MAX_CANON defined to be 255
MAX_CANON = 255
MAX_INPUT defined to be 255
MAX_INPUT = 255
no symbol for FILESIZEBITS
FILESIZEBITS = 64
no symbol for LINK_MAX
LINK_MAX = 32000
NAME_MAX defined to be 255
NAME_MAX = 255
PATH_MAX defined to be 4096
PATH_MAX = 4096
PIPE_BUF defined to be 4096
PIPE_BUF = 4096
no symbol for SYMLINK_MAX
SYMLINK_MAX = (no limit)

Thursday, August 14, 2008

Databases; central table

Found that basically specialized database could be presented as the central table, with other tables as just supporting infrastructure for central one.

To found central table in you application just grep | wc source code in loop by all tables names presented in your database.

It is easier than counting statistics on links in local hypertext.