text:
DB XML uses XQilla which is an XQuery and XPath 2 library implemented on top of the Xerces-C library for a lot of the XML parsing. Out of the box, Xerces-C has the ability to parse XML document in a number of well known encodings, including (but not limited to) UTF-8, UTF-16 and ISO-8859-1. However, if you have documents that use an unsupported encoding (Big-5 for instance) there is still a solution. You can compile the Xerces-C library with ICU support, which allows BDB XML to transcode and parse over 500 different character encodings. Using the following options to the buildall.sh script that comes with BDB XML is one way to do this:
./buildall.sh --with-xerces-conf="-t icu"
C++, Java, Perl, Python, and PHP. The binaries are compiled against specific versions of the scripting languages and will only work in those environments. See the Windows binaries documentation for details.
No. If you have XML that is not a string (e.g. DOM or other object format) it can be inserted by using the XmlEventWriter class to generate XML "events" that directly insert content into a document. This is the most efficient way to get content into BDB XML.
No. You can use the methods XmlDocument.getContentAsEventReader() and XmlValue.asEventReader() to return an XmlEventReader object that can be used to directly access the raw information. This is the most efficient mechanism for content handling provided by BDB XML.
BDB XML does not provide an implementation of XSLT, but it's easy to integrate BDB XML with a third-party XSLT engine like Xalan or Saxon. Alternatively, you may find the the built-in XQuery engine can satisfy your XML transformation needs.
Yes. XML content can be provided in any UNICODE encoding that Xerces supports. However, keep in mind the interfaces that accept strings for XQuery expressions, document names, indexes, etc. only support the UTF-8 encoding.
How can I tell if a document exists in a container? There is no direct "does this document exist" interface. Instead there are several ways to do this:
bool existsDoc(const std::string &docname, XmlContainer &cont) { bool ret; try { XmlDocument doc = cont.getDocument(docname, DBXML_LAZY_DOCS); ret = true; } catch (XmlException &e) { if (e.getExceptionCode() == XmlException::DOCUMENT_NOT_FOUND) ret = false; else throw; // unknown error } return ret; }
public boolean existsDoc(String docname, XmlContainer cont, XmlManager mgr) throws XmlException { boolean ret = false; XmlResults res = null; XmlQueryContext context = null; try { XmlIndexLookup il = mgr.createIndexLookup(cont, XmlManager.metaDataNamespace_uri, XmlManager.metaDataName_name, "metadata-equality-string", new XmlValue(docname)); context = mgr.createQueryContext(); res = il.execute(context, new XmlDocumentConfig().setLazyDocs(true)); if (res.size() != 0) ret = true; } catch (XmlException e) { if (e.getErrorCode() != XmlException.DOCUMENT_NOT_FOUND) throw(e); } finally { if (res != null) res.delete(); } return ret; }
By default, BDB XML does not perform any DTD or schema validation of documents. However by specifying the DBXML_ALLOW_VALIDATION} flag when you create or open a container, you can ask BDB XML to make sure that any document that you add to the container is DTD and schema valid based on DTD or schema references within the document. If BDB XML cannot locate the referenced DTD or it is on the local file system and DBXML_ALLOW_EXTERNAL_ACCESS was not specified when creating your XmlManager validation will not be performed and invalid (but well-formed) documents may be inserted. You should test that validation is happening as expected. Alternatively you can use whatever C++ validation tools you would normally use, and interface them to DB XML's event API to efficently store and retrieve XML.
Large documents are those which are of an unwieldy size. There is no specific size that means "large" but a 50MiB document can certainly be called large. The first thing to consider is whether such documents can be split up to make them more flexible to manage. For this discussion, let's assume not. Large documents should be stored:
Another consideration is output processing. Retrieving small parts of a large document is reasonably efficient, but serializing the entire document, or performing a query which must iterate the entire document is simply going to be slow. Such operations cannot be optimized.
XmlManager, XmlContainer, and XmlQueryExpression are all completely thread-safe, and not only may be shared among threads, they should be shared for performance and memory management reasons. XmlModify (deprecated in 2.5) and XmlIndexLookup are both thread safe after construction - that is, they have get and set methods on them that aren't thread safe, but once these methods have been used to set up the object as required, they can be executed by multiple threads safely. The remaining objects are not thread safe and should only be used by a single thread at any given time. When using threads and any API other than Java be sure to specify the DB_THREAD flag when opening your Berkeley DB environment object. Threading is on by default in Java.
The advantages of using an XML repository over an RDBMS come from the reduced mismatch between the application-programming model and the data storage model. In particular applications that deal with document content or non-tabular information benefit from using an XML database. Any information that has no schema, conforms only loosely to a schema, or conforms to a schema that is extensible, or changes frequently is a good candidate. Ronald Bourret writes a lot on this topic.
The delete() methods in the Java API are needed to free the C++ resources associated via JNI with the Java objects. The delete() method is called by an object's finalize() method - with all the caveats that Java places on calling of finalize(). In short, it makes no guarentees that finalize will be called on any object. Most Java DB XML object has a corresponding C++ object attached over JNI. Java is quite capable of calling garbage collection when it looks like it is running out of memory, but it doesn't know that these objects are much larger than they seem - because of the attached C++ object. Therefore it is always a good idea to call the delete() method. Several objects use the delete() method like a close() similar to closing a file. These include XmlManager, XmlContainer, and XmlResults. It is necessary to explicitly delete() these to release locks and other database resources they may hold. As of release 2.4.x it is no longer necessary to call delete() on these objects:
Limitations can be expressed in several dimensions:
BDB XML treats document names as a simple, null-terminated string, of any length. There are no restrictions imposed by BDB XML in general, however, there can be problems accessing a document by name in an XQuery expression. In an XQuery expression, a document may be named using fn:doc(), which takes a URI argument. By default, the URI looks like "dbxml:/<container_name_or_alias>/<document_name>". The "dbxml:" scheme is implicit and is the default Base URI for resolution. Because the '/' character is used as a pathname delimiter in the URI, using it in a document name creates a problem -- BDB XML does not know which part of the string is container name and which part is document name. It is possible to handle odd characters in a container name by using the XmlContainer::addAlias() method to create a "safe" alias to use for the container. There is no corresponding interface for document names. Consider an application that wants to name documents using URIs, such as "myscheme://a/b/c". BDB XML is perfectly happy to create such a document. So, how does an application reference that name in an XQuery expression? The answer involves keeping '/' characters out of the argument to fn:doc() and/or fn:collection(). The simplest way is to avoid using fn:doc() and instead use fn:collection() along with a predicate. For example, instead of a query like:
Another, obvious option is to escape the problematic '/' characters in document names to avoid the problem altogether, but that can be cumbersome, as well.
The oXygen XML Editor has built in support for Berkeley DB XML.
There is no longer any difference between the delete() and close() methods in the Java API for the classes that have both.
A given BDB XML release may or may not have specific Berkeley DB version dependencies. If so, they are documented in the build documentation. Here is the procedure: Unix
Windows The BDB XML project files directly reference the Berkeley DB libraries as well as the location of Berkeley DB header files. These locations need to change to reflect your Berkeley DB version and location.
See the instructions in the source code in dbxml-2.x.y/dbxml/src/php/README.
Often, DB XML's Java users come up with an issue like this:
java.lang.UnsatisfiedLinkError: no libdb_java43 in java.library.path
This is normally due to an improperly configured java.library.path
java -Djava.library.path="/home/jpcs/dbxml-2.4.8/install/lib/" MyClass
The version of GCC shipped with SuSE 10 produces incorrect code when run with optimization level '-O2'. That is now the default when DB is configured. By changing the Makefile in between running configure and make, with:
sed -i 's/O2/O/g' Makefile
the error no longer occurs. The version of gcc that ships with SUSE 10 is:
gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux)
A common question we get is what file system to use under Linux? Currently, the best information we have is that ext2 is the best performing Linux file system for TP applications (but as it lacks ordered data mode, it's likely not to be reliable). Second best is ext3, and ReiserFS is last. We don't have performance measurement information for XFS, but we've seen failures in the field (XFS has problems with applications which repeatedly extend files, and that is a common usage pattern in Berkeley DB databases).
Berkeley DB's header file db.h and Microsoft's header file oledb.h both define the symbol DBTYPE. Unfortunately, changing either use of this symbol would break existing code. The first and simplest solution to this problem is to organize your source code so that only one of these two header files is needed in any of your sources. In other words, separate the uses of Berkeley DB and the uses of Microsoft's OLE DB library so that they are not mixed in your code. Then, just choose either db.h or oledb.h, but do not mix them in one source file. If that is not possible, and you have to mix both headers, wrap one of the #include lines as follows. Find the line where oledb.h is included in your source code. This may be in the automatically-generated stdafx.h include file. Decide whether that header file is really needed. If it is, change the include line from this:
#include <oledb.h>
/* Work around DBTYPE name conflict with Berkeley DB */ #define DBTYPE MS_DBTYPE #include <oledb.h> #undef DBTYPE db_cxx.h oledb.h db_cxx.h oledb.h
The Berkeley DB environment keeps memory for a fixed number of lockers, locks and lock objects -- so it is always possible to run out of these resources. The maximum amount of lock resources to be allocated is set when the database environment is created, so to change this number, you will need to increase the increase the number of lockers, locks and/or lock objects and re-create your environment. For more information, see the Berkeley DB Reference Guide chapter Configuring locking: sizing the system.
Berkeley DB can continue to run when when out-of-disk-space errors occur, but it requires the application to be transaction protected. Applications which do not enclose update operations in transactions cannot recover from out-of-disk-space errors, and the result of running out of disk space may be database corruption.
On some installations of FreeBSD 5.4, you may see this runtime error: Fatal error 'Spinlock called when not threaded.' at line 87 in file /usr/src/lib/libpthread/thread/thr_spinlock.c (errno = 0) If this error is seen, it is necessary to create an /etc/libmap.conf file to map libc_r to libpthread. See "man 4 libmap.conf" for details on how to do this.
In Berkeley DB terminlogy, a "locker" is something like a database, a transaction or a cursor. Berkeley DB "locks" are owned by a "locker" and generally lock pages of a database. There are other kinds of locks. Translating to BDB XML, lockers are associated with Containers, which own database handles, as well as documents, which may own cursors. Lockers and locks only exist if you are creating and using a Berkeley DB environment, and they exist even if your application does not use transactions, in order to support some level of concurrent access. You can change the number of lockers by (re)creating the environment, using the proper arguments: C++:
DbEnv::set_lk_max_lockers(u_int32_t) DbEnv::set_lk_max_locks(u_int32_t)
EnvironmentConfig.setMaxLockers(int) EnvironmentConfig.setMaxLocks(int)
These must be set *before* you create your environment using the open method. The obvious question is "what number should I use?" For lockers, you should use at least the maximum number of simultaneously referenced pages you may have. For a large, inefficient query it is possible to touch all pages in a container so the size of the container divided by its page size should be large enough. If you still run out you can resize again. If you want to change lock or locker parameters in an existing environment, it must be removed, then re-created. This does not affect the existing BDB XML containers or database files in that environment, as long as it's done properly. To remove an environment safely, do one of these two things:
There could be a number of reasons for getting these exceptions, however, if you are using Java, it is probably because you have forgotten to call the delete() method on some of your DB XML objects. As of release 2.4.x this error will be far less likely. The likely cause is not deleting XmlResults objects. Underneath every DB XML Java object is a corresponding C++ object. At some point the Java garbage collector will delete the Java object which in turn deletes the C++ object. However, since you have no control over when Java will garbage collect your objects, it is always a wise idea and in some cases necessary to use the delete() method on DB XML objects when you have finished with them.
For performance reasons, Berkeley DB does not write the unused portions of database pages or fill in unused structure fields. To turn off these errors when running software analysis tools, build with the --enable-umrw configuration option.
This is because you almost certainly shouldn't be using text()! The FAQ entry should explain more.
Use the call, XmlContainer::getAllDocuments(0); This is the same as querying for all documents in the name index. You can do anything with the result set you would do with query results, including using them as context items for an additional query.
There are several reasons for using transactions. Any one of this is sufficient to require transactions:
Whereas you may not need TDS if:
The transacted methods in BDB XML all take an XmlTransaction object. This object can be constructed using an already-created Berkeley DB transaction object. Another mechanism is to get the Berkeley DB object from the BDB XML XmlTransaction object. The thing to avoid is creating two unrelated transaction objects that may conflict with one another. In C++, to construct an XmlTransaction from DbTxn:
DbTxn *dbtxn = 0; // use Berkeley DB environment to begin a transaction env.txn_begin(0, &dbtxn, 0); // create XmlTransaction from DbTxn XmlTransaction xmltxn = manager.createTransaction(dbtxn);
In C++, to obtain a DbTxn from XmlTransaction:
XmlTransaction xmltxn = manager.createTransaction(); // get DbTxn DbTxn *dbtxn = xmltxn.getDbTxn();
When using DbTxn and XmlTransaction together, a couple of rules are important. Once a transaction is committed or aborted, the underlying DbTxn object will have been deleted, and must not be referenced again. Also, a DbTxn object may only be referenced by one XmlTransaction object at a time.
Since in 2.5, BDB XML uses BDB C API instead of BDB C++ API, so you should use DB_TXN and getDB_TXN() to substituate for DbTxn and getDbTxn() respectively.
In Java, to construct an XmlTransaction from a Transaction:
Transaction dbtxn = env.beginTransaction(null,null); XmlTransaction xmltxn = manager.createTransaction(dbtxn);
XmlTransaction xmltxn = manager.createTransaction(); Transaction dbtxn = xmltxn.getTransaction();
Deadlock handling is necessary in all applications that use transactions and have concurrent read/write or write/write access to BDB XML. The Berkeley DB reference guide has more to say on the subject. In Java, one strategy for dealing with deadlocks is as follows:
public interface SleepycatXmlTransactionWrapper<T> { public T run() throws Exception; }
public class SleepycatXmlTransaction { public static final int DEADLOCK_RETRIES = 3; private static ThreadLocal<XmlTransaction> tx = new ThreadLocal<XmlTransaction>(); // static methods use ThreadLocal XmlTransaction private static void createTransaction() {/* etc. */} private static void commitTransaction() {/* etc. */} private static void abortTransaction() {/* etc. */} public static <T> T wrapWithDeadlockRetry( SleepycatXmlTransactionWrapper<T> txw) throws Exception { T returnValue = null; for(int i = 0; i < DEADLOCK_RETRIES; i++) { try { createTransaction(); // Do the work, return whatever's needed returnValue = txw.run(); commitTransaction(); return returnValue; } catch(Exception e) { // Abort, but continue in the loop if our // transaction was deadlocked abortTransaction(); if(isDeadlock(e)) { Loggers.XML_RUNTIME.info("Transaction deadlock " + (i + 1)); // Give other threads a chance Thread.yield(); continue; } else throw e; } } // We're out of retries - too bad throw new OutOfRetriesException("Transaction failed after " + DEADLOCK_RETRIES + " retries"); } }
public String myMethod(final String bar) throws SomeException { String result = null; try { result = SleepycatXmlTransaction.wrapWithDeadlockRetry( new SleepycatXmlTransactionWrapper<String>() { public String run() throws Exception { //...all your code... } }); } catch(Exception any) { } return result; }
XQuery functions are essential for performing more complicated recursive queries. The syntax do that is this:
declare function local:times_two($value) { $value * 2 }
XQuery specifies that function declarations must go in the query prolog, at the start of the query.
You can use multiple fn:collection() functions in your XQuery expression. For instance, you can use the union operator ("|") to combine the results of different calls to fn:collection(), like this:
(collection("A") | collection("B") | collection("C"))/foo/bar
There are various methods of acheiving this:
XmlDocument doc = manager.createDocument(); doc.setContent(myXmlContent); XmlValue val(doc); expression.execute(val, queryContext);
This allows you to reference your XML document as the context item (".") in your query.
An XQuery module import statement looks something like this: import module namespace tm='test-module' at 'test-module.xq'; In BDB XML the default module resolution treats the "test-module.xq" as a path name in the file system. For example, the above statement would look for the file, test-module.xq, in the current directory. The resolution also pays attention to the base URI set in the XmlQueryContext object used for the query. For example, if the base URI is "file://tmp/" the resolution will look for the file "/tmp/test-module.xq" Yet another way to handle module import is to implement your own instance of the XmlResolver class, and register it using the method XmlManager::registerResolver() Module imports will call the XmlResolver::resolveEntity() method. This allows you to entirely control the location of modules, and place modules in the file system or in a Berkeley DB database or in BDB XML metadata item, or even construct them in code.
class testResolver extends XmlResolver { public testResolver() throws XmlException {} public boolean resolveDocument(XmlTransaction txn, XmlManager mgr, String uri, XmlValue val) throws XmlException { return false; } public boolean resolveCollection(XmlTransaction txn, XmlManager mgr, String uri, XmlResults res) throws XmlException { return false; } public XmlInputStream resolveSchema(XmlTransaction txn, XmlManager mgr, String location, String nameSpace) throws XmlException { return null; } public XmlInputStream resolveEntity(XmlTransaction txn, XmlManager mgr, String systemId, String publicId) throws XmlException { return null; } public boolean resolveModuleLocation(XmlTransaction txn, XmlManager mgr, String nameSpace, XmlResults result) throws XmlException { return false; } public XmlInputStream resolveModule(XmlTransaction txn, XmlManager mgr, String moduleLocation, String nameSpace) throws XmlException { return null; } }
If you want to return a specific XQuery module in your resolveModule() method, you can create an XmlInputStream object from a file or even from a java.io.InputStream object using XmlManager.createInputStream()The C++ code to do the same thing is similar.
Many people use this syntax: /foo/bar/text(). In the majority of cases, this is incorrect! The explanation follows. Consider this document:
<foo> <bar>hello <baz>you</baz>there</bar> </foo>
In XQuery, text() is a text node test. This means that in the example /foo/bar/text(), text() is short for child::text(), which tells you a little more about what it does. This expression returns all children of the current context that are text nodes. So the in this example, the aforementioned expression will return two text nodes, one with the value "hello ", and the second with the value "there". What's important to note here is that not only are you getting text nodes returned, rather than a string - but that the text nodes' combined value does not equal the value of the bar element! The XQuery specification defines the string value of this element as "hello you there". In other words the concatenation of all the values of the descendant text nodes. Another important issue is that attribute nodes don't even have any text node children. So if you wrote /foo/@bar/text() expecting to get the attributes value, you might be very surprised when the query engine quite rightly returned an empty sequence. Thirdly, BDB XML's query planner is not going to optimize any use of text(). It can't, as the BDB XML indexes deal with the value of elements and attributes, not their text node children. So you will lose out on valuable optimization if you use text(). Enough of why it's wrong. How do you get the value of a node? Here are some methods, and the differences between them:
Whatever you do, try to get out of the habit of using text() unless you know precisely what you want from it.
There are two ways to do this:
Note that the default base URI is "dbxml:/", which means that you can often leave off the scheme specifier in the URI: doc("myContainer/myDocument")
for $a in collection() return dbxml:metadata("dbxml:name", $a)
Document metadata is available in a query by using the dbxml:metadata() function. This function takes arguments of a the name of the metadata as a string, and an optional argument of a node from the document to look metadata up for. If the second argument is not specified, the context item is used instead. The dbxml:metadata() function returns the typed metadata from the document, by treating the first argument as a QName and resolving it's prefix as a URI. Some examples of usage: Return the names of all documents in the default collection:
for $a in collection() return dbxml:metadata("dbxml:name", $a)
Return documents with {http://timstamp.org}timestamp metadata less than 5:
declare namespace ts = "http://timestamp.org"; collection()[dbxml:metadata("ts:timestamp") < 5]
There are a couple of ways to create an xs:QName item in a query:
declare namespace foo="http://foo"; xs:QName("foo:bar")
xs:QName("http://foo", "foo:bar")
There are several methods of doing this:
No. The XUpdate specification is not complete, and does not include support for important concepts upon which BDB XML relies, such as transactions. It has also remained unchanged and in working draft since September 14, 2000. From version 2.4, DB XML has supported the W3C's XQuery Update language, which is far more suitable for updating persistant XML documents.
The BDB XML data model saves database space (and time during updates) by not storing a mapping from document to index entries. This means that the document needs to be re-parsed during a delete, in order to calculate which index entries to remove.
This error usually means that the value you have selected to perform a modification on does not come from the exact same XmlDocument as the one given to XmlModify::execute(). This is based on reference equality, rather than the same document obtained from the database in two different ways. For instance, this will give you an error:
modify.addRemoveStep(manager.prepare("doc('container/foo')//bar", qc)); XmlDocument foo = container.getDocument("foo"); modify.execute(XmlValue(foo), qc, uc);
where as this will not:
modify.addRemoveStep(manager.prepare(".//bar", qc)); XmlDocument foo = container.getDocument("foo"); modify.execute(XmlValue(foo), qc, uc);
The simple rule of thumb should be that the modify step's query should always be relative - that is, it should navigate from the context item ("."), rather than using the fn:doc() or fn:collection().
You can use a useful program called rlwrap to do this. This will give you command line history, and bash style command line editing. Use it like this:
rlwrap dbxml [command line args here]
Consider a document set marked up using a complex DTD with deep nesting (14 or more levels deep in some cases). A typical "simple" search from a user's perspective is: Find me the word FOO anywhere in the corpus. The most intuitive query for this is: collection()//*[contains(., 'FOO')] Is there an index type that optimizes this case? BDB XML can not currently optimise a query of the sort above, since it only indexes values for named nodes. One way to acheive this is to add a substring index on the document element, and write a composite query like this:
collection()/docElem[contains(., 'FOO')]//*[contains(., 'FOO')]
BDB XML provides methods to directly access indexes using the object, XmlIndexLookup and its methods. Using an XmlIndexLookup object, it is possible to:
Here's a simple equality lookup example in C++:
// assume cont and mgr are open container and manager... // perform lookup in a decimal equality index on the "age" element // look for all entries with age equal to 27. The operation // is left off -- it defaults to equality if a value is provided. XmlIndexLookup il = mgr.createIndexLookup(cont, "", age, "node-element-equality-decimal", XmlValue(XmlValue::DECIMAL, 27)); // the omnipresent query context XmlQueryContext qc = mgr.createQueryContext(); // execute the lookup XmlResults res = il.execute(qc); // handle results ...
Here's a more complex example, which uses the same index as above (decimal index on "age"), but finds all entries greater than 12 and less than or equal to 35, and returns them in reverse sort order (highest first):
XmlQueryContext qc = mgr.createQueryContext(); // create the basic XmlIndexLookup object, which sets // the lower-bound operation and value (gt, 12) XmlIndexLookup il = mgr.createIndexLookup(cont, "", age, "node-element-equality-decimal", XmlValue(XmlValue::DECIMAL, 12), XmlIndexLookup::GT); // now, set the upper bound and operation (35, LTE) il.setHighBound(XmlValue(XmlValue::DECIMAL, 35), XmlIndexLookup::LTE); // perform the operation, setting the reverse order flag XmlResults res = il.execute(qc, DBXML_REVERSE_ORDER); // handle results ...
This interface is useful for sophisticated applications that can benefit from direct index lookup, with or without also using the XQuery interface.
A lot of people try to specify the "parent/child" name combination for an edge index - in DB XML this is not possible. An edge index just records what the parent name is - you cannot specify that DB XML only make index entries for nodes with a specific named parent.
In Berkeley DB XML it is best to specify indexes on a container before documents are inserted. When indexes in a populated container are changed, all documents in that container must be reindexed, and this can take a long time. If indexes must be changed after the fact, it is best to add/remove several at once, to amortize the cost of the reindex. This means using code that looks like this:
// get the index specification XmlIndexSpecification ispec = container.getIndexSpecification(); // modify the index specification, as desired ... // reset the index specification container.setIndexSpecification(ispec, ...);
It is very simple to use the dbxml shell program to add or remove a single index, but because the shell can only manipulate one index at a time, using the shell to manage indexes on a populated container may be less efficient than using code.
After you install the Java API and create a Java project in Eclipse you must add db.jar and dbxml.jar to the Build Path of your project, which is done as follows:
In order enter the BDB XML Java libraries while debugging you must link to the BDB XML Java source as follows:
To do this requires a source installation of BDB XML, Windows, and Visual Studio. The description below specifically uses Visual Studios 2005 Express Edition. There is a write up and video of this process at this blog , but you have to do some extra steps to get the process to work with BDB XML. The first step to getting Visual Studio and Eclipse to run together is to build the C++ libraries with the correct arguments. Set the build mode to Debug for the entire Solution. Then right click the dbxml_java project and select Properties from the menu. In the Properties window select Linker->Debugging, then set Generate Map File to Yes(/MAP) and Map Exports to Yes(/MAPINFO:EXPORTS). Repeat this process for the projects XercesLib, xqilla, dbxml, and db_java. Then, rebuild all of these libraries. Next you need to remove all release .dll files for the BDB XML libraries from your computer's PATH (for example, you would want to delete libdbxml24.dll, but keep libdbxml24d.dll). For example, I keep my release .dll files in dbxml/bin, so I moved all those files into a folder named HideDll. Remember, everytime you build the dbxml project it copies the release .dll files back into the dbxml/bin directory. If release .dll files are left in the Path then you will get illegal memory access exceptions, and execeptions for deleting illegal memory in the heap. This is because both release and debug libraries have been loaded, and they treat memory in different ways that cannot be combined. To be safe, you might want to delete the dbxml/build_windows/Release directory, that directory keeps copies off all the release libraries. Now you want to set Visual Studio up to run your Java programs as a server, this is how you do it. First, right click the dbxml_java project and select Properties from the menu. On the Properties window select Configuration Properties -> Debugging. Set Command to the path of your java executable, for example I set it to C:\jdk1.5.0\bin\java.exe. Then put the following in the Command Arguments section:
-Xmx400m -Xms400m -Xdebug -Xnoagent \ -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 \ -classpath <paths-to-jar-files> <java-program-to-run>
For example, to run the test program AutoOpenTest.java on my computer I put:
-Xmx400m -Xms400m -Xdebug -Xnoagent \ -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 \ -classpath C:\Sleepycat\jar\junit-4.4.jar;C:\Sleepycat\jar\dbxmltest.jar;\ C:\Sleepycat\jar\dbxml.jar;C:\Sleepycat\jar\db.jar \ dbxmltest.XmlTestRunner
Then set Working Directory to the directory you want as a working directory. Hit OK to save these settings. Then right click on dbxml_java and select Debug->Start New Instance. This will start your java program running as a server, but the program will wait for Eclipse to attach to it before it begins executing. Next go to Eclipse and set whatever breakpoints you want in your java program. Then go to Run->Open Debug Dialog. Select Remote Java Application and select to create a New one. Set Connection Type to Standard(Socket Attach), Host to localhost, and Port to 8000. Next hit Debug to to attach the debugger to the waiting Java server. Now the program should stop in Eclipse if you set any breakpoints in the Java, and it should stop in Visual Studio if you set any breakpoints in C++. Unfortunatlly you cannot step directly from Java to C++, or from C++ to Java, but if you want to enter XmlContainer_putDocument__SWIG_1 from Java, then just go to dbxml_java_wrap.cpp in Visual Studio and set a breakpoint in the function Java_com_sleepycat_dbxml_dbxml_1javaJNI_XmlContainer_1putDocument_1_1SWIG_10 (or whatever function SWIG made to answer a call to XmlContainer_putDocument__SWIG_1). If when you start Eclipse you get an error message like Cannot Find file MSVCP80D.dll or something similar, this is not because Windows cannot find that file, but has to do with how .dll files are configured. In this case try deleting your dbxml/bin/debug directory and your dbxml/build_windows/Win32/Debug directory and rebuilding so that the .dll files can be built and configured correctly.


text:
Feeling sartorially lazy on Monday, I repeated an outfit I had worn to go out over the weekend. If this get-up reads a little more night at the bar than morning at the office, that's why! I enjoyed wearing it on both occasions.
Thursday, June 30, 2011
Double Duty
Feeling sartorially lazy on Monday, I repeated an outfit I had worn to go out over the weekend. If this get-up reads a little more night at the bar than morning at the office, that's why! I enjoyed wearing it on both occasions.
22 comments:
- Meghan said...
sooo darling and sexy! Those shoes are an amazing find :)
- June 30, 2011 at 3:08 PM
I really love the bubble gum pink shoes!
- June 30, 2011 at 3:12 PM
- lauraa said...
You look incredible. Those jeans fit you perfectly. Man I wish I looked that good in highwaist denim!
- June 30, 2011 at 3:12 PM
- Lianna J said...
that is a great outfit and i'm loving the color of your shoes!
- June 30, 2011 at 6:37 PM
- Nicole said...
Those shoes are incredible! I was bummed they were from Goodwill because that means I can't get a pair, but ecstatic for you because you got such an amazing pair of shoes for only $4!!!
Post Something Creative
- June 30, 2011 at 7:03 PM
- Stream said...
Love the mix & match! Fabulous heels!
It does look like an outfit for a night out but I think it works perfectly for the office too :)
- June 30, 2011 at 7:46 PM
- Mila said...
That top is gorgeous! I love the pop of color with your makeup and shoes. You always look so put together...perfect.
- June 30, 2011 at 8:01 PM
- Molly said...
I love the pop of the yellow belt paired with the bubble gum pink heels. Well played!
- June 30, 2011 at 8:29 PM
- Samantha said...
Love, love those pink heels! They really could go with everything.
Mus(eum)ings: Musings from a Museum Intern
- June 30, 2011 at 9:13 PM
Regardless what time of day it was intended to be worn, I absolutely love this outfit. Especially the pops of color in the shoes and belt with the graphic black and white.
XO- Corrie @ www.brooklynbliss.wordpress.com
- June 30, 2011 at 9:24 PM
- Nic said...
love the outfit. the pop of colors is great! love the shoes :-)
- June 30, 2011 at 10:51 PM
- Adin B said...
I love those shoes!
- June 30, 2011 at 11:09 PM
- Linh + Tina said...
You are always so cute, love the pink and yellow on this graphic look. ~LT
- June 30, 2011 at 11:42 PM
- Fashionably Learning To Be said...
I love that look! The yellow and pink are fun pops of color.
- July 1, 2011 at 11:46 AM
- April said...
those shoes are fantastic! can't believe you thrifted them.
- July 1, 2011 at 8:25 PM
- tracychambersvintage.com said...
By far the cutest color combination. I might have to borrow this one:)
- July 4, 2011 at 5:31 PM
- Joyce said...
I like those outfits. Pinks shoes are just amazing. I wish I would have such pairs. Really great outfits.
payment protection insurance
- July 5, 2011 at 2:41 AM
- Kat Lacoste said...
so cute! are those jeans still at UO? I want :).
- July 6, 2011 at 2:23 AM
- Allie (Wardrobe Oxygen) said...
Ooh I really dig every part of this outfit!
- July 6, 2011 at 11:24 AM
- Kansas Couture said...
Kat - I think they are! They are the BDG High Rise Cigarette Jean in black.
- July 8, 2011 at 9:26 AM
- Sara said...
Oooohhhh I love this :) You've got such a cute little body to pull it off too. Props girl.
- July 8, 2011 at 11:44 AM
- Closet Full of Happiness said...
wow, i love this outfit! i just got a yellow belt and love how it adds just that pop of color! rock on!!
- July 11, 2011 at 5:51 PM

subset: commoncrawl


text:
HSN Chief Turned Down Job as J.C. Penney
Executive Search Drags on at Retailer, Which Is Still Recovering From Johnson Debacle
J.C. Penney Co. is having a hard time finding its next leader.
Mindy Grossman, who runs HSN Inc., turned down a chance to become Penney's next chief executive, leaving the retailer to continue hunting for a successor to current chief Myron "Mike" Ullman, people familiar with the situation said. Penney directors are working through a small slate of other finalists, and no appointment is imminent, the people said.


text:
NORTH DARTMOUTH, MA - The University of Massachusetts Dartmouth track and field team broke four school records and turned in a strong performance at the Minuteman Invitational at the UMass (Amherst) Track and Field Complex Saturday.
The men scored 51 points and finished eighth of 14 teams. Northeastern was first with 110.5 points. The women were 13th of 18 teams with 23 points. Connecticut was first with 108.
The women's team broke three marks. The 4 x 400 meter relay team of senior Morgan Cooper (Sunderland, MA/Frontier Regional HS), freshman Michele-Le Miranda (Somerville, MA/Somerville HS), senior Jillian Van Ness (Agawam, MA/Agawam HS) and freshman Summer Jones (East Bridgewater, MA/East Bridgewater HS) finished sixth in a school record time of 4:05.23. Van Ness set a school record when she finished fourth at 400 meters in 58.62 seconds. Junior Krista Chauvin (Seekonk, MA/Seekonk HS/Stonehill) broke the school record when she finished second in the hammer with a toss of 181-9, and was also fifth in the discus at 132-7. And the men's 4 x 400 meter relay team of sophomore Jake Texeira (Seekonk, MA/Seekonk HS), junior Matt Hinthorne (Braintree, MA/Braintree HS), sophomore Matt Ferro (Halifax, MA/Silver Lake HS) and senior Gerald Arneaud (Dorchester, MA/ Newton South HS) was third in a school record time of 3:20.08. Arneaud ran the anchor leg in 47.9 seconds.
Among the women, freshman Ashley Motta (Swansea, MA/Case HS) was sixth in the javelin at 112 feet, sophomore Bailey Burke (South Yarmouth, MA/Dennis-Yarmouth HS) threw the hammer 129 feet, five inches, sophomore Jess Connor (Worcester, MA/Doherty HS/Worcester State) ran 12:53.05 in the 3000 meter steeplechase, the fourth fastest time in school history, and junior Isabel Pierre (Port-au-Prince, Haiti/West Roxbury HS) had two personal bests. She ran 100 meters in 13.31 seconds, and 200 in 27.44.
For the men, Jake Texeira was third in the 400 intermediate hurdles in 54.62 seconds, the third fastest time in school history, Arneaud was fourth in the 400 in 49.35 seconds, junior Zach Switaj (Tamworth, NH/Kennett Regional HS) was third at 1500 meters in 3:59.96, the 10th fastest time in school history, and sophomore Adam Jones (Amesbury, MA/Triton Regional HS) was third in the high jump at 6-5.
Junior Brett Croteau (Dighton, MA/Dighton-Rehoboth HS) won the javelin at 193 feet, two inches, while junior Joe Texeira (Seekonk, MA/Seekonk HS) was third at 177-11. At 100 meters, sophomore Daryl Chingono (Johannesburg, South Africa/St. Stithian's Boys School) was sixth in 11/38 seconds. Freshman Grunde Brandso (Dartmouth, MA/Dartmouth HS) was sixth in the shot put at 44-6 1/2. Hinthorne ran 1:55.22 at 800 meters, a personal best, as did sophomore Jean Pierre (Port-au-Prince, Haiti/West Roxbury HS) at 200 meters (24.73 seconds).
"That's the beauty of coming to a meet like this," said UMass Dartmouth Head Coach Steve Gardiner. "We like to come to meets like this where we can compete against Division I and Division II schools, and our kids rose to the occasion. This meet was a great catalyst for the rest of the year, and I'm pleased with the way we performed."
The Corsairs will return to action next Saturday when they visit Connecticut College for the Silfen Invitational.


text:
Obituary: Jaime (Jane) Frieze
Jaime was a rare and special person. She had many friends and the ability to extend herself to others. She radiated kindness, intelligence and great wit.
She loved any kind of animal and before having to go to a nursing home due to a debilitating illness, she had 15 pets living in her home including pigs, dogs, birds and two bunnies which she rescued, Harold and Maud. Leaving them was almost too much to bare.
I admired her courage and grace during her battle. I never heard her complain or blame. She always had a beautiful smile especially when anyone had a pet to visit her. That brought her pure job. To those that loved her, she stopped communicating with you as she didn't want anyone to see her in that condition. She relished the memories.
All she ever wanted was to go home and at last she is home with Marky and the rest of her babies. Marcella Murray and David Buffer – you were always there for her.
The greatest lesson I learned from Jaime was that if a relationship is in need of repair, do it now! Have no regrets as I have. If you want to do something in her name, please do so by making a contribution to an animal shelter.
Start a dialogue, stay on topic and be civil.
If you don't follow the rules, your comment may be deleted.


text:
Dear Customers,
We want to inform you that on Thursday, August 24th eMagicOne will be providing limited support. If you have a question or problem, the best way to contact us for assistance will be via e-mail.
Please note, phone support and live chat will be unavailable.
Your requests to our help desk received during that day will be replied according to the queue. Though, it may take a bit longer than usual to get back to you with the support response.
Your patience during this period is greatly appreciated. We will be back in full force and ready to help you on Friday, August 25th when usual support hours resume.
Thank you for understanding.
During this period you will still have full access to your licenses and software will be available for purchase at -
eMagicOne Team.


text:
Ian Martin curates this year's Tamworth Popupalooza
MONDAY Excited to be curating this year's Tamworth Popupalooza. It will be many things - an urban showcase, an indie artfest, a psychospatial experiment, a realtime craft fair, an intersectional nebulisation, a global inreaching, a vertical thinkathon, a cultural boot sale, an actual boot sale, a celebration of biversity, a festival of affirmation, a carnival of tolerance, a network of beer-and-vinyl boutiques, the location of Britain's Biggest Conga, free all-day cycling and the Great Community Bake-Off.
But Popupalooza is not just about fun. It has a grimmer purpose. It is about restoring Tamworth as the capital city of Britain. By bloody insurrection if necessary.
TUESDAY This year's Popupalooza will feature a specially created model village, 'Popuppingham'. All thatch and whitewash, smelling of cut grass and fresh laundry.
It has been designed to feel exactly like a Leicestershire superhamlet, the sort of place high-earning professional people retreat to at weekends. We tireless campaigners, we Friends of Mercia, are simply making a point. 'This is what we would have had within an hour and a half's commute of Tamworth' we are saying, 'if only it had retained capital city status. 'Instead, the title Capital of England was wrenched from us by dastardly Winchester in the ninth century, only to be snatched from THEM by suave, double-crossing London in the eleventh. As a consequence, nearly every wanker in a pink shirt lives in the South…'
These days, Tamworth's notional commuter belt has one of the lowest densities of wankers in pink shirts in England. If there is anything positive to be taken from this underperformance it is that 'WIPS' belong in London, along with unpleasant wealthy foreigners, war criminals and charity beatboxers. When Tamworth rises again (inevitable, given global warming and the success of Game of Thrones) we will develop an entirely new dress code for wankers. Let's draw a line under the pink shirt and move forward.
WEDNESDAY I'm with the rest of the judges in the secret judging marquee, shortlisting some architectural street food for Popupalooza. As is customary, we pause ever now and then to pull a 'surprised' face. Or squint uncertainly over glasses. Or laugh, gaily. A local string quartet is in the corner, playing generic pizzicato passages to keep us 'in the mood'.
We like the look of the architectural kebabs. Mechanically-retrieved animal plasma dyed emerald green, shaped into little Monopoly houses, then skewered into terraces. There are New York 'subways' with edible signage; French versions with Art Nouveau stylings at either end. Impossible-to-eat deconstructivist 'anti-pasties'. Ice cream cones in the shape of Shards. Exotic double-miniburgers with salad mezzanines.
Oh LOTS of salads of course, this food is architectural. Rewilded salads. Green roof salads. Salads like miniature rain forests. All great to look at but you wouldn't want to eat any of it. Never buy street food in Mercia, everyone knows that.
THURSDAY Finalise arrangements for our 'suburban beach', a strip of sand with herbaceous borders and a big sign prohibiting ball games.
FRIDAY A cloudmapped social happening such as Popupalooza would be incomplete without installations all over the place, challenging everyone's perceptions of what a cloudmapped social happening is. There's some properly challenging stuff lined up. 'Ha Ha Ha You Fucking Ants' is a powerful installation by artists Con and Connie Connaught: 42 flags on the roof of the cider tent, 'each one a command to passers-by to think a bit more about things for a change'. Questions range from the provocative ('What are you looking at?') to the oblique ('How many pixels in a daydream?')
Let's hope it gets people thinking about how we can speed Mercian independence, crush the ancient kingdoms of Wessex and Anglia and reinstate Tamworth as the capital city, otherwise we risk getting a bit distracted.
SATURDAY Approve the planted wheelbarrow display. We're using only flowers, vegetables and weeds that flourished, along with Offa's Tamworth kingdom, in the eighth century. Hogstink. Deathpansy. Witchsnot. Arse-fennel. Gripeweed. Bloodturnip. Shitgrass. Bubbling Gashwort. Happy days.
SUNDAY Leisurely afternoon, reviewing Popupalooza progress reports in my eighth century Mercian recliner. It's a reconstruction, fashioned from timber and clotted flax. Not very comfortable. But then the truth often hurts.
I smile grimly to myself and sketch out plans for a flooded Milton Keynes. In the era of New Mercian hegemony it will become a wet playground, the 'Venice of the Upper North-West South East'.
Have your say
You must sign in to make a comment
Please remember that the submission of any material is governed by our Terms and Conditions and by submitting material you confirm your agreement to these Terms and Conditions.
Links may be included in your comments but HTML is not permitted.


text:
08 Nov 2017
Disorder is adaptive for viruses
Certain plant viruses encode "disordered" proteins, whose structural flexibility can more easily accommodate mutations. These proteins may increase virus adaptability and, in particular, allow viruses to evade genetically enhanced crop resistance. This advantage has been experimentally demonstrated for the first time by infecting resistant pepper plants with high-disorder Potato virus Y mutants.


text:
I'm down in Florida and I've gotten sick (along with my wife…and one of my children)…I'm a bit feverish and I dreamed it was December 30th, 2014, and I saw the following post on this blog about the top stories of 2014. I take no responsibility for these, since it was all a dream…
1) Frontier is the breakout airline of the year.
Indigo Partners bought the airline in October, 2013, and pledged to continue remaking the company into a so-called Ultra Low Cost Carrier (or as we used to call it, a Low Cost Carrier). Indigo Partners is led by William Franke, one of the guiding forces of the wildly successful turnaround at Spirit Airlines. I know you hate Spirit, but they are, along with Allegiant and US Airways, one of the 3 best-run airlines in the country. They were profitable every quarter through the economic collapse, and check out their stock – started the year at $17.50 and ended close to $45. Hate all you want, but their run a great business. Anyway, Franke was (along with Spirit's operating team) one of the reasons for that success. He's going to remake Frontier – which has already started moving in that direction – into a, if not copycat, a similar operation to Spirit. Check out what they're doing with their service in Trenton and Wilmington (Delaware), trying out a bunch of point-to-point service to a mix of leisure and non-leisure destinations. Plus they've introduced leisure routes between cities like Lansing (MI) & Cancun and Puerto Vallarta. Even Spirit's CEO admits there's plenty of room for another Spirit-like airline to join the ranks. We'll be hearing a lot of good news coming out of Denver in 2014.
2) Something has to give with Alaska Airlines
Alaska has played by its own rules forever, quietly being a driving force of change in the airline industry. They were leaders in online checkin, mobile checkin, kiosks, ill-fated flights to Siberia, and partnerships with other carriers allowing them to generate feed for their flights without the complexity of joining an alliance. Delta's aggression toward the partner in Seattle suggests that some changes are afoot. I don't think Delta will make a play to purchase them, but it's a possibility. Could Southwest, which is still dealing with the AirTran acquisition, make a move for them? It wouldn't be crazy at a different time, but probably not now. Could Alaska acquire Hawaiian Airlines as a defensive play? Maybe, but it doesn't really solve anything. Could US Airways/American try to grab them in 2015 or 2016? That'd be my guess. But 2014 will be interesting for Alaska.
3) Etihad somewhat quietly and pretty suddenly becomes the 4th major airline alliance.
The airline community wondered whether the Gulf needed 3 massive airlines serving such a small population once Qatar and Etihad decided to take on Emirates. But while Qatar certainly seems to be replicating the global-domination strategy employed by Emirates, Etihad has taken a somewhat different approach. Sure, they're attempting to fly to everywhere from Abu Dhabi. But they've made investments in a bunch of airlines: Air Berlin, Air Seychelles, Aer Lingus, Virgin Australia, Jet Airways, Air Serbia (formerly JAT Airways), and Swiss carrier Darwin Airlines, which will be rebranded at Ethiad Regional. That's beginning to look quite a bit like an alliance. Do they take a 24.9% stake in Alaska? Hm, that'd be interesting.
4) Travelers who fly <50,000 miles a year, especially on cheap tickets, are going to reconsider their loyalty, and that's going to benefit JetBlue.
Airlines made significant changes to their frequent flyer programs in 2013 that were designed to reward very frequent travelers while at the same time devaluing their miles, especially on premium international routes. I think the outcome of that is that travelers who fly less than 50,000 miles a year have less reason to be loyal to one airline. Flying 35,000 miles on United (as I did in 2013) gets me roughly the same benefits as I'd get if I just had United's credit card. Airlines haven't exactly eliminated the lowest level of status, but they've made it much less meaningful. At the same time, JetBlue has invested in their premium transcon offerings, designed both to make Virgin America's product pale in comparison and to provide an alternative to United and American on those routes, at a much lower fare. Plus it's still so easy to print frequent flyer miles with credit cards that it's not really worth killing yourself and paying extra to get an extra 8,000 miles (or whatever) by but-in-seats. I think JetBlue is the primary beneficiary here.
5) You'll hear more about Africa's Asky Airlines
This one's a little random, but I did have a fever. I've been interested in Africa's crazy aviation situation, and Asky Airlines may become a bright spot. After Air Afrique disappeared 10 years ago West Africa was left without much point-to-point air service, in many cases making a connection in Paris the only way to fly between 2 cities 400 miles apart. Asky Airlines launched back in 2010 to provide reliable service to West Africa. They're based in Togo, but it's essentially operated by (and funded in part by) Ethiopian Airlines, a carrier that doesn't nearly get enough credit for what it's been able to do. They fly 7 aircraft (3 737-700s and 4 Q400s) to serve more than 20 destinations in West and Central Africa, and even the Q400s have a business class offering. They're essentially acting as the West African arm of Ethiopian Airlines, and given that they turned a profit in 2013, they're seeing some success. They're looking at European operations in 2015 or so, and I wouldn't be shocked if they're either folded into Ethiopian or otherwise become a Star Alliance affiliate.
What stories will I have missed?


text:
AS A JUNIOR IN 2009: Went 2-2 with a 5.35 ERA in 14 starts as a junior... pitched 69 innings and struck out 33 batters.
AS A SOPHOMORE IN 2008: Won his first eight decisions and finished the year with an 8-1 mark and two saves... had a 3.51 ERA for the season... earned second-team All-CCAA honors... also named to the ABCA/Rawlings All West Region Team... held opponents to a .248 batting average and struck out 57 batters.
AS A FRESHMAN IN 2007: Recorded five wins in his first year with the Tritons... recorded at least seven strikeouts in three starts... earned a CCAA victory over Cal State Stanislaus, pitching seven innings and allowing just one run and strikeing out seven... pitched six shutout innings against Regis, striking out a career-high eight batters.
HIGH SCHOOL: Attended Soquel HS where he earned the teams' Most Inspirational and Cy Young honors... team earned a spot in the CCS DII Semifinal game... statistical bests included a sub 2.00 ERA and a .350 batting average.
PERSONAL: Born November 8, 1987... parents are Mike St. John and Barbara Alston... father played baseball professionally for the Dodgers' and Cardinals' organizations... a Communications major in Roosevelt College... hobbies include surfing, aviation and music.


text:
Wholesale customers should contact Anne or Judy
Medium Mouth Blown Pumpkin - Dark Amber Cathedral with Dark Green Stem
This beautiful art glass pumpkin was handmade and mouth blown by one of our talented artists. It is a one of a kind treasure that makes a great decoration for fall, autumn, Halloween, or Thanksgiving. You can have it gift wrapped for free, too!
Approximate size is 5" tall including the stem, and 5" across.
All of the items at Kokomo Opalescent Glass are handmade with pride in Indiana, USA.


text:
House on the Hill Backpackers
Split over two beautifully restored town houses, each decorated in its own African style, House on the Hill offers luxurious, intimate accommodation.
We have doubles, twins, triples, family rooms and quads/dorm and each room has its own TV, safe, hair dryer,heater and tea/coffee making facilities. All rooms are en suite .
In season, our upmarket deluxe \'Villa\' rooms (RM 1-5 ) come with breakfast . RM 6- 9 is self catering accommodation only .
There is a fully equipped self catering kitchen as well as a barbecue area outside in our green courtyard.
WiFi is available in the reception/ lounge area and in most of the B&B rooms free of charge.
Rooms are serviced on a daily basis.
Triple rooms have a double bed and a single bed or 3 single beds and quad rooms have one double and a bunk bed. Fresh linen and towels are provided free of charge.
We serve a continental breakfast for all B&B rooms from 8-10am including fruits, juice, jam, honey, cereals, selection of cold meats and cheese as well as rolls and the best croissants in town (we think :-)
All rooms are non-smoking, but you are welcome to smoke in the garden.
There is a fully fitted communal kitchen in our self catering house as well as a communal lounge and garden with BBQ facilities.
WiFi is available in the reception/ lounge area and the B&B rooms free of charge..
We serve a continental breakfast for all B&B rooms from 8-10am including fruits, juice, jam, honey, cereals, selection of cold meats and cheese as well as rolls and the best croissants in town (we think :-)
All rooms are non-smoking, but you are welcome to smoke in the garden.
Availability & RatesTo view availability and prices please select dates and click 'Update Dates'
Hostel Facilities & Policies
- Adaptors
- Airport Transfers
- Bicycle hire
- Bicycle parking
- Board Games
- Book Exchange
- Breakfast Not Included
- Common Room
- Cots available
- Credit Cards Not Accepted
- Free City Maps
- Free Internet Access
- Free Parking
- Free WiFi
- Fridge/Freezer
- Hair Dryers
- Hair Dryers For Hire
- Hot Showers
- House Keeping
- Internet Access
- Iron / Ironing Board
- Self-Catering Facilities
- Late check-out
- Laundry Facilities
- Linen Included
- Security Lockers
- Luggage Storage
- Microwave
- Outdoor Terrace
- Reading Light
- Reception (limited hours)
- Safe Deposit Box
- Tea & Coffee Making Facilities
- Tours/Travel Desk
- Towels Included
- Wi-Fi
Cancellation PolicyThis property has a 1 day cancellation policy. Failure to cancel within this time will result in a cancellation charge equal to the first night of your stay.
Must-Read Hostel InfoThis property has specific Terms & Conditions.
If you need more information, please contact us or check the map.
Minimum stay of 5 days over Christmas and New Year.
Long term rates on request.
Payment on arrival.
All rooms are non-smoking.
DirectionsShow MapHide Map
Coming from the N1/ N2/airport follow signs directions Waterfront, Sea Point.
When you come into town - at the 3rd set of lights turn right into Somerset Rd.
Continue for 1,5km until you get to Mario\\\'s Restaurant on your left, turn left into Ashstead rd.
First left into Norman road, the office is number 5 Norman road.
Located Near
We are in walking distance to the famous V&A Waterfront. CTICC (Cape Town Convention Center), City center and Cape Town�s beaches are only a short drive away.
There are lots of Restaurants, shops (supermarket, deli's, pharmacy) , bars and night-life just around the corner.
The famous Sunday market at the brand new Green Point soccer stadium is just 200m away.
Taxi station and Bus station (Stadium) located within 100 meters.
Walking distance to the start/finish line of Cape Argus cycle race and Two Oceans marathon.


text:
By John Goralski
Sports Writer
Sal Conti stood up to address the crowd that was packed into the pool hall annex in Providence, RI, as he stared across the room at a framed photo of him and his father. A handful of others had already spoken about their long careers in pool halls and competition, but Conti went in another direction.
Some expected him to talk about the trick shots that launched him to the top of the world rankings. Others expected him to talk about the trials and tribulations of owning a pool hall, promoting the sport, teaching students, or running a league, but Conti, or "Cool Cat" as he's known in the billiard world, wanted to talk about his coaches from Southington's Little League, midget football, and their impact upon his life.
"I'm a product of Southington. I grew up playing baseball at Western Little League. Everything that I've accomplished is a result of those coaches and people I grew up with," said the local businessman. "Whether it's on a baseball team, a football team, or a pool table, any lesson that I learn or teach has nothing to do with sports. It has to do with winning and preparing yourself to take on the next challenge, whatever it turns out to be."
On Friday, March 1, Conti was honored as one of 11 inductees into the regional hall of fame. Some may have been surprised that his acceptance speech had little to do with the sport that brought him fame, but those that made the trip from Southington expected nothing less.
Conti is one part philosopher, one part magician, and one part fierce competitor. As a local coach and business owner, Conti has made a name for himself as a shepherd of sorts. He prides himself for his business which attracts newcomers and seasoned pros, and he seems more proud of his work behind the scenes than his record-setting performance on ESPN Trick Shot Magic.
It was his humble nature and commitment to those around him that attracted officials at the hall of fame. Conti's photo hangs in the Providence pool hall, alongside world pool champions like Larry Lisciotti and Billiard Congress Hall of Fame players like Larry Johnson and 9-ball champion Mike Zuglan.
Conti's accomplishments measure up well. He earned a world championship as a "trick shot" player in 2004 in the stroke discipline. He was ranked among the top 10 in the sport. He set a world record as the only player to successfully score all of his shots on ESPN, but Conti wasn't just inducted as a player.
He was inducted as a promoter for hosting professional events and promoting a league of over 300 players in Massachusetts. He was recognized as a teacher, a pool hall owner, and a tournament director. There are close to 100 members of the New England hall of fame, but nobody matches Conti's contributions in as many different areas.
"He's been in pool his whole life," said Tom McGonagle, president and founder of the NE Pool & Billiard Hall of Fame. "Sal's more than just a quality player. He's a well-rounded pool player and a credit to the game."
It's no surprise that Conti has been so devoted to the sport. His father owned and managed a pool hall on Spring Street from 1976 to 1985. He introduced his son to the sport on a table in their basement, and Conti has never been far from a pool table ever since.
"His friends used to come over on the weekends and in the evenings to play pool, and I wanted to play, too," he said. "In the beginning, they'd say, 'OK kid, I'll play one game with you.' At first it was just to appease me, but by the time I was 11 years old they only wanted to play one game with me because I got pretty good pretty quick."
In 1995, Conti opened Shooters Billiards on Spring Street in the same location as his father's business, and he settled in as an accomplished amateur player until he saw a film of one of his patrons sinking trick shots. A few days later, a friend called to ask if Conti wanted to host an artistic pool tournament and qualifier, and his competitive spirit was sparked.
"I told him that I'd do host the event on one condition. I wanted him to teach me the shots," said Conti. "I was a decent player, but I had never sunk a trick shot in my life. I always enjoyed watching it, but I had never done it. I wanted to play in the qualifier to see if I could win an entry."
Conti went on to win the qualifying event. Surprised by his ease and ability, the professionals gave him the nickname "Cool Cat." Conti went on to place 11th at the professional event, and he was invited to play at a national tournament a few weeks later. That one local tournament catapulted Conti


text:
Non Nobis Domine - 4 W's lyrics
4 W's by Non Nobis Domine
(old man talkin)
Why haven't you learned anythin? it's all there!
Its all there in toinbe in those books on the shelf
Supression breeds violence
Your gonna raise the curfew an hour?
Whould you look outside! you see that kid?
Last week he just wanted to get laid
Now he wants to kill somebody
Why? why you feel the need to hold me down?
Who? Who the hell is you to think you down?
Where? where you gonna be in two thousand and two?
Take these words home an think them through
Check the scary facts,look at where we at, terrorist
Pronoteriast,known to carry gats,yo we interact
Take it back,fourteen ninty-two
The devil send over the crew
In america the devil grew
To decure the time out,politician be the governments
Foreverance,bar-bar-ian heretence,forever sick
Inject a microchip into my dick
See these riminals in war on trout,pleading the fifth
An a mental slavery continuse,inforius food
It a be their favorite dish on the imperalist menu
We fight to liberate your mind state
But all i see is the fuckin crack,bottle,body count
An the crime rate,notice the life of death cycle
About the wit or wit the rifle
Like malcom x extokin carl michael
Jump on the stainles steel charagan
Anti-american,walking the west bank
Like a desert storm veteran
Chorus(repeat twice)
I wanna be the catalist for every street lyricist
I wanna see this movement like it was in eighty-six
I'd free every son from every crimes he aint commit
I'd want purges on the gilityn with their next spliff
I'd tell the brookly bridge to asouty for an auty
And i'd say,it was pro-por-ty of the kings county
I'd reverse the effects of physical neglect
I'd want holes in front of mirrors askin,wheres my self respect?
I'd want raulph lauren to get down with karl kani
No rode-o drive smack in the middle of south side
I really want the latin quarterback open
A pack of newport for fifty cent an a quarter for a token
Chorus(one time)
Sabac blow to stab a rap chemist,envioromentist
Feel the highlights of life through the roots of john voicance
Consequences,to move shapers in a quarter
Twenty heads just got slaughtered
From the stress of a new yorker,check the laws of orca
To holding tokens how we built it
Life filled with smoke and piss and drinking cho-co-filthy
Four and three sixty for non phixion be the obvious
We never jake,eliminate fake,stay alive in this,survivalist
Overcome reflections of my inner demons
My mind relate to crime like fertile eggs relate to seamans
I close my eyes like I was deciezed,invision peace
That refuel from the sun to east
Chorus(repeat twice)
This rap may shatter your fate or strengthen it
Or you will end a you
My tempaments foul like tenaments
I feel you sensing it
To get a horror deeper than prophecies
Planning you on the rest like jesus on the estapome
Jerusalim sun down on a hill
Three bodies suspended crookedly,they booking me
My backs against the wall with ones they pushin me
Its stated,like rightgeous kings in the line of David
Never mercedes all them others made that got me jated
Facing a agony,victorious,call me mak-a-beez,apocolyptic
Hexing my rivalries through chemistries
Its drama time,sudent size guys rocking econo-line
Sitting on pick and trying to catch gor slippin on punchlines
Chorus(repeat 3 times)
A-Z Lyrics Universe
Follow us
Lyrics / song texts are property and copyright of their owners and provided for educational purposes.


text:
Private/Commercial Loans
Commercial loans are alternatives to federal loans. They are credit-based, may have variable interest rates and are not eligible for the benefits associated with federal student loans. Students may apply for assistance through one or more commercial loan provider. The amount borrowed from any of these programs when combined with other forms of approved financial aid cannot exceed the student expense budget.
Students who may potentially seek a career in public interest or government work are strongly advised NOT to choose commercial loans over Grad PLUS loans if a supplement to Stafford loans is necessary, as commercial loans are not eligible for various related federal programs and will NOT be covered by Georgetown Law's Loan Repayment Assistance Program for students who entered Georgetown Law in the 2009-2010 academic year or later.
Like federal loans, most commercial loans still require students to be enrolled at least half-time in a degree programs (6 credits for J.D. students and 4 credits for LL.M. students). In addition, the borrower must typically be a U.S. Citizen or permanent resident or have a U.S. citizen or permanent resident co-signer.
A student may borrow a commercial loan amount equal to the total student budget minus any other financial aid. Additionally, most commercial loan programs also have aggregate education debt limits (typically up to $180,000). If your total education debt exceeds these limits you will not be able to borrow from certain programs.
Most lenders use a borrower's credit score to evaluate eligibility and interest rates. An applicant with a score of 680 or higher is likely to be approved.
Depending on your lender selection, commercial loan funds may arrive via Electronic Funds Transfer (EFT) or via paper check format. Funds that arrive via EFT are posted to the student's account. Paper checks can be claimed at the Student Accounts Office. If account balance is paid in full, paper loan checks made payable to the student may be released directly to the student. If the student owes money to Georgetown Law, funds will be applied first to the outstanding account balance and the excess will be refunded though the Student Accounts Office.


text:
Have you ever wanted to sew a design that you had in your head but, couldn't find the right tools to make it happen? Did you consider making your own tools? Today's 60″x70″ quilt Herringbone by Elizabeth Ancell was created after Elizabeth was forced to make her own acrylic template in order to see her vision come to life.
Tell us about your general use of tools in quilting.
My general use of quilting tools is a balance between having a passion for quilting but also being minimalistic and not wanting to own too many things. I use the standard quilting tools: sewing machine; rotary cutter; self healing mat; acrylic ruler; chalk pencil; pins; etc. I just don't want to own more than what I realistically need to make a high quality quilt.
What tools did you use to make this quilt and how did they make sewing the quilt easier?
The first thing I did to make the quilt was design it in Photoshop which was invaluable for the creative process and for figuring out measurements.
I realized early on to make the quilt the way I envisioned it, I would need to make my own acrylic ruler for it. I purchased 1/8" Plexiglass and a cutter from a home improvement store. After cutting the shape I needed, I simply used a fine tip permanent marker, and another acrylic ruler as a guide, and drew the measuring lines onto the ruler. The homemade ruler made the job easier, because with it I was able to make strip sets and easily cut them to the correct size which saved time. I also used sandpaper dots that helped hold the ruler in place when I would cut the fabric.
To quilt the lines I used an acrylic ruler and a chalk pencil to draw sewing lines on the quilt. I then used a walking foot on my machine to follow the lines. I've found when I do this type of quilting it turns out better if I sew every fourth line first, the middle line between those second, and then go back and sew the remaining lines. I sew the lines in the direction that is easier for the quilt to fit in my machine.
I rounded my corners after the quilting was done. I took a large serving bowl, covered the edge with plastic wrap to protect it, and used a permanent marker to trace the edge of the bowl onto the fabric and then cut inside the line.
Tell us more about yourself as a quilter.
I've been sewing since I was nine years old and made my first quilt when I was 17. (I'm turning 35 this year.) But it wasn't until about four years ago that I really got into quilting and decided to have every single blanket in my home be one that I made myself.
I love to quilt but I don't do it simply because I enjoy it. I am practical about the projects I choose. I only make a quilt when there is a need for a quilt. The need often dictates the style and colors I'll choose. I originally envisioned this quilt with white, grey, and light turquoise, which would have been perfect colors for me. Because the quilt was made for my daughter, who loves the color pink, I changed the colors to white, pink, and orange.
Tools used:
Many "tools" were used to put this graphic quilt together with the most important being a template that Elizabeth created herself using these items mostly found at your local hardware store:
1/8″ Plexiglass or Acrylic Sheets
Standard Plastic Cutting Tools:
Sandpaper dots:
Sharpie or other permanent marker:
What tools have you created or dreamed of creating so that you can make that perfect quilt?


text:
Halo 3 - Energy Sword
Jump to a section:
Share Energy Sword with others
Do you want to earn money creating pages just like this? Gamewise is currently looking for writers, find out more here.
Around the Network
Halo 3 Brainwaves
25th March, 2 replies
Free to Play Halo Announced, Only Launching in Russia for Now
343 Industries today announced that a new Halo title is in the works, called Halo Online, but it's a...
27th November, 0 replies
Halo: The Master Chief Collection Gets 523MB Patch
Another Halo: The Master Chief Collection patch has been released for Xbox One users today, weighing...
30th October, 0 replies
Halo 2 Anniversary Trailer Shows Off New Cinematics
With Halo: The Master Chief Collection fast approaching its release date, Microsoft have released a new...
Halo 3 Weapons and Equipment
Active camouflage Automated Turret Bubble Shield Cloaking Custom Power Up Deployable Cover Flare Invincibility Overshield Portable Grav Lift Power Drain Radar Jammer Regenerator Trip Mine
Covenant Carbine Energy Sword Fuel Rod Gun Needler Particle Beam Rifle Plasma Pistol Plasma Rifle Sticky Grenade
Brute Shot Flame Grenade Gravity Hammer Mauler Sentinel Beam Spike Grenade Spiker
Assault Rifle Battle Rifle Frag Grenade Magnum Rocket Launcher Shotgun SMG Sniper Spartan Laser


text:
There is word circulating that 20th Century Fox has reached out to the MPAA to secure a title for the studio's forthcoming sequel to X-Men: First Class - and if reported accurately, that title is going to send a tidal wave of geek freak-outs across the Interwebs. The title in question is "Days of Future Past" - which remains one of the most famous and celebrated X-Men storylines of all time.
More interestingly, however: "Days of Future Past" was also a X-Men story that dealt with time travel and multiple timelines - meaning that director Matthew Vaughn and Fox could be (finally) trying to organize the convoluted continuity of the X-Men film franchise, using a tactic similar to what J.J. Abrams did with his Star Trek reboot.
Here is the quote from AICN reporter "The Kidd," which first kicked off this rumor:
One of my little birds Weapon X recently dropped me some information that 20th Century Fox had recently registered the title DAYS OF FUTURE PAST with the MPAA Title Registration Bureau. The Bureau exists for studios and productions companies to stake their claims on certain titles that they intend to release and distribute, so that others can stray from using a similar title.
The title "Days of Future Past" is taken from the two-issue Uncanny X-Men comic book storyline written in 1981 by legendary X-Men writer/artist team Chris Claremont and John Byrne. In the story, the X-Men are trying to stop the Brotherhood of Evil Mutants (led by Mystique) from killing an anti-mutant political figure named Senator Robert Kelly. This pivotal event creates a separate timeline in which the X-Men fail to stop the Kelly assassination, and as a result, mutants are hunted, imprisoned and exterminated by humanity. One X-Man from that future dystopia manages to travel back in time and warn the present day X-Men, who ultimately stop the assassination (though the two timelines both remain in existence).
Given where X-Men: First Class left things, it's easy to see how "Days of Future Past" could be reconfigured to focus on Magneto (Michael Fassbender) and his Brotherhood going after a key political figure, and the X-Men team being visited by a dimension-hopping mutant to be forewarned of what happens if they don't stop the assassins. "Days of Future Past" also had the mutant-killing Sentinel robots, an older version of Wolverine, etc. - all of which would be awesome to see onscreen (not to mention a Terminator-style future dystopia). A "DoFP" plot could also open the door for the franchise to introduce time-hopping X-Men like Bishop or Cable to the mix.
In terms of the movies: "Days of Future Past" would give Vaughn and company a way to end all this continuity madness once and for all. If time travel and alternate timelines are successfully introduced into the X-Men movie universe, then that would be a perfect explanation for why the original X-Men trilogy (and Wolverine) have plot points that contradict First Class, while allowing all of the films to remain valid (unlike the 'forget the past' approach of the Spider-Man movie reboot).
"Days of Future Past" is an awesome story on its own - and I for one would welcome anything that could straighten out the movie continuity in satisfactory fashion. First Class was tormented all through development for not being a clear prequel OR reboot, but instead some weird amalgamation of both. I think a lot of X-Men fans would agree with the sentiment that it's time to clean house. J.J. Abrams successfully cleared away decades of Star Trek continuity when he spun-off a new timeline for his 2009 reboot, which allowed him the freedom to tell his own stories using familiar characters.
Finally, introducing alternate timelines would give Fox many new options for how they approach their other upcoming X-Men films: including already-in-production sequel The Wolverine, and the already-planned X-Men 4. In fact, "First Class Continuity (FCC)" and/or "Original Trilogy Continuity (OTC)" could be terms we all start throwing around pretty soon. Comic book geekery at its best.
X-Men: Days of Future Past - if that is indeed the title - will be in theaters on July 18th, 2014.
Header Image by Deviant Art User "Wobblyone".
Source: AICN


text:
Former embedded reporter finds peace after decade of coping with war
He was sent to the desert to report, not fight. But 10 years after coming home, Sam Harper lives with the jarring images of war. He saw and heard too much and sometimes he can't shake the horror of the body parts, the flies, the stench, the sound of popcorn crackling in the nighttime sky or the numbing sight of a shirtless Iraqi man — not quite dead — rolling around in the middle of the road as Americans rumbled into Baghdad.
But he didn't go to Iraq to write a documentary on the war. Armed with a laptop, a digital camera and a satellite telephone, his assignment for the Ledger-Enquirer was to write the stories of the 4,000 men and women of the 3rd Brigade, 3rd Infantry Division who were there to do the dirty work of war.
For three eventful months, Harper lived with the Fort Benning troops as an embedded reporter. They played baseball, shared meals, weathered dust storms and when soldiers put on gas masks, he put on his just as he was trained to do. He watched them balance the mundane and the tragic — and he also saw death.
Now he sees life.
Harper is 51, a stay-at-home dad living in Birmingham, Ala., with his wife and 21-month-old daughter. He worked at the Ledger-Enquirer only a short time after the war then lived as a hermit in the woods of East Alabama.
For the first time since he came home, he met a former colleague at a quaint neighborhood bookstore in Homewood and had a rambling conversation about the effects of war and the months he spent with troops he respected. He also talked about his front row seat to the making of history in a post-9/11 world.
"It was almost the end of one era and the beginning of another," he says. "I was writing the first draft of history, which is overwhelming when I think of it. Being able to tell the soldier's stories was an honor, and hopefully it gave us a cause to reflect and realize how important people are and that we ought to consider them when we make a monumental decision like going to war."
Back in 2002
America was going to war and, as always, so was Fort Benning.
As the Army post studied events in the Middle East, so did the Ledger-Enquirer, a newspaper with a history of military coverage. In 2002, Knight-Ridder Newspapers owned the local paper and when the parent company assembled plans for coverage of the inevitable war in Iraq, Executive Editor Mike Burbach pushed for Columbus to be involved.
"It was a long tradition of the Ledger-Enquirer to care about military people from our hometown and I wanted to continue that tradition," says Burbach, now the editor of the St. Paul Pioneer-Press.
Sam Harper — who often used the byline S. Thorne Harper — was the paper's military writer and Burbach chose him to go to Iraq. That made sense, for he had been a correspondent for the Ledger-Enquirer in Kosovo earlier that year and had also covered Peace Keeping Forces in Somalia for Thomson News in 1993.
Larger papers in the chain lobbied for their reporters but Burbach prevailed, probably because his paper was the hometown newspaper for Fort Benning.
Preparations were intense. Harper took classes at Fort Benning and in Virginia, offering training in all aspects of hazardous duty. He endured severe physical testing to ensure his body could survive heat and stress.
One thing he never shared with anyone — including Burbach — was that he was personally and morally opposed to the war.
"I've never told any other journalist this, but I thought a preemptive war was a bad idea. When Mike said my job was to cover the soldiers, my conscience was clear. You could read the New York Times and get the big picture. We had a chance to talk to the people who were making history and the opportunity to write about how they lived, how they survived and how they dealt with killing."
Burbach thought that was appropriate for a local reporter covering local units.
"He didn't go over there to be a Pentagon reporter or a State of the War reporter," the former Columbus editor says. "That served the local purpose and it made his work stand out."
Off to war
Landing in Kuwait City in 2003, Sam Harper was on the edge of war.
Rhonda Waller, the editor's assistant, made arrangements for ground transportation and even her bubbling sense of humor wouldn't have made him laugh when he got off the plane.
"A guy picked me up at the airport and I hoped it was the one Rhonda had hired," he says. It was, so even around the world Waller's skills as an Air Force sergeant came through.
The Crowne Royal Plaza hotel was a 5-star operation that except for metal detectors on the doors could have been anywhere in the world. But in his room was a copy of the Koran instead of a Gideon Bible and an arrow on the door that pointed to Mecca.
He left the hotel looking for Band-Aids to cover a vaccination sore, and on the streets he felt alone. Training in "Situational Awareness" added to his paranoia, so did constant reminders that he resembled Daniel Pearl, a Wall Street Journal reporter who was kidnapped and killed by terrorists the year before.
"I went back to my room and watched "The Simpsons on TV — in Arabic," he laughs.
He grew increasingly restless before the call finally came. He was going to Iraq.
After several restless days, he loaded on to a tourist bus that carried the newsmen as far as it could, then they boarded military vehicles that took them to the staging area.
As a welcoming gesture, there was a dust storm on his first night in Iraq. "We left our small tents and walked shoulder to shoulder with a soldier at the head of the line. He took us to a larger tent where soldiers with scarves on their faces were playing cards like nothing was going on," he says.
When he tried to use his laptop, it was kaput. "I didn't even get out of the box and I was out of business. Thank God for Sgt. Stovall. He was a tech guy and he said I just had some dust in there. I wonder what ever happened to him?"
His next stop was Karbala, a holy city in the Shiite religion, where an alarm sounded and everyone jumped into chemical gear.
"That was my first taste that this was real," he says.
Baghdad was a blend of ancient history and modern warfare. On April 6, his second day in the city, Harper met Col. Dan Allyn at the Petroleum Institute for an impromptu briefing.
They were in a war zone but the atmosphere was relaxed. Allyn was enjoying his coffee and Harper was enjoying the conversation.Then came the ambush.
Tracers fired over their heads. RPG fire. Machine-gun fire.
Harper ducked under a Humvee.
"I was on the ground and I looked up. There was Col. Allyn standing up, sipping his coffee, looking at the gunfire and assessing the situation," says Harper, still marveling at that scene.
Harper and Burbach tried to talk daily. The editor turned their conversation into an account of what soldiers were doing that day.Bagdad was soon secure and Harper had to watch a well-oiled machine get rusty.
"I knew we were lost," he says today. "Soldiers were sitting around doing nothing. It was obvious to me there was no plan. There was no culture, no teachers, no army, no utility workers. Nobody was running anything. But it wasn't my job to write about such things."
He lived with soldiers at a former community college for nearly two months and though suspicious of him, Harper says they were good to him. They were impressed when he asked to ride with them on a roundup of locals suspected of drive-by shootings.
That's when he broke a cardinal rule.
"They told us, look, cell phones are everywhere. If you're photographed with a weapon, you can't claim you're a journalist if you're captured. Some guys were fooling around with portable bazookas so I went out in the field and fired one. What the hell? I felt safe," he laughs.
Going home
Harper was a detached observer, a reporter, but after surviving a war with those men and women, he felt closeness. When issues with his Visa forced him to leave Iraq before the 3rd Brigade, he felt guilty and sad.
And to make matters worse, his luggage was lost.
When you've written about life and death, it is hard to overnight be writing about small-town America and that was the way it was for Harper back in Columbus.
The Ledger-Enquirer offered therapy to help him decompress and unload the chilling memories. Harper did that but soon declared himself well and cancelled the sessions.
It was the wrong decision, he now knows.
"That amount of fear manifests and sticks with you unless you release it. I didn't kill anyone but I still suffered. I only hope the military has learned more about what they called 'Checking the Box.' I laid off therapy for a while, but I went back to it and I now know that recovery is an ongoing process."
Leaving the newspaper, he wandered to California where he hoped old friends and the beaches of his youth would be healing. Finding nothing there, he moved to an old farm in Waverly, Ala. He didn't own a car. He used a rotary phone and did odd jobs to eat.
"I wanted to be away from people, and I convinced myself that was the way I was supposed to live," he says.
He was a hermit but that began to change on the day a woman in Waverly asked him to help her sister, whose car was stranded on U.S. 280 near Jackson Gap.
"Truth is, I was grumpy and didn't want to go but I did." He's glad he did, for the woman he helped, Katherine, is now his wife and they have a beautiful daughter named Josephine.
"They're my focus," he says.
Burbach hasn't seen Harper in more than nine years. But he remembers what he did in Iraq.
"I was proud of him from the beginning," says Burbach, who left Columbus in 2004. "He stuck with it for the long haul. Whether we accomplished what we set out to do will be for others to judge. You always wish you could have done more but Sam certainly did what he was supposed to do."Sam Harper has written only a few published short stories since that time. Over the past 10 years, he has been asked to talk about the war but he never wanted to be the story.
These things don't diminish how he feels about what he wrote so long ago.
"It was my best work. Something there was pure and natural and easy-like. I was just an instrument in the hands of something bigger than myself. Because it was the soldiers telling the stories — not me."


text:
Home > Toys & Games > Radio & Remote Control>Airplanes
New products
X-POWER 6V Mini Cordless Electric Screwdriver
Forward / Reverse Switch for unscrewing or screwing. Handy size fits in...₹ 0.00
Bell+Howell TAC TOOL | Stainless Steel 18-in-1 Multi-Tool
An entire toolbox in the palm of your hand. Tough enough to survive the...₹ 506.61
ETPS 12-in-1 Stainless Steel Folding Pocket Army Multi-utility Knife
Knife Set With 12 Functions Made Of High Quality Stainless Steel. Good...₹ 239.85
ETPS USB Powered Ultrasonic Aroma Humidifier with Color Changing LED
With adopted ultrasonic technology, this diffuser is extremely quiet...₹ 681.59
ETPS Mini Air Fly Mouse Portable 2.4G Wireless Keyboard Remote Control
Wireless keyboard 2.4G 3D air mouse & wireless keyboard 6-Axis Inertia...₹ 974.35
ETPS Car Charger Humidifier (Purple)
Working Voltage: DC 12V Working Current: 130mA-150mA Power: 1.5W-2W...₹ 479.52


text:
BERKELEY — The description of a proposed tax on the distribution of sugar-sweetened beverages slated to appear in Berkeley's voter pamphlet as Measure D, is "false, misleading, and illegally biased," according to a lawsuit filed this week in Alameda County Superior Court by San Rafael-based Nielsen Merksamer Parrinello Gross & Leoni
Josh Daniels, Yes on D co-chairman, however, accused the American Beverage Association, which is backing the opposition to the measure, of using "bullying tactics to distract from the truth about what (sweetened beverage) products are doing to our kids."
The opposition should be "engaging on the merits rather than trying to push Berkeley around in some frivolous lawsuit," said Daniels, the Berkeley school board president.
Measure D, which will be on the city's November ballot, is a proposed general tax that would impose a 1 cent per ounce levy on the distribution of sugar-added drinks.
The lawsuit, filed Wednesday, argues that the use of the phrase "high-calorie, sugary drinks," in both the ballot question and city attorney analysis, is "highly misleading, in that the tax applies to drinks that no reasonable person would regard as 'high-caloric."
The tax would include products that have as few as two calories per fluid ounce and thus "a 12-ounce canned drink containing a mere 24 calories would be covered by the city's proposed tax," the lawsuit states.
Daniels, however, said that using the two-calorie per ounce standard is fair when considering sugar-added beverages. He also contended that soft drink labels often have a misleading calorie count. Many say the number of calories in an eight-ounce serving, when the container is actually 12 or 20 ounces, he said.
"At the end of the day, what they're trying to distract all of us from, is that their product contributes to the significant spike in childhood diabetes," Daniels said.
The lawsuit further contends that it's misleading to say the tax will be paid by distributors. Although, literally true, the likelihood is that the tax will be passed on to consumers, the lawsuit says.
Daniels responded, however, that "Economics 101 says that if you increase the price of distribution, you'll distribute less. If they distribute less, then Berkeley consumers will consume less, regardless of price, because there's less available."
The two plaintiffs named in the lawsuit are Leon Cain and Anthony Johnson. Roger Salazar, a spokesman for No Berkeley Beverage Tax, acknowledged that Cain, who recently moved to Berkeley, is working for the campaign against the measure.
Cain is listed online as an associate of Rodriguez Strategies, a Southern California firm doing public relations work for the opposition campaign. Salazar said he works with Rodriguez Strategies but not for the company.
City Council candidate Jacquelyn McCormick said Cain contacted her recently to see if she could help him find people interested in serving as plaintiffs in the suit. McCormick said she declined, as she supports the measure.
Arguing that Measure D is poorly written, Salazar said opponents are going to court to have an impartial title and summary imposed by a judge, so that they can "fight measure D on a fair and level playing field."


text:
I'm trying to separate the main part of my blog (the informational portion) from more commercial parts.
WHen you load my homepage, I purposely exclude a category because I don't want my normal readers to be bothered with affiliate links and such.
I'd like to add a subdirectory /reviews/ for example, that loops through the reviews category and displays them all on one page, just like how the category template works.
There are 2 reasons I don't want to use the category template:
1) I have my SEO settings to block indexing on my category template 2) The /category/ in the permalinks is ugly to me.
Is it possible to accomplish domain.com/reviews/ where it functions just like the category template? Am I stuck with manually building a page? Or am I stuck with domain.com/category/reviews ?
I have looked into building a "network" with Wordpress MU, but it says I can't do that anymore since my blog is >1 month old. Plus it's kinda technical.
I basically want to add more blogs to my site (to keep everything nicely separated), so I am trying to figure out a workaround by just excluding/including certain categories where I want them.
Am I making sense? Haha thanks to all who take the time out of their day to reply :)