ncdc 1.7 released
This commit is contained in:
parent
0a8812e31a
commit
ac38865338
7 changed files with 131 additions and 77 deletions
|
|
@ -1,3 +1,14 @@
|
||||||
|
1.7 - 2011-12-30
|
||||||
|
- Split /set command in a /set (global) and /hset (hub)
|
||||||
|
- File downloads are performed in a background thread
|
||||||
|
- Added glob-style matching on /set and /hset keys
|
||||||
|
- Added UTF-8 locale check
|
||||||
|
- Added 'sendfile' setting
|
||||||
|
- Added finer granularity for the flush_file_cache setting
|
||||||
|
- Allow flush_file_cache to be enabled for downloads
|
||||||
|
- Fix sending of $MyINFO with wrong public hub count
|
||||||
|
- Fix incorrect inclusion of gdbm.h
|
||||||
|
|
||||||
1.6 - 2011-12-07
|
1.6 - 2011-12-07
|
||||||
- Use SQLite3 for storage instead of GDBM
|
- Use SQLite3 for storage instead of GDBM
|
||||||
- Converted config.ini to SQLite3 database
|
- Converted config.ini to SQLite3 database
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ monthly cron job.
|
||||||
|
|
||||||
=head2 I'm getting the error "No PEM-encoded private key found" on startup
|
=head2 I'm getting the error "No PEM-encoded private key found" on startup
|
||||||
|
|
||||||
(This issue should have been fixed in 1.6) Most likely this is caused by a
|
(This issue should be fixed since 1.6) Most likely this is caused by a
|
||||||
L<bug in glib-networking|https://bugzilla.gnome.org/show_bug.cgi?id=664321>. To
|
L<bug in glib-networking|https://bugzilla.gnome.org/show_bug.cgi?id=664321>. To
|
||||||
get around it, install the "certtool" utility that comes with gnutls (package
|
get around it, install the "certtool" utility that comes with gnutls (package
|
||||||
"gnutls-bin" on Ubuntu), delete the old certificates (C<rm ~/.ncdc/cert/*>),
|
"gnutls-bin" on Ubuntu), delete the old certificates (C<rm ~/.ncdc/cert/*>),
|
||||||
|
|
|
||||||
161
dat/ncdc-man
161
dat/ncdc-man
|
|
@ -166,6 +166,14 @@ INTERACTIVE COMMANDS
|
||||||
To get help on key bindings, use /help keys.
|
To get help on key bindings, use /help keys.
|
||||||
|
|
||||||
|
|
||||||
|
/hset [<key> [<value>]]
|
||||||
|
Get or set per-hub configuration variables. Works equivalent to the
|
||||||
|
`/set' command, but can only be used on hub tabs.
|
||||||
|
|
||||||
|
/hunset [<key>]
|
||||||
|
This command can be used to reset a per-hub configuration variable back
|
||||||
|
to its global value.
|
||||||
|
|
||||||
/kick <user>
|
/kick <user>
|
||||||
Kick a user from the hub. This command only works on NMDC hubs, and you
|
Kick a user from the hub. This command only works on NMDC hubs, and you
|
||||||
need to be an OP to be able to use it.
|
need to be an OP to be able to use it.
|
||||||
|
|
@ -184,7 +192,7 @@ INTERACTIVE COMMANDS
|
||||||
sage is given, the tab will be opened but no message will be sent.
|
sage is given, the tab will be opened but no message will be sent.
|
||||||
|
|
||||||
/nick [<nick>]
|
/nick [<nick>]
|
||||||
Alias for `/set nick'.
|
Alias for `/hset nick' on hub tabs, and `/set nick' otherwise.
|
||||||
|
|
||||||
/open [-n] <name> [<address>]
|
/open [-n] <name> [<address>]
|
||||||
Opens a new tab to use for a hub. The name is a (short) personal name you
|
Opens a new tab to use for a hub. The name is a (short) personal name you
|
||||||
|
|
@ -200,7 +208,7 @@ INTERACTIVE COMMANDS
|
||||||
/password <password>
|
/password <password>
|
||||||
This command can be used to send a password to the hub without saving it
|
This command can be used to send a password to the hub without saving it
|
||||||
to the database. If you wish to login automatically without having to
|
to the database. If you wish to login automatically without having to
|
||||||
type /password every time, use '/set password <password>'. Be warned,
|
type /password every time, use '/hset password <password>'. Be warned,
|
||||||
however, that your password will be saved unencrypted in that case.
|
however, that your password will be saved unencrypted in that case.
|
||||||
|
|
||||||
/pm <user> [<message>]
|
/pm <user> [<message>]
|
||||||
|
|
@ -260,10 +268,14 @@ INTERACTIVE COMMANDS
|
||||||
very reliable.
|
very reliable.
|
||||||
|
|
||||||
/set [<key> [<value>]]
|
/set [<key> [<value>]]
|
||||||
Get or set configuration variables. Use without arguments to get a list
|
Get or set global configuration variables. Use without arguments to get a
|
||||||
of all settings and their current value. Changes to the settings are
|
list of all global settings and their current value. Glob-style pattern
|
||||||
automatically saved to the config file, and will not be lost after
|
matching on the settings is also possible. Use, for example, `/set
|
||||||
restarting ncdc.
|
color*' to list all color-related settings.
|
||||||
|
|
||||||
|
See the `/hset' command to manage configuration on a per-hub basis.
|
||||||
|
Changes to the settings are automatically saved to the database, and will
|
||||||
|
not be lost after restarting ncdc.
|
||||||
|
|
||||||
To get information on a particular setting, use `/help set <key>'.
|
To get information on a particular setting, use `/help set <key>'.
|
||||||
|
|
||||||
|
|
@ -284,8 +296,8 @@ INTERACTIVE COMMANDS
|
||||||
Revoke a granted slot.
|
Revoke a granted slot.
|
||||||
|
|
||||||
/unset [<key>]
|
/unset [<key>]
|
||||||
This command can be used to reset a configuration variable back to its
|
This command can be used to reset a global configuration variable back to
|
||||||
default value.
|
its default value.
|
||||||
|
|
||||||
/unshare [<name>]
|
/unshare [<name>]
|
||||||
To remove a single directory from your share, use `/unshare <name>', to
|
To remove a single directory from your share, use `/unshare <name>', to
|
||||||
|
|
@ -311,60 +323,61 @@ INTERACTIVE COMMANDS
|
||||||
|
|
||||||
SETTINGS
|
SETTINGS
|
||||||
The following is a list of configuration settings. These settings can be changed
|
The following is a list of configuration settings. These settings can be changed
|
||||||
and queried using the `/set' command, and are stored in the db.sqlite3 file in
|
and queried using the `/set' command for global settings and `/hset' for hub-
|
||||||
the session directory.
|
local settings. All configuration data is stored in the db.sqlite3 file in the
|
||||||
|
session directory.
|
||||||
|
|
||||||
active <boolean>
|
active <boolean>
|
||||||
Enables or disables active mode. Make sure to set `active_ip' and
|
Enables or disables active mode. Make sure to set `active_ip' and
|
||||||
`active_port' before enabling active mode.
|
`active_port' before enabling active mode.
|
||||||
|
|
||||||
active_bind <string>
|
active_bind <string>
|
||||||
IP address to bind to in active mode. When unset, ncdc will bind to all
|
IP address to bind to in active mode. When unset, ncdc will bind to all
|
||||||
interfaces.
|
interfaces.
|
||||||
|
|
||||||
active_ip <string>
|
active_ip <string>
|
||||||
Your public IP address for use in active mode. It is important that other
|
Your public IP address for use in active mode. It is important that other
|
||||||
clients can reach you using this IP address. If you connect to a hub on
|
clients can reach you using this IP address. If you connect to a hub on
|
||||||
the internet, this should be your internet (WAN) IP. Likewise, if you
|
the internet, this should be your internet (WAN) IP. Likewise, if you
|
||||||
connect to a hub on your LAN, this should be your LAN IP.
|
connect to a hub on your LAN, this should be your LAN IP.
|
||||||
|
|
||||||
Unlike the other connection-related settings, this can be changed on a
|
Unlike the other connection-related settings, this can be changed on a
|
||||||
per-hub basis, allowing you to have a different public IP address per
|
per-hub basis, allowing you to have a different public IP address per
|
||||||
hub.
|
hub.
|
||||||
|
|
||||||
active_port <integer>
|
active_port <integer>
|
||||||
The listen port for incoming connections in active mode. Set to `0' to
|
The listen port for incoming connections in active mode. Set to `0' to
|
||||||
automatically assign a random port. If TLS support is available, another
|
automatically assign a random port. If TLS support is available, another
|
||||||
TCP port will be opened on the configured port + 1. Ncdc will tell you
|
TCP port will be opened on the configured port + 1. Ncdc will tell you
|
||||||
exactly on which ports it is listening for incoming packets. If you are
|
exactly on which ports it is listening for incoming packets. If you are
|
||||||
behind a router or firewall, make sure that you have configured it to
|
behind a router or firewall, make sure that you have configured it to
|
||||||
forward and allow these ports.
|
forward and allow these ports.
|
||||||
|
|
||||||
autoconnect <boolean>
|
autoconnect <boolean>
|
||||||
Set to true to automatically connect to the current hub when ncdc starts
|
Set to true to automatically connect to the current hub when ncdc starts
|
||||||
up.
|
up.
|
||||||
|
|
||||||
autorefresh <interval>
|
autorefresh <interval>
|
||||||
The time between automatic file refreshes. Recognized suffices are 's'
|
The time between automatic file refreshes. Recognized suffices are 's'
|
||||||
for seconds, 'm' for minutes, 'h' for hours and 'd' for days. Set to 0 to
|
for seconds, 'm' for minutes, 'h' for hours and 'd' for days. Set to 0 to
|
||||||
disable automatically refreshing the file list. This setting also deter‐
|
disable automatically refreshing the file list. This setting also deter‐
|
||||||
mines whether ncdc will perform a refresh on startup. See the `/refresh'
|
mines whether ncdc will perform a refresh on startup. See the `/refresh'
|
||||||
command to manually refresh your file list.
|
command to manually refresh your file list.
|
||||||
|
|
||||||
backlog <integer>
|
backlog <integer>
|
||||||
When opening a hub or PM tab, ncdc can load a certain amount of lines
|
When opening a hub or PM tab, ncdc can load a certain amount of lines
|
||||||
from the log file into the log window. Setting this to a positive value
|
from the log file into the log window. Setting this to a positive value
|
||||||
enables this feature and configures the number of lines to load. Note
|
enables this feature and configures the number of lines to load. Note
|
||||||
that, while this setting can be set on a per-hub basis, PM windows will
|
that, while this setting can be set on a per-hub basis, PM windows will
|
||||||
use the global value (global.backlog).
|
use the global value (global.backlog).
|
||||||
|
|
||||||
chat_only <boolean>
|
chat_only <boolean>
|
||||||
Set to true to indicate that this hub is only used for chatting. That is,
|
Set to true to indicate that this hub is only used for chatting. That is,
|
||||||
you won't or can't download from it. This setting affects the /search
|
you won't or can't download from it. This setting affects the /search
|
||||||
command when it is given the -all option.
|
command when it is given the -all option.
|
||||||
|
|
||||||
color_* <color>
|
color_* <color>
|
||||||
The settings starting with the `color_' prefix allow you to change the
|
The settings starting with the `color_' prefix allow you to change the
|
||||||
interface colors. The following is a list of available color settings:
|
interface colors. The following is a list of available color settings:
|
||||||
list_default - default item in a list
|
list_default - default item in a list
|
||||||
list_header - header of a list
|
list_header - header of a list
|
||||||
|
|
@ -382,58 +395,58 @@ SETTINGS
|
||||||
tabprio_high - high priority tab notification color
|
tabprio_high - high priority tab notification color
|
||||||
title - the title bar
|
title - the title bar
|
||||||
|
|
||||||
The actual color value can be set with a comma-separated list of color
|
The actual color value can be set with a comma-separated list of color
|
||||||
names and/or attributes. The first color in the list is the foreground
|
names and/or attributes. The first color in the list is the foreground
|
||||||
color, the second color is used for the background. When the fore- or
|
color, the second color is used for the background. When the fore- or
|
||||||
background color is not specified, the default colors of your terminal
|
background color is not specified, the default colors of your terminal
|
||||||
will be used.
|
will be used.
|
||||||
The following color names can be used: black, blue, cyan, default, green,
|
The following color names can be used: black, blue, cyan, default, green,
|
||||||
magenta, red, white and yellow.
|
magenta, red, white and yellow.
|
||||||
The following attributes can be used: bold, blink, reverse and underline.
|
The following attributes can be used: bold, blink, reverse and underline.
|
||||||
The actual color values displayed by your terminal may vary. Adding the
|
The actual color values displayed by your terminal may vary. Adding the
|
||||||
`bold' attribute usually makes the foreground color appear brighter as
|
`bold' attribute usually makes the foreground color appear brighter as
|
||||||
well.
|
well.
|
||||||
|
|
||||||
connection <string>
|
connection <string>
|
||||||
Set your upload speed. This is just an indication for other users in the
|
Set your upload speed. This is just an indication for other users in the
|
||||||
hub so that they know what speed they can expect when downloading from
|
hub so that they know what speed they can expect when downloading from
|
||||||
you. The actual format you can use here may vary, but it is recommended
|
you. The actual format you can use here may vary, but it is recommended
|
||||||
to set it to either a plain number for Mbit/s (e.g. `50' for 50 mbit) or
|
to set it to either a plain number for Mbit/s (e.g. `50' for 50 mbit) or
|
||||||
a number with a `KiB/s' indicator (e.g. `2300 KiB/s'). On ADC hubs you
|
a number with a `KiB/s' indicator (e.g. `2300 KiB/s'). On ADC hubs you
|
||||||
must use one of the previously mentioned formats, otherwise no upload
|
must use one of the previously mentioned formats, otherwise no upload
|
||||||
speed will be broadcasted. This setting is broadcasted as-is on NMDC
|
speed will be broadcasted. This setting is broadcasted as-is on NMDC
|
||||||
hubs, to allow for using old-style connection values (e.g. `DSL' or
|
hubs, to allow for using old-style connection values (e.g. `DSL' or
|
||||||
`Cable') on hubs that require this.
|
`Cable') on hubs that require this.
|
||||||
|
|
||||||
description <string>
|
description <string>
|
||||||
A short public description that will be displayed in the user list of a
|
A short public description that will be displayed in the user list of a
|
||||||
hub.
|
hub.
|
||||||
|
|
||||||
download_dir <path>
|
download_dir <path>
|
||||||
The directory where finished downloads are moved to. Finished downloads
|
The directory where finished downloads are moved to. Finished downloads
|
||||||
are by default stored in <session directory>/dl/. It is possible to set
|
are by default stored in <session directory>/dl/. It is possible to set
|
||||||
this to a location that is on a different filesystem than the incoming
|
this to a location that is on a different filesystem than the incoming
|
||||||
directory, but doing so is not recommended: ncdc will block when moving
|
directory, but doing so is not recommended: ncdc will block when moving
|
||||||
the completed files to their final destination.
|
the completed files to their final destination.
|
||||||
|
|
||||||
download_exclude <regex>
|
download_exclude <regex>
|
||||||
When recursively adding a directory to the download queue - by pressing
|
When recursively adding a directory to the download queue - by pressing
|
||||||
`b' on a directory in the file list browser - any item in the selected
|
`b' on a directory in the file list browser - any item in the selected
|
||||||
directory with a name that matches this regular expression will not be
|
directory with a name that matches this regular expression will not be
|
||||||
added to the download queue.
|
added to the download queue.
|
||||||
|
|
||||||
This regex is not checked when adding individual files from either the
|
This regex is not checked when adding individual files from either the
|
||||||
file list browser or the search results.
|
file list browser or the search results.
|
||||||
|
|
||||||
download_slots <integer>
|
download_slots <integer>
|
||||||
Maximum number of simultaneous downloads.
|
Maximum number of simultaneous downloads.
|
||||||
|
|
||||||
email <string>
|
email <string>
|
||||||
Your email address. This will be displayed in the user list of the hub,
|
Your email address. This will be displayed in the user list of the hub,
|
||||||
so only set this if you want it to be public.
|
so only set this if you want it to be public.
|
||||||
|
|
||||||
encoding <string>
|
encoding <string>
|
||||||
The character set/encoding to use for hub and PM messages. This setting
|
The character set/encoding to use for hub and PM messages. This setting
|
||||||
is only used on NMDC hubs, ADC always uses UTF-8. Some common values are:
|
is only used on NMDC hubs, ADC always uses UTF-8. Some common values are:
|
||||||
CP1250 (Central Europe)
|
CP1250 (Central Europe)
|
||||||
CP1251 (Cyrillic)
|
CP1251 (Cyrillic)
|
||||||
|
|
@ -443,22 +456,23 @@ SETTINGS
|
||||||
UTF-8 (International)
|
UTF-8 (International)
|
||||||
|
|
||||||
filelist_maxage <interval>
|
filelist_maxage <interval>
|
||||||
The maximum age of a downloaded file list. If a file list was downloaded
|
The maximum age of a downloaded file list. If a file list was downloaded
|
||||||
longer ago than the configured interval, it will be removed from the
|
longer ago than the configured interval, it will be removed from the
|
||||||
cache (the fl/ directory) and subsequent requests to open the file list
|
cache (the fl/ directory) and subsequent requests to open the file list
|
||||||
will result in the list being downloaded from the user again. Recognized
|
will result in the list being downloaded from the user again. Recognized
|
||||||
suffices are 's' for seconds, 'm' for minutes, 'h' for hours and 'd' for
|
suffices are 's' for seconds, 'm' for minutes, 'h' for hours and 'd' for
|
||||||
days. Set to 0 to disable the cache altogether.
|
days. Set to 0 to disable the cache altogether.
|
||||||
|
|
||||||
flush_file_cache <boolean>
|
flush_file_cache <none|upload|download|hash>[,...]
|
||||||
Tell the OS to flush the file (disk) cache for file contents read while
|
Tell the OS to flush the file (disk) cache for file contents read while
|
||||||
hashing and uploading. On one hand, this will avoid trashing your disk
|
hashing and/or uploading or written to while downloading. On one hand,
|
||||||
cache with large files and thus improve the overall responsiveness of
|
this will avoid trashing your disk cache with large files and thus
|
||||||
your system. On the other hand, ncdc may purge any shared files from the
|
improve the overall responsiveness of your system. On the other hand,
|
||||||
cache, even if they are still used by other applications. In general, it
|
ncdc may purge any shared files from the cache, even if they are still
|
||||||
is a good idea to enable this if you also use your system for other
|
used by other applications. In general, it is a good idea to enable this
|
||||||
things besides ncdc, you share large files (>100MB) and people are not
|
if you also use your system for other things besides ncdc, you share
|
||||||
constantly downloading the same file from you.
|
large files (>100MB) and people are not constantly downloading the same
|
||||||
|
file from you.
|
||||||
|
|
||||||
hubname <string>
|
hubname <string>
|
||||||
The name of the currently opened hub tab. This is a user-assigned name,
|
The name of the currently opened hub tab. This is a user-assigned name,
|
||||||
|
|
@ -508,6 +522,11 @@ SETTINGS
|
||||||
`/password' command instead. Passwords are saved unencrypted in the con‐
|
`/password' command instead. Passwords are saved unencrypted in the con‐
|
||||||
fig file.
|
fig file.
|
||||||
|
|
||||||
|
sendfile <boolean>
|
||||||
|
Whether or not to use the sendfile() system call to upload files, if sup‐
|
||||||
|
ported. Using sendfile() allows less resource usage while uploading, but
|
||||||
|
may not work well on all systems.
|
||||||
|
|
||||||
share_exclude <regex>
|
share_exclude <regex>
|
||||||
Any file or directory with a name that matches this regular expression
|
Any file or directory with a name that matches this regular expression
|
||||||
will not be shared. A file list refresh is required for this setting to
|
will not be shared. A file list refresh is required for this setting to
|
||||||
|
|
@ -756,4 +775,4 @@ SEE ALSO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ncdc-1.6 December 2011 ncdc(1)
|
ncdc-1.7 December 2011 ncdc(1)
|
||||||
|
|
|
||||||
17
download/ncdc-1.7.tar.gz.asc
Normal file
17
download/ncdc-1.7.tar.gz.asc
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v1.4.11 (GNU/Linux)
|
||||||
|
|
||||||
|
iQIcBAABCgAGBQJO/fA4AAoJEGI5TGmMJzn6cnUQAKlRYrTU1+MbYeNU5wX6C5vs
|
||||||
|
pf/a9M+7Bq4RCCItDjaxh8gty7EZK80gY/KGSIbWVtoVOFA/I0RuOwihn/QtIW5L
|
||||||
|
mOPeuopldS1yyEqWasJ73Gqd5vHd79NoTe2RwaC01KH65yAjbbt6Jw88OEAfJeM1
|
||||||
|
4Cw2e2RJnkifu/QmvEOJZgH8aiFQNg69oe82awsWjMpPv1gkCIHlkv7cEU3Hz0eL
|
||||||
|
GhhOCUAezdoBsfikPjUi52dtLr7xmy6ZyUXtJLg1oDb+TVPeA4VJ9pP5UWLXxqMW
|
||||||
|
X/Qe+4Kr6Ir71C2PlV5nJxMGjjvYzi5u8F9Nu8JdRo7HM4E7cVX0WMBpOZRaP+aC
|
||||||
|
Yp8HMd8tjTUCmo5nCcDFULTYEDComV1F7q3iiuVMqH8m7mroTbrR+vMzx4TYbzDc
|
||||||
|
oFm9Xa2rbOyCwLBFh+IwS/0ADSQo4yU8Wqi4kpYuNUE37pqOTr3xAOL9+tNdYSq0
|
||||||
|
0lfQGwkdG5jhtcrvx/gT8wLH9mhmlWhqVIgvX6rGH/T9oeXNm1q4JCzltNxmtDcr
|
||||||
|
BIy2dIp5o7xScI/nH8wMRyNXHhU/pShWXesNS25YlWUVk61kNP8pWe8sli8X5gxh
|
||||||
|
h4RezJ5sDL6tp1cIKLgQg4kip7978Sh2pjSfJk9X9BXv7td0iuiqe1TpSGh1BSss
|
||||||
|
4ZePuGT1iFSKsvL1sJwB
|
||||||
|
=eYWN
|
||||||
|
-----END PGP SIGNATURE-----
|
||||||
1
download/ncdc-1.7.tar.gz.md5
Normal file
1
download/ncdc-1.7.tar.gz.md5
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
dba1503f58694a64f600541b4fcdccf3 ncdc-1.7.tar.gz
|
||||||
1
download/ncdc-1.7.tar.gz.sha1
Normal file
1
download/ncdc-1.7.tar.gz.sha1
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
d31d9b48351aa322afb57c6db44fbc4c66f4df4b ncdc-1.7.tar.gz
|
||||||
15
index.cgi
15
index.cgi
|
|
@ -56,6 +56,7 @@ sub home {
|
||||||
E;
|
E;
|
||||||
end;
|
end;
|
||||||
h2 'Updates';
|
h2 'Updates';
|
||||||
|
b '2011-12-30'; txt ' ncdc 1.7 released!'; br;
|
||||||
b '2011-12-07'; txt ' ncdc 1.6 released!'; br;
|
b '2011-12-07'; txt ' ncdc 1.6 released!'; br;
|
||||||
b '2011-11-26'; txt ' Added article section and the article on SQLite.'; br;
|
b '2011-11-26'; txt ' Added article section and the article on SQLite.'; br;
|
||||||
b '2011-11-03'; txt ' ncdc 1.5 and ncdu 1.8 released!'; br;
|
b '2011-11-03'; txt ' ncdc 1.5 and ncdu 1.8 released!'; br;
|
||||||
|
|
@ -252,8 +253,8 @@ sub ncdc {
|
||||||
|
|
||||||
h2 'Get ncdc!';
|
h2 'Get ncdc!';
|
||||||
p;
|
p;
|
||||||
b 'Latest version:'; txt ' 1.6 (';
|
b 'Latest version:'; txt ' 1.7 (';
|
||||||
$s->htmlDLLink('ncdc-1.6.tar.gz', 'download');
|
$s->htmlDLLink('ncdc-1.7.tar.gz', 'download');
|
||||||
txt ' - '; a href => '/ncdc/changes', 'changes';
|
txt ' - '; a href => '/ncdc/changes', 'changes';
|
||||||
txt ' - '; a href => 'https://sourceforge.net/projects/ncdc/files/ncdc/', 'mirror';
|
txt ' - '; a href => 'https://sourceforge.net/projects/ncdc/files/ncdc/', 'mirror';
|
||||||
txt ')'; br;
|
txt ')'; br;
|
||||||
|
|
@ -265,6 +266,8 @@ sub ncdc {
|
||||||
br;br;
|
br;br;
|
||||||
txt 'Packages/ports are available for the following systems: '; br;
|
txt 'Packages/ports are available for the following systems: '; br;
|
||||||
a href => 'http://aur.archlinux.org/packages.php?ID=50949', 'Arch Linux'; txt ' - ';
|
a href => 'http://aur.archlinux.org/packages.php?ID=50949', 'Arch Linux'; txt ' - ';
|
||||||
|
a href => 'http://www.freshports.org/net-p2p/ncdc/', 'FreeBSD'; txt ' - ';
|
||||||
|
a href => 'http://frugalware.org/packages/136807', 'Frugalware'; txt ' - ';
|
||||||
a href => 'http://packages.gentoo.org/package/net-p2p/ncdc', 'Gentoo'; txt ' - ';
|
a href => 'http://packages.gentoo.org/package/net-p2p/ncdc', 'Gentoo'; txt ' - ';
|
||||||
txt 'Mac OS X (';
|
txt 'Mac OS X (';
|
||||||
a href => 'http://www.macports.org/ports.php?by=name&substr=ncdc', 'MacPorts';
|
a href => 'http://www.macports.org/ports.php?by=name&substr=ncdc', 'MacPorts';
|
||||||
|
|
@ -501,11 +504,12 @@ sub docindex {
|
||||||
p;
|
p;
|
||||||
txt '2011-11-26 - '; b 'Multi-threaded Access to an SQLite3 Database';
|
txt '2011-11-26 - '; b 'Multi-threaded Access to an SQLite3 Database';
|
||||||
txt ' ['; a href => '/doc/sqlaccess', 'HTML'; txt ' - '; a href => '/dat/sqlaccess', rel => 'nofollow', 'POD'; txt ']';
|
txt ' ['; a href => '/doc/sqlaccess', 'HTML'; txt ' - '; a href => '/dat/sqlaccess', rel => 'nofollow', 'POD'; txt ']';
|
||||||
br;
|
span 'So you have a single database and some threads. How do you combine
|
||||||
|
these in a program?';
|
||||||
|
|
||||||
txt '2010-06-02 - '; b 'Design and implementation of a compressed linked list library';
|
txt '2010-06-02 - '; b 'Design and implementation of a compressed linked list library';
|
||||||
txt ' ['; a href => '/download/doc/compll.pdf', 'PDF'; txt ']';
|
txt ' ['; a href => '/download/doc/compll.pdf', 'PDF'; txt ']';
|
||||||
br;br;
|
span q|This isn't really an article. It's the report for the
|
||||||
txt q|Disclaimer: The last one isn't really an article. It's the report for the
|
|
||||||
final project of my professional (HBO) bachelor of Electrical
|
final project of my professional (HBO) bachelor of Electrical
|
||||||
Engineering. I was very liberal with some terminology in this report. For
|
Engineering. I was very liberal with some terminology in this report. For
|
||||||
example, "linked lists" aren't what you think they are, and I didn't even
|
example, "linked lists" aren't what you think they are, and I didn't even
|
||||||
|
|
@ -1103,6 +1107,7 @@ sub css {
|
||||||
pre, code, pre b { font: 11px monospace; }
|
pre, code, pre b { font: 11px monospace; }
|
||||||
pre b { font-weight: bold }
|
pre b { font-weight: bold }
|
||||||
pre.code, .pod pre { background: #111; border: 1px dotted #666; margin: 5px 10px; display: block; padding: 5px; }
|
pre.code, .pod pre { background: #111; border: 1px dotted #666; margin: 5px 10px; display: block; padding: 5px; }
|
||||||
|
span { display: block; font-size: 12px; margin: 3px 10px 10px 30px }
|
||||||
.indexgroup ul { margin-left: 5px; list-style-type: none }
|
.indexgroup ul { margin-left: 5px; list-style-type: none }
|
||||||
.indexgroup ul ul { margin-left: 20px }
|
.indexgroup ul ul { margin-left: 20px }
|
||||||
.pod p { margin: 3px 15px 13px 15px; text-align: justify }
|
.pod p { margin: 3px 15px 13px 15px; text-align: justify }
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue