Archive for the ‘Internet Technologies’ Category

Links to Scientology Official Sites

23 April 2017

I give you this comment from “José” as a brief post to provide you with good links to vital information:

Hello and thank you for the information.

I would suggest that, if you are going to mention isolated pieces of information from Scientology to the general public, please refer your public to the source materials where they can find the information in sequence with examples, to avoid causing misunderstandings to people that never heard the subject of Scientology.

1.- Please, always refer first to What is Scientology, here the official link:
http://www.scientology.org/what-is-scientology.html#slide7

2.- Second, the subject you are mentioning in your respective blog entry, in this case the Tone Scale, in my opinion this is a good entry point:
http://www.scientologyhandbook.org/tone-scale/sh4_1.htm

3.- Please use references to the Scientology Manual which it is a good introduction to Scientology fundamentals for daily use in every part of life.
http://www.scientologyhandbook.org/

Best regards
José

My favorite site, which I should probably include a link to in every post I make, is the Volunteer Ministers training pages: http://www.volunteerministers.org/training.html

Spam about spam!

18 November 2014

I found this today in my spam queue and found it interesting enough to be worth publishing. It is a collection of all the most-used spam comments, complete with numerous variations. My spam queue regularly fills with comments taken directly from this list!

Spam about spam!

Submitted on 2014/11/18 at 8:58 am

{
{I have| I’ve} been {surfing| browsing} online more than {three| 3| 2| 4} hours today, yet I never found any interesting article like yours.
{It’s| It is} pretty worth enough for me. {In my opinion| Personally| In my view}, if all {webmasters| site owners| website owners| web owners} and bloggers made good content as you did, the {internet| net| web} will be {much more| a lot more} useful than ever before.|

I {couldn’t| could not} {resist| refrain from} commenting.
{Very well| Perfectly| Well| Exceptionally well} written!|

{I will| I’ll} {right away| immediately} {take hold of| grab| clutch| grasp| seize| snatch} your {rss| rss feed} as I {can not| can’t} {in finding| find| to find} your {email| e-mail} subscription {link| hyperlink} or {newsletter| e-newsletter} service. Do {you have| you’ve} any? {Please| Kindly} {allow| permit| let} me realize| recognize| understand| recognise| know} {so that| in order that} I {may just| may| could} subscribe.
Thanks.|

{It is| It’s} {appropriate| perfect| the best} time to make some plans
for the future and {it is| it’s} time to be happy. {I have| I’ve} read this post and if I could I {want to| wish to| desire to} suggest you {few| some} interesting things or {advice| suggestions| tips}. {Perhaps| Maybe} you {could| can} write next articles referring to this article. I {want to| wish to| desire to} read {more| even more} things about it!|

{It is| It’s} {appropriate| perfect| the best} time to make {a few| some} plans for {the future| the longer term| the long run} and {it is| it’s} time to be happy. {I have| I’ve} {read| learn} this {post| submit| publish| put up} and if I {may just| may| could} I {want to| wish to| desire to} suggest| recommend| counsel} you {few| some} interesting| fascinating| attention-grabbing} {things| issues} or {advice| suggestions| tips}. {Perhaps| Maybe} you {could| can} write {next| subsequent} articles {relating to| referring to| regarding} this article. I {want to| wish to| desire to} {read| learn} {more| even more} {things| issues} {approximately| about} it!|

{I have| I’ve} been {surfing| browsing} {online| on-line} {more than| greater than} {three| 3} hours {these days| nowadays| today| lately| as of late}, {yet| but} I {never| by no means} {found| discovered} any {interesting| fascinating| attention-grabbing} article like yours.
{It’s| It is} {lovely| pretty| beautiful} {worth| value| price} {enough| sufficient} for me. {In my opinion| Personally| In my view}, if all {webmasters| site owners| website owners| web owners} and bloggers made {just right| good| excellent} {content| content material} as {you did| you probably did}, the {internet| net| web} {will be| shall be| might be| will probably be| can be| will likely be} {much more| a lot more} {useful| helpful} than ever before.|

Ahaa, its {nice| pleasant| good| fastidious} discussion| conversation| dialogue} {regarding| concerning| about| on the topic of} this {article| post| piece of writing| paragraph} {here| at this place} at this blog| weblog| webpage| website| web site}, I have read all that, so {now| at this time} me also commenting {here| at this place}.|

I am sure this {article| post| piece of writing| paragraph} has touched all the internet {users| people| viewers| visitors}, its really really {nice| pleasant| good| fastidious} {article| post| piece of writing| paragraph} on building up new {blog| weblog| webpage| website| web site}.|

Wow, this {article| post| piece of writing| paragraph} is {nice| pleasant| good| fastidious}, my {sister| younger sister} is analyzing {such| these| these kinds of} things, {so| thus| therefore} I am going to {tell| inform| let know| convey} her.|

{Saved as a favorite| bookmarked!!}, {I really like| I like| I love} {your blog| your site| your web site| your website}!|

Way cool! Some {very| extremely} valid points! I appreciate you {writing this| penning this} {article| post| write-up} {and the| and also the| plus the} rest of the {site is| website is} {also very| extremely| very| also really| really} good.|

Hi, {I do believe| I do think} {this is an excellent| this is a great} {blog| website| web site| site}. I stumbled upon it 😉 {I will| I am going to| I’m going to| I may} {come back| return| revisit} {once again| yet again} {since I| since i have} {bookmarked| book marked| book-marked| saved as a favorite} it. Money and freedom {is the best| is the greatest} way to change, may you be rich and continue to {help| guide} {other people| others}.|

Woah! I’m really {loving| enjoying| digging} the template/theme of
this {site| website| blog}. It’s simple, yet effective. A lot of times it’s {very hard| very difficult| challenging| tough| difficult| hard} to get that “perfect balance” between {superb usability| user friendliness| usability} and {visual appearance| visual appeal| appearance}. I must say {that you’ve| you have| you’ve} done a {awesome| amazing| very good| superb| fantastic| excellent| great} job with this. {In addition| Additionally| Also}, the blog loads {very| extremely| super} {fast| quick} for me on {Safari| Internet explorer| Chrome| Opera| Firefox}. {Superb| Exceptional| Outstanding| Excellent} Blog!|

These are {really| actually| in fact| truly| genuinely} {great| enormous| impressive| wonderful| fantastic} ideas in {regarding| concerning| about| on the topic of} blogging. You have touched some {nice| pleasant| good| fastidious} {points| factors| things} here. Any way keep up wrinting.|

{I love| I really like| I enjoy| I like| Everyone loves} what you guys {are| are usually| tend to be} up to. {This sort of| This type of| Such| This kind of} clever work and {exposure| coverage| reporting}! Keep up the {superb| terrific| very good| great| good| awesome| fantastic| excellent| amazing| wonderful} works guys I’ve {incorporated| | added| included} you guys to {| my| our| | my personal| my own} blogroll.|

{Howdy| Hi there| Hey there| Hi| Hello| Hey}! Someone in my {Myspace| Facebook} group shared this {site| website} with us so I came to {give it a look| look it over| take a look| check it out}. I’m definitely {enjoying| loving} the information. I’m {book-marking| bookmarking} and will be tweeting this to my followers! {Terrific| Wonderful| Great| Fantastic| Outstanding| Exceptional| Superb| Excellent} blog and {wonderful| terrific| brilliant| amazing| great| excellent| fantastic| outstanding| superb} {style and design| design and style| design}.|

{I love| I really like| I enjoy| I like| Everyone loves} what you guys {are| are usually| tend to be} up too. {This sort of| This type of| Such| This kind of} clever work and {exposure| coverage| reporting}! Keep up the {superb| terrific| very good| great| good| awesome| fantastic| excellent| amazing| wonderful} works guys I’ve {incorporated| added| included} you guys to {| my| our| my personal| my own} blogroll.|

{Howdy| Hi there| Hey there| Hi| Hello| Hey} would you mind {stating| sharing} which blog platform you’re {working with| using}? I’m {looking| planning| going} to start my own blog {in the near future| soon} but I’m having a {tough| difficult| hard} time {making a decision| selecting| choosing| deciding} between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your {design and style| design| layout} seems different then most blogs and I’m looking for something {completely unique| unique}. P.S {My apologies| Apologies| Sorry} for {getting| being} off-topic but I had to ask!|

{Howdy| Hi there| Hi| Hey there| Hello| Hey} would you mind letting me know which {webhost| hosting company| web host} you’re {utilizing| working with| using}? I’ve loaded your blog in 3 {completely different| different} {internet browsers| web browsers| browsers} and I must say this blog loads a lot {quicker| faster} then most. Can you {suggest| recommend} a good {internet hosting| web hosting| hosting} provider at a {honest| reasonable| fair} price? {Thanks a lot| Kudos| Cheers| Thank you| Many thanks| Thanks},
I appreciate it!|

{I love| I really like| I like| Everyone loves} it {when people| when individuals| when folks| whenever people} {come together| get together} and share {opinions| thoughts| views| ideas}. Great {blog| website| site}, {keep it up| continue the good work| stick with it}!|

Thank you for the {auspicious| good} writeup. It in fact was a amusement account it. Look advanced to {far| more} added agreeable from you! {By the way| However}, how {can| could} we communicate?|

{Howdy| Hi there| Hey there| Hello| Hey} just wanted to give you a quick heads up. The {text| words} in your {content| post| article} seem to be running off the screen in {Ie| Internet explorer| Chrome| Firefox| Safari| Opera}. I’m not sure if this is a {format| formatting} issue or something to do with {web browser| internet browser| browser} compatibility but I {thought| figured} I’d post to let you know. The {style and design| design and style| layout| design} look great though! Hope you get the {problem| issue} {solved| resolved| fixed} soon. {Kudos| Cheers| Many thanks| Thanks}|

This is a topic {that is| that’s| which is} {close to| near to} my heart… {Cheers| Many thanks| Best wishes| Take care| Thank you}! {Where| Exactly where} are your contact details though?|

It’s very {easy| simple| trouble-free| straightforward| effortless} to find out any {topic| matter} on {net| web} as compared to {books| textbooks}, as I found this {article| post| piece of writing| paragraph} at this {website| web site| site| web page}.|

Does your {site| website| blog} have a contact page? I’m having
{a tough time| problems| trouble} locating it but, I’d like to {send| shoot} you an {e-mail| email}. I’ve got some {creative ideas| recommendations| suggestions| ideas} for your blog you might be interested in hearing. Either way, great {site| website| blog} and I look forward to seeing it {develop| improve| expand| grow} over time.|

{Hola| Hey there| Hi| Hello| Greetings}! I’ve been {following| reading} your {site| web site| website| weblog| blog} for {a long time| a while| some time} now and finally got the {bravery| courage} to go ahead and give you a shout out from {New Caney| Kingwood| Huffman| Porter| Houston| Dallas| Austin| Lubbock| Humble| Atascocita} {Tx| Texas}! Just wanted to {tell you| mention| say} keep up the {fantastic| excellent| great| good} {job| work}!|

Greetings from {Idaho| Carolina| Ohio| Colorado| Florida| Los Angeles| California}! I’m {bored to tears| bored to death| bored} at work so I decided to {check out| browse} your {site| website| blog} on my iphone during lunch break. I {enjoy| really like| love} the {knowledge| info| information} you {present| provide} here and can’t wait to take a look when I get home. I’m {shocked| amazed| surprised} at how {quick| fast} your blog loaded on my {mobile| cell phone| phone} .. I’m not even using WIFI, just 3G .. {Anyhow| Anyways}, {awesome| amazing| very good| superb| good| wonderful| fantastic| excellent| great} {site| blog}!|

Its {like you| such as you} {read| learn} my {mind| thoughts}!
You {seem| appear} {to understand| to know| to grasp} {so much| a lot} {approximately| about} this, {like you| such as you} wrote the {book| e-book| guide| ebook| e book} in it or something. {I think| I feel| I believe} {that you| that you simply| that you just} {could| can} do with {some| a few} {%| p.c.| percent} to {force| pressure| drive| power} the message {house| home} {a bit| a little bit}, {however| but} {other than| instead of} that, {this is| that is} {great| wonderful| fantastic| magnificent| excellent} blog. {A great| An excellent| A fantastic} read. {I’ll| I will} {definitely| certainly} be back.|

I visited {multiple| many| several| various} {websites| sites| web sites| web pages| blogs} {but| except| however} the audio {quality| feature} for audio songs {current| present| existing} at this {website| web site| site| web page} is {really| actually| in fact| truly| genuinely} {marvelous| wonderful| excellent| fabulous| superb}.|

{Howdy| Hi there| Hi| Hello}, i read your blog {occasionally| from time to time} and i own a similar one and i was just {wondering| curious} if you get a lot of spam {comments| responses| feedback| remarks}? If so how do you {prevent| reduce| stop| protect against} it, any plugin or anything you can {advise| suggest| recommend}? I get so much lately it’s driving me {mad| insane| crazy} so any {assistance| help| support} is very much appreciated.|

Greetings! {Very helpful| Very useful} advice {within this| in this particular} {article| post}! {It is the| It’s the} little changes {that make| which will make| that produce| that will make} {the biggest| the largest| the greatest| the most important| the most significant} changes.
{Thanks a lot| Thanks| Many thanks} for sharing!|

{I really| I truly| I seriously| I absolutely} love {your blog| your site| your website}.. {Very nice| Excellent| Pleasant| Great} colors & theme. Did you {create| develop| make| build} {this website| this site| this web site| this amazing site} yourself? Please reply back as I’m {looking to| trying to| planning to| wanting to| hoping to| attempting to} create {my own| my very own| my own personal} {blog| website| site} and {would like to| want to| would love to} {know| learn| find out} where you got this from or {what the| exactly what the| just what the} theme {is called| is named}. {Thanks| Many thanks| Thank you| Cheers| Appreciate it| Kudos}!|

{Hi there| Hello there| Howdy}! This {post| article| blog post} {couldn’t| could not} be written {any better| much better}! {Reading through| Looking at| Going through| Looking through} this {post| article} reminds me of my previous roommate! He {always| constantly| continually} kept {talking about| preaching about} this. {I will| I’ll| I am going to| I most certainly will} {forward| send} {this article| this information| this post} to him.
{Pretty sure| Fairly certain} {he will| he’ll| he’s going to} {have a good| have a very good| have a great} read. {Thank you for| Thanks for| Many thanks for| I appreciate you for} sharing!|

{Wow| Whoa| Incredible| Amazing}! This blog looks {exactly| just} like my old one! It’s on a {completely| entirely| totally} different {topic| subject} but it has pretty much the same {layout| page layout} and design.
{Excellent| Wonderful| Great| Outstanding| Superb} choice of colors!|

{There is| There’s} {definately| certainly} {a lot to| a great deal to} {know about| learn about| find out about} this {subject| topic| issue}. {I like| I love| I really like} {all the| all of the} points {you made| you’ve made| you have made}.|

{You made| You’ve made| You have made} some {decent| good| really good} points there. I {looked| checked} {on the internet| on the web| on the net} {for more info| for more information| to find out more| to learn more| for additional information} about the issue and found {most individuals| most people} will go along with your views on {this website| this site| this web site}.|

{Hi| Hello| Hi there| What’s up}, I {log on to| check| read} your {new stuff| blogs| blog} {regularly| like every week| daily| on a regular basis}. Your {story-telling| writing| humoristic} style is {awesome| witty}, keep {doing what you’re doing| up the good work| it up}!|

I {simply| just} {could not| couldn’t} {leave| depart| go away} your {site| web site| website} {prior to| before} suggesting that I {really| extremely| actually} {enjoyed| loved} {the standard| the usual} {information| info} {a person| an individual} {supply| provide} {for your| on your| in your| to your} {visitors| guests}? Is {going to| gonna} be {back| again} {frequently| regularly| incessantly| steadily| ceaselessly| often| continuously} {in order to| to} {check up on| check out| inspect| investigate cross-check} new posts|

{I wanted| I needed| I want to| I need to} to thank you for this {great| excellent| fantastic| wonderful| good| very good} read!! I {definitely| certainly| absolutely} {enjoyed| loved} every {little bit of| bit of} it. {I have| I’ve got| I have got} you {bookmarked| book marked| book-marked| saved as a favorite} {to check out| to look at} new {stuff you| things you} post…|

{Hi| Hello| Hi there| What’s up}, just wanted to {mention| say| tell you}, I {enjoyed| liked| loved} this {article| post| blog post}. It was {inspiring| funny| practical| helpful}. Keep on posting!|

{Hi there| Hello}, I enjoy reading {all of| through} your {article| post| article post}. I {like| wanted} to write a little comment to support you.|

I {always| constantly| every time} spent my half an hour to read this {blog| weblog| webpage| website| web site}’s {articles| posts| articles or reviews| content} {everyday| daily| every day| all the time} along with a {cup| mug} of coffee.|

I {always| for all time| all the time| constantly| every time} emailed this {blog| weblog| webpage| website| web site} post page to all my {friends| associates| contacts}, {because| since| as| for the reason that} if like to read it {then| after that| next| afterward} my friends| links| contacts} will too.|

My {coder| programmer| developer} is trying to {persuade| convince} me to move to .net from PHP. I have always disliked the idea because of the {expenses| costs}. But he’s trying none the less. I’ve been using {Movable-type| WordPress} on {a number of| a variety of| numerous| several| various} websites for about a year and am {nervous| anxious| worried| concerned} about switching to another platform. I have heard {fantastic| very good| excellent| great| good} things about blogengine.net. Is there a way I can {transfer| import} all my wordpress {content| posts} into it?
{Any kind of| Any} help would be {really| greatly} appreciated!|

{Hello| Hi| Hello there| Hi there| Howdy| Good day}! I could have sworn I’ve {been to| visited} {this blog| this web site| this website| this site| your blog} before but after {browsing through| going through| looking at} {some of the| a few of the| many of the} {posts| articles} I realized it’s new to me. {Anyways| Anyhow| Nonetheless| Regardless}, I’m {definitely| certainly} {happy| pleased| delighted} {I found| I discovered| I came across| I stumbled upon} it and I’ll be {bookmarking| book-marking} it and checking back {frequently| regularly| often}!|

{Terrific| Great| Wonderful} {article| work}! {This is| That
is} {the type of| the kind of} {information| info} {that are meant to| that are supposed to| that should} be shared {around the| across the} {web| internet| net}. {Disgrace| Shame} on {the {seek| search} engines| Google} for {now not| not| no longer} positioning this {post| submit| publish| put up} {upper| higher}! Come on over and {talk over with| discuss with| seek
advice from| visit| consult with} my {site| web site| website} . {Thank you| Thanks} =)|

Heya {i’m| i am} for the first time here. I {came across| found} this board and I find It {truly| really} useful & it helped me out {a lot| much}.
I hope to give something back and {help| aid} others like you {helped| aided} me.|

{Hi| Hello| Hi there| Hello there| Howdy| Greetings}, {I think| I believe| I do believe| I do think| There’s no doubt that} {your site| your website| your web site| your blog} {might be| may be| could be| could possibly be} having {browser| internet browser| web browser} compatibility {issues| problems}. {When I| Whenever I} {look at your| take a look at your} {website| web site| site| blog} in Safari, it looks fine {but when| however when| however, if| however, when} opening in {Internet Explorer| IE| I.E.}, {it has| it’s got} some overlapping issues. {I just| I simply| I merely} wanted to {give you a| provide you with a} quick heads up! {Other than that| Apart from that| Besides that| Aside from that}, {fantastic| wonderful| great| excellent} {blog| website| site}!|

{A person| Someone| Somebody} {necessarily| essentially} {lend a hand| help| assist} to make {seriously| critically| significantly| severely} {articles| posts} {I would| I might| I’d} state. {This is| That is} the {first| very first} time I frequented your {web page| website page} and {to this point| so far| thus far| up to now}? I {amazed| surprised} with the {research| analysis} you made to {create| make} {this actual| this particular} {post| submit| publish| put up} {incredible| amazing| extraordinary}. {Great| Wonderful| Fantastic| Magnificent| Excellent} {task| process| activity| job}!|

Heya {i’m| i am} for {the primary| the first} time here. I {came across| found} this board and I {in finding| find| to find} It {truly| really} {useful| helpful} & it helped me out {a lot| much}. {I am hoping| I hope| I’m hoping} {to give| to offer| to provide| to present} {something| one thing} {back| again} and {help| aid} others {like you| such as you} {helped| aided} me.|

{Hello| Hi| Hello there| Hi there| Howdy| Good day| Hey there}! {I just| I simply} {would like to| want to| wish to} {give you a| offer you a} {huge| big} thumbs up {for the| for your} {great| excellent} {info| information} {you have| you’ve got| you have got} {here| right here} on this post. {I will be| I’ll be| I am} {coming back to| returning to} {your blog| your site| your website| your web site} for more soon.|

I {always| all the time| every time} used to {read| study} {article| post| piece of writing| paragraph} in news papers but now as I am a user of {internet| web| net} {so| thus| therefore} from now I am using net for {articles| posts| articles or reviews| content}, thanks to web.|

Your {way| method| means| mode} of {describing| explaining| telling} {everything| all| the whole thing} in this {article| post| piece of writing| paragraph} is {really| actually| in fact| truly| genuinely} {nice| pleasant| good| fastidious}, {all| every one} {can| be able to| be capable of} {easily| without difficulty| effortlessly| simply} {understand| know| be aware of} it, Thanks a lot.|

{Hi| Hello} there, {I found| I discovered} your {blog| website| web site| site} {by means of| via| by the use of| by way of} Google {at the same time as| whilst| even as| while} {searching for| looking for} a similar| comparable| related} {topic| matter| subject}, your {site| web site| website} {got here| came} up, it {looks| appears| seems| seems to be| appears to be like} {good| great}. {I have| I’ve} bookmarked it in my google bookmarks.

{Hello| Hi} there, {simply| just} {turned into| became| was| become| changed into} {aware of| alert to} your {blog| weblog} {thru| through| via} Google, {and found| and located} that {it is| it’s} {really| truly} informative. {I’m| I am} {gonna| going to} {watch out| be careful} for brussels.

{I will| I’ll} {appreciate| be grateful} {if you| should you| when you| in the event you| in case you| for those who| if you happen to} {continue| proceed} this {in future}. {A lot of| Lots of| Many| Numerous} {other folks| folks| other people| people} {will be| shall be| might be| will probably be| can be| will likely be} benefited {from your| out of your} writing. Cheers!|

{I am| I’m} curious to find out what blog {system| platform} {you have been| you happen to be| you are| you’re} {working with| utilizing| using}? I’m {experiencing| having} some {minor| small} security {problems| issues} with my latest {site| website| blog} and {I would| I’d} like to find something more {safe| risk-free| safeguarded| secure}. Do you have any {solutions| suggestions| recommendations}?|

{I am| I’m} {extremely| really} impressed with your writing skills {and also| as well as} with the layout on your {blog| weblog}. Is this a paid theme or did you {customize| modify} it yourself? {Either way| Anyway} keep up the {nice| excellent} quality writing, {it’s| it is} rare to see a {nice| great} blog like this one {these days| nowadays| today}.|

{I am| I’m} {extremely| really} {inspired| impressed} {with your| together with your| along with your} writing {talents| skills| abilities} {and also| as {smartly| well| neatly} as} with the {layout| format| structure} {for your| on your| in your| to your} {blog| weblog}.

{Is this| Is that this} a paid {subject| topic| subject matter| theme} or did you {customize| modify} it {yourself| your self}? {Either way| Anyway} {stay| keep} up the {nice| excellent} {quality| high quality} writing, {it’s| it is} {rare| uncommon} {to peer| to see| to look} a {nice| great} {blog| weblog} like this one {these days| nowadays| today}..|

{Hi| Hello}, Neat post. {There is| There’s} {a problem| an issue} {with your| together with your| along with your} {site| web site| website} in {internet| web} explorer, {may| might| could| would} {check| test} this?
IE {still| nonetheless} is the {marketplace| market} {leader| chief} and {a large| a good| a big| a huge} {part of| section of| component to| portion of| component of| element of} {other folks| folks| other people| people} will {leave out| omit| miss| pass over} your {great| wonderful| fantastic| magnificent| excellent} writing {due to| because of} this problem.|

{I’m| I am} not sure where {you are| you’re} getting your {info| information}, but {good| great} topic. I needs to spend some time learning {more| much more} or understanding more. Thanks for {great| wonderful| fantastic| magnificent| excellent} {information| info} I was looking for this {information| info} for my mission.|

{Hi| Hello}, i think that i saw you visited my {blog| weblog| website| web site| site} {so| thus} i came to “return the favor”.{I am| I’m} {trying to| attempting to} find things to {improve| enhance} my {website| site| web site}!I suppose its ok to use {some of| a few of} your ideas!!
\

Java – diving in

6 March 2014

What it takes to write a program – briefly?

Back when I was using DOS [the Disk Operating system sold with most PCs (personal computers)], there was a program included called QBasic. You ran the program and there was a window (a DOS window) where you could write your own little programs. Then you would run them from inside the QBasic program.

This was a very simple functionality for writing software. However, we still follow this fundamental pattern. The program you write software in is now called an IDE – Integrated Development Environment. You develop software by writing and editing code. An average biggish program will make use of many code libraries. These all have to be in places where the IDE can find them. As the functions implemented by your application become more complex, the connections between the various different parts become more numerous.

What does it take to write a program? I takes an IDE, or something like one.

Java

The Java language and approach was created in the 1990s by a computer scientist at Sun (Stanford University Network) Microsystems. By 2007 it had become completely open-source (all code freely available to the public). In 2009 Oracle, a huge software company, bought Sun with the promise to keep Java open source.

The Java approach was to create a language that would be the basis for programs that could run on any operating system. This language is VERY widely used. Its users include huge companies like Boeing, governments, the military, robotics competitions and programming hobbyists.

NetBeans

NetBeans is Oracle’s IDE for Java. It started as a student programming project in Prague (a beautiful city in central Europe). It was purchased by Sun in 1999, and was made open-source soon after that.

One reason it is called NetBeans is because Java is very widely used to create applications that run over networks. Network applications are more complicated than desktop applications because they require communication between computers and sharing resources among multiple users. Of course, Java can also be use to create desktop applications.

Here is a screenshot of a sample NetBeans project:

netbeans example

This shows two views of the same project. One view shows the actual folder structure of the project, and the other shows the project in a way that should assist a developer to work on it.

Note that the number of different parts that make up this “simple” project is quite large. This is rather daunting for the beginner!

What I wanted to do

Years ago I learned that a game controller, usually called a “joystick” after the control stick used in helicopters and jets (a rather base play on words – common among pilots), was extremely simple to make. It seemed like an ideal way to add some hardware knobs to any sort of control application. I wanted to have a piece of code that would allow me to use human-controlled joystick positions in my software applications.

In the “old days” of DOS, this wasn’t too hard to do. You could write commands that took data directly from the computer’s hardware interface.

But “modern” computers, in an attempt to become much more versatile, no longer access hardware directly, but communicate to the hardware through “drivers” that are little pieces of software that make some particular piece of hardware look to the operating system like a generalized, or generic, piece of hardware. So the operating system only has to worry about “printers” and “keyboards” and “game controllers” instead of all the different specific models that exist. And the hardware manufacturer is responsible for providing drivers for different operating systems that they want their hardware to work with.

Windows, in particular, has been through a lot of changes in how its hardware drivers work. This is partly because it is trying to anticipate future hardware innovations and make operating systems that will be compatible with them.

Thus, talking to an old-fashioned DOS joystick on a Windows computer is now basically impossible. You need an intermediate piece of hardware (thankfully not too expensive) to make the “legacy” joystick look like a USB game controller. Then you can choose one of several ways of talking to the USB game controller — your joystick.

I was not getting anywhere finding code examples that worked in my Microsoft IDE (Visual Studio – I learned to use it at Seattle Central Community College), so I thought I might try Java.

My first choice for a Java IDE was Eclispe. This is an open-source IDE developed by IBM. It is about 10 years younger than Java and is in fact written in Java. I had heard good things about it including the fact that it is very versatile through the use of feature “plug-ins.”

Here is a screenshot of just a portion of the application. It is really very similar to other IDEs. However, the best code examples I could find were developed using NetBeans. Each IDE uses its own internal folder structure. So you can’t really take a NetBeans Java project and just copy it over to Eclipse and have it work fine.

eclipse-example

Success!

If you have a USB joystick, on Windows 7 you can go to the Control Panel, choose Devices and Printers, and you should find listed your game controller (if it’s plugged in). You can right click it, select “…settings” and then click the Properties button. It should bring up a little window that graphically shows the joystick, sliders and buttons on the game controller, and the graphic will change as you move the controls or press the buttons. This is exactly what the code I found implements using Java. It’s a very interesting piece of code, and it is comprised of (count them!) three major parts and about 15 different functions. That doesn’t count all the stuff that Java takes care of for you. So this function is not as simple as I’d like it to be, but at least I finally have some code I can look at. (This is available in a zip file called JInputJoystickTestV2.zip from http://theuzo007.wordpress.com/2013/10/26/joystick-in-java-with-jinput-v2/ .)

More on project folders

It took me a while to learn to use folders to organize my code projects – even the ones I did without a real IDE (I learned to create PHP applications without using an IDE). I finally decided on a standard folder structure for my PHP projects, and it has helped me to “throw together” an idea, because I can just start by copying a similar project into a new folder.

Below is a little illustration of someone’s website folders. The “eng” stands for “English.” The other folders are similar to the ones I use. One for HTML pages, which may be “static” or contain code in them. One for images. A website can have a LOT of images! One for styles, which are files written in a language called CSS – Cascading Style Sheets – that describe how a website should look, but contain no content. And one for “js” – JavaScripts. JavaScripts are not really related to Java, and are a little controversial. They are basically little programs that download with a web page and run in your browser. They can therefore potentially do bad things to your computer. They are supposed to only do things to your web page, though, and now most browsers are built in a way to help ensure that JavaScripts only operate on the document being displayed. Still, I don’t like to use them. I prefer to rely on built-in browser functionality to do things on a web page.

And with that little digression, goodbye for today!

website-example

Adventures In Wonderland

5 June 2012

“A slow sort of country!” said the Queen. “Now, HERE, you see, it takes all the running YOU can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!” – Through the Looking Glass

An Unfinished Project

My laptop was languishing. I had purchased it to use at work, but it never arrived at my temporary cubicle in one of the IT buildings at Boeing Bellevue…

I had been surprised to be offered the job. It happened, it seems, out of friendship – and desperation. My friend the IT pro could not use her regular employees for this project, because you had to be a US citizen and most of her people were Ukrainian. She had a slot to fill and offered it to me.

I arrived at the coordinating meetings with my netbook, which seemed adequate at the time. But everyone else had laptops. Then we got to the work site and the heavy lifting started. Huge spreadsheets. Directories containing hundreds of files. The netbook wasn’t keeping up. My father finally asked me what I wanted for Christmas. “A laptop for work!” I volunteered. He was going to send me a check.

But I needed a better computer NOW and the check was in the mail. I pulled what I thought I could afford out of my account and went down to Fry’s in Renton to see what I could find. I ended up with an eMachines netbox. It had more RAM than my netbook, a faster processor, and Windows 7 Home Premium, 64-bit version. I didn’t need a screen; they came with the cubicles. So I bought it and a USB optical drive at Staples so I could load MS Office onto it, and took it to work that Monday all ready to go.

IIS

It took a day for me to figure out that I couldn’t be connected to WiFi and the local LAN at the same time. Then it was time to set up my little machine to manage all this data with a little help from PHP and SQL Server.

Since we were trying to sell Boeing on the idea of switching from Oracle to SQL Server, I thought it would be good PR to use SQL Server (the Express version) as my database.

But first I had to load PHP, and for that I needed a web server. Why not try IIS?

That’s Microsoft’s Internet Information Services. It’s not really a “web server” like Apache. It’s a modularized set of services that can be configured to serve just about anything over the internet. But at that point, I was only dimly aware of this. Articles on the web said I could serve PHP pages using IIS, so I decided to try it.

C:\Windows\System32\drivers\etc\hosts

“Curioser and curioser!” – Alice

I found all the articles I needed to activate IIS on the computer and get it working. But it didn’t work. As I recall, I decided to switch to Apache (httpd). But it still wouldn’t work. It took me about a day to find a comment at the bottom of one of the “how to” articles mentioning the “hosts” file problem.

This is a file that has been used for years to map URLs to IP addresses in cases where the page is not called through a Domain Name System (DNS) server. In personal computers, this file is most commonly used to map the domain “localhost” to the IP address 127.0.0.1 (version 4).

In Windows 7 Home, however, the “hosts” file doesn’t do this. That entry in the file is purposely commented out. Only the “::1 localhost” entry remains. This is it’s IP version 6 address.

So apps that don’t understand IP version 6 can’t find the “localhost” unless this file is modified to provide the IP version 4 address.

When it was time for me to do to my laptop (same operating system) what I had previously done to my netbox, I was ready! But I had to find the data on the “hosts” file all over again, as I couldn’t locate it in my library. It turns out there is even a Wikipedia entry about this file. It is a very famous file in the world of IT!

Permissions

“Talking of axes,” said the Duchess, “chop off her head.”

Yet, when I went to edit my hosts file, I ran into the other problem that I had somewhat forgotten about: “You don’t have permission to edit this file.” Though I have administrator privileges on my machine, this is the default behavior in Windows 7 to discourage tampering with the operating system.

I was able to edit the permissions on the file to grant myself write permission. This is not the only way to do this; just the first way I thought of. In Windows, there are always usually at least 2, if not 3 or more, ways to do almost anything.

No input file specified

I run the usual test to see if the server can run PHP files properly:

  1. Create a file named “index.php” that contains the string <?php phpinfo(); ?>
  2. Put the file in your “document root.”
  3. Open a browser, and navigate to the file using “localhost” as your domain.
  4. If you get the PHP information page, all’s well.

I got a white screen with a little message in the upper left corner (because I had PHP error reporting turned on – okay in a development environment) that said, “No input file specified.”

Odd.

It took me another day – maybe longer – to get my browser to respond correctly to the contents of “index.php.”

IIS has a “document root” located at C:\Inetpub\wwwroot. And that’s where I put my file. But that’s not the actual place where I wanted my web applications to be; I wanted them on drive D. So in the PHP configuration file I had told it that my “document_root” was there.

When a browser asks for a PHP file (on localhost) from IIS, IIS will look at the path that PHP expects to find PHP files in. When I moved the file to D: PHP could find it.

It turns out that it is common for a server to look for files in other places in the file system besides its own document root. You just have to tell it to and it will.

Later

I was tired of “running twice as fast just to get somewhere.” So I turned to some projects on my desktop, which has been serving me PHP (and HTML) pages from my drive E: (via Apache) for several years now. What a relief!

However, the battle to turn my laptop into a hot production tool is far from over! There will be at least one sequel to this post!

Sequel: Short version

The laptop is running better now. I learned how to add “virtual directories” in the default directory of IIS. These virtual directories are then mapped to corresponding real directories in the file system. This is the IIS way of enabling you to serve web pages from more than one directory. More complicated than Apache, but also theoretically much more secure.

Turning the tables on online data systems

12 April 2012

Since the internet was developed in the 1980s, we have had an increasingly distributed data infrastructure in the US and other developed countries.

In other words, important data are stored on “secure” servers all over the country, and the world.

BUT: The paradigm remained central control!

In the former system, the central computer was the only system where data could be stored securely. Access to the central system was obtained through a “dumb” terminal. “Dumb” just meant no local data storage.

The personal computer, which came into its own at about the same time as did the internet, was a potential threat to that paradigm. Ever since PCs came out, the pro-central-control guys have been trying to figure out a way to make them obsolete!

And so, with “cloud computing,” “mobile computing,” etc., they are.

MAYBE centralizing anything seems more efficient.

It’s called “economy of size.” But it’s also called “too big to fail.”

If you can print out a document you just created on a little printer in your office, that’s a lot more convenient that going down the hall to the big central printer. But management says it’s more expensive. Next thing you know, the big printer breaks down. The only reason the group survives is because they could fall back on the small printers that people kept in their offices! But if you have a central control nut at the helm, what will the answer be? Get another big printer to reduce the chance of catastrophic failure! The lesson goes right by them; they probably can’t even see it.

Another example

Solar power. Same line from the central power club: too inefficient! But if a central power system goes down, you could have a huge number of people without heat or refrigeration for days, weeks, or…

(news story)

…and that will still be the case if we centralize solar.

What if every building had its own system? If it goes out, you just mooch off your neighbors for a few hours or days until it’s fixed. Major state-wide disaster? Nope.

Back to the internet

Cyber crime researchers report that US losses from identity theft fraud have been hovering over 50 billion per year for several years now, with the number of victims topping 10 million.

(cyber crime report)

What makes this possible? The central control nuts. All “hackers” need to do is break into one major secure server to suddenly have thousands or millions of names, billing addresses, and credit card numbers.

Is data decentralization possible?

What if all your personal data were in your wallet, or in a safe (or encrypted hard drive) in your house? Could finance and industry still function if private data were really private?

I think it could. It probably always could have worked that way.

If you rent an apartment, you and your landlord (or building manager) have a key to your room. And that’s all.

If you own your home, you could be the only one with a key to get in.

Could you do the same thing with a bank account? Does your bank really need to know your name, where you live, and who your favorite grade school teacher was in order to provide you banking services? Do they need their own copy of the key to your safe deposit box? No. So why should they have free access to your account? They shouldn’t. Cybernetically speaking, they should have “read-only” access. These days, banks are allowed to debit your account for “fees.” In the old days, they would have had to find some way to make money off your deposit, or else bill you for the fees. Then you could authorize debit from your account, or pay the fees some other way. Your bills and payments would be on the bank’s account with you, not on your account with them.

How would this work? The account itself, though it is your asset, is on their books (computer). Their computer system would have to demand authentication from the account owner before changing anything on your account. In the old days this would have been accomplished by a bank employee recognizing your face or your signature. In a computer, it would have to store some sort of hash or similar token. A hash is a number that is created by a character string. There is no way to guess what character string generated it. The only way to “crack” a password hash is by “brute force” – trying every conceivable combination of characters until you get a match. Thus, the more imaginative your password is, the harder it is to “crack.” So a hash is a fairly safe token to store on a central computer. When paired with an account number, it should give the account owner control over that account.

Does a group you do business with need your name at all?

Well, it’s certainly the conventional style to identify yourself by your name. But even this habit could theoretically be bypassed if the individual were held responsible for keeping track of the messages sent to him. Email addresses, for example, do not have to have your name in them (though most do). So if the bank had your email address and your account number, that should be all they need to contact you. Their messages would have to say “Dear Customer” at the top instead of “Dear Larry.” Big deal.

Packet encryption

If you are going to make financial transactions over the internet (see my articles about the idea of making money obsolete) then your passwords have to be sent to the computer of the business you are doing business with over the internet. And the internet sends data in “packets.” By default, these packets are readable. To make them unreadable, they have to be encrypted. Encryption is a pretty good system. It takes a little more time. With modern fast computers, that time is very small. And besides, the only important things to encrypt are your passwords.

The vision

The vision is of a much more secure, decentralized system that results in much less crime. One huge way to reduce crime is to take money out of the system. That is a big step, but someday we may do it. The important point is this: You don’t drop record-keeping. You don’t use money to buy and sell things, but you do keep records of purchases and sales. The remote computers you have accounts with store a username (email address) and a password hash. And that’s all they need. They proactively send your data (which ideally would not include anything financial) to your email inbox, where you may collect it at your leisure. You prove you are who you are by providing the email address and password, encrypted. These data are stored in your “wallet.” Only you have a “key” to your “wallet.” That key can be a piece of hardware, but it operates on the same principle as a remote login, and could in fact be used to transmit that login information, so you wouldn’t even have to memorize it.

If you lost your “wallet” you’d be in deep doo-doo. But it doesn’t mean you’d be taken to the laundry, because the thief would also have to steal your key. So: Just don’t keep your keys in your wallet! Having a secure backup of your wallet (and your key, I suppose) would be part of the system.

As the table turns

Of course, the central control nuts will find all manner of reasons why this would be impossible.

The problem is: Their spokesmen (think Hillary Clinton) keep talking up freedom and democracy while their actions keep resulting in slavery and tyranny. Their crimes are being exposed, and with any luck, their systems are not much longer for this world.

They will need to be replaced with something else. Will the new systems be better, or built on the same old paradigms that the criminal systems were based on?

I hope this gives you some small clue why I bother to write articles like this.

Trying out Drupal

8 August 2011

I had a bunch of little notes hanging around on my desk.

I didn’t want to lose the data on them entirely, but I could think of no easy way to enter it on my computer. It took a while for me to think of using a “content management system” (CMS) for this purpose. Using a CMS gives the internet user the ability to pull up a site, log in, and enter as much data as he or she desires (within limits) by typing directly into the browser. I finally realized that this would be a good way to get the data on these slips of paper into my computer and the paper in the trash (or shred).

One of the most-used CMS packages in the word is Drupal.

The name Drupal, pronounced “droo-puhl,” derives from the English pronunciation of the Dutch word “druppel,” which means “drop.”

(It all started when the founder of Drupal typed “drop” instead of “dorp” (Dutch for “village”) when choosing a name for his first hosted site.)

So the originating concept of Drupal was to create a virtual “village” on the internet where members of the group could exchange news and information without being physically close.

This original idea has evolved into a system that uses a database to store almost all of its content. It displays and saves content based on the choices made by each user. It is extremely versatile, in the sense that it can be set up exactly the way the site designer wants. It is all based on open-source systems that are offered by developers at no charge. (Apache Web Server, PHP scripting language, and mySQL database manager.)

Does this come with instructions?

I had a bit of trouble figuring out how to use Drupal. Once it is installed, you pull it up in a browser to use it. If you do the default install, you get a very sparse screen with an administrative menu along the top (if you are logged in) and a couple of links saying “add content.” The sidebar contains a search form and an empty menu. And that’s about it. No instructions on how to proceed.

So I clicked on “add content.” It took me a while to realize that “add content” is a totally generic function in the basic version of Drupal. You can add any kind of content that your system allows. Drupal handles all content basically the same way. The content will be called to view when the link pointing to it is clicked. That link could appear on a menu, in search results, or in a specialized menu such as the one used to navigate forums. Just about any content can have tags (assigned keywords) and can have a link on a menu, and can take attached comments.

After finding no way to give the menu a branching structure, and failing to figure our the “book” content type, I settled on the “forum” module and had all my little notes added as comments to forum topics in a matter of minutes.

As good as it gets?

Drupal is used very widely.

Its PHP system files are in plain text and can be edited to suit the needs of a particular developer (though this is heavily discouraged). There is a standard way to add custom modules (which is the preferred way to add or modify functionality) and many custom modules have been developed. The look of the site can be significantly controlled using Style Sheets, which can be implemented using standard or custom modules.

But.

If you are used to developing in the usual way and decide to develop in Drupal, your world will be turned upside down. The Drupal core concentrates on functionality. I am used to developing sites where layout and functionality are intimately related. In Drupal they become two totally distinct issues. Each piece of content (called a “node” in Drupal) can be styled and placed in its own way. Normally all nodes of the same content type (that is to say, generated by the same module) are styled and placed in a consistent manner. But there is no overall integrating document (or I haven’t found it yet) where you can set up how you want that part of the site to look and work.

If a CMS exists that delivers this, I’m still looking for it.

Browse My Computer: Integration with a database.

27 July 2011

Too Serious

In this phase of the project, I have somewhat fallen prey to the purveyors of SERIOUSNESS.

I apologize.

Creating a machine system that can be used with the same sort of ease and effectiveness as a good mental system is not easy. And though many are working on it, you could almost say it’s stupid. Why try to perfect a machine system when we have a mental system that already works so much better? All the mind really needs is a few “tweaks” and it could replace all these stupid machines entirely!

These are the sort of thoughts that go through the head of a Scientologist working with MEST technologies. The sense that there are other games probably much more worth playing, if only one could gain access to them, becomes very palpable after listening to the whole PDC plus the Phoenix Lectures!

But working with computers does give one some insight into how mental systems were developed in the first place… An insight many IT professionals undoubtedly miss.

Why Use a Database?

If the ultimate goal is to really have the file system and its contents become the database, why bother to develop a separate one?

The simple answer is that I’m just not that close yet. I have too many lessons to learn about how data can be linked together before I can try applying a relational model directly to my files.

And this has a lot to do with what some people call “semantics.”

Semantics: study of the meanings of speech forms, or contextual meaning.

In semantics, the correct concept for the word “hot” depends on the context it is used in. This is particularly true of acronyms or simple symbols that have no real meaning, but could mean almost anything depending on their context.

And so it is necessary in an information system to link some data, or a name for it, to a context. And that linking is accomplished mechanically (or mathematically, you could say) using a relational database.

Database Technologies

The world has settled on a basic system for communicating with database management software called “SQL.” According to ANSI, the letters S-Q-L no longer stand for anything. They are just traditional letters used to describe the most common way for communicating to database management systems.

I actually learned about databases on a “non-relational” (or “flat file”) system called Lotus 1.0. It was a great system, and it had commands, but they weren’t SQL, even though they were similar.

Access is a commonly-used Microsoft database application that also doesn’t use SQL. Except that it really does. It just tries to hide it all from you. To do this it comes up with all sorts of clever graphical ways to help you write SQL without realizing it. I think it’s better just to learn SQL.

Unfortunately, each major database management system on the market implements SQL a little differently. So you have to learn how to use it for each different DBMS you use. Bummer.

A “real” relational database implements ways to define the relationships between its various tables. This is cool but makes system development a bit more complicated. MS SQL Server is a good example of this type of system. Oracle is another. MySQL on the other hand, started out without this capability. It is available from Oracle in an open source version and thus is the only good DBMS within my reach. It is very widely used in web-based applications.

Web-Based Database Applications

The way the web works totally enforces on the application developer the client-server model used by all modern DBMS software. So you can use your application to enforce your table relationships, rather than programming them into the tables themselves.

In order to do this, you populate a menu control in a form with data from the table that links to the field that you will use that form to fill. Follow?

So if I have a table that links a name to an occupation (I do), then I fill that table from a form that contains a list of all the possible names (from my table of names) and all the possible occupations (from my table of occupations).

In my particular case, I also have a third linking field: Context.

Context

Context is a way to simplify a relational system. This makes for some interesting possibilities. For example, people know me, if they do, by my name, Larry. But that name, even it were unique in the set of all known proper names (which of course it isn’t) is actually being used to refer to at least three separable things, or distinct contexts. It refers to my body. When my body dies, “Larry” will be “dead.” But it also refers to my mind, or to the idea of Larry. And when my body dies, that idea will continue on. On top of that, it is being used as a temporary moniker for ME. The being currently known as “Larry.” And when that body dies, that being will go on and pick up a new body and begin inventing a whole new idea of “Larry”. Except that the idea will have a new name attached to it. (See what happened to James Leininger for an example of what happens when you get a name you’ve had before.) The bodies are only related by me having occupied them. The ideas are related by their potential continuity in my own mind, and the beings are related by being the same.

So I give Larry the context of “be-human” which signifies that we are only talking about the current being-mind-body complex and what it can manage to remember about itself. If I were treating only the subject of my body, which I normally would not in my particular system – might in a medical system, then that data would be in context “be-animal.” I also have a context for beings, though I don’t use it much, as data in this area is thin and unreliable. It is called “be-free.” And so it goes.

Class versus Object

In computer programming we have the terms “class” and “object.” A class defines a framework that can be used to create a unique object. This concept is useful so I have implemented it in my system.

As it turns out, in the world of biology we almost always talk about classes and seldom about objects. Each blade of grass is an object, but who cares? They are almost impossible to tell apart and there isn’t much utility in thinking of them as separate. So from the grand scheme of biological phyla down to every distinct species and variation, it’s still all classes we are talking about; no objects involved at all. On the other hand, I consider a distinct person to be an object.

Classes are subject to great overarching theories about this that and the other thing. But it can take just one object to prove all those theories wrong. So I try to keep objects and classes separated in my system, except to link each object to the class (or classes) which supposedly define all its basic actions and characteristics.

Classes exist in a hierarchical system. Each lower class inherits the actions and characteristics (methods and attributes) of its parent classes. I wanted to store this data in just one table. That table, using words as it does (one could make a graphical database; would be an interesting exercise) also requires a context field. I decided, after studying object-oriented programming a bit, that I would only need four other fields in this table: parent (a name gotten from a table of names), aspect (just a few choices relating to graph theory), type (corresponding roughly to the parts of speech) and name (gotten from that same table of names, or words, really).

The hierarchy can only be extracted from this table by relating names and parents within the same context. In this application, “context” “language” and “thought system” are seen to almost equate, which is one of the interesting results of doing this. This rough conceptual equivalence, by the way, has been noted in psycho-linguistics. Look up the work of Lera Boroditsky.

Filling the Tables

I had two important tables to fill, and that is a work in progress.

I wanted to base their contents on the actual contents of my computer, and I remembered a great little freeware application called YourDir that can create a text listing of every single file path on your computer, or various subsets of this, so I used that to make my context list. It’s an odd list. It has about 500 entries.

In a similar manner I filled my list of proper names (objects – almost all human individuals).

I have yet to attack my list of names, which will be the longest. It could easily have 100,000 entries. But if I make it that big I will have to find ways to limit the number of choices that come up in my form for filling in the linking table.

But with a list of proper names and contexts done, I figured I was ready to start linking those names to categories, in this case, occupations (or “hats”). The first words, then, in my long table of words, describe occupations.

Writing applications (in PHP) to fill a linking table with data to be linked is not super-simple. But I did have the code I wrote for my school assignments along with what I did on my last job, so it wasn’t too bad. This is a whole subject that we just started to touch on in my programming classes. There are methods you can use to help you design a web application of this type. I have not found it written up anywhere, so I am developing it as I go along.

One thing I have noticed about programmers is their tendency to go straight from the head to the computer. It’s a very direct approach, but it can waste a lot of time. I would never think of building an electronic circuit without sketching it out first. But I have not found a programming analog to the electronic engineer’s schematic. There is the “program flow chart.” But I seldom see it used by programmers. And it is really only good for demonstrating logical algorithms. What we really need is a graphical way to show how functional blocks are attached together, just like they do in electronics schematics. I’m working on it.

Browse My Computer – File Structure

28 June 2011

The Librarian’s Dilemma

Every document is different. Every document writer has his or her own viewpoint and purpose. How do you match documents up with readers or students?

Almost all library systems are based on a combination of document type and subject matter.
Maps have to be stored differently than magazines which have to be stored differently than large reference books that don’t circulate which are handled differently than audio recordings, etc. etc. But on the computer everything is just a digital file. So the choice seems obvious: Organize by subject.

Well, that might work for non-fiction, but what about novels, poetry, artwork? These are usually organized by author/artist and genre. OK for most people. Unless you’d like to read a novel about time travel set in Boston in the late 1800’s. Unless you happen to know that Edward Bellamy wrote such a book, you’d need a good cross-reference system to find that one.

And there are similar problems with non-fiction. You will find books that cover the theory of a technology along with instructions on how to use it and sample projects. Other books may cover only theory while others may have only sample projects. Do you put them all together under the same subject?

Graph Theory

The above term is meaningless to most people, but I love its mystic ambiguity. Graph theory is a mathematics that seeks to describe the connections between the various elements of a system. Most subject systems and file systems, more or less by necessity, use a tree structure to relate their elements. In a tree structure, there is only one unique path to each element from the root. This works for trees, but in a real tree the end node of every single path is a leaf. In a system of data, you don’t have that kind of uniformity between nodes.

I know of no basic computational system that has overcome this. The closest I know about are computer networks. And the logic involved to make these things work is quite intricate. Yet it is intuitively obvious that in the real world there are an endless number of possible paths between point A and point B. The choice of which path to take is a very human activity. It involves intuition, guessing, luck, hard choices, possibly even physical violence.

A system of data may not be that dramatic, but the point is that without human choice, it’s just a big pile of undifferentiated data.

Importances

LRH says in Logic 10 “The value of a datum is established by the amount of alignment (relationship) it imparts to other data.”

So I looked at various LRH basics to see which ones might be useful in helping me align the kinds of data I was working with.

I knew I wanted to use the Dynamics. These can be used to assign scope to a document. They also provide an outline for a list of subjects. I would try to use both characteristics of this scale in my scheme.

The cycle of action in its many forms also seemed like a useful concept. This gives a general context to a document. Is it about beingness, or doingness, or havingness? But I also had to factor in the concept of abstractness.

Two Dimensions

Using the analogy of a map, it is difficult for us to locate something in more than 2 dimensions at a time. And while there are ways to communicate a third dimension, they don’t work will if the upper layers mask the lower ones. Therefore, it is relatively easy to show mountains on maps, but relatively difficult to show caverns.

On top of this, the human-computer interface remains two dimensional. And while you can simulate the exploration of a 3d space on a computer, the software is complex and it is difficult to indicate how exactly to get to the desired destination.

Thus, 2 dimensions, with only an indication of a third, was as complex as my basic navigation system could be.

Mapping

If you use certain kinds of software very much, you will run into the concept of mapping. In abstract terms, this involves taking one structure, such as a table, and creating a correspondence between every point (or node) in it to a point on a different structure, say a tree. The term, I suppose, comes from map making. The problem there is usually to represent a curved surface (the earth) on a flat sheet of paper. In this case, the mapping can be accomplished through a rather straightforward deformation function. This is topology. I haven’t studied it.

But what I needed to do was map a table, or grid, to folders in a file structure. If your grid is 5 by 9 (as mine currently is) this means you have 45 nodes in a lattice configuration to 45 nodes in a tree configuration. These are the 45 top-level nodes in my data structure, so I wanted them all to be top-level branches in my tree. Since I needed both structures to be human-friendly as much as possible, I wanted folder names that would preserve the basic order of the system when they were arranged alphabetically.

180 degrees

LRH has a saying that the physical universe always works 180 degrees different from your own universe. In your own universe, if you want something you get it and if you create something it’s yours. In the physical universe if you want something you can’t have it and if you create something you have to sell it in order to survive.

And so it is with human subjects. Theoretical physics would seem to be a specialized subject buried deep below many layers of “easier” subjects, yet it is the subject that comes closest to describing the most basic characteristics of all reality. In general, subjects are studied backwards, starting with the effects that are most easily noticeable and working back towards suspected causes. This is 180 degrees from how things are created, and I wanted to follow a creation-based paradigm for all my data. That’s what I am used to in engineering, and I didn’t want to change the paradigm in other fields just because they are not yet as easy to apply or understand as engineering is.

My first shot at a system

The dynamics start with 1, self, the effect, and go up to 8, god, the cause. I wanted to reflect this in my system, but also retain a distinction between the “old” gods and the “new” ones. So I modified the dynamics into a list of effects: universes, stars, planets, mockups or societies, machines, life forms, humans. Then added to these freedom and a new civilization.

Then I came up with five aspects for these effects (I could have had more): beingness, theory, mathematics, parts and systems.

I based this on what I experience as the sequence of making something. One starts by deciding to be the maker, one then gets an idea of what one wishes to make, predicts its operation (by mathematical simulation), fabricates its parts and then assembles them into a working system.

Mapping these to a set of alphabetical words expressing similar concepts I came up with:
be, idea, math, part, system for my set of first key words, and
anew, freedom, human, lifeform, machine, mockup/society, planet, star, universe for my set of second key words.

Deciding what subjects or items should fit into each of these 45 top-level combinations has been a real challenge. And it is actually a kind of philosophical exercise. Was psychology used before humans ever existed? I say “yes.” So that puts it under ideas-social, not ideas-human. Interestingly, art (taking my cue from The Factors) begins as a subject up at the universe creator level. That doesn’t mean that I will put all examples of human art in that category, though! It is assumed that concepts that show up “high” in the data structure will apply to all levels beneath them. Thus there is art in stars, planets, societies, machines, life forms, and even humans. I consider that the fact that this is recognized is more important than the confusion caused by having to decide where to put a particular file that has to do with art.

After working with this system for a few days, and making a printed table to help me keep track while I move my files from a more traditional structure to this new one, I am getting more comfortable with it. And initial experience indicates it will result in a more balanced distribution of files among the categories with better integration of subject matter. These are important considerations to making the whole system workable.

Browse My Computer – Media Players

8 June 2011

Media players work together with browsers to play audio and video files.

Most of the major media players offer “plugins” for Firefox and other browsers to allow the browser to play media files in a window or by popping up the application.

I tried Media Player (Microsoft), Real Player and Quick Time (Apple). I have also used VLC in this way.

Formats

The major formats I was interested in were MP3 audio and MP4 video. I also have a lot of FLV video files, which I pull down a lot with the help of a freeware application called Download Helper. But I know those are a little problematic.

Many many videos are available from You Tube in MP4 format, so this is a crucial format to get working. And of course MP3 is totally ubiquitous.

Tags

My automated pages create “a” tags for all files, targeted into an inline frame. The browser automatically renders txt, html, gif, png, jpg, etc. without any help. In my original setup, I had a VLC plugin in Firefox which played flv files in a new window (or frame) but with no playback controls. I also had the Quick Time plugin installed, which did the same thing with MPx files WITH playback controls displayed. I also had some Real Player plugins which seemed to work similar to Quick Time. I was confused about which plugin was doing what, so disabled all of them and started over.

I decided to make a test page and thought I’d try the HTML”5″ tags that are already getting support in most browsers.

HTML5

Firefox supports these new tags, but only with media that have open-source codecs. That’s almost all OGG format. MPx files aren’t supported. Opera was supposed to be better, so I downloaded it and tried it. I did not find it any better. So next I downloaded Safari with Quick Time.

Safari

Safari is in a class by itself. Apple has been working on their design values more than any other major supplier of hardware and software. Safari defaults to a “3D” home page displaying 9 of your favorite pages (it can be reduced to 6) in an interesting concave shape with a cute reflection at the bottom.

I loaded the test page into Safari, and the MP4 and MP3 HTML5 tags worked great. MP3 in an “a” tag also worked.

Back to Firefox

With Quick Time back on my computer, I had that plugin back in Firefox. Now Firefox worked very similar to Safari. Except that I could put both MP3 and MP4 files in “a” tags and they would open in an embedded Quick Time player with controls. So it looks like this was as good as I was going to get.

OGG

This open source streaming media format (or “container”) is not well-used on the internet, but works quite well. I wanted to convert a small MP4 file I had to OGG to see how it would work. Well, that was a rough one. I discovered that the only freeware player that could do this was good old VLC. I installed VLC in the ZIP way (no installer script – no updating of file associations) and then used it to do the conversion. The OGG file worked fine in Firefox. Not in Safari, though!

So I think Firefox with Quick Time does the best job at this point. But I like that Safari look!

Browse My Computer – First System

7 June 2011

Design Challenges
Contents of the site can change, so the site pages need to be created dynamically.
But diverse content can be related. How do you show that?
And the site already has a structure that I don’t want to change.
Also, amount of content is huge, so there is no way to display it all on just a few pages.

Technology for creating pages dynamically
A technology that is accessible and easy to implement is PHP. It’s open source and well-supported in the web world.
And I found a great little PHP program that creates a list of links for the contents of any directory. It is recursive, so picks up contents of all sub-directories, too. A short piece of Java Script can be added to make the list automatically collapse, then expand at each node when it is clicked.

PHP works similar to other server-side scripting languages, but is easy to add to pages and systems without special development environments. A special code tag for PHP can be added anywhere on an HTML page where you want to add code. Then when the server gets to that code, it will execute the code and if it produces output, will put that output on the page in place of the code. External PHP files containing commonly-used functions (or classes) can be placed anywhere in the file system and pointed at with a PHP INCLUDE statement. Just put in the “include” before you run the function that it covers.

My First Attempt

Index.php: I list out the roughly 20 major folders in my “site.”
The links use the query string (href=”pagename.php ?variablename=variablevalue) to send the name of the directory to by scanned to the next page. This page also has “More detail” buttons. The directory links point to a file viewing page named tree-any-classic.php. The “classic” part means it uses plain Java Script, not a JQuery script.
The More Detail button links point to special folder view pages.
Detail pages: There are about a half dozen detail pages. They run a modified version of the file tree program that only lists directories. All the directories on this page point to a different file viewing PHP page.
File viewers: One viewing page lists full trees and populates the list with links that point the document to an on-page inline frame (iframe) which is used to view the documents. The iframe is fixed to the browser so it is always available while the listing can be scrolled through. The other viewing page lists only the files from one directory at a time. Otherwise, it works the same as the more versatile page.

Limitations
Website files need to have names without spaces. Fortunately I had a habit of naming files without using spaces, but I have many files that don’t comply with this requirement. If I don’t find a workaround, I will have to rename all such files. Fortunately, my Free Commander file manager has a bulk rename feature that comes in handy for this.

You can’t click on a regular link and open any type of file in a browser. This only works with HTML and some image files. Adobe provides a plugin for PDF files. And Microsoft provides a plugin for WMV and a few other Windows Media file types. Real Player has plugins that will automatically download many media files and open them in Real Player on your computer. Apple Quick Time also has such a plugin. I haven’t explored all my options for implementing this functionality yet.