aboutsummaryrefslogtreecommitdiff
path: root/doc/handbook/chapters/user.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/handbook/chapters/user.texi')
-rw-r--r--doc/handbook/chapters/user.texi104
1 files changed, 52 insertions, 52 deletions
diff --git a/doc/handbook/chapters/user.texi b/doc/handbook/chapters/user.texi
index bce16edae..37c5849ab 100644
--- a/doc/handbook/chapters/user.texi
+++ b/doc/handbook/chapters/user.texi
@@ -1,6 +1,6 @@
1@node Using GNUnet 1@node Using GNUnet
2@chapter Using GNUnet 2@chapter Using GNUnet
3@c %**end of header 3
4 4
5This tutorial is supposed to give a first introduction for users 5This tutorial is supposed to give a first introduction for users
6trying to do something real with GNUnet. Installation and 6trying to do something real with GNUnet. Installation and
@@ -47,7 +47,7 @@ $ gnunet-arm -e
47 47
48@node First steps - Using the GNU Name System 48@node First steps - Using the GNU Name System
49@section First steps - Using the GNU Name System 49@section First steps - Using the GNU Name System
50@c %**end of header 50
51 51
52@menu 52@menu
53* Preliminaries:: 53* Preliminaries::
@@ -65,7 +65,7 @@ $ gnunet-arm -e
65 65
66@node Preliminaries 66@node Preliminaries
67@subsection Preliminaries 67@subsection Preliminaries
68@c %**end of header 68
69 69
70``.pin'' is a default zone which points to a zone managed by gnunet.org. 70``.pin'' is a default zone which points to a zone managed by gnunet.org.
71Use @code{gnunet-config -s gns} to view the GNS configuration, including 71Use @code{gnunet-config -s gns} to view the GNS configuration, including
@@ -106,7 +106,7 @@ rules - GO0T87F9BPMF8NKD5A54L2AH1T0GRML539TPFSRMCEA98182QD30
106 106
107@node The GNS Tab 107@node The GNS Tab
108@subsection The GNS Tab 108@subsection The GNS Tab
109@c %**end of header 109
110 110
111Maintaing your zones is through the NAMESTORE service and is discussed 111Maintaing your zones is through the NAMESTORE service and is discussed
112here. You can manage your zone using @command{gnunet-identity} and 112here. You can manage your zone using @command{gnunet-identity} and
@@ -138,7 +138,7 @@ bottom of the window contains the existing entries in the selected zone.
138 138
139@node Creating a Record 139@node Creating a Record
140@subsection Creating a Record 140@subsection Creating a Record
141@c %**end of header 141
142 142
143We will begin by creating a simple record in your master zone. 143We will begin by creating a simple record in your master zone.
144To do this, click on the text "<new name>" in the table. The field is 144To do this, click on the text "<new name>" in the table. The field is
@@ -168,7 +168,7 @@ to edit it later.
168 168
169@node Resolving GNS records 169@node Resolving GNS records
170@subsection Resolving GNS records 170@subsection Resolving GNS records
171@c %**end of header 171
172 172
173Next, you should try resolving your own GNS records. The method we 173Next, you should try resolving your own GNS records. The method we
174found to be the most uncomplicated is to do this by explicitly 174found to be the most uncomplicated is to do this by explicitly
@@ -191,7 +191,7 @@ the application.
191 191
192@node Integration with Browsers 192@node Integration with Browsers
193@subsection Integration with Browsers 193@subsection Integration with Browsers
194@c %**end of header 194
195 195
196While we recommend integrating GNS using the NSS module in the 196While we recommend integrating GNS using the NSS module in the
197GNU libc Name Service Switch, you can also integrate GNS 197GNU libc Name Service Switch, you can also integrate GNS
@@ -302,7 +302,7 @@ You can now go back to the shell running @code{gnunet-bcd} and press
302 302
303@node Be Social 303@node Be Social
304@subsection Be Social 304@subsection Be Social
305@c %**end of header 305
306 306
307Next, you should print out your business card and be social. 307Next, you should print out your business card and be social.
308Find a friend, help them install GNUnet and exchange business cards with 308Find a friend, help them install GNUnet and exchange business cards with
@@ -424,7 +424,7 @@ performed by using the @command{-p} option of @command{gnunet-revocation}.
424 424
425@node What's Next? 425@node What's Next?
426@subsection What's Next? 426@subsection What's Next?
427@c %**end of header 427
428 428
429This may seem not like much of an application yet, but you have 429This may seem not like much of an application yet, but you have
430just been one of the first to perform a decentralized secure name 430just been one of the first to perform a decentralized secure name
@@ -443,7 +443,7 @@ using this new public key infrastructure.
443@pindex gnunet-conservation-gtk 443@pindex gnunet-conservation-gtk
444@node First steps - Using GNUnet Conversation 444@node First steps - Using GNUnet Conversation
445@section First steps - Using GNUnet Conversation 445@section First steps - Using GNUnet Conversation
446@c %**end of header 446
447 447
448First, you should launch the graphical user interface. You can do 448First, you should launch the graphical user interface. You can do
449this from the command-line by typing 449this from the command-line by typing
@@ -459,7 +459,7 @@ $ gnunet-conversation-gtk
459 459
460@node Testing your Audio Equipment 460@node Testing your Audio Equipment
461@subsection Testing your Audio Equipment 461@subsection Testing your Audio Equipment
462@c %**end of header 462
463 463
464First, you should use @code{gnunet-conversation-test} to check that your 464First, you should use @code{gnunet-conversation-test} to check that your
465microphone and speaker are working correctly. You will be prompted to 465microphone and speaker are working correctly. You will be prompted to
@@ -471,7 +471,7 @@ that the correct device is being associated with GNUnet's audio tools.
471 471
472@node GNS Zones 472@node GNS Zones
473@subsection GNS Zones 473@subsection GNS Zones
474@c %**end of header 474
475 475
476@code{gnunet-conversation} uses GNS for addressing. This means that 476@code{gnunet-conversation} uses GNS for addressing. This means that
477you need to have a GNS zone created before using it. Information 477you need to have a GNS zone created before using it. Information
@@ -485,7 +485,7 @@ about how to create GNS zones can be found here.
485 485
486@node Picking an Identity 486@node Picking an Identity
487@subsubsection Picking an Identity 487@subsubsection Picking an Identity
488@c %**end of header 488
489 489
490To make a call with @code{gnunet-conversation}, you first 490To make a call with @code{gnunet-conversation}, you first
491need to choose an identity. This identity is both the caller ID 491need to choose an identity. This identity is both the caller ID
@@ -542,7 +542,7 @@ manually. Save the record.
542 542
543@node Calling somebody 543@node Calling somebody
544@subsubsection Calling somebody 544@subsubsection Calling somebody
545@c %**end of header 545
546 546
547Now you can call a buddy. Obviously, your buddy will have to have GNUnet 547Now you can call a buddy. Obviously, your buddy will have to have GNUnet
548installed and must have performed the same steps. Also, you must have 548installed and must have performed the same steps. Also, you must have
@@ -568,7 +568,7 @@ Either of you can end the call using @command{/cancel}. You can exit
568 568
569@node First steps - Using the GNUnet VPN 569@node First steps - Using the GNUnet VPN
570@section First steps - Using the GNUnet VPN 570@section First steps - Using the GNUnet VPN
571@c %**end of header 571
572 572
573 573
574@menu 574@menu
@@ -581,7 +581,7 @@ Either of you can end the call using @command{/cancel}. You can exit
581 581
582@node VPN Preliminaries 582@node VPN Preliminaries
583@subsection VPN Preliminaries 583@subsection VPN Preliminaries
584@c %**end of header 584
585 585
586To test the GNUnet VPN, we should first run a web server. 586To test the GNUnet VPN, we should first run a web server.
587The easiest way to do this is to just start @code{gnunet-bcd}, 587The easiest way to do this is to just start @code{gnunet-bcd},
@@ -622,7 +622,7 @@ to install the NSS plugins in the proper location.
622 622
623@node GNUnet-Exit configuration 623@node GNUnet-Exit configuration
624@subsection GNUnet-Exit configuration 624@subsection GNUnet-Exit configuration
625@c %**end of header 625
626 626
627Stop your peer (as user @code{gnunet}, run @command{gnunet-arm -e}) and 627Stop your peer (as user @code{gnunet}, run @command{gnunet-arm -e}) and
628run @command{gnunet-setup}. In @command{gnunet-setup}, make sure to 628run @command{gnunet-setup}. In @command{gnunet-setup}, make sure to
@@ -638,7 +638,7 @@ Now exit @command{gnunet-setup} and restart your peer
638 638
639@node GNS configuration 639@node GNS configuration
640@subsection GNS configuration 640@subsection GNS configuration
641@c %**end of header 641
642 642
643Now, using your normal user (not the @code{gnunet} system user), run 643Now, using your normal user (not the @code{gnunet} system user), run
644@command{gnunet-namestore-gtk}. Add a new label www in your 644@command{gnunet-namestore-gtk}. Add a new label www in your
@@ -658,7 +658,7 @@ exit @command{gnunet-namestore-gtk}.
658 658
659@node Accessing the service 659@node Accessing the service
660@subsection Accessing the service 660@subsection Accessing the service
661@c %**end of header 661
662 662
663You should now be able to access your webserver. Type in: 663You should now be able to access your webserver. Type in:
664 664
@@ -681,7 +681,7 @@ your business card.
681 681
682@node Using a Browser 682@node Using a Browser
683@subsection Using a Browser 683@subsection Using a Browser
684@c %**end of header 684
685 685
686Sadly, modern browsers tend to bypass the Name Services Switch and 686Sadly, modern browsers tend to bypass the Name Services Switch and
687attempt DNS resolution directly. You can either run 687attempt DNS resolution directly. You can either run
@@ -693,7 +693,7 @@ using the HTTP proxy with Chrome does work.
693 693
694@node File-sharing 694@node File-sharing
695@section File-sharing 695@section File-sharing
696@c %**end of header 696
697 697
698This chapter documents the GNUnet file-sharing application. The original 698This chapter documents the GNUnet file-sharing application. The original
699file-sharing implementation for GNUnet was designed to provide 699file-sharing implementation for GNUnet was designed to provide
@@ -726,7 +726,7 @@ files.
726 726
727@node fs-Searching 727@node fs-Searching
728@subsection Searching 728@subsection Searching
729@c %**end of header 729
730 730
731The command @command{gnunet-search} can be used to search 731The command @command{gnunet-search} can be used to search
732for content on GNUnet. The format is: 732for content on GNUnet. The format is:
@@ -784,7 +784,7 @@ the file in bytes.
784 784
785@node fs-Downloading 785@node fs-Downloading
786@subsection Downloading 786@subsection Downloading
787@c %**end of header 787
788 788
789In order to download a file, you need the whole line returned by 789In order to download a file, you need the whole line returned by
790@command{gnunet-search}. 790@command{gnunet-search}.
@@ -823,7 +823,7 @@ current number of bytes downloaded whenever new data was received.
823 823
824@node fs-Publishing 824@node fs-Publishing
825@subsection Publishing 825@subsection Publishing
826@c %**end of header 826
827 827
828The command @command{gnunet-publish} can be used to add content 828The command @command{gnunet-publish} can be used to add content
829to the network. The basic format of the command is 829to the network. The basic format of the command is
@@ -844,7 +844,7 @@ $ gnunet-publish -m "description:GNU License" -k gpl -k test -m "mimetype:text/p
844 844
845@node Important command-line options 845@node Important command-line options
846@subsubsection Important command-line options 846@subsubsection Important command-line options
847@c %**end of header 847
848 848
849The option @code{-k} is used to specify keywords for the file that 849The option @code{-k} is used to specify keywords for the file that
850should be inserted. You can supply any number of keywords, 850should be inserted. You can supply any number of keywords,
@@ -871,7 +871,7 @@ man gnunet-publish
871 871
872@node Indexing vs. Inserting 872@node Indexing vs. Inserting
873@subsubsection Indexing vs Inserting 873@subsubsection Indexing vs Inserting
874@c %**end of header 874
875 875
876By default, GNUnet indexes a file instead of making a full copy. 876By default, GNUnet indexes a file instead of making a full copy.
877This is much more efficient, but requires the file to stay unaltered 877This is much more efficient, but requires the file to stay unaltered
@@ -907,7 +907,7 @@ able to crack the encryption (e.g. by guessing the keyword.
907 907
908@node fs-Concepts 908@node fs-Concepts
909@subsection Concepts 909@subsection Concepts
910@c %**end of header 910
911 911
912For better results with filesharing it is useful to understand the 912For better results with filesharing it is useful to understand the
913following concepts. 913following concepts.
@@ -936,7 +936,7 @@ concepts that are used to achieve these goals.
936 936
937@node Files 937@node Files
938@subsubsection Files 938@subsubsection Files
939@c %**end of header 939
940 940
941A file in GNUnet is just a sequence of bytes. Any file-format is allowed 941A file in GNUnet is just a sequence of bytes. Any file-format is allowed
942and the maximum file size is theoretically @math{2^64 - 1} bytes, except 942and the maximum file size is theoretically @math{2^64 - 1} bytes, except
@@ -946,7 +946,7 @@ using GNU libextractor to obtain keywords.
946 946
947@node Keywords 947@node Keywords
948@subsubsection Keywords 948@subsubsection Keywords
949@c %**end of header 949
950 950
951Keywords are the most simple mechanism to find files on GNUnet. 951Keywords are the most simple mechanism to find files on GNUnet.
952Keywords are @strong{case-sensitive} and the search string 952Keywords are @strong{case-sensitive} and the search string
@@ -963,7 +963,7 @@ request.
963 963
964@node Directories 964@node Directories
965@subsubsection Directories 965@subsubsection Directories
966@c %**end of header 966
967 967
968A directory in GNUnet is a list of file identifiers with meta data. 968A directory in GNUnet is a list of file identifiers with meta data.
969The file identifiers provide sufficient information about the files 969The file identifiers provide sufficient information about the files
@@ -986,7 +986,7 @@ other meta information, and possibly even the full original file
986 986
987@node Pseudonyms 987@node Pseudonyms
988@subsubsection Pseudonyms 988@subsubsection Pseudonyms
989@c %**end of header 989
990 990
991@b{Please note that the text in this subsection is outdated and needs} 991@b{Please note that the text in this subsection is outdated and needs}
992@b{to be rewritten for version 0.10!} 992@b{to be rewritten for version 0.10!}
@@ -1005,7 +1005,7 @@ to copy around).
1005 1005
1006@node Namespaces 1006@node Namespaces
1007@subsubsection Namespaces 1007@subsubsection Namespaces
1008@c %**end of header 1008
1009 1009
1010@b{Please note that the text in this subsection is outdated and needs} 1010@b{Please note that the text in this subsection is outdated and needs}
1011@b{to be rewritten for version 0.10!} 1011@b{to be rewritten for version 0.10!}
@@ -1020,7 +1020,7 @@ same entity (which does not have to be the same person).
1020 1020
1021@node Advertisements 1021@node Advertisements
1022@subsubsection Advertisements 1022@subsubsection Advertisements
1023@c %**end of header 1023
1024 1024
1025@b{Please note that the text in this subsection is outdated and needs} 1025@b{Please note that the text in this subsection is outdated and needs}
1026@b{to be rewritten for version 0.10!} 1026@b{to be rewritten for version 0.10!}
@@ -1045,7 +1045,7 @@ confusion.
1045 1045
1046@node Anonymity level 1046@node Anonymity level
1047@subsubsection Anonymity level 1047@subsubsection Anonymity level
1048@c %**end of header 1048
1049 1049
1050The anonymity level determines how hard it should be for an adversary to 1050The anonymity level determines how hard it should be for an adversary to
1051determine the identity of the publisher or the searcher/downloader. An 1051determine the identity of the publisher or the searcher/downloader. An
@@ -1059,7 +1059,7 @@ it can also significantly hurt performance.
1059 1059
1060@node Content Priority 1060@node Content Priority
1061@subsubsection Content Priority 1061@subsubsection Content Priority
1062@c %**end of header 1062
1063 1063
1064Depending on the peer's configuration, GNUnet peers migrate content 1064Depending on the peer's configuration, GNUnet peers migrate content
1065between peers. Content in this sense are individual blocks of a file, 1065between peers. Content in this sense are individual blocks of a file,
@@ -1076,7 +1076,7 @@ when the block was published initially.
1076 1076
1077@node Replication 1077@node Replication
1078@subsubsection Replication 1078@subsubsection Replication
1079@c %**end of header 1079
1080 1080
1081When peers migrate content to other systems, the replication level 1081When peers migrate content to other systems, the replication level
1082of a block is used to decide which blocks need to be migrated most 1082of a block is used to decide which blocks need to be migrated most
@@ -1088,7 +1088,7 @@ selection is simply random.
1088 1088
1089@node Namespace Management 1089@node Namespace Management
1090@subsection Namespace Management 1090@subsection Namespace Management
1091@c %**end of header 1091
1092 1092
1093@b{Please note that the text in this subsection is outdated and needs} 1093@b{Please note that the text in this subsection is outdated and needs}
1094@b{to be rewritten for version 0.10!} 1094@b{to be rewritten for version 0.10!}
@@ -1108,7 +1108,7 @@ lists all locally available pseudonyms.
1108 1108
1109@node Creating Pseudonyms 1109@node Creating Pseudonyms
1110@subsubsection Creating Pseudonyms 1110@subsubsection Creating Pseudonyms
1111@c %**end of header 1111
1112 1112
1113@b{Please note that the text in this subsection is outdated and needs} 1113@b{Please note that the text in this subsection is outdated and needs}
1114@b{to be rewritten for version 0.10!} 1114@b{to be rewritten for version 0.10!}
@@ -1123,7 +1123,7 @@ used.
1123 1123
1124@node Deleting Pseudonyms 1124@node Deleting Pseudonyms
1125@subsubsection Deleting Pseudonyms 1125@subsubsection Deleting Pseudonyms
1126@c %**end of header 1126
1127 1127
1128@b{Please note that the text in this subsection is outdated and needs} 1128@b{Please note that the text in this subsection is outdated and needs}
1129@b{to be rewritten for version 0.10!} 1129@b{to be rewritten for version 0.10!}
@@ -1137,7 +1137,7 @@ unavailable.
1137 1137
1138@node Advertising namespaces 1138@node Advertising namespaces
1139@subsubsection Advertising namespaces 1139@subsubsection Advertising namespaces
1140@c %**end of header 1140
1141 1141
1142@b{Please note that the text in this subsection is outdated and needs} 1142@b{Please note that the text in this subsection is outdated and needs}
1143@b{to be rewritten for version 0.10!} 1143@b{to be rewritten for version 0.10!}
@@ -1157,7 +1157,7 @@ the quality of the content found in it.
1157 1157
1158@node Namespace names 1158@node Namespace names
1159@subsubsection Namespace names 1159@subsubsection Namespace names
1160@c %**end of header 1160
1161 1161
1162@b{Please note that the text in this subsection is outdated and needs} 1162@b{Please note that the text in this subsection is outdated and needs}
1163@b{to be rewritten for version 0.10!} 1163@b{to be rewritten for version 0.10!}
@@ -1172,7 +1172,7 @@ to the NICKNAME to get a unique identifier.
1172 1172
1173@node Namespace root 1173@node Namespace root
1174@subsubsection Namespace root 1174@subsubsection Namespace root
1175@c %**end of header 1175
1176 1176
1177@b{Please note that the text in this subsection is outdated and needs} 1177@b{Please note that the text in this subsection is outdated and needs}
1178@b{to be rewritten for version 0.10!} 1178@b{to be rewritten for version 0.10!}
@@ -1185,7 +1185,7 @@ entry point to the content of the namespace.
1185 1185
1186@node File-Sharing URIs 1186@node File-Sharing URIs
1187@subsection File-Sharing URIs 1187@subsection File-Sharing URIs
1188@c %**end of header 1188
1189 1189
1190GNUnet (currently) uses four different types of URIs for 1190GNUnet (currently) uses four different types of URIs for
1191file-sharing. They all begin with "gnunet://fs/". 1191file-sharing. They all begin with "gnunet://fs/".
@@ -1207,7 +1207,7 @@ into two OR-ed keywords 'foo' and 'bar', not into '"foo bar"'.
1207 1207
1208@node Encoding of hash values in URIs 1208@node Encoding of hash values in URIs
1209@subsubsection Encoding of hash values in URIs 1209@subsubsection Encoding of hash values in URIs
1210@c %**end of header 1210
1211 1211
1212Most URIs include some hash values. Hashes are encoded using 1212Most URIs include some hash values. Hashes are encoded using
1213base32hex (RFC 2938). 1213base32hex (RFC 2938).
@@ -1215,7 +1215,7 @@ base32hex (RFC 2938).
1215@cindex chk-uri 1215@cindex chk-uri
1216@node Content Hash Key (chk) 1216@node Content Hash Key (chk)
1217@subsubsection Content Hash Key (chk) 1217@subsubsection Content Hash Key (chk)
1218@c %**end of header 1218
1219 1219
1220A chk-URI is used to (uniquely) identify a file or directory 1220A chk-URI is used to (uniquely) identify a file or directory
1221and to allow peers to download the file. Files are stored in 1221and to allow peers to download the file. Files are stored in
@@ -1232,7 +1232,7 @@ of the encrypted block).
1232@cindex loc-uri 1232@cindex loc-uri
1233@node Location identifiers (loc) 1233@node Location identifiers (loc)
1234@subsubsection Location identifiers (loc) 1234@subsubsection Location identifiers (loc)
1235@c %**end of header 1235
1236 1236
1237For non-anonymous file-sharing, loc-URIs are used to specify which 1237For non-anonymous file-sharing, loc-URIs are used to specify which
1238peer is offering the data (in addition to specifying all of the 1238peer is offering the data (in addition to specifying all of the
@@ -1248,7 +1248,7 @@ base32hex) and EXPTIME specifies when the signature expires
1248@cindex ksk-uri 1248@cindex ksk-uri
1249@node Keyword queries (ksk) 1249@node Keyword queries (ksk)
1250@subsubsection Keyword queries (ksk) 1250@subsubsection Keyword queries (ksk)
1251@c %**end of header 1251
1252 1252
1253A keyword-URI is used to specify that the desired operation 1253A keyword-URI is used to specify that the desired operation
1254is the search using a particular keyword. The format is simply 1254is the search using a particular keyword. The format is simply
@@ -1263,7 +1263,7 @@ Furthermore they must not contain '++'.
1263@cindex sks-uri 1263@cindex sks-uri
1264@node Namespace content (sks) 1264@node Namespace content (sks)
1265@subsubsection Namespace content (sks) 1265@subsubsection Namespace content (sks)
1266@c %**end of header 1266
1267 1267
1268@b{Please note that the text in this subsection is outdated and needs} 1268@b{Please note that the text in this subsection is outdated and needs}
1269@b{to be rewritten for version 0.10!} 1269@b{to be rewritten for version 0.10!}
@@ -1298,7 +1298,7 @@ looking for for testing, we need to begin by publishing a file.
1298 1298
1299@node gtk-Publishing 1299@node gtk-Publishing
1300@subsubsection Publishing 1300@subsubsection Publishing
1301@c %**end of header 1301
1302 1302
1303To publish a file, select "File Sharing" in the menu bar just below the 1303To publish a file, select "File Sharing" in the menu bar just below the
1304"Statistics" icon, and then select "Publish" from the menu. 1304"Statistics" icon, and then select "Publish" from the menu.
@@ -1361,7 +1361,7 @@ with progress indicators):
1361 1361
1362@node gtk-Searching 1362@node gtk-Searching
1363@subsubsection Searching 1363@subsubsection Searching
1364@c %**end of header 1364
1365 1365
1366Below the menu bar, there are four entry widges labeled "Namespace", 1366Below the menu bar, there are four entry widges labeled "Namespace",
1367"Keywords", "Anonymity" and "Mime-type" (from left to right). These 1367"Keywords", "Anonymity" and "Mime-type" (from left to right). These
@@ -1386,7 +1386,7 @@ a little area for downloading appears.
1386 1386
1387@node gtk-Downloading 1387@node gtk-Downloading
1388@subsubsection Downloading 1388@subsubsection Downloading
1389@c %**end of header 1389
1390 1390
1391In the downloading area, you can select the target directory (default is 1391In the downloading area, you can select the target directory (default is
1392"Downloads") and specify the desired filename (by default the filename it 1392"Downloads") and specify the desired filename (by default the filename it
@@ -1413,7 +1413,7 @@ That's it, you now know the basics for file-sharing with GNUnet!
1413 1413
1414@node The GNU Name System 1414@node The GNU Name System
1415@section The GNU Name System 1415@section The GNU Name System
1416@c %**end of header 1416
1417 1417
1418 1418
1419The GNU Name System (GNS) is secure and decentralized naming system. 1419The GNU Name System (GNS) is secure and decentralized naming system.