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 127.0.0.1
(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!

--Randall


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

[ add comment ] ( 56 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.)

UN-censorship


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!)

Strategy


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 WikiQuote_Data.zip.

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 Wikipedia.org
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 Wikipedia.org
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 WikiQuote_Data.zip 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.

p.s.


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!


[ add comment ] ( 45 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`.

Also:
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;
153546
sqlite> select count(*) from quotes;
146545
sqlite> select count(*) from (select distinct page from pages);
4544
sqlite>

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,

--Randall




[ add comment ] ( 63 views )   |  permalink  |  related link

<Back | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Next> Last>>