Header photo

The header photo you see is of the Canyon Diablo bridge at Two Guns, AZ. This bridge was built in 1915 and served the National Old Trails Road. In 1926, this section of road became part of Route 66. The bridge was the Canyon Diablo crossing for 66 until 1938 when Route 66 was slightly rerouted in the area. The ruins on the far side of the bridge served as a store for many years.

Sphider for WordPress

About three years ago, I attempted a port of Sphider to WordPress. What did result was buggy and incomplete. The Search tab on this blog actually contains a sample of what came out of the effort.

Among the MANY problems:
1. It gives more results that is really desired, making it pretty useless.
2. If the number of results goes beyond one page… well, it breaks if you try go to the next page!
3. Suggestions don’t even begin to work.
4. The effort was based on Sphider 1.5.1, and PHP has advanced since then. Now I can’t even get a screen to do a re-index if I wanted to.
5. It is VERY difficult to integrate into a WordPress theme.
6. There are other issues, but they don’t come to mind off hand.

So, in a nutshell, that attempted port was a dud. An laughable and unmitigated disaster might be a good way to describe it.

Now, Sphider seems to be stable (famous last words?), and I am often a glutton for punishment, so I am THINKING about trying again… kind of a Sphider for WordPress, Take 2, pre-alpha…

This would have to be thought out before actually doing anything, but these are my considerations so far:
1. History has taught that not all hosts provide the MySQLnd module for PHP. Therefore any future WordPress port would need to be based on the PDO Sphider. Version 2 supports PHP 7.1, so that would be the beginning basis.
2. WordPress uses its own class, the wpdb Class, to interact with the database. So code would need to be changed to use wpdb. That is a LOT of code… BUT… why would the spider part of Sphider need to use the wpdb class? Spidering (indexing) itself really doesn’t need to be integrated into WordPress, does it? All it is doing is populating the sphider database. So why couldn’t the spider and search functions of Sphider be separated? The only thing those two functions currently share with each other is the database connection. The current spider part could remain as is (with some modifications specific to WordPress page needs), and only the search function be rewritten to use the wpdb class (with its own database connection). Both functions would connect to the same database but in different manners.
3. Would a WordPress Sphider really need to use categories as used in Sphider? I am thinking not. So scratch that capability. I don’t think we need RSS feed indexing or image indexing, so those can also be cut. We are only concerned with a single site (the blog on which it would be installed), so more code simplification. This all reduces the size and complexity of spidering (indexing).
4. Perhaps embedded into the indexing function would be the elimination of looking it unnecessary places, like /wp-json, /category, /feed… This would reduce the size of the database and eliminated some of the redundant “finds” when a search is performed.
5. Naturally, the search function would eliminate RSS and image search functions and retain the keyword search.
6. Try to get the search page to more easily integrate with themes.
7. Get the multipage search returns to function, forward and backward, without producing an error.
8. Get suggestions to work.

Okay. Before I get in too deep…
1. Is there any real interest in a Sphider for WordPress?
2. Anything I’m missing in thinking ahead?
3. Anybody have any experience integrating content into WordPress themes? Care to share?

Feedback would be appreciated. In fact, without feedback, I may conclude the whole idea is more trouble than it’s worth.


UPDATE: So… I got brave and changed my theme. And the theme had the ability to add a Search widget. And playing around with this simple search, it seems to work just fine. Granted, it is just a simple search, not one with and/or or phrase options, but quite functional nonetheless. I have to imagine any decent theme can do the same thing. Unless there is really a big need for a Sphider for WordPress, I think I’ll save myself the trouble and pass. 🙂

Did you know…

The WorldSpaceFlight site covers a lot of territory. There are shortcut ways of reaching particular sets of pages.

Americainspace.com redirects to the America in Space pages.
Russiainspace.com redirects to the Russia in Space pages.
Chinainspace.com redirects to the China in Space pages.
Canadainspace.com redirects to the Canada in Space pages.
Europeinspace.com redirects to the Europe in Space pages.
Japaninspace.com redirects to the Japan in Space pages.
And astronauts-n-cosmonauts.com redirects to the astronaut and cosmonaut Bio pages.

Other sets of pages within WorldSpaceFlight aren’t so lucky. But the big seven sets which are may save you a little bit of typing.

Maintenance releases for Sphider

Sphider release 2.0.1 has some code cleanup and a jquery update.

PDO Sphider, Sphider for PostgreSQL, and Sphider for SQLite are at release 2.0.2. While these too have some code cleanup and jquery update, they are mainly to correct a few problems introduced by release 2.0.1!

No change to the functionality is involved in these releases. They are mainly to clean up a few messy items, although the PDO versions 2.0.1 did correct some problems with database error reporting. Those changes are included in 2.0.2.

Boiled Shrimp

When I was a young man, I discovered shrimp… specifically, fried shrimp. Whenever we went to a restaurant, if fried shrimp was on the menu, I ordered it.

After I had left home and was on my own, fried shrimp was always one of my favorite options. But then one day, sitting at the bar in Al’s Bar in a town in Nebraska, I noticed a sign above the bar: “Plate of 12 boiled shrimp, $1”. Well, I was hungry and I did like fried shrimp, so I figure shrimp is shrimp and ordered a plate.

As I am sitting there, watching TV, sipping my beer, and eating my boiled shrimp, I notice a stranger to my left sort of watching me. I say nothing and continue watching TV, sipping beer, and eating boiled shrimp.

Finally the stranger to my left speaks: “Excuse me. Do you ALWAYS eat your shrimp with the shells on?”
I reply: “Yes. Yes I do. Why?”
Stranger: “Well, it’s just that I never saw anybody do that before. They always shell them first.”
Me: “I like the crunch!”

I guess I decided that day, after finishing the plate of shrimp I had in front of me, that I just maybe might try shelling them in the future. Since that time, whenever I have eaten boiled shrimp, I have shelled them first… provided there is no sign of that same stranger nearby.

Hey! At least I have ALWAYS shelled my hard boiled eggs before eating them!

Sphider has a new home

Sphider – a PHP spider and search engine

While this blog will continue to provide news and information about Sphider, and links to downloads will continue to be provided from the blog, the principal home for Sphider is now:

http://www.sphidersearch.com or https://www.sphider.worldspaceflight.com. Either url will bring you to the same page. The Spider Forum has not moved and is accessible from the new domain.

Besides the main page, there is a downloads page, an About page, a document page from which the Sphider User’s Guide may be downloaded, and a changelog page. Other pages will be added as the need arises.

Blog spammers revealed

Blog spam….

Askimet is a blessing as MOST spam I never even see. And practically all the rest ends up being flagged as probable spam, which it inevitably is. I’ve only had ONE legitimate comment I’ve had to rescue from there. While I simply delete the contents of the spam queue, I still like to track the WORST offenders. I thought I might share my (growing) list with whoever is interested. Most of the time, it is individual IP’s, but once in awhile I find an entire block of addresses that are infested with blog spammers.

5.3.0.0/16
5.35.67.28
5.62.39.251
5.101.140.237
5.157.7.155
5.157.11.84
5.164.0.0/14
5.188.210.7
5.188.211.170
23.81.229.20
23.90.36.193
23.90.36.206
23.90.46.0/24
23.94.162.0/24
23.94.162.185
23.106.237.0/24
23.229.69.201
23.229.114.88
23.236.132.210
23.250.23.114
23.254.83.219
31.145.42.190
37.115.0.0/16
37.153.168.227
37.187.96.78
37.220.22.131
37.220.22.178
45.59.156.226
45.72.23.245
46.118.152.0/21
46.119.114.237
46.161.9.0/24
46.161.14.99
46.188.211.170
52.178.197.34
63.3.203.161
63.155.88.80
64.31.242.114
67.197.224.240
68.180.75.18
72.255.26.248
73.201.55.118
76.179.207.40
78.203.146.14
81.2.240.252
82.117.72.0/24
82.244.207.109
84.127.31.247
84.238.38.57
85.10.51.18
85.57.128.0/17
87.239.248.8
88.150.182.240
89.32.251.0/24
91.200.12.0/24
94.46.177.153
94.102.51.78
95.78.0.0/15
95.216.141.155
96.8.115.24
98.144.161.18
103.197.168.17
104.227.32.28
104.250.226.0/8
105.184.5.170
107.150.23.219
107.152.161.202
107.152.173.94
107.161.31.202
107.172.15.136
107.172.35.248
107.172.45.253
107.172.181.98
107.172.255.40
107.173.68.0/24
107.173.241.237
107.175.38.0/24
107.175.151.41
107.184.214.228
108.174.59.119
109.230.220.6
109.230.220.218
117.0.0.0/13
130.185.153.253
131.161.8.0/22
134.19.65.254
134.119.189.54
134.249.51.228
134.249.141.24
138.128.13.46
138.186.137.232
146.185.192.0/18
155.94.234.218
165.231.45.11
169.50.62.0/24
172.245.73.13
172.255.83.0/24
172.255.83.140
176.109.241.177
176.109.176.146
177.73.212.192
177.83.254.232
177.125.20.176
177.140.100.200
177.193.58.134
179.157.13.111
178.159.37.18
178.159.37.112
179.210.129.125
179.217.27.0/24
179.218.80.118
183.111.197.226
185.36.102.0/24
185.44.79.247
185.93.183.185
185.122.170.25
185.122.170.111
185.158.107.140
185.182.48.6
186.31.113.122
186.42.185.94
186.220.76.119
186.205.68.217
186.221.203.67
187.23.230.171
188.72.96.193
189.60.121.0/24
189.63.147.37
189.122.235.69
191.101.108.191
191.176.58.191
192.3.24.114
192.3.142.86
192.3.203.58
192.3.244.12
192.168.160.163
192.126.168.176
192.186.159.239
192.186.177.251
192.196.157.9
192.210.165.2
192.161.163.190
192.210.185.248
192.227.209.254
193.33.187.70
195.154.233.33
195.181.160.68
196.196.92.245
196.196.94.210
198.12.68.49
198.12.104.59
198.12.123.132
198.20.172.68
198.20.182.179
198.23.177.90
198.46.225.4
198.46.225.7
198.46.228.250
199.21.115.68
200.107.253.130
201.52.196.252
201.82.173.17
203.245.8.0/24
204.86.19.245
212.92.107.0/24
213.87.249.138
216.116.9.58
217.120.94.39

The miracle of a modern education

I made a visit to the local Burger King the other day. My order totaled $10.63. I handed over a twenty dollar bill, a quarter, and four dimes. I knew that was a big mistake the moment I saw the cashier holding the coins in the palm of one hand, slowly pushing them back and forth with a finger from his other hand, a befuddled look on his face. He moved the coins about for about a minute, stared at the cash register knowing he had to enter the amount tendered, then finally he entered a number. I see the change due comes up as $9.57.  Sensing this just MIGHT be wrong, he asked the cashier next to him for help. Now two lines are being held up as this two try to figure out what to do next. Another minute passes by as the lines grow longer. Finally one of them asks a manager for help. She hands back the twenty and asks if the coins were my change. I explained they were my coins, but not the change. I hadn’t paid yet, that was just a part of the $10.63 I owed. She was confused and cancelled the order. I had to reorder. The lines are growing. Total is $10.63, change due is $9.37. I explain that no, it isn’t. You haven’t taken the five coins I handed over into account. Some more figuring. She hands back a ten.  Now we are making progress, but where is my other two cents? So I say I am still due two cents.  I don’t think she believed me, but tossed over another two cents just to get the lines moving again.

Normally, I wouldn’t care about two cents, one way or the other. But after spending about five minutes just trying to place a simple order, I wanted the two cents.

I know sometimes people can get nervous and forget how to make change, but this was ludicrous. The cash register is fully automatic. You enter an order, it pops up with the total due, in this case $10.63. No math involved. You enter the amount tendered, in this case, $20.65. The magic is done and it tells the cashier how much to give back, in this case $10.02. All that had to be done is to add $20 plus 25 cents plus 10 cents, plus ten cents, plus 10 cents, plus ten cents. $20, easy. It’s a twenty dollar bill. Now for the cents. Count 25, 35, 45, 55, 65. Was that really so hard?

If the three people involved were second graders, I would understand. They were all, presumably, high school graduates. What are they teaching now days?