Site Sponsors:
Stand-up a Basic Web Server ... in 1 Line of Code? 
There I was, starting to spin-up my AWS Server when it occurred to me: Once having resolved to use Python 3 on the back-end, why pay for the spindle-time?!

(Apache NOT Required!)

Indeed, even with a Doctor Quote front-end (written in C/C++, with a new for-discussion strawman written in Java) the basic GET / POST ops provided by Python's http.server are more than adequate for this man's B.E.S.T efforts.

Three Easy Steps

The pathway to one-line server 'nerdvanna be to:

(1) Install Python 3

(2) Create a folder to serve as the "staging area" for your web server effort, complete with a `cgi-bin` sub-directory therein. (Python uses FAST-CGI, so there are no worries there!)

(3) Open a command-line prompt, navigate to said folder, and execute the following:
python3 -m http.server 9000 --cgi --bind
(We use port 9000 for obvious reasons)

Once completed, your basic one-line server will be accepting requests at http://127.0.1:9000 on your computer. To view the same, simply open your browser & navigate to the URL.

Next Steps

The next step would be to create an index.html in the folder, refresh that browser view ... and start developing your very own 'pythonic web application.

Sharing is caring!


p.s. We should note that PHP can also do a similar:
$ cd MyWebFolder
$ php -S
You can CLICK HERE for more info.

[ view entry ] ( 1115 views )   |  permalink  |  related link
Downloading Wikiquote Quotations  
Getting things done can be all about inspiration?

(the classic logo)

When it comes to data collection efforts, the spark-for-today arrived with the realization that far too many of the citations collected by Wikiquote are absolute garbage.

It seems that "Quotations are only as good as the people who share them." (... and you can quote me on that one) (lol.)


To aid in the trash-identification effort, one must also understand that one man's weeds are another man's salad. For that reason alone, moving forward the intent is that quotations be classified - never deleted.

Why keep the bad ones? -Because freedom of speech means that both sage and fool must learn to live in their own droppings. (ahem - that quote is nothing compared to the horrific experience many will have reviewing those Wikiquotes!)


Wikipedia presently has over 150,000 wanna-be pop-sayings to triage here, friends... yet wee Piranhas consume impossibly-sized meals one byte at a time ...

So yes, perhaps wee 'Quoties be few & far between... but the inspiration de-jure is to allow our handful to exchange NEW quotes - as well as classification meta-data for the others - on such an impossible-sized collection of willfully corrupted, would-be inspiration.

File Format

Today's shared data file is

From the documentation therein:

The name of the file indicates the date that the data were collected.

File Format
(1) Each line contains a single citation ("quote.")

(2) Columns in each line are TAB separated.

(3) There are a least 3 columns per line:

Field #1: Overall Classification
--------- Default is "Unknown"
Doctor Quote Uses: My_Favorite(5), Very_Good(4), Good(3), Not_Good(2), Deleted(1), Unknown(0)
Field #2: Citation Hash Code
--------- Used to uniquely identify each citation.
The default is a Winzip-style, zero-weighted CRC32.
Field #3: Citation
--------- The quote, as harvested from
Note that HTML line breaks and quotes have replaced newlines & unary-quotations
Field 4+: Page References(s)
--------- The location(s) where each quotation was found on
Technically unlimited, yet typically containing only one page-reference.


Software Assistance

To aid us all in our quote-collection quests, enthusiastic 'Quoties might be enticed by our new quote-collection software effort.

Designed to import, export, collect, classify, and to share the updates between several 'webless 'Quoties across the aforementioned file, our plans are to share a completely new "Doctor Quote" on Github as our time & resources may allow.

Ode To RAD

Rather that C/C++ as used previously, the new version of Doctor Quote is being written in Java. --Mostly a proof of concept, note that future efforts will use C++ 2017, as well as an appropriate GUI toolkit.

For the sake of completeness, we should probably also note that these data were initially collected using Python 3.


IF you have read this far, then you might have what it takes to be one of the FEW ... the INSPIRED ... the 'Quoties?

If you think that you can endure the tedium, the deliberately offensive quotes, and the brainstorming involved while helping a group of 'litheads with such a clean-up effort, then feel free to CLICK HERE to group-up with us!

[ view entry ] ( 949 views )   |  permalink  |  related link
An SQLite Database For Wikiquotes 
Once we have any significant collection of data, the next natural thing to do is obvious ...

So here is a link to it!

Please note that:

(1) The database file is for sqlite3. It is ~50MB.
(2) Of the original 5,225, there are 4,544 populated topics ("pages").
(3) Of the original 153,621, there are 146,545 size-filtered citations ("quotes"). I estimate that as much as 80% of them are completely fatuous?
(4) Newlines embedded in quotes are encoded as "<br>".
(5) Single quotes are encoded as "&#39;".
(6) To eliminate duplications, the quotes.ID is a 'Pythonic:
zlib.crc32(bytes(quote, "utf8"), 0)
(6) The `pages` table obviously relates to the `quotes` table via the `quotes.ID`.

sqlite> .schema
CREATE TABLE pages (ID integer primary key not null, page text, quote_id integer);
CREATE TABLE quotes (ID integer primary key not null, quote text);
sqlite> select count(*) from pages;
sqlite> select count(*) from quotes;
sqlite> select count(*) from (select distinct page from pages);

I share this database in the hopes that a genuine 'quotie will help the planet by selecting their favorite quotes from this locus ... and share them with others!

(... and you can bet your *blippy* that I will be doing the same!)

Sharing is caring,


[ view entry ] ( 939 views )   |  permalink  |  related link

<<First <Back | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | Next> Last>>