(Only for WinFBB and LinFBB)
The contents of this file is: Info about Telnet interface Example of PORT.SYS for LinFBB Example of PORT.SYS for WinFBB Example of FORWARD.SYS Info about Telnet interface Telnet is a communication tool like a terminal, but using TCP-IP. That is you can use it on a network like the web. You MUST validate your local echo first. It´s possible to use Telnet with LinFBB and WinFBB to be used in User contacts or in Forward contacts. The address to use may be 189C (189C hex = 6300 decimal). But, it´s also possible to define another port address, for example if you want Telnet access to LinFBB on port 23, (port 23 is standard for Telnet, but 23 is also used by inetd in Linux!) then change the ´address´ of COM2 to 17 (hex 17 = 23 decimalt) Tip: You may put the R letter (Read only default access) which gives a read-only if the user is unknown or not authorized for Modem/Telnet (M Flag in EU command). Example of PORT.SYS for LinFBB Standard PORT.SYS with 1 TNC (COM1) with WA8DED-hostmode, 4 channels, 1 channel for outgoing forward, and one Telnet interface listening on port 6300, 8 channels, 1 channel for outgoing forward. # FBB7.00 # File for programming of channels and TNCs. # # Ports : How many ports (COM1, COM2, Etc...) # TNCs : How many TNCs and modems in use. With multiplexer # there can be up to 4 TNCs per port. # #Ports TNCs 2 2 # #In WinFBB ONLY THESE interfaces are available: # Interface : 2 = BPQ-node (BPQ in AA4RE-mode) # 4 = DRSI # 5 = TFPCR/TFPCX interface. Interrupt MUST be 0xFD or the same # as stated in INIT.SRV, if any.. # 6 = Windows-driver, replaces both ESS and FBBIOS. # 7 = TCP/IP. Needs WINSOCK.DLL. Put port-address as 17. # TNC-emulation is T (see below) # 8 = TFWin.dll # BEWARE: The old interface 1 and 3 will NOT be used in WinFBB. Interface 6 # replaces both. (FBBCOMM.DRV). Neither ESS nor FBBIOS can be # used with WinFBB ! # #In LinFBB ONLY this interface is available: # Interface 9 = Linux. Can work via serial port (D),via AX25 domain # socket (X) or via Telnet port (T). # #In DosFBB ONLY THESE interfaces are available: # Interface : 1 = Use external COMBIOS-driver (MBBIOS, ESS etc) # 2 = BPQ-node v 4.05 and up (BPQ in AA4RE-mode) # 3 = Telephone-modem with FBBIOS # 4 = DRSI card with driver # 5 = TFPCR/TFPCX interface. Interrupt MUST be 0xFD or the same # as stated in INIT.SRV, if any.. # # Address : Address of port in hexadecimal (Needed for multiplexer). # In LinFBB: # Address is the device name (/dev/cua0). # Be sure you have the rights to access to the device (rw-rw-rw-). # When using kernel AF_AX25 socket, address is not used. # When using Telnet, address is the Telnet port in Hex (Hex 17 = Telnet port 23) # Baud : Ports baud rate. Ignored by BPQ, kernel AF_AX25 socket and Telnet. # # Use same number of lines as number of ports. # #Com Interface Address (device) Baud 1 9 /dev/cua0 9600 2 9 189C 0 # # TNC : Number on TNC in use. Use 0 for file-forward ! # NbCh : Number of channels I want to use in the TNC. # Maximum available channels depend on firmware. # Com : Number of the COM-port. Com1, Com2 etc. # MultCh : Number of channel if port-multiplexer is used, otherwise 1. # In DRSI use values from 0 to 7, by KAM use 1/VHF and 2/HF. # When using kernel AF_AX25 socket in Linux, MultCh is the # interface name (eg: ax0) # Paclen : PACLEN on this TNC. # Maxframe: The maximum nb of frames the TNC will send at a time. # NbFwd : Number of channels for OUTGOING forward at same time. # MxBloc : Size of forward-block in kb. # M/P-Fwd : Minute of the hour for start of forward, and period # (how many minutes between each forward-start). # Port mode, one of these: # B : BBS-mode. # G : "Guest"-mode. # U : Normal-mode. # Type host-mode, one of these: # D : WA8DED # K : KAM hostmode. Must use ESSKAM driver. # P : PK-232 # Q : BPQ v 4.x # T : Ethernet/TCP-IP # X : AX25 domain socket (for Linux) # Addition: One or more of these letters can be used too: # L : Send unproto beacon after each arriving mail. # M : Telephone-modem. # Y : Yapp allowed on this QRG. # W : Gateway allowed TO this QRG. # R : Modem port allowed in Read-only mode. # Freq. : Text to describe this port (max 9 characters, no space) # # Same number of lines as TNCs: # #TNC NbCh Com MultCh Pacln Maxfr NbFwd MxBloc M/P-Fwd Mode Freq 0 0 0 0 0 0 0 0 00/01 ---- File-fwd. 1 4 1 1 230 4 1 10 30/60 UDYL 433.650 2 8 2 0 250 2 1 10 00/60 TUWR Telnet # # Special callsigns and modes for some channels. # #TNC Nbs Callsign-SSID Mode #1 1 LA1B-1 B # # End of file. # Example of PORT.SYS for WinFBB Standard PORT.SYS with 1 TNC (COM1) with WA8DED-hostmode, 4 channels, 1 channel for outgoing forward, and one Telnet interface listening on port 6300, 8 channels, 1 channel for outgoing forward. # FBB7.00 # # #Ports TNCs 2 2 # # Com : COM-number (1,2,...8) # # Interface : 2 = BPQ-node (BPQ in AA4RE-mode) # 4 = DRSI # 5 = TFPCR/TFPCX interface. Interrupt MUST be 0xFD or the same # as stated in INIT.SRV, if any.. # 6 = Windows-driver, replaces both ESS, ESSKAM and FBBIOS. # 7 = TCP/IP. Needs WINSOCK.DLL. # TNC-emulation is T (see below) # 8 = TFWin.dll # BEWARE: The old interface 1 and 3 will NOT be used in WinFBB. Interface 6 # replaces both. (FBBCOMM.DRV). Neither ESS nor FBBIOS can be # used with WinFBB ! ## #Com Interface Adress (Hex) Baud 1 6 3F8 9600 2 7 189C 0 # # TNC : Number on TNC in use. Use 0 for file-forward ! # NbCh : Number of channels I want to use in the TNC. # Maximum available channels depend on firmware. # Com : Number of the COM-port. Com1, Com2 etc. # MultCh : Number of channel if port-multiplexer is used, otherwise 1. # In DRSI use values from 0 to 7, by KAM use 1/VHF and 2/HF. # When using kernel AF_AX25 socket in Linux, # MultCh is the interface name (eg: ax0) # Paclen : PACLEN on this TNC. # Maxframe: The maximum nb of frames the TNC will send at a time. # NbFwd : Number of channels for OUTGOING forward at same time. # MxBloc : Size of forward-block in kb. # M/P-Fwd : Minute of the hour for start of forward, and period # (how many minutes between each forward-start). # Port mode, one of these: # B : BBS-mode. # G : "Guest"-mode. # U : Normal-mode. # Type host-mode, one of these: # D : WA8DED # K : KAM hostmode. # P : PK-232 # Q : BPQ v 4.x # T : Ethernet/TCP-IP # X : AX25 domain socket (for Linux) # Addition: One or more of these letters can be used too: # L : Send unproto beacon after each arriving mail. # M : Telephone-modem. # Y : Yapp allowed on this QRG. # W : Gateway allowed TO this QRG. # R : Modem port allowed in Read-only mode. # Freq. : Text to describe this port (max 9 characters, no space) # # Same number of lines as TNCs: # #TNC NbCh Com MultCh Pacln Maxfr NbFwd MxBloc M/P-Fwd Mode Freq 0 0 0 0 0 0 0 0 00/01 ---- File-fwd. 1 4 1 1 230 4 1 10 30/60 UDYL 433.650 2 8 2 0 250 2 1 10 00/60 TUWR Telnet # # Special callsigns and modes for some channels. # #TNC Nbs Callsign-SSID Mode # 1 1 LA1B-1 B # # End of file. # Example of FORWARD.SYS It´s syntax is common to both LinFBB and WinFBB. A SK6BA P A # C C <callsign> <ip address> <ip port> C C SK6BA <IP_ADDRESS> 6300 # V <login>$W<password>$W V SM6TKY$WPASSWORD$W # # the rest of fwd block... This page was last updated


{% extends "sculpture/display/base.html" %} {% block breadcrumb %}
View Sites and Images having features of this type.


Exercises
To add an exercise, enter the name, reps, weight, date, and unit of weight measurement.
Select unit of measurement...
Pounds
Kilograms ☭
Save to Database


I’ve been using the EC2 API quite a lot lately, while working on the
Landscape project. The
API documentation
is excellent, but I want to know how it behaves when things go wrong.
What kind of failure is produced when I forget to pass a parameter?
What happens when I pass a bogus parameter? How does it behave when I
pass numbered parameters that aren’t in sequence, like
Name.7=foo&Name.42=bar
? How does Amazon’s implementation differ from
Eucalyptus or Nova?
I couldn’t find the answers I wanted in the documentation so I wrote a
simple tool to invoke a method with an arbitrary set of parameters
against an EC2 API endpoint. After sending the request, it prints the
HTTP status code and response to the screen. It’s called
txaws-discover
and is part of the
txAWS project. For example, to run the
DescribeRegions
method simply provide credentials, an endpoint, the
method name and whatever parameters you want to pass with it:
1 2 3 4 5 |
|
This command produces the following output:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
The credentials and API endpoint can be defined in environment
variables to make txaws-discover
easier to use:
1 2 3 |
|
With those defined, the command above can be shortened:
1
|
|
It’s in lp:txaws and has proven to be very helpful as a learning tool.


26 Jan 2015
Hash with Matlab
When writing some program involving search
function, matching the element within a data structure would take a long time if this is not done in a decent way.
- For multidimensional array, searching a element would take \(O(N)\) time complexity in average. If sorted, then time would be reduced to \(O(\log N)\), however, it is still not optimal under some cases, especially when we have redundant memory and fast IO.
- For a set/tree/dict, searching would be more or less faster by taking advantage of structure.
Matlab provides several search functions with hash:
containers.Map
java.util.HashSet
,java.util.HashMap
- use MEX interface
- use logic matching
Containers.Map
The generic method as containers.Map
is built-in and as noted, it is most efficient when stored data is scalar or char.
mapObj = containers.Map
mapObj = containers.Map(keySet,valueSet)
mapObj = containers.Map(keySet,valueSet,'UniformValues',isUniform)
mapObj = containers.Map('KeyType',kType,'ValueType',vType)
and following is quoted from Map.m
:
myMap = containers.Map('KeyType', kType, 'ValueType', vType)
constructs a Map
object with no data that uses a key type of kType
, and a value
type of vType
.
Valid values for kType
are the strings: 'char'
,
'double'
, 'single'
, 'int32'
, 'uint32'
,'int64'
, 'uint64'
.
Valid values
for vType
are the strings: 'char'
, 'double'
, 'single'
, 'int8'
, 'uint8'
,
'int16'
, 'uint16'
, 'int32'
, 'uint32'
, 'int64'
, 'uint64'
,'logical'
, or
'any'
.
The order of the key type and value type arguments is not important, but both must be provided.
Java workaround
Map
structure from Java is java.util.HashMap
. At Matlab 2014b, this method has almost the same performance as containers.Map
, since containers.Map
is actually a scaled-down implementation of java.util.HashMap
.
% construct map
cm = containers.Map(1:100000,rand(1, 100000),'UniformValues',true);
tic;
for i = 1:100000
cm.isKey(i);
end
toc;
% construct map
jm = java.util.HashMap;
for i = 1:100000
jm.put(i, rand(1));
end
tic;
for i = 1:100000
jm.containsKey(i);
end
toc;
Elapsed time is 4.141781 seconds.
Elapsed time is 3.769957 seconds.
Mex with mexplus
Use C++ to wrap unordered_map
for all basic types would be more than enough. At mexplus level, implement all necessary wrapper functions such as add
, remove
, hasKey
, etc, then port them into Matlab class. Note: using std
will not be thread safe. The java.util.HashMap
is thread safe.
Logic matching
The slowest approach. using logic expression for searching/matching. Not recommended if dealing with large data set.


Welcome to page!
Himarsha Jayanetti, CS595 - Spring 2021, ODU
This page is created to demonstrate how to prevent a framable site from being embedded in this HTML.


Platform-specific functions
Windows
These functions are declared in the following header file:
#include <allegro5/allegro_windows.h>
al_get_win_window_handle
HWND al_get_win_window_handle(ALLEGRO_DISPLAY *display)
Returns the handle to the window that the passed display is using.
al_win_add_window_callback
bool al_win_add_window_callback(ALLEGRO_DISPLAY *display,
bool (*callback)(ALLEGRO_DISPLAY *display, UINT message, WPARAM wparam,
LPARAM lparam, LRESULT *result, void *userdata), void *userdata)
The specified callback function will intercept the window's message before Allegro processes it. If the callback function consumes the event, then it should return true. In that case, Allegro will not do anything with the event.
Optionally, you may use result
to customize what Allegro will return return in response to this event. By default, Allegro returns TRUE
.
The userdata
pointer can be used to supply additional context to the callback function.
The callbacks are executed in the same order they were added.
Returns true if the callback was added.
Since: 5.1.2
al_win_remove_window_callback
bool al_win_remove_window_callback(ALLEGRO_DISPLAY *display,
bool (*callback)(ALLEGRO_DISPLAY *display, UINT message, WPARAM wparam,
LPARAM lparam, LRESULT *result, void *userdata), void *userdata)
Removes the callback that was previously registered with al_win_add_window_callback. The userdata
pointer must be the same as what was used during the registration of the callback.
Returns true if the callback was removed.
Since: 5.1.2
Mac OS X
These functions are declared in the following header file:
#include <allegro5/allegro_osx.h>
al_osx_get_window
NSWindow* al_osx_get_window(ALLEGRO_DISPLAY *display)
Retrieves the NSWindow handle associated with the Allegro display.
Since: 5.0.8, 5.1.3
iPhone
These functions are declared in the following header file:
#include <allegro5/allegro_iphone.h>
al_iphone_set_statusbar_orientation
void al_iphone_set_statusbar_orientation(int o)
Sets the orientation of the status bar, which can be one of the following:
- ALLEGRO_IPHONE_STATUSBAR_ORIENTATION_PORTRAIT
- ALLEGRO_IPHONE_STATUSBAR_ORIENTATION_PORTRAIT_UPSIDE_DOWN
- ALLEGRO_IPHONE_STATUSBAR_ORIENTATION_LANDSCAPE_RIGHT
- ALLEGRO_IPHONE_STATUSBAR_ORIENTATION_LANDSCAPE_LEFT
Since: 5.1.0
al_iphone_get_view
UIView *al_iphone_get_view(ALLEGRO_DISPLAY *display)
Retrieves the UIView* (EAGLView*) associated with the Allegro display.
Since: 5.1.0
al_iphone_get_window
UIWindow *al_iphone_get_window(ALLEGRO_DISPLAY *display)
Retrieves the UIWindow* associated with the Allegro display.
Since: 5.1.0
Android
These functions are declared in the following header file:
#include <allegro5/allegro_android.h>
al_android_set_apk_file_interface
void al_android_set_apk_file_interface(void)
This function will set up a custom ALLEGRO_FILE_INTERFACE that makes all future calls of al_fopen read from the applicatons's APK file.
Note: Currently, access to the APK file after calling this function is read only.
Since: 5.1.2
al_android_set_apk_fs_interface
void al_android_set_apk_fs_interface(void)
This function will set up a custom ALLEGRO_FS_INTERFACE which allows working within the APK filesystem. The filesystem root is your assets directory and there is read-only access to all files within.
Note: Some things like querying file size or attributes are not supported by this. You can always use the PhysFS addon to open the APK file (it is just a regular .zip file) and get more complete information.
Since: 5.1.13
al_android_get_os_version
const char *al_android_get_os_version(void)
Returns a pointer to a static buffer that contains the version string of the Android platform that the calling Allegro program is running on.
Since: 5.1.2
al_android_get_jni_env
JNIEnv *al_android_get_jni_env(void)
Returns the Android JNI environment used by Allegro to call into Java. As a convenience this function provides it to the user so there is no need to obtain it yourself.
For example if you have a Java method "void send(String message)" in your activity class, you could call it like this from C code:
JNIEnv * env = al_android_get_jni_env();
jclass class_id = (* env)->GetObjectClass(env, al_android_get_activity());
jmethodID method_id = (* env)->GetMethodID(env, class_id, "send",
"(Ljava/lang/String;)V");
jstring jdata = (* env)->NewStringUTF(env, "Hello Java!");
(* env)->CallVoidMethod(env, al_android_get_activity(), method_id, jdata);
(* env)->DeleteLocalRef(env, jdata);
Since: 5.2.2
Unstable API: This API is new and subject to refinement.
al_android_get_activity
jobject al_android_get_activity(void)
Returns the Java Android activity used by Allegro. This is the same object created by Android from the class you specify in your manifest and either an instance of AllegroActivity or a derived class.
Since: 5.2.2
Unstable API: This API is new and subject to refinement.
X11
These functions are declared in the following header file:
#include <allegro5/allegro_x.h>
al_get_x_window_id
XID al_get_x_window_id(ALLEGRO_DISPLAY *display)
Retrieves the XID associated with the Allegro display.
Since: 5.1.12
al_x_set_initial_icon
bool al_x_set_initial_icon(ALLEGRO_BITMAP *bitmap)
On some window managers (notably Ubuntu's Unity) al_set_display_icon doesn't work and you need to use a .desktop file. But with this function you can set an icon before calling al_create_display. This works by setting the icon before XMapWindow.
Since: 5.2.3
Unstable API: New API.


{#
#}
SIGN UP
Name
Date of Birth
Email
Password
Contact Number
Address
District
Pin
State
Profile Image


A CANTERBURY TALE A film review by Jeff Meyer Copyright 1989 Jeff Meyer
[Seen at the Seattle International Film Festival]
A CANTERBURY TALE (Great Britain, 1944) Directors/Producers/Screenwriters: The Archers (Michael Powell and Eric Pressburger) Cast: Eric Portman, Sheilla Sim, Sgt. John Sweet, Dennis Price, Esmond Knight, Charles Hawtrey, Hay Petrie
[Part of the TRIBUTE TO MICHAEL POWELL series]
I start this review with some trepidation, because of all of the films done by The Archers, this may well be my favorite (which is saying something, considering they also produced, wrote and directed THE LIFE AND DEATH OF COLONEL BLIMP, A MATTER OF LIFE AND DEATH, and BLACK NARCISSUS); and the reasons are difficult to encapsulate into rigid paragraphs. Alright, let's try the trilogy angle...
If you view Powell & Pressburger's other great wartime movies as propaganda films (which is sifting some very fine cinema to one particular (and not especially flattering) element), you could see 49TH PARALLEL as the "Know Your Enemy" component; it views a group of fugitive Nazis traveling through Canada, comparing their philosophy and motives against those of Canadians. [TBRL: To Be Reviewed Later]. THE LIFE AND DEATH OF COLONEL BLIMP was both a affectionate character sketch (with some wonderful moments) and a pointed slap about the realities of the Second World War when compared to previous wars Britain had fought in. [TBRL] A CANTERBURY TALE could almost be considered the third element, the "Why We Fight" feature; a bit like THE BEST YEARS OF OUR LIFE, turned sideways and taken before the end of the war, instead of after it. And it's more subtle than that, too, dealing as much with ideals and traditions as it does with the personal aspects of the war.
The film opens with a brief recreation of Chaucer's Canterbury Pilgrimage on the Pilgrim's Way, segueing into wartime England via a hunting falcon which becomes a diving Spitfire. Three people have come to a small village on the Pilgrim's Way. One (Sheila Sim) is a city-raised Woman's Corps farm worker, taking the place of local farm workers who have been enlisted into the Armed Forces. Her fiancee, a pilot, was lost in action several months earlier; the idyllic Canterbury countryside, seemingly isolated from the war despite blackouts and the occasional war game, begins to restore her interest in life after the loss of her lover. A second (Dennis Price) is a musician, a university-trained organist who found himself working in movie-houses before war broke out. He is somewhat bitter about where his life has brought him, and cynical about the war and its eventual effects on England. The last is an American private (John Sweet) from Oregon, on a week's leave to visit Canterbury and the Pilgrim's Way, not to mention getting his mind off an absence of letters from his girlfriend. The three meet on a train, and become involved in a local mystery, a prankster called the Glue Man who pours glue in women's hair. Interested in the stories of the Pilgrim's Way as related by a local squire (Eric Portman), they travel around the country surrounding Canterbury, ostentatiously to discover the identity of the Glue Man, but ultimately to lose themselves in the history and beauty of the area. They finally become companions on a weekend trip to the Great Cathedral of Canterbury; at the end of their pilgrimage, they are given an opportunity to see their lives in perspective to their hopes, and to their fellow pilgrims, in this and previous eras.
Spiritual messages rarely come off well in film; they're either laid on with heavy-handed imagery, or are so ephemeral that they get lost under the tread of the rest of the film. A CANTERBURY TALE avoids this nimbly; it appears to be uncovering its message in the beautiful footage of the countryside and its people, rather than implying it. Powell grew up in this area, and he uses the images of his childhood to infer much of what he loves best about his country. If Olivier's HENRY V was a (belated) battle cry to spur the British to war, then conversely A CANTERBURY TALE is something of a visual encapsulation of Shakespeare's "This England" speech from RICHARD II.
One might think of A CANTERBURY TALE as a reminder of one the better aspects of civilization, the quest for knowledge and self-awareness, made in an era when these things seemed eclipsed by the threats of invasion and fascism. It is subtle when compared with most Home Front movies of the time (Halliwell, usually a great fan of The Archers in general, seems confused by what they were shooting for in this film), and indeed, perhaps it has found a resonant chord with this reviewer which will not be commonly repeated. But personally, it is a special film, both in the perspective of a wartime picture, and in its calm reflective nature within the eye of the hurricane. It certainly rates with the best The Archers produced; perhaps this newly-restored full-length print of the film will be made available to video companies in the near future.
Moriarty, aka Jeff Meyer INTERNET<EMAIL_ADDRESS>Manual UUCP: {uw-beaver, sun, microsoft, hplsla, uiucuxc}!fluke!moriarty .
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


-
Need some assistance with your Fabschoolino? We're here to help.
If you have build the Fabschoolino and the LED flashes when you turn it on, great, it's working. But if it doesn't lets have a look what might be wrong. You're on the right page! We'll help you find out what the problem is step-by-step. Good luck!


422 Unprocessable Entity
The change you wanted was rejected.
Maybe you tried to change something you didn't have access to?


Up to this point in time, building a website has been an amazing experience. I have learned so many incredible things I never thought I could know how to do. I like the empowerment that comes with this whole process. I feel like I can approach more difficult and adventerous tasks as a coder. It's a great feeling overall. The thing that can be a bit taxing about this process is not having an immediate answer for a change I may want to make. Of course that's where research and trial and error come in, but it still can be a bit disheartening. That's the thing about developing is that it takes time. There is a lot of experimentation, and it is a big time commitment. I feel I have a better understanding of that now. Having been immersed into development these past nine weeks has been really eye opening.


{{ partial "home-head.html" . }}
An unconference, open space for open source software maintainers.
No talks, just discussions.
Brought to you by:


Introduction
The Windows versions of the POCO C++ Libraries are built with Visual Studio. Basic support for building with MinGW is there as well, but at this time is not officially supported and may or may not work.
Starting with release 1.4.0 the POCO C++ Libraries support new build configurations for Visual Studio. Furthermore, Visual Studio 2010 and 64-bit (x64) builds are now supported in addition to Visual Studio 2008, 2005 and .NET 2003, as previously supported. 64-bit (x64) builds are only supported with Visual Studio 2008 and Visual Studio 2010.
The following build configurations are available:
- debug_shared, release_shared: dynamic link libraries (DLL) and dynamically linked executables, with DLL C/C++ runtime libraries.
- debug_static_md, release_static_md: static libraries and statically linked executables with DLL C/C++ runtime libraries.
- debug_static_mt, release_static_mt: static libraries and statically linked executables with static runtime libraries.
Libraries And Linking Considerations
Automatic Linking of POCO C++ Libraries
The POCO C++ Libraries header files contain #pragma comment directives that enable automatic linking of the required POCO libraries to an application. For this to work, a few rules must be kept in mind.
- The default is to link the POCO C++ Libraries dynamically (DLL).
- To link statically, the code using the POCO C++ Libraries must be compiled with the preprocessor symbol POCO_STATIC defined.
Library Naming Conventions
The following naming conventions are used:
- DLL import libraries are named PocoLIB.lib for the release build and PocoLIBd.lib for the debug build.
- Static libraries built using the static multithreaded C/C++ runtime libraries are named PocoLIBmt.lib (release) and PocoLIBmtd.lib (debug).
- Static libraries built using the DLL C/C++ runtime libraries are named PocoLIBmd.lib (release) and PocoLIBmdd.lib (debug).
32-bit libraries are placed in the lib directory. 64-bit libraries are placed in the lib64 directory. DLLs are placed in bin (32-bit) or bin64 (64-bit). 64-bit DLLs are named PocoLIB64.dll for release and PocoLIB64d.dll for debug, respectively.


Under a leaden sky the high-wheeled cart bumped east along the Caemlyn Road. Rand pulled himself out of the straw in back to look over the side. It was easier than it had been an hour earlier. His arms felt as if they might stretch instead of drawing him up, and for a minute his head wanted to keep on going and float away, but it was easier. He hooked his elbows over the low slats and watched the land roll past. The sun, still hidden by dull clouds, yet stood high overhead, but the cart was clattering into another village of vine-covered, red brick houses. Towns had been getting closer together since Four Kings.
Some of the people waved or called a greeting to Hyam Kinch, the farmer whose cart it was. Master Kinch, leathery-faced and taciturn, shouted back a few words each time, around the pipe in his teeth. The clenched teeth made what he said all but unintelligible, but it sounded jovial and seemed to satisfy; they went back to what they were doing without another glance at the cart. No one appeared to pay any mind to the farmer’s two passengers.
The village inn moved through Rand’s field of vision. It was whitewashed, with a gray slate roof. People bustled in and out, nodding casually and waving to one another. Some of them stopped to speak. They knew one another. Villagers, mostly, by their clothes—boots and trousers and coats not much different from what he wore himself, though with an inordinate fondness for colorful stripes. The women wore deep bonnets that hid their faces and white aprons with stripes. Maybe they were all townsmen and local farmfolk. Does that make any difference?
He dropped back on the straw, watching the village dwindle between his feet. Fenced fields and trimmed hedges lined the road, and small farmhouses with smoke rising from red brick chimneys. The only woods near the road were coppices, well tended for firewood, tame as a farmyard. But the branches stood leafless against the sky, as stark as in the wild woods to the west.
A line of wagons heading the other way rumbled down the center of the road, crowding the cart over onto the verge. Master Kinch shifted his pipe to the corner of his mouth and spat between his teeth. With one eye on his off-side wheel, to make sure it did not tangle in the hedge, he kept the cart moving. His mouth tightened as he glanced at the merchants’ train.
None of the wagon drivers cracking their long whips in the air above eight-horse teams, none of the hard-faced guards slouching in their saddles alongside the wagons, looked at the cart. Rand watched them go, his chest tight. His hand was under his cloak, gripping his sword hilt, until the last wagon lurched by.
As that final wagon rattled away toward the village they had just left, Mat turned on the seat beside the farmer and leaned back until he found Rand’s eyes. The scarf that did duty for dust, when need be, shaded his own eyes, folded over thickly and tied low around his forehead. Even so he squinted in the gray daylight. “You see anything back there?” he asked quietly. “What about the wagons?”
Rand shook his head, and Mat nodded. He had seen nothing either.
Master Kinch glanced at them out of the corner of his eye, then shifted his pipe again, and flapped the reins. That was all, but he had noticed. The horse picked up the pace a step.
“Your eyes still hurt?” Rand asked.
Mat touched the scarf around his head. “No. Not much. Not unless I look almost right at the sun, anyway. What about you? Are you feeling any better?”
“Some.” He really was feeling better, he realized. It was a wonder to get over being sick so fast. More than that, it was a gift of the Light. It has to be the Light. It has to be.
Suddenly a body of horsemen was passing the cart, heading west like the merchants’ wagons. Long white collars hung down over their mail and plate, and their cloaks and undercoats were red, like the gatetenders’ uniforms in Whitebridge, but better made and better fitting. Each man’s conical helmet shone like silver. They sat their horses with straight backs. Thin red streamers fluttered beneath the heads of their lances, every lance held at the same angle.
Some of them glanced into the cart as they passed in two columns. A cage of steel bars masked each face. Rand was glad his cloak covered his sword. A few nodded to Master Kinch, not as if they knew him, but in a neutral greeting. Master Kinch nodded back in much the same way, but despite his unchanging expression there was a hint of approval in his nod.
Their horses were at a walk, but with the speed of the cart added, they went by quickly. With a part of his mind Rand counted them.  He raised his head to watch the columns move on down the Caemlyn Road.
“Who were they?” Mat asked, half wondering, half suspicious.
“Queen’s Guards,” Master Kinch said around his pipe. He kept his eyes on the road ahead. “Won’t go much further than Breen’s Spring, ’less they’re called for. Not like the old days.” He sucked on his pipe, then added, “I suppose, these days, there’s parts of the Realm don’t see the Guards in a year or more. Not like the old days.”
“What are they doing?” Rand asked.
The farmer gave him a look. “Keeping the Queen’s peace and upholding the Queen’s law.” He nodded to himself as if he liked the sound of that, and added, “Searching out malefactors and seeing them before a magistrate. Mmmph!” He let out a long streamer of smoke. “You two must be from pretty far off not to recognize the Queen’s Guard. Where you from?”
“Far off,” Mat said at the same instant that Rand said, “The Two Rivers.” He wished he could take it back as soon as he said it. He still was not thinking clearly. Trying to hide, and mentioning a name a Fade would hear like a bell.
Master Kinch glanced at Mat out of the corner of his eye, and puffed his pipe in silence for a while. “That’s far off, all right,” he said finally. “Almost to the border of the Realm. But things must be worse than I thought if there’s places in the Realm where people don’t even recognize the Queen’s Guards. Not like the old days at all.”
Rand wondered what Master al’Vere would say if someone told him the Two Rivers was part of some Queen’s Realm. The Queen of Andor, he supposed. Perhaps the Mayor did know—he knew a lot of things that surprised Rand—and maybe others did, too, but he had never heard anyone mention it. The Two Rivers was the Two Rivers. Each village handled its own problems, and if some difficulty involved more than one village the Mayors, and maybe the Village Councils, solved it between them.
Master Kinch pulled on the reins, drawing the cart to a halt. “Far as I go.” A narrow cart path led off to the north; several farmhouses were visible in that direction across open fields, plowed but still bare of crops. “Two days will see you in Caemlyn. Least, it would if your friend had his legs under him.”
Mat hopped down and retrieved his bow and other things, then helped Rand climb off the tail of the cart.  He still felt unsteady, but his legs held him up. They even seemed to grow stronger as he used them.
The farmer did not start his horse up again right away. He studied them for a minute, sucking on his pipe. “You can rest up a day or two at my place, if you want. Won’t miss anything in that time, I suppose. Whatever sickness you’re getting over, young fellow . . . well, the old woman and me, we already had about every sickness you can think of before you were born, and nursed our younglings through ’em, too. I expect you’re past the catching stage, anyway.”
Mat’s eyes narrowed, and Rand caught himself frowning. Not everyone is part of it. It can’t be everybody.
“Thank you,” he said, “but I’m all right. Really. How far to the next village?”
“Carysford? You can reach it before dark, walking.” Master Kinch took his pipe from between his teeth and pursed his lips thoughtfully before going on. “First off, I reckoned you for runaway ’prentices, but now I expect it’s something more serious you’re running from. Don’t know what. Don’t care. I’m a good enough judge to say you’re not Darkfriends, and not likely to rob or hurt anybody. Not like some on the road these days. I got in trouble a time or two myself when I was your age.  Whatever’s chasing you, won’t likely find you there.” He cleared his throat as if embarrassed by speaking so many words together.
“How would you know what Darkfriends look like?” Mat demanded. He backed away from the cart, and his hand went under his coat. “What do you know about Darkfriends?”
Master Kinch’s face tightened. “Suit yourselves,” he said, and clucked to his horse. The cart rolled off down the narrow path, and he never looked back.
Mat looked at Rand, and his scowl faded. “Sorry, Rand. You need a place to rest. Maybe if we go after him . . . ” He shrugged. “I just can’t get over the feeling that everybody’s after us. Light, I wish I knew why they were. I wish it was over. I wish . . . ” He trailed off miserably.
“There are still some good people,” Rand said. Mat started toward the cart path, jaw clenched as if it were the last thing he wanted to do, but Rand stopped him. “We can’t afford to stop just to rest, Mat. Besides, I don’t think there is anywhere to hide.”
Mat nodded, his relief evident. He tried to take some of Rand’s burdens, the saddlebags and Thom’s cloak wrapped around the cased harp, but Rand held onto them. His legs really did feel stronger. Whatever’s chasing us? he thought as they started off down the road. Not chasing. Waiting.
The rain had continued through the night they staggered away from The Dancing Cartman, hammering at them as hard as the thunder out of a black sky split by lightning. Their clothes became sodden in minutes; in an hour Rand’s skin felt sodden, too, but they had left Four Kings behind them. Mat was all but blind in the dark, squinting painfully at the sharp flashes that made trees stand out starkly for an instant. Rand led him by the hand, but Mat still felt out each step uncertainly. Worry creased Rand’s forehead. If Mat did not regain his sight, they would be slowed to a crawl. They would never get away.
Mat seemed to sense his thought. Despite the hood of his cloak, the rain had plastered Mat’s hair across his face. “Rand,” he said, “you won’t leave me, will you? If I can’t keep up?” His voice quavered.
“I won’t leave you.” Rand tightened his grip on his friend’s hand. “I won’t leave you no matter what.” Light help us! Thunder crashed overhead, and Mat stumbled, almost falling, almost pulling him down, too. “We have to stop, Mat. If we keep going, you’ll break a leg.”
“Gode.” Lightning split the dark right above them as Mat spoke, and the thunder crack pounded every other sound into the ground, but in the flash Rand could make out the name on Mat’s lips.
“He’s dead.” He has to be. Light, let him he dead.
He led Mat to some bushes the lightning flash had showed him.  Not as much as a good tree might, but he did not want to risk another lightning strike. They might not be so lucky, next time.
Huddled together beneath the bushes, they tried to arrange their cloaks to make a little tent over the branches. It was far too late to think of staying dry, but just stopping the incessant pelting of the raindrops would be something. They crouched against each other to share what little body warmth was left to them. Dripping wet as they were, and more drips coming through the cloaks, they shivered themselves into sleep.
Rand knew right away it was a dream. He was back in Four Kings, but the town was empty except for him. The wagons were there, but no people, no horses, no dogs. Nothing alive. He knew someone was waiting for him, though.
As he walked down the rutted street, the buildings seemed to blur as they slid behind him. When he turned his head, they were all there, solid, but the indistinctness remained at the corners of his vision. It was as if only what he saw really existed, and then just while he was seeing. He was sure if he turned quickly enough he would see . . . He was not sure what, but it made him uneasy, thinking about it.
The Dancing Cartman appeared in front of him. Somehow its garish paint seemed gray and lifeless. He went in. Gode was there, at a table.
He only recognized the man from his clothes, his silk and dark velvets. Gode’s skin was red, burned and cracked and oozing. His face was almost a skull, his lips shriveled to bare teeth and gums. As Gode turned his head, some of his hair cracked off, powdering to soot when it hit his shoulder. His lidless eyes stared at Rand.
“So you are dead,” Rand said. He was surprised that he was not afraid. Perhaps it was knowing that it was a dream this time.
“Yes,” said Ba’alzamon’s voice, “but he did find you for me.
Rand turned, and discovered he could be afraid, even knowing it was a dream. Ba’alzamon’s clothes were the color of dried blood, and rage and hate and triumph battled on his face.
“You see, youngling, you cannot hide from me forever. One way or another I find you. What protects you also makes you vulnerable. One time you hide, the next you light a signal fire. Come to me, youngling.” He held out his hand to Rand. “If my hounds must pull you down, they may not be gentle. They are jealous of what you will be, once you have knelt at my feet. It is your destiny. You belong to me.” Gode’s burned tongue made an angry, eager garble of sound.
Rand tried to wet his lips, but he had no spit in his mouth. “No,” he managed, and then the words came more easily. “I belong to myself. Not you. Not ever. Myself.
The fires in Ba’alzamon’s face heated the room till the air swam. “Alive or dead, youngling, you are mine. The grave belongs to me. Easier dead, but better alive. Better for you, youngling. The living have more power in most things.” Gode made a gabbling sound again. “Yes, my good hound. Here is your reward.”
Rand looked at Gode just in time to see the man’s body crumble to dust. For an instant the burned face held a look of sublime joy that turned to horror in the final moment, as if he had seen something waiting he did not expect. Gode’s empty velvet garments settled on the chair and the floor among the ash.
When he turned back, Ba’alzamon’s outstretched hand had become a fist. “You are mine, youngling, alive or dead. The Eye of the World will never serve you. I mark you as mine.” His fist opened, and a ball of flame shot out. It struck Rand in the face, exploding, searing.
Rand lurched awake in the dark, water dripping through the cloaks onto his face. His hand trembled as he touched his cheeks. The skin felt tender, as if sunburned.
Suddenly he realized Mat was twisting and moaning in his sleep. He shook him, and Mat came awake with a whimper.
“My eyes! Oh, Light, my eyes! He took my eyes!”
Rand held him close, cradling him against his chest as if he were a baby. “You’re all right, Mat. You’re all right. He can’t hurt us. We won’t let him.” He could feel Mat shaking, sobbing into his coat. “He can’t hurt us,” he whispered, and wished he believed it. What protects you makes you vulnerable. I am going mad.
Just before first light the downpour dwindled, the last drizzle fading as dawn came. The clouds remained, threatening until well into the morning. The wind came up, then, driving the clouds off to the south, baring a warmthless sun and slicing through their dripping wet clothes. They had not slept again, but groggily they donned their cloaks and set off eastward, Rand leading Mat by the hand. After a while Mat even felt well enough to complain about what the rain had done to his bowstring. Rand would not let him stop to exchange it for a dry string from his pocket, though; not yet.
They came on another village shortly after midday. Rand shivered harder at the sight of snug brick houses and smoke rising from chimneys, but he kept clear, leading Mat through the woods and fields to the south. A lone farmer working with a spading fork in a muddy field was the only person he saw, and he took care that the man did not see them, crouching through the trees. The farmer’s attention was all on his work, but Rand kept one eye on him till he was lost to sight. If any of Gode’s men were alive, perhaps they would believe he and Mat had taken the southern road out of Four Kings when they could not find anyone who had seen them in this village. They came back to the road out of sight of the town, and walked their clothes, if not dry, at least to just damp.
An hour beyond the town a farmer gave them a ride in his half-empty haywain. Rand had been taken by surprise while lost in worry about Mat. Mat shielded his eyes from the sun with his hand, weak as the afternoon light was, squinting through slitted lids even so, and he muttered continually about how bright the sun was. When Rand heard the rumble of the haywain, it was too late already. The sodden road deadened sound, and the wagon with its two-horse hitch was only fifty yards behind them, the driver already peering at them.
To Rand’s surprise he drew up and offered them a lift. Rand hesitated, but it was too late to avoid being seen, and refusing a ride might fix them in the man’s mind. He helped Mat up to the seat beside the farmer, then climbed up behind him.
Alpert Mull was a stolid man, with a square face and square hands, both worn and grooved from hard work and worry, and he wanted someone to talk to. His cows had gone dry, his chickens had stopped laying, and there was no pasture worth the name. For the first time in memory he had had to buy hay, and half a wagon was all “old Bain” would let him have. He wondered whether there was any chance of getting hay on his own land this year, or any kind of crop.
“The Queen should do something, the Light illumine her,” he muttered, knuckling his forehead respectfully but absentmindedly.
He hardly looked at Rand or Mat, but when he let them down by the narrow, rail-lined track that led off to his farm, he hesitated, then said, almost as if to himself, “I don’t know what you’re running from, and I don’t want to. I have a wife and children.  My family. It’s hard times for helping strangers.”
Mat tried to stick his hand under his coat, but Rand had his wrist and he held on. He stood in the road, looking at the man without speaking.
 But it’s hard times, and strangers . . . I don’t know what you’re running from, and I don’t want to.  My family.” Suddenly he pulled two long, woolen scarves, dark and thick, out of his coat pocket. “It’s not much, but here. Belong to my boys. They have others.  It’s hard times.”
“We never even saw you,” Rand agreed as he took the scarves. “You are a good man. The best we’ve met in days.”
The farmer looked surprised, then grateful. Gathering his reins, he turned his horses down the narrow lane. Before he completed the turn Rand was leading Mat on down the Caemlyn Road.
The wind stiffened as dusk closed in. Mat began to ask querulously when they were going to stop, but Rand kept moving, pulling Mat behind him, searching for more shelter than a spot under a hedge. With their clothes still clammy and the wind getting colder by the minute, he was not sure they could survive another night in the open. Night fell without him spotting anything useful. The wind grew icy, beating his cloak. Then, through the darkness ahead, he saw lights. A village.
His hand slid into his pocket, feeling the coins there. More than enough for a meal and a room for the two of them. A room out of the cold night. If they stayed in the open, in the wind and cold in damp clothes, anyone who found them would likely as not find only two corpses. They just had to keep from attracting any more notice than they could help. No playing the flute, and with his eyes, Mat certainly could not juggle. He grasped Mat’s hand again and set out toward the beckoning lights.
“When are we going to stop?” Mat asked again. The way he peered ahead, with his head stuck forward, Rand was not sure if Mat could see him, much less the village lights.
“When we’re somewhere warm,” he replied.
Pools of light from house windows lit the streets of the town, and people walked them unconcerned with what might be out in the dark. The only inn was a sprawling building, all on one floor, with the look of having had rooms added in bunches over the years without any particular plan. The front door opened to let someone out, and a wave of laughter rolled out after him.
Rand froze in the street, the drunken laughter at The Dancing Cartman echoing in his head. He watched the man go down the street with a none-too-steady stride, then took a deep breath and pushed the door open. He took care that his cloak covered his sword. Laughter swept over him.
Lamps hanging from the high ceiling made the room bright, and right away he could see and feel the difference from Saml Hake’s inn. There was no drunkenness here, for one thing. The room was filled with people who looked to be farmers and townsmen, if not entirely sober, not too far from it. The laughter was real, if a bit forced around the edges. People laughing to forget their troubles, but with true mirth in it, too. The common room itself was neat and clean, and warm from a fire roaring in a big fireplace at the far end. The serving maids’ smiles were as warm as the fire, and when they laughed Rand could tell it was because they wanted to.
The innkeeper was as clean as his inn, with a gleaming white apron around his bulk. Rand was glad to see he was a stout man; he doubted if he would ever again trust a skinny innkeeper. His name was Rulan Allwine—good omen, Rand thought, with so much of the sound of Emond’s Field to it—and he eyed them up and down, then politely mentioned paying in advance.
“Not suggesting you’re the sort, understand, but there’s some on the road these days aren’t too particular about paying up come morning. Seems to be a lot of young folks headed for Caemlyn.”
Rand was not offended, not as damp and bedraggled as he was. When Master Allwine mentioned the price, though, his eyes widened, and Mat made a sound as if he had choked on something.
The innkeeper’s jowls swung as he shook his head regretfully, but he seemed to be used to it. “Times are hard,” he said in a resigned voice. “There isn’t much, and what there is costs five times what it used to. It’ll be more next month, I’ll lay oath on it.”
Rand dug his money out and looked at Mat. Mat’s mouth tightened stubbornly. “You want to sleep under a hedge?” Rand asked. Mat sighed and reluctantly emptied his pocket. When the reckoning was paid, Rand grimaced at the little that remained to divide with Mat.
But ten minutes later they were eating stew at a table in a corner near the fireplace, pushing it onto their spoons with chunks of bread. The portions were not as large as Rand could have wished, but they were hot, and filling. Warmth from the hearth seeped into him slowly. He pretended to keep his eyes on his plate, but he watched the door intently. Those who came in or went out all looked like farmers, but it was not enough to quiet his fear.
Mat ate slowly, savoring each bite, though he muttered about the light from the lamps. After a time he dug out the scarf Alpert Mull had given him and wound it around his forehead, pulling it down until his eyes were almost hidden. That got them some looks Rand wished they could have avoided. He cleaned his plate hurriedly, urging Mat to do the same, then asked Master Allwine for their room.
The innkeeper seemed surprised that they were retiring so early, but he made no comment. He got a candle and showed them through a jumble of corridors to a small room, with two narrow beds, back in a far corner of the inn. When he left, Rand dropped his bundles beside his bed, tossed his cloak over a chair, and fell on the coverlet fully dressed. All of his clothes were still damp and uncomfortable, but if they had to run, he wanted to be ready. He left the sword belt on, too, and slept with his hand on the hilt.
A rooster crowing jerked him awake in the morning. He lay there, watching dawn lighten the window, and wondered if he dared sleep a little longer. Sleep during daylight, when they could be moving. A yawn made his jaws crack.
“Hey,” Mat exclaimed, “I can see!” He sat up on his bed, squinting around the room. “Some, anyway.  I knew I’d be all right. By tonight I’ll see better than you do. Again.”
Rand sprang out of bed, scratching as he scooped up his cloak. His clothes were wrinkled from drying on him while he slept, and they itched. “We’re wasting daylight,” he said. Mat scrambled up as fast as he had; he was scratching, too.
Rand did feel good. They were a day away from Four Kings, and none of Gode’s men had showed up. A day closer to Caemlyn, where Moiraine would be waiting for them. She would. No more worrying about Darkfriends once they were back with the Aes Sedai and the Warder. It was strange to be looking forward so much to being with an Aes Sedai. Light, when I see Moiraine again, I’ll kiss her! He laughed at the thought. He felt good enough to invest some of their dwindling stock of coins in breakfast—a big loaf of bread and a pitcher of milk, cold from the springhouse.
They were eating in the back of the common room when a young man came in, a village youth by the look of him, with a cocky spring to his walk and twirling a cloth cap, with a feather in it, on one finger. The only other person in the room was an old man sweeping out; he never looked up from his broom. The young man’s eyes swept jauntily around the room, but when they lit on Rand and Mat, the cap fell off his finger. He stared at them for a full minute before snatching the cap from the floor, then stared some more, running his fingers through his thick head of dark curls. Finally he came over to their table, his feet dragging.
He was older than Rand, but he stood looking down at them diffidently. “Mind if I sit down?” he asked, and immediately swallowed hard as if he might have said the wrong thing.
Rand thought he might be hoping to share their breakfast, though he looked able to buy his own. His blue-striped shirt was embroidered around the collar, and his dark blue cloak all around the hem. His leather boots had never been near any work that scuffed them that Rand could see. He nodded to a chair.
Mat stared at the fellow as he drew the chair to the table. Rand could not tell if he was glaring or just trying to see clearly. In any case, Mat’s frown had an effect. The young man froze halfway to sitting, and did not lower himself all the way until Rand nodded again.
“What’s your name?” Rand asked.
“My name? My name.  His eyes shifted nervously. “Ah . . . this is not my idea, you understand. I have to do it. I didn’t want to, but they made me. You have to understand that. I don’t—”
Rand was beginning to tense when Mat growled, “Darkfriend.”
 The old man’s head was still bent over the broom, his attention on the floor. Paitr sat back down and looked from Rand to Mat and back uncertainly. Sweat beaded on his upper lip. It was accusation enough to make anyone sweat, but he said not a word against it.
Rand shook his head slowly. After Gode, he knew that Darkfriends did not necessarily have the Dragon’s Fang on their foreheads, but except for his clothes this Paitr could have fit right in Emond’s Field. Nothing about him hinted at murder and worse. Nobody would have remarked him twice. At least Gode had been . . . different.
“Leave us alone,” Rand said. “And tell your friends to leave us alone. We want nothing from them, and they’ll get nothing from us.”
“If you don’t,” Mat added fiercely, “I’ll name you for what you are. See what your village friends think of that.”
Rand hoped he did not really mean it. That could cause as much trouble for the two of them as it did for Paitr.
Paitr seemed to take the threat seriously. His face grew pale. “I . . . I heard what happened at Four Kings. Some of it, anyway. Word travels. We have ways of hearing things. But there’s nobody here to trap you. I’m alone, and . . . and I just want to talk.”
“About what?” Mat asked at the same time that Rand said, “We’re not interested.” They looked at each other, and Mat shrugged. “We’re not interested,” he said.
Rand gulped the last of the milk and stuffed the heel of his half of the bread into his pocket. With their money almost gone, it might be their next meal.
How to leave the inn? If Paitr discovered that Mat was almost blind, he would tell others . . . other Darkfriends. Once Rand had seen a wolf separate a crippled sheep from the flock; there were other wolves around, and he could neither leave the flock nor get a clear shot with his bow. As soon as the sheep was alone, bleating with terror, hobbling frantically on three legs, the one wolf chasing it became ten as if by magic. The memory of it turned his stomach. They could not stay there, either. Even if Paitr was telling the truth about being alone, how long would he stay that way?
“Time to go, Mat,” he said, and held his breath. As Mat started to stand, he pulled Paitr’s eyes to himself by leaning forward and saying, “Leave us alone, Darkfriend. I won’t tell you again. Leave—us—alone.”
Paitr swallowed hard and pressed back in his chair; there was no blood left in his face at all. It made Rand think of a Myrddraal.
By the time he looked back at Mat, Mat was on his feet, his awkwardness unseen. Rand hastily hung his own saddlebags and other bundles around him, trying to keep his cloak over the sword as he did. Maybe Paitr already knew about it; maybe Gode had told Ba’alzamon, and Ba’alzamon had told Paitr; but he did not think so. He thought Paitr had only the vaguest idea of what had happened in Four Kings. That was why he was so frightened.
The comparatively bright outline of the door helped Mat make a beeline for it, if not quickly, then not slow enough to seem unnatural, either. Rand followed closely, praying for him not to stumble. He was thankful Mat had a clear, straight path, with no tables or chairs in the way.
Behind him Paitr suddenly leaped to his feet. “Wait,” he said desperately. “You have to wait.”
“Leave us alone,” Rand said without looking back. They were almost to the door, and Mat had not put a foot wrong yet.
“Just listen to me,” Paitr said, and put his hand on Rand’s shoulder to stop him.
Images spun in his head. The Trolloc, Narg, leaping at him in his own home. The Myrddraal threatening at the Stag and Lion in Baerlon. Halfmen everywhere, Fades chasing them to Shadar Logoth, coming for them in Whitebridge. Darkfriends everywhere. He whirled, his hand balling up. “I said, leave us alone!” His fist took Paitr flush on the nose.
The Darkfriend fell on his bottom and sat there on the floor staring at Rand. Blood trickled from his nose. “You won’t get away,” he spat angrily. “No matter how strong you are, the Great Lord of the Dark is stronger. The Shadow will swallow you!”
There was a gasp from further into the common room, and the clatter of a broom handle hitting the floor. The old man with the broom had finally heard. He stood staring wide-eyed at Paitr. The blood drained from his wrinkled face and his mouth worked, but no sound came out. Paitr stared back for an instant, then gave a wild curse and sprang to his feet, darting out of the inn and down the street as if starving wolves were at his heels. The old man shifted his attention to Rand and Mat, looking not a whit less frightened.
Rand hustled Mat out of the inn and out of the village as fast as he could, listening all the while for a hue and cry that never came but was no less loud in his ears for that.
“Blood and ashes,” Mat growled, “they’re always there, always right on our heels. We’ll never get away.”
“No they’re not,” Rand said. “If Ba’alzamon knew we were here, do you think he’d have left it to that fellow? There’d have been another Gode, and twenty or thirty bullyboys. They’re still hunting, but they won’t know until Paitr tells them, and maybe he really is alone. He might have to go all the way to Four Kings, for all we know.”
“But he said—”
“I don’t care.” He was unsure which “he” Mat meant, but it changed nothing. “We’re not going to lie down and let them take us.”
They got six rides, short ones, during the day. A farmer told them that a crazy old man at the inn in Market Sheran was claiming there were Darkfriends in the village. The farmer could hardly talk for laughing; he kept wiping tears off his cheeks. Darkfriends in Market Sheran! It was the best story he had heard since Ackley Farren got drunk and spent the night on the inn roof.
Another man, a round-faced wagonwright with tools hanging from the sides of his cart and two wagon wheels in the back, told a different story. Twenty Darkfriends had held a gathering in Market Sheran.   He had seen them himself, just at a distance, far enough off to be safe. If the Queen would not do something, then somebody ought to ask the Children of the Light for help. Somebody should do something.
It was a relief when the wagonwright let them down.
With the sun low behind them they walked into a small village, much like Market Sheran. The Caemlyn Road split the town neatly in two, but on both sides of the wide road stood rows of small brick houses with thatched roofs. Webs of vine covered the bricks, though only a few leaves hung on them. The village had one inn, a small place no bigger than the Winespring Inn, with a sign on a bracket out front, creaking back and forth in the wind, The Queen’s Man.
Strange, to think of the Winespring Inn as small. Rand could remember when he thought it was about as big as a building could be. Anything bigger would be a palace. But he had seen a few things, now, and suddenly he realized that nothing would look the same to him when he got back home. If you ever do.
He hesitated in front of the inn, but even if prices at The Queen’s Man were not as high as in Market Sheran, they could not afford a meal or a room, either one.
Mat saw where he was looking and patted the pocket where he kept Thom’s colored balls. “I can see well enough, as long as I don’t try to get too fancy.” His eyes had been getting better, though he still wore the scarf around his forehead, and had squinted whenever he looked at the sky during the day. When Rand said nothing, Mat went on. “There can’t be Darkfriends at every inn between here and Caemlyn. Besides, I don’t want to sleep under a bush if I can sleep in a bed.” He made no move toward the inn, though, just stood waiting for Rand.
After a moment Rand nodded. He felt as tired as he had at any time since leaving home. Just thinking of a night in the open made his bones ache. It’s all catching up. All the running, all the looking over your shoulder.
“They can’t be everywhere,” he agreed.
With the first step he took into the common room, he wondered if he had made a mistake. It was a clean place, but crowded. Every table was filled, and some men leaned against the walls because there was nowhere for them to sit. From the way the serving maids scurried between the tables with harried looks—and the landlord, too—it was a larger crowd than they were used to. Too many for this small village. It was easy to pick out the people who did not belong there. They were dressed no differently from the rest, but they kept their eyes on their food and drink. The locals watched the strangers as much as anything else.
A drone of conversation hung in the air, enough that the innkeeper took them into the kitchen when Rand made him understand that they needed to talk to him. The noise was almost as bad there, with the cook and his helpers banging pots and darting about.
The innkeeper mopped his face with a large handkerchief.  Well, it’s six to a room and two or three to a bed, and if that doesn’t suit, I’ve nothing for you.”
Rand gave his spiel with a feeling of queasiness. With so many people on the road, every other one could be a Darkfriend, and there was no way to pick them out from the rest. Mat demonstrated his juggling—he kept it to three balls, and was careful even then—and Rand took out Thom’s flute. After only a dozen notes of “The Old Black Bear,” the innkeeper nodded impatiently.
“You’ll do. I need something to take those idiots’ minds off this Logain. There’s been three fights already over whether or not he’s really the Dragon. Stow your things in the corner, and I’ll go clear a space for you. If there’s any room to. Fools.  That’s what’s causing all the trouble. People who won’t stay where they belong.” Mopping his face again, he hurried out of the kitchen, muttering under his breath.
The cook and his helpers ignored Rand and Mat. Mat kept adjusting the scarf around his head, pushing it up, then blinking at the light and tugging it back down again. Rand wondered if he could see well enough to do anything more complicated than juggle three balls. As for himself . . .
The queasiness in his stomach grew thicker.  The kitchen felt cold. He shivered. Steam filled the air; stoves and ovens crackled with heat. His shivers became stronger, his teeth chattering. He wrapped his arms around himself, but it did no good. His bones felt as if they were freezing.
Dimly he was aware of Mat asking him something, shaking his shoulder, and of someone cursing and running out of the room. Then the innkeeper was there, with the cook frowning at his side, and Mat was arguing loudly with them both. He could not make out any of what they said; the words were a buzz in his ears, and he could not seem to think at all.
Suddenly Mat took his arm, pulling him to his feet. All of their things—saddlebags, blanketrolls, Thom’s bundled cloak and instrument cases—hung from Mat’s shoulders with his bow. The innkeeper was watching them, wiping his face anxiously. Weaving, more than half supported by Mat, Rand let his friend steer him toward the back door.
“S-s-sorry, M-m-mat,” he managed. He could not stop his teeth from chattering. “M-m-must have . . . b-been t-the . . . rain. O-one m-more night out . . . w-won’t h-hurt . . . I guess.” Twilight darkened the sky, spotted by a handful of stars.
“Not a bit of it,” Mat said. He was trying to sound cheerful, but Rand could hear the hidden worry.  I told him if he kicked us out, I’d take you into the common room. That’d empty half his rooms in ten minutes. For all his talk about fools, he doesn’t want that.”
“Then w-where?”
“Here,” Mat said, pulling open the stable door with a loud creak of hinges.
It was darker inside than out, and the air smelled of hay and grain and horses, with a strong undersmell of manure. When Mat lowered him to the straw-covered floor, he folded over with his chest on his knees, still hugging himself and shaking from head to toe. All of his strength seemed to go for the shaking. He heard Mat stumble and curse and stumble again, then a clatter of metal. Suddenly light blossomed. Mat held up a battered old lantern.
If the inn was full, so was its stable. Every stall had a horse, some raising their heads and blinking at the light. Mat eyed the ladder to the hayloft, then looked at Rand, crouched on the floor, and shook his head.
“Never get you up there,” Mat muttered. Hanging the lantern on a nail, he scrambled up the ladder and began tossing down armloads of hay. Hurriedly climbing back down, he made a bed at the back of the stable and got Rand onto it. Mat covered him with both their cloaks, but Rand pushed them off almost immediately.
“Hot,” he murmured. Vaguely he knew that he had been cold only a moment before, but now he felt as if he were in an oven. He tugged at his collar, tossing his head. “Hot.” He felt Mat’s hand on his forehead.
“I’ll be right back,” Mat said, and disappeared.
He twisted fitfully on the hay, how long he was not sure, until Mat returned with a heaped plate in one hand, a pitcher in the other, and two white cups dangling from fingers by their handles.
“There’s no Wisdom here,” he said, dropping to his knees beside Rand. He filled one of the cups and held it to Rand’s mouth. Rand gulped the water down as if he had had nothing to drink in days; that was how he felt.  What they do have is somebody called Mother Brune, but she’s off somewhere birthing a baby, and nobody knows when she’ll be back. I did get some bread, and cheese, and sausage. Good Master Inlow will give us anything as long as we stay out of sight of his guests. Here, try some.”
Rand turned his head away from the food. The sight of it, the thought of it, made his stomach heave. After a minute Mat sighed and settled down to eat himself. Rand kept his eyes averted, and tried not to listen.
The chills came once more, and then the fever, to be replaced by the chills, and the fever again. Mat covered him when he shook, and fed him water when he complained of thirst. The night deepened, and the stable shifted in the flickering lantern light. Shadows took shape and moved on their own. Then he saw Ba’alzamon striding down the stable, eyes burning, a Myrddraal at either side with faces hidden in the depths of their black cowls.
Fingers scrabbling for his sword hilt, he tried to get to his feet, yelling, “Mat! Mat, they’re here! Light, they’re here!”
Mat jerked awake where he sat cross-legged against the wall. “What? Darkfriends? Where?”
Wavering on his knees, Rand pointed frantically down the stable . . . and gaped. Shadows stirred, and a horse stamped in its sleep. Nothing more. He fell back on the straw.
“There’s nobody but us,” Mat said. “Here, let me take that.” He reached for Rand’s sword belt, but Rand tightened his grip on the hilt.
“No. No. I have to keep it. He’s my father.  He’s m-my f-father!” The shivering swept over him once more, but he clung to the sword as if to a lifeline. “M-my f-father!” Mat gave up trying to take it and pulled the cloaks back over him.
There were other visitations in the night, while Mat dozed. Rand was never sure if they were really there or not. Sometimes he looked at Mat, with his head on his chest, wondering if he would see them, too, if he woke.
Egwene stepped out of the shadows, her hair in a long, dark braid as it had been in Emond’s Field, her face pained and mournful. “Why did you leave us?” she asked. “We’re dead because you left us.”
Rand shook his head weakly on the hay. “No, Egwene. I didn’t want to leave you. Please.”
“We’re all dead,” she said sadly, “and death is the kingdom of the Dark One. The Dark One has us, because you abandoned us.”
“No. I had no choice, Egwene. Please. Egwene, don’t go. Come back, Egwene!”
But she turned into the shadows, and was shadow.
Moiraine’s expression was serene, but her face was bloodless and pale. Her cloak might as well have been a shroud, and her voice was a lash. “That is right, Rand al’Thor. You have no choice. You must go to Tar Valon, or the Dark One will take you for his own. Eternity chained in the Shadow. Only Aes Sedai can save you, now. Only Aes Sedai.”
Thom grinned at him sardonically. The gleeman’s clothes hung in charred rags that made him see the flashes of light as Thom wrestled with the Fade to give them time to run. The flesh under the rags was blackened and burned. “Trust Aes Sedai, boy, and you’ll wish you were dead. Remember, the price of Aes Sedai help is always smaller than you can believe, always greater than you can imagine. And what Ajah will find you first, eh? Red? Maybe Black. Best to run, boy. Run.”
Lan’s stare was as hard as granite, and blood covered his face. “Strange to see a heron-mark blade in the hands of a sheepherder. Are you worthy of it? You had better be. You’re alone, now. Nothing to hold to behind you, and nothing before, and anyone can be a Darkfriend.”  “Anyone.”
Perrin came, accusing, pleading for help. Mistress al’Vere, weeping for her daughter, and Bayle Domon, cursing him for bringing Fades down on his vessel, and Master Fitch, wringing his hands over the ashes of his inn, and Min, screaming in a Trolloc’s clutches, people he knew, people he had only met. But the worst was Tam. Tam stood over him, frowning and shaking his head, and said not a word.
“You have to tell me,” Rand begged him. “Who am I? Tell me, please. Who am I? Who am I?” he shouted.
“Easy, Rand.”
For a moment he thought it was Tam answering, but then he saw that Tam was gone. Mat bent over him, holding a cup of water to his lips.
“Just rest easy.  Hey, you’re sweating! The fever’s broken.”
“Rand al’Thor?” Rand whispered. Mat nodded, and there was something so comforting in it that Rand drifted off to sleep without even touching the water.
It was a sleep untroubled by dreams—at least by any he remembered—but light enough that his eyes drifted open whenever Mat checked on him. Once he wondered if Mat was getting any sleep at all, but he fell back asleep himself before the thought got very far.
The squeal of the door hinges roused him fully, but for a moment he only lay there in the hay wishing he was still asleep. Asleep he would not be aware of his body. His muscles ached like wrung-out rags, and had about as much strength. Weakly he tried to raise his head; he made it on the second try.
Mat sat in his accustomed place against the wall, within arm’s reach of Rand. His chin rested on his chest, which rose and fell in the easy rhythm of deep sleep. The scarf had slipped down over his eyes.
Rand looked toward the door.
A woman stood there holding it open with one hand. For a moment she was only a dark shape in a dress, outlined by the faint light of early morning, then she stepped inside, letting the door swing shut behind her. In the lantern light he could see her more clearly. She was about the same age as Nynaeve, he thought, but she was no village woman. The pale green silk of her dress shimmered as she moved. Her cloak was a rich, soft gray, and a frothy net of lace caught up her hair. She fingered a heavy gold necklace as she looked thoughtfully at Mat and him.
“Mat,” Rand said, then louder, “Mat!”
Mat snorted and almost fell over as he came awake. Scrubbing sleep from his eyes, he stared at the woman.
“I came to look at my horse,” she said, gesturing vaguely at the stalls. She never took her eyes away from the two of them, though. “Are you ill?”
“He’s all right,” Mat said stiffly. “He just caught a chill in the rain, that’s all.”
“Perhaps I should look at him. I have some knowledge . . . ”
Rand wondered if she were Aes Sedai. Even more than her clothes, her self-assured manner, the way she held her head as if on the point of giving a command, did not belong here. And if she is Aes Sedai, of what Ajah?
“I’m fine, now,” he told her. “Really, there’s no need.”
But she came down the length of the stable, holding her skirt up and placing her gray slippers gingerly. With a grimace for the straw, she knelt beside him and felt his forehead.
“No fever,” she said, studying him with a frown. She was pretty, in a sharp-featured fashion, but there was no warmth in her face. It was not cold, either; it just seemed to lack any feeling whatsoever. “You were sick, though. Yes. Yes. And still weak as a day-old kitten. I think . . . ” She reached under her cloak, and suddenly things were happening too fast for Rand to do more than give a strangled shout.
Her hand flashed from under her cloak; something glittered as she lunged across Rand toward Mat. Mat toppled sideways in a flurry of motion, and there was a solid tchunk of metal driven into wood. It all took just an instant, and then everything was still.
Mat lay half on his back, one hand gripping her wrist just above the dagger she had driven into the wall where his chest had been, his other hand holding the blade from Shadar Logoth to her throat.
Moving nothing but her eyes, she tried to look down at the dagger Mat held. Eyes widening, she drew a ragged breath and tried to pull back from it, but he kept the edge against her skin. After that, she was as still as a stone.
Licking his lips, Rand stared at the tableau above him. Even if he had not been so weak, he did not believe he could have moved.  The wood around the blade was blackening; thin tendrils of smoke rose from the char.
“Mat! Mat, her dagger!”
Mat flicked a glance at the dagger, then back to the woman, but she had not moved. She was licking her lips nervously. Roughly Mat pried her hand off the hilt and gave her a push; she toppled back, sprawling away from them and catching herself with her hands behind her, still watching the blade in his hand. “Don’t move,” he said. “I’ll use this if you move. Believe me, I will.” She nodded slowly; her eyes never left Mat’s dagger. “Watch her, Rand.”
Rand was not sure what he was supposed to do if she tried anything—shout, maybe; he certainly could not run after her if she tried to flee—but she sat there without twitching while Mat yanked her dagger free of the wall. The black spot stopped growing, though a faint wisp of smoke still trailed up from it.
Mat looked around for somewhere to put the dagger, then thrust it toward Rand. He took it gingerly, as if it were a live adder. It looked ordinary, if ornate, with a pale ivory hilt and a narrow, gleaming blade no longer than the palm of his hand. Just a dagger. Only he had seen what it could do. The hilt was not even warm, but his hand began to sweat. He hoped he did not drop it in the hay.
The woman did not move from her sprawl as she watched Mat slowly turn toward her. She watched him as if wondering what he would do next, but Rand saw the sudden tightening of Mat’s eyes, the tightening of his hand on the dagger. “Mat, no!”
“She tried to kill me, Rand.  She’s a Darkfriend.” Mat spat the word.
“But we’re not,” Rand said. The woman gasped as if she had just realized what Mat had intended. “We are not, Mat.”
For a moment Mat remained frozen, the blade in his fist catching the lantern light. Then he nodded. “Move over there,” he told the woman, gesturing with the dagger toward the door to the tack room.
She got to her feet slowly, pausing to brush the straw from her dress. Even when she started in the direction Mat indicated, she moved as if there were no reason to hurry. But Rand noticed that she kept a wary eye on the ruby-hilted dagger in Mat’s hand. “You really should stop struggling,” she said. “It would be for the best, in the end. You will see.”
“The best?” Mat said wryly, rubbing his chest where her blade would have gone if he had not moved. “Get over there. ”
She gave a casual shrug as she obeyed. “A mistake. There has been considerable . . . confusion since what happened with that egotistical fool Gode.  No one is sure what happened there, or how. That makes it more dangerous for you, don’t you see? You will have honored places if you come to the Great Lord of your own free will, but as long as you run, there will be pursuit, and who can tell what will happen then?”
Rand felt a chill. My hounds are jealous, and may not be gentle.
“So you’re having trouble with a couple of farmboys.” Mat’s laugh was grim. “Maybe you Darkfriends aren’t as dangerous as I’ve always heard.” He flung open the door of the tack room and stepped back.
She paused just through the doorway, looking at him over her shoulder. Her gaze was ice, and her voice colder still. “You will find out how dangerous we are. When the Myrddraal gets here—”
Whatever else she had to say was cut off as Mat slammed the door and pulled the bar down into its brackets. When he turned, his eyes were worried. “Fade,” he said in a tight voice, tucking the dagger back under his coat. “Coming here, she says. How are your legs?”
“I can’t dance,” Rand muttered, “but if you’ll help me get on my feet, I can walk.” He looked at the blade in his hand and shuddered. “Blood and ashes, I’ll run.”
Hurriedly hanging himself about with their possessions, Mat pulled Rand to his feet. Rand’s legs wobbled, and he had to lean on his friend to stay upright, but he tried not to slow Mat down. He held the woman’s dagger well away from himself. Outside the door was a bucket of water. He tossed the dagger into it as they passed. The blade entered the water with a hiss; steam rose from the surface. Grimacing, he tried to take faster steps.
With light come, there were plenty of people in the streets, even so early. They were about their own business, though, and no one had any attention to spare for two young men walking out of the village, not with so many strangers about. Just the same, Rand stiffened every muscle, trying to stand straight. With each step he wondered if any of the folk hurrying by were Darkfriends. Are any of them waiting for the woman with the dagger? For the Fade?
A mile outside the village his strength gave out. One minute he was panting along, hanging on Mat; the next they were both on the ground. Mat tugged him over to the side of the road.
“We have to keep going,” Mat said. He scrubbed his hand through his hair, then tugged the scarf down above his eyes. “Sooner or later, somebody will let her out, and they’ll be after us again.”
“I know,” Rand panted. “I know. Give me a hand.”
Mat pulled him up again, but he wavered there, knowing it was no good. The first time he tried to take a step, he would be flat on his face again.
Holding him upright, Mat waited impatiently for a horse-cart, approaching from the village, to pass them. Mat gave a grunt of surprise when the cart slowed to a stop before them. A leathery-faced man looked down from the driver’s seat.
“Something wrong with him?” the man asked around his pipe.
“He’s just tired,” Mat said.
Rand could see that was not going to do, not leaning on Mat the way he was. He let go of Mat and took a step away from him. His legs quivered, but he willed himself to stay erect. “I haven’t slept in two days,” he said, “Ate something that made me sick. I’m better, now, but I haven’t slept.”
The man blew a streamer of smoke from the corner of his mouth. “Going to Caemlyn, are you? Was your age, I expect I might be off to see this false Dragon myself.”
“Yes.” Mat nodded. “That’s right. We’re going to see the false Dragon.”
“Well, climb on up, then. Your friend in the back. If he’s sick again, best it’s on the straw, not up here. Name’s Hyam Kinch.”


Bouncing ball
A small simple animation where I learned how to use recursion in creating more bouncing balls. Click anywhere and a ball should appear where you clicked./p>
Resize the browser window to see the responsive effect.
Hopefully more to follow...


RouteMap class
A map of routes.
class RouteMap { // The list of routes to track the order. final List<Route> routeList = <Route>[]; // The map of routes by name. final Map<String, Route> routes = <Route>{}; /** * Creates a new route map. */ RouteMap(); /** * Adds a route to this map. */ add(Route route) { routes[route.name] = route; routeList.add(route); } /** * Matches and returns the first matched route, or null if there is no match. */ RouteMatch match(HttpRequest request) { for (var route in routeList) { logFine('Trying to match ${route.name}'); var m = route.match(request); if (m != null) { logFine('Success matching ${route.name}.'); return m; } } logFine('No match'); } }
Constructors
new RouteMap() #
Creates a new route map.
RouteMap();
Properties
Methods
add(Route route) #
Adds a route to this map.
add(Route route) { routes[route.name] = route; routeList.add(route); }
RouteMatch match(HttpRequest request) #
Matches and returns the first matched route, or null if there is no match.
RouteMatch match(HttpRequest request) { for (var route in routeList) { logFine('Trying to match ${route.name}'); var m = route.match(request); if (m != null) { logFine('Success matching ${route.name}.'); return m; } } logFine('No match'); }


Police appeal after Shrewsbury thefts
by Aimee JonesPolice are appealing for information after a man is believed to have stolen a purse from a shopper in Shrewsbury.
It happened at about 1pm on November 6 while a woman was loading shopping into her car at a supermarket on Meole Brance Retail Park.
A cloth bag containing a purse and a debit card was stolen, officers said.
The suspected offender was described to police as a foreign male in his mid 40s, wearing a dark baseball cap.
It is believed the victim was distracted while the purse was stolen.
Staff at the supermarket helped the shopper to cancel her card.
On November 10, a walker on Lyth Hill received a telephone call from her bank to say her card had been used fraudulently at a local supermarket.
Police said when she returned to her car she found the back window had been smashed and a bag containing a wallet, cash and various cards had been stolen.
Anyone with information should contact police on 101.


| Photograph - Area F | MI Plan Area F | Name Index | Plan | Main Menu |
|---|
| Click in any of the coloured areas of the map for a photograph of that area. |
| The Parish Church of St. Mary, Cogges, Oxfordshire. | Copyright © St. Mary's Church Cogges Parochial Church Council, 2005 |
| Updated 10th February 2005 | Feedback |


a
p
o
k e l l y
p
s
e
adventures
projects
odds & ends
home
portfolio
skills
extracurriculars
Social Media Tree
Favorite Albums
Favorite Books


loompy package¶
Submodules¶
loompy.loompy module¶
-
class
loompy.loompy.
LoomConnection
(filename: str, mode: str = 'r+') → None[source]¶ Bases:
object
-
add_columns
(submatrix: numpy.ndarray, col_attrs: typing.Dict[str, numpy.ndarray], fill_values: typing.Dict[str, numpy.ndarray] = None) → None[source]¶ Add columns of data and attribute values to the dataset.
Parameters: - submatrix (dict or numpy.ndarray) – Either: 1) A N-by-M matrix of float32s (N rows, M columns) in this case columns are added at the default layer 2) A dict {layer_name : matrix} specified so that the matrix (N, M) will be added to layer layer_name
- col_attrs (dict) – Column attributes, where keys are attribute names and values are numpy arrays (float or string) of length M
Returns: Nothing.
Notes
- This will modify the underlying HDF5 file, which will interfere with any concurrent readers.
- Column attributes in the file that are NOT provided, will be deleted.
- Array with Nan should not be provided
-
add_loom
(other_file: str, key: str = None, fill_values: typing.Dict[str, numpy.ndarray] = None, batch_size: int = 1000) → None[source]¶ Add the content of another loom file
Parameters: - other_file (str) – filename of the loom file to append
- fill_values (dict) – default values to use for missing attributes (or None to drop missing attrs, or ‘auto’ to fill with sensible defaults)
- batch_size (int) – the batch size used by batchscan (limits the number of rows/columns read in memory)
Returns: Nothing, but adds the loom file. Note that the other loom file must have exactly the same number of rows, and must have exactly the same column attributes. The all the contents including layers but ignores layers in other_file that are not already persent in self
-
batch_scan
(cells: numpy.ndarray = None, genes: numpy.ndarray = None, axis: int = 0, batch_size: int = 1000, layer: str = None) → typing.Iterable[typing.Tuple[[int, numpy.ndarray], numpy.ndarray]][source]¶ Performs a batch scan of the loom file
Parameters: - cells (np.ndarray) – the indexes [1,2,3,..,1000] of the cells to select
- genes (np.ndarray) – the indexes [1,2,3,..,1000] of the genes to select
- axis (int) – 0:rows or 1:cols
- batch_size (int) – the chuncks returned at every element of the iterator
Returns: - Iterable that yields triplets
- (ix, indexes, vals)
- ix (int) – first position / how many rows/cols have been yielded alredy
- indexes (np.ndarray[int]) – the indexes with the same numbering of the input args cells / genes (i.e. np.arange(len(ds.shape[axis]))) this is ix + selection
- vals (np.ndarray) – the matrix corresponding to the chunk
-
batch_scan_layers
(cells: numpy.ndarray = None, genes: numpy.ndarray = None, axis: int = 0, batch_size: int = 1000, layers: typing.Iterable = None) → typing.Iterable[typing.Tuple[[int, numpy.ndarray], typing.Dict]][source]¶ Performs a batch scan of the loom file dealing with multiple layer files
Parameters: - cells (np.ndarray) – the indexes [1,2,3,..,1000] of the cells to select
- genes (np.ndarray) – the indexes [1,2,3,..,1000] of the genes to select
- axis (int) – 0:rows or 1:cols
- batch_size (int) – the chuncks returned at every element of the iterator
- layers (iterable) – if specified it will batch scan only accross some of the layers of the loom file i.g. if layers = [“”] batch_scan_layers is equivalent to batch_scan
Returns: - Iterable that yields triplets
- (ix, indexes, vals)
- ix (int) – first position / how many rows/cols have been yielded alredy
- indexes (np.ndarray[int]) – the indexes with the same numbering of the input args cells / genes (i.e. np.arange(len(ds.shape[axis]))) this is ix + selection
- vals (Dict[layername, np.ndarray]) – a dictionary of the matrixes corresponding to the chunks of different layers
-
delete_attr
(name: str, axis: int = 0, raise_on_missing: bool = True) → None[source]¶ Permanently delete an existing attribute and all its values
Parameters: - name (str) – Name of the attribute to remove
- axis (int) – Axis of the attribute (0 = rows, 1 = columns)
Returns: Nothing.
-
get_edges
(name: str, axis: int) → typing.Tuple[[numpy.ndarray, numpy.ndarray], numpy.ndarray][source]¶
-
map
(f_list: typing.List[typing.Callable[numpy.ndarray, int]], axis: int = 0, chunksize: int = 1000, selection: numpy.ndarray = None) → typing.List[numpy.ndarray][source]¶ Apply a function along an axis without loading the entire dataset in memory.
Parameters: - f (list of func) – Function(s) that takes a numpy ndarray as argument
- axis (int) – Axis along which to apply the function (0 = rows, 1 = columns)
- chunksize (int) – Number of rows (columns) to load per chunk
- selection (array of bool) – Columns (rows) to include
Returns: numpy.ndarray result of function application
If you supply a list of functions, the result will be a list of numpy arrays. This is more efficient than repeatedly calling map() one function at a time.
-
permute
(ordering: numpy.ndarray, axis: int) → None[source]¶ Permute the dataset along the indicated axis.
Parameters: - ordering (list of int) – The desired order along the axis
- axis (int) – The axis along which to permute
Returns: Nothing.
-
set_attr
(name: str, values: numpy.ndarray, axis: int = 0, dtype: str = None) → None[source]¶ Create or modify an attribute.
Parameters: - name (str) – Name of the attribute
- values (numpy.ndarray) – Array of values of length equal to the axis length
- axis (int) – Axis of the attribute (0 = rows, 1 = columns)
Returns: Nothing.
This will overwrite any existing attribute of the same name.
-
set_edges
(name: str, a: numpy.ndarray, b: numpy.ndarray, w: numpy.ndarray, axis: int) → None[source]¶
-
-
class
loompy.loompy.
LoomLayer
(ds: loompy.loompy.LoomConnection, name: str, dtype: str) → None[source]¶ Bases:
object
-
resize
(size: typing.Tuple[int, int], axis: int = None) → None[source]¶ Resize the dataset, or the specified axis.
The dataset must be stored in chunked format; it can be resized up to the “maximum shape” (keyword maxshape) specified at creation time. The rank of the dataset cannot be changed. “Size” should be a shape tuple, or if an axis is specified, an integer.
BEWARE: This functions differently than the NumPy resize() method! The data is not “reshuffled” to fit in the new shape; each axis is grown or shrunk independently. The coordinates of existing data are fixed.
-
-
loompy.loompy.
combine
(files: typing.List[str], output_file: str, key: str = None, file_attrs: typing.Dict[str, str] = None, batch_size: int = 1000) → None[source]¶ Combine two or more loom files and save as a new loom file
Parameters: - files (list of str) – the list of input files (full paths)
- output_file (str) – full path of the output loom file
- key (string) – Row attribute to use to verify row ordering
- file_attrs (dict) – file attributes (title, description, url, etc.)
- batch_size (int) – limits the batch or cols/rows read in memory (default: 1000)
Returns: Nothing, but creates a new loom file combining the input files.
The input files must (1) have exactly the same number of rows, (2) have exactly the same sets of row and column attributes.
-
loompy.loompy.
connect
(filename: str, mode: str = 'r+') → loompy.loompy.LoomConnection[source]¶ Establish a connection to a .loom file.
Parameters: - filename (str) – Name of the .loom file to open
- mode (str) – read/write mode, accepts ‘r+’ (read/write) or ‘r’ (read-only), defaults to ‘r+’
Returns: A LoomConnection instance.
-
loompy.loompy.
create
(filename: str, matrix: numpy.ndarray, row_attrs: typing.Dict[str, numpy.ndarray], col_attrs: typing.Dict[str, numpy.ndarray], file_attrs: typing.Dict[str, str] = None, chunks: typing.Tuple[int, int] = (64, 64), chunk_cache: int = 512, dtype: str = 'float32', compression_opts: int = 2) → loompy.loompy.LoomConnection[source]¶ Create a new .loom file from the given data.
Parameters: - filename (str) – The filename (typically using a .loom file extension)
- matrix (numpy.ndarray) – Two-dimensional (N-by-M) numpy ndarray of float values
- row_attrs (dict) – Row attributes, where keys are attribute names and values are numpy arrays (float or string) of length N
- col_attrs (dict) – Column attributes, where keys are attribute names and values are numpy arrays (float or string) of length M
- chunks (tuple) – The chunking of the matrix. Small chunks are slow when loading a large batch of rows/columns in sequence, but fast for single column/row retrieval. Defaults to (64,64).
- chunk_cache (int) – Sets the chunk cache used by the HDF5 format inside the loom file, in MB. If the cache is too small to contain all chunks of a row/column in memory, then sequential row/column access will be a lot slower. Defaults to 512.
- dtype (str) – Dtype of the matrix. Default float32 (uint16, float16 could be used)
- compression_opts (int) – Strenght of the gzip compression. Default None.
Returns: LoomConnection to created loom file.
-
loompy.loompy.
create_from_cellranger
(indir: str, outdir: str = None, genome: str = None) → loompy.loompy.LoomConnection[source]¶ Create a .loom file from 10X Genomics cellranger output
Parameters: - indir (str) – path to the cellranger output folder (the one that contains ‘outs’)
- outdir (str) – output folder wher the new loom file should be saved (default to indir)
- genome (str) – genome build to load (e.g. ‘mm10’; default: determine species from outs folder)
Returns: Nothing, but creates loom_file


Quotes are words or sentences spoken by people to motivate us. Publish your own quote or any other peron's quote. Thank you.
{{quote.name}} by {{quote.author}}.


Loading sources...
Catalogue Source
Search
Title
LOADING...
Search
Reset
Username
Password
Cancel
Login