Need assistance in running 16-threaded superheavy fuzzy search
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Thank you man, much appreciated, I owe you two beers.
Cheers
P.S.
Just to feel the real meaning of Kazahana (snowflakes in the wind), one guy superbly captured it on video High Speed Amtraks Meet in Blizzard!: https://www.youtube.com/watch?v=-wco_QJ0avo
$ time grep "Sylvester Stallone" enwiki-20141008-pages-articles.xml > grep.out
I haven't really followed the whole thread, but note that grep will be faster if you pass -F which tells it that the pattern is a simple string rather than a regexp.
It appears to me that GCC version matters a lot, from various tests I observed a significant speed boost for GCC 4.7.X and above.
For exact search, Kazahana's 15.723s disappointed me, it should be at least 2 times faster than that i.e. around 7 seconds, simply 50,151,236,957/15.723/1024/1024= 3041MB/s are miserable in my eyes, moreover Kazahana has no upper limit other than the memcpy(), it theoretically should search "Sylvester Stallone" at 16x10GB/s= 160GB/s.
With incoming Knights Landing featuring 6 channels and more importantly 16GB on-die superfast RAM with bandwidth of 500GB/s, I think that Kazahana should go North furthermore, see the attached scheme! I always thought that one should be more greedy than what current conjuncture offers, it is kinda stupid to write C code which is blind to presented resources. In that line of thoughts, how nice it would be someone to port current Kazahana from OpenMP to PTHREADS!
Had I written a decent (i.e. portable) time measuring it would have reported the memcpy() performance, in this way determining the upper bound would have been given. It is interesting to know single-threaded, say, 512MB copied by memcpy(), not synthetics, for every computer, just a simple tool copying 512MB block 1024 times and reporting (as exit code of main()) would be useful, is there such tool in Linux?
Imagine you sit at some console and not knowing what machine is behind, you run such tool, how conveniently it would be to see the raw single-threaded memcpy() speed.
I already gave link to the Assembly code generated by Intel v15 optimizer, it is one interesting etude in itself, with no vectorization just smart unrolling.
Seeing how GCC 4.7.2 (from the MinGW package which I have already run) performs suggests that current best result:
Code:
real 326m32.615s
user 4416m16.224s
could be cut in two hands down if 4.8 is used instead.
Also 4416/326 = 13.54 says that utilization 1354% is far from the desired 1600%, I expect 1460% for latest GCCs.
In my humble opinion all GCCs tried so far failed to compile effectively this specific 4-level FORs which takes 90+% of the whole CPU time:
Code:
// Fast! [<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
for (l=0; l < m-(n-AtMostLevenshteinDistance)+1; l++) { // Here BB = n-AtMostLevenshteinDistance the smallest BB
for (BB=n-AtMostLevenshteinDistance; BB <=n+AtMostLevenshteinDistance; BB++) {
// From here on 'm' will be replaced by BB
if (l < m-BB+1) {
if (AtMostLevenshteinDistance >= MAX(BB,n)-MIN(BB,n)) // This is the only add-on for r.1+
{
WordsChecked1++;
// LD [
StartingPosition = 1;
while ( wrdCACHEDT1[StartingPosition-1] && wrdLOW[l+StartingPosition-1] && wrdCACHEDT1[StartingPosition-1]==wrdLOW[l+StartingPosition-1] )
StartingPosition++;
// The bail out 'i' value (heuristic #2) affects our cached value here, 'StartingPosition' cannot be greater than 'i':
StartingPosition = MIN(StartingPosition, i);
SkipHeuristic=0;
#if defined(_parallelfor)
#ifdef Commence_OpenMP
#pragma omp parallel for
#endif
#endif
for(i=StartingPosition;i<=BB;i++) { // StartingPosition is in range 1..
for (j=1;j<=n;j++) {
if(wrdLOW[l+i-1] == wrdARG[j-1])
LevenshteinT1[i][j] = LevenshteinT1[i-1][j-1];
else
#if defined(_WIN32ASM_)
LevenshteinT1[i][j] = min_AF(LevenshteinT1[i-1][j]+1, LevenshteinT1[i][j-1]+1, LevenshteinT1[i-1][j-1]+1); // Variant 1: 237,270 xgrams/s
#else
LevenshteinT1[i][j] = MIN(MIN((LevenshteinT1[i-1][j]+1),(LevenshteinT1[i][j-1]+1)),(LevenshteinT1[i-1][j-1]+1)); // Variant 2: This MS code is faster than above jumpless code! // 358,327 xgrams/s
//{LevenshteinT1[i][j] = MIN(MIN(LevenshteinT1[i-1][j],LevenshteinT1[i][j-1]),LevenshteinT1[i-1][j-1]); --LevenshteinT1[i][j];} // Variant 3: This compound line is much slower than above inc-inc-inc code! // 237,270 xgrams/s
#endif
}
// A simple heuristic #2: Discontinue the nasty vertical loop (i.e. m) when the LD in cell in the last column minus the remaining vertical cycles is greater than our MAX LD:
// if ( LevenshteinT1[i][n] - (BB-i) >= 0 && AtMostLevenshteinDistance < LevenshteinT1[i][n] - (BB-i) ) {SkipHeuristic=1; break;} // Caution: Levenshtein[i][n] can be less than (m-i), this changes nothing the logic is the same.
if ( LevenshteinT1[i][n] - (BB-i) >= 0 && AtMostLevenshteinDistance < LevenshteinT1[i][n] - (BB-i) ) {SkipHeuristic=1; iPUSH = i; i=BB+1;} // Caution: Levenshtein[i][n] can be less than (m-i), this changes nothing the logic is the same.
}
i = iPUSH;
if (SkipHeuristic==0 && AtMostLevenshteinDistance >= LevenshteinT1[BB][n]) {
// Below pragma is needed explicitly only for MinGW, grrr...
#ifdef Commence_OpenMP
#pragma omp critical
#endif
{
fprintf( fp_outLINE, "%s\r\n", wrd); DumpedLines1++;
}
// Once dumping the line we need double 'break' from BB and l 'for's:
// goto EXHAUSTIVE1;
l= m-(n-AtMostLevenshteinDistance)+1;
BB= n+AtMostLevenshteinDistance +1;
//if ((DumpedLines & 0xff) == 0xff)
// //printf( "Dumped lines i.e. hits so far: %s\r", _ui64toaKAZEcomma(DumpedLines, llTOaDigits, 10) );
// fflush(fp_outLINE); // Not sure: CTRL+C doesn't flush?!
}
// The bail out 'i' value (heuristic #2) affects our cached value here, 'i' is the needed one:
//memcpy(wrdCACHEDT1, wrdLOW, m+1); // +1 because we need the ASCII 000 termination;
memcpy(wrdCACHEDT1, &wrdLOW[l], BB); wrdCACHEDT1[BB]=0;
// LD ]
}
} // if (l < m-BB+1)
}
}
EXHAUSTIVE1:;
// Fast! ]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Just saw that there is one LIVE distribution called EXTIX (based on Debian Jessie/Ubuntu 14.10), can someone recommend similar LIVE (with latest GCC within) to me.
I want to have the 32bit ELF of Kazahana from the first post.
If someone has 4.8.x or higher, please attach the ELF.
Last edited by Sanmayce; 01-02-2015 at 06:26 PM.
Reason: Added an additional explanation.
Funny, 6 years later, Kazahana remains the same - no code changes. Except, in a week I intend to add 20 more lines adding UTF-8 pattern support, without touching the search functions - only passing the pattern via file.
Not happy with those 326 minutes, now we have 16 cores CPUs, more available, it prompts for more benchmarking.
Now preparing the very same benchmark except the English Wikipedia XML dump is ~73GB, 23GB more.
Hopefully in next days will run it both on Windows 10 (using GCC v7.3.0 64bit and Intel v19.0 64bit compiles) and on Linux (I hope GCC v7.3.0 64bit elf).
The available testmachine is i7-3630QM 3.4GHz (4cores/8threads), perhaps tomorrow will share the results on Windows.
The thing that got me restarted was a recent similar benchmark - finding misspelled "Linus Torvalds" occurrences into the latest kernel:
Thanks to the powerful Kazahana exhaustive fuzzy mode, 5 buggy "Linus Torvalds" occurrences were spotted, EZ, actually this is the mode that stresses the cores, for a long time - much better for benchmarking it is.
Note:
The '1e' parameter means Levenshtein distance is set to 1 (1 character is allowed to be inserted/deleted/replaced), the 'e' demands exhaustive search i.e. at each position.
The '0e' parameter is similar to exact sensitive mode, if you want more in-depth error searching, use 2..14, but then the search may take many minutes.
The erroneous lines:
1] Al termine di questo periodo, Linus Torvald dichiarerà che la finestra è
2] - Collezione di email di Linux Torvalds sui problemi relativi a ``ioctl()``:
3] I kernel 4.x sono amministrati da Linus Torvald, e possono essere trovati
4] Linux Torvalds. Il suo indirizzo e-mail è <torvalds@linux-foundation.org>.
5] * Copyright (C) 1991, 1992 Linux Torvalds
Found by comparing the '0e' and '1e' resultant Kazahana.txt file:
Code:
E:\_GW>Kazahana.exe" 0e "Linus Torvalds" "linux-5.8.5.tar" 458752
E:\_GW>ren Kazahana.txt Kazahana.0e.txt
E:\_GW>Kazahana.exe" 1e "Linus Torvalds" "linux-5.8.5.tar" 458752
E:\_GW>ren Kazahana.txt Kazahana.1e.txt
E:\_GW>fc Kazahana.0e.txt Kazahana.1e.txt
***** Kazahana.0e.txt
s'intende quello mantenuto da Linus Torvalds e usato come base dai
Linus Torvalds. In questa fase potrebbero emergere nuovi problemi e/o
***** KAZAHANA.1E.TXT
s'intende quello mantenuto da Linus Torvalds e usato come base dai
Al termine di questo periodo, Linus Torvald dichiarerà che la finestra è
Linus Torvalds. In questa fase potrebbero emergere nuovi problemi e/o
*****
***** Kazahana.0e.txt
Linus Torvalds, e lasciare che sia lui ad integrarle,solitamente non è la
- Raccomandazioni da Linus Torvalds che le chiamate di sistema x32 dovrebbero
- Linus Torvalds
***** KAZAHANA.1E.TXT
Linus Torvalds, e lasciare che sia lui ad integrarle,solitamente non è la
- Collezione di email di Linux Torvalds sui problemi relativi a ``ioctl()``:
- Raccomandazioni da Linus Torvalds che le chiamate di sistema x32 dovrebbero
I kernel 4.x sono amministrati da Linus Torvald, e possono essere trovati
- Linus Torvalds
*****
***** Kazahana.0e.txt
digitale della chiave di Linus Torvalds che si vede nell'output qui sopra.
E-mail di Linus Torvalds sul formato canonico di una patch:
***** KAZAHANA.1E.TXT
digitale della chiave di Linus Torvalds che si vede nell'output qui sopra.
Linux Torvalds. Il suo indirizzo e-mail è <torvalds@linux-foundation.org>.
E-mail di Linus Torvalds sul formato canonico di una patch:
*****
***** Kazahana.0e.txt
* Copyright (C) 2000 Linus Torvalds.
* Copyright (C) 1991, 1992 Linus Torvalds
***** KAZAHANA.1E.TXT
* Copyright (C) 2000 Linus Torvalds.
* Copyright (C) 1991, 1992 Linux Torvalds
* Copyright (C) 1991, 1992 Linus Torvalds
*****
Showdown-wise, can you point out tools able to find such misspellings, in my limited knowledge only tre-agrep can do fuzzy, however I doubt it has the ability to check at each position as Kazahana's e.g. 1e mode does!
It would be interesting to compare performance of such tools...
Hm, GCC v7.3.0 is quite effective, 50 minutes faster than the Intel counterpart - ICC v19.0, big margin it is, indeed
Compared to @suicidaleggroll old GCC compile (maybe -O3 was not applied), MinGW GCC v7.3.0 dwarfs the old CentOS GCC v4.4.7
MinGW GCC v7.3.0: in 316 minutes for 79,369,184,670 bytes with 8 virtual threads, i7-3630QM
CentOS GCC v4.4.7: in 326 minutes for 50,144,448,379 bytes with 24 hardware threads, 2x E5-2697v2
Code:
// Test on laptop with i7-3630QM 3.4GHz, 4/8 cores/threads, Windows 10 64bit:
// enwiki-20200901-pages-articles.xml Length: 79,369,184,670
// enwiki-20200901-pages-articles.xml Encountered lines: 1,195,671,983
// enwiki-20200901-pages-articles.xml Encountered words: 10,514,722,470
// enwiki-20200901-pages-articles.xml Longest line: 1,756,520
// enwiki-20200901-pages-articles.xml Longest word: 104,895
/*
E:\Kazahana_UTF8\CPU_Benchmark_Fuzzy-Search-Wikipedia>type Kazahana_compile_GCC_64bit.bat
gcc -O3 -m64 -msse4.1 -funroll-loops -static -o Kazahana_Hexadecad_GCC_730_SSE41_64bit Kazahana_r1-++fix+nowait_critical_nixFIX_WolfRAM+fixITER+EX+CS_fix_DEFINE_Trolldom.c -fopenmp -DCommence_OpenMP -D_FILE_OFFSET_BITS=64 -D_gcc_mumbo_jumbo_ -D_N_HIGH_PRIORITY
gcc -O3 -m64 -msse4.1 -funroll-loops -static -o Kazahana_Monad_GCC_730_SSE41_64bit Kazahana_r1-++fix+nowait_critical_nixFIX_WolfRAM+fixITER+EX+CS_fix_DEFINE_Trolldom.c -fopenmp -D_FILE_OFFSET_BITS=64 -D_gcc_mumbo_jumbo_ -D_N_HIGH_PRIORITY
E:\Kazahana_UTF8\CPU_Benchmark_Fuzzy-Search-Wikipedia>type Kazahana_compile_ICC_64bit.bat
icl /O3 /arch:SSE4.1 /MT Kazahana_r1-++fix+nowait_critical_nixFIX_WolfRAM+fixITER+EX+CS_fix_DEFINE_Trolldom.c /FAcs /FeKazahana_r1-++fix+nowait_critical_nixFIX_WolfRAM+fixITER+EX+CS_fix_DEFINE_Trolldom_HEXADECAD-Threads_IntelV19_SSE41_64bit /Qopenmp /Qopenmp-link:static -DCommence_OpenMP -D_icl_mumbo_jumbo_ -D_N_HIGH_PRIORITY
icl /O3 /arch:SSE4.1 /MT Kazahana_r1-++fix+nowait_critical_nixFIX_WolfRAM+fixITER+EX+CS_fix_DEFINE_Trolldom.c /FeKazahana_r1-++fix+nowait_critical_nixFIX_WolfRAM+fixITER+EX+CS_fix_DEFINE_Trolldom_MONAD-Thread_IntelV19_SSE41_64bit -D_icl_mumbo_jumbo_ -D_N_HIGH_PRIORITY
Directory of E:\Kazahana_UTF8\CPU_Benchmark_Fuzzy-Search-Wikipedia
09/07/2020 11:04 367 BENCHMARK.bat
09/07/2020 11:18 79,369,184,670 enwiki-20200901-pages-articles.xml
09/04/2020 06:24 502 Kazahana_compile_GCC_64bit.bat
09/04/2020 06:24 599 Kazahana_compile_ICC_64bit.bat
09/04/2020 06:24 431,699 Kazahana_Hexadecad_GCC_v730_SSE41_64bit.exe
09/04/2020 06:24 94,300 pthreadGC2.dll
09/04/2020 06:24 307,200 Kazahana_Hexadecad_ICC_v190_SSE41_64bit.exe
09/04/2020 06:24 1,694,424 libiomp5md.dll
09/04/2020 06:24 2,220,512 Kazahana_r1-++fix+nowait_critical_nixFIX_WolfRAM+fixITER+EX+CS_fix_DEFINE_Trolldom.c
09/04/2020 06:24 1,633 MokujIN JADE 217 prompt.lnk
06/23/2020 06:33 6,144 timer64.exe
G:\CPU_Benchmark_Fuzzy-Search>timer64.exe "Kazahana_Hexadecad_GCC_v730_SSE41_64bit.exe" 4e "Silvestor Staloune" enwiki-20200901-pages-articles.xml 458752
Kazahana, a typhoon-class exact & wildcards & Levenshtein Distance (Wagner-Fischer) searcher, r. 1-++fix+nowait_critical_nixFIX_Wolfram+fixITER+EX+CS_fix_DEFINE_Trolldom, copyleft Kaze 2019-May-21.
Current priority class is REALTIME_PRIORITY_CLASS.
Pattern: Silvestor Staloune
omp_get_num_procs( ) = 8
omp_get_max_threads( ) = 8
Enforcing HEXADECAD i.e. hexadecuple-threads ...
Allocating Master-Buffer 458752KB ... OK
|; Speed: 00,000,004,327 bytes/clock; Traversed: 79,369,184,670 bytes
Kazahana: Total/Checked/Dumped xgrams: 1,195,671,983/549,274,664,851/3,087
Kazahana: Performance: 4 KB/clock
Kazahana: Performance: 62 xgrams/clock
Kazahana: Performance: Total/fread() clocks: 18,979,475/1,883,088
Kazahana: Performance: I/O time, i.e. fread() time, is 9 percents
Kazahana: Done.
Kernel Time = 144.187 = 0%
User Time =129438.031 = 681%
Process Time =129582.218 = 682% Virtual Memory = 452 MB
Global Time = 18980.302 = 100% Physical Memory = 454 MB
G:\CPU_Benchmark_Fuzzy-Search>timer64.exe "Kazahana_Hexadecad_ICC_v190_SSE41_64bit.exe" 4e "Silvestor Staloune" enwiki-20200901-pages-articles.xml 458752
Kazahana, a typhoon-class exact & wildcards & Levenshtein Distance (Wagner-Fischer) searcher, r. 1-++fix+nowait_critical_nixFIX_Wolfram+fixITER+EX+CS_fix_DEFINE_Trolldom, copyleft Kaze 2019-May-21.
Current priority class is REALTIME_PRIORITY_CLASS.
Pattern: Silvestor Staloune
omp_get_num_procs( ) = 8
omp_get_max_threads( ) = 8
Enforcing HEXADECAD i.e. hexadecuple-threads ...
Allocating Master-Buffer 458752KB ... OK
|; Speed: 00,000,003,704 bytes/clock; Traversed: 79,369,184,670 bytes
Kazahana: Total/Checked/Dumped xgrams: 1,195,671,983/549,274,664,851/3,087
Kazahana: Performance: 3 KB/clock
Kazahana: Performance: 53 xgrams/clock
Kazahana: Performance: Total/fread() clocks: 22,151,586/1,881,504
Kazahana: Performance: I/O time, i.e. fread() time, is 8 percents
Kazahana: Performance: RDTSC I/O time, i.e. fread() time, is 4,505,386,006,385 ticks
Kazahana: Done.
Kernel Time = 186.968 = 0%
User Time =150825.656 = 680%
Process Time =151012.625 = 681% Virtual Memory = 455 MB
Global Time = 22151.988 = 100% Physical Memory = 455 MB
G:\CPU_Benchmark_Fuzzy-Search>
*/
So, the fault-finding resulted in 6 distinct misspellings:
Looking up the resultant file ‘Kazahana.txt’ for erroneous instances of "Sylvester Stalone":
1] He is also a standard choice for Japanese dubbing of the voices of the English-speaking actors such as [[Arnold Schwarzenegger]], [[Sylvester Stalone]], [[Steven Seagal]], [[Samuel L. Jackson]], [[John Goodman]], [[Dan Aykroyd]], [[Laurence Fishburne]] and many more.
2] <title>Sylvester Stalone</title>
3] And just incase you were wondering where Zachary gets his good looks from, well you will never know. His mystery is only exceeded by his power. Which he has alot of because he shares genes with Sylvester Stalone.
4] :::I must have missed that. Still, it is in general very hard to catch the tracks from a camera dolley (or a camera itself for that matter) in a movie scene that has been edited and professionally produced. Perhaps the tracks that are "buried" are simply the end of the streetcar lines (After all, running over [[Sylvester Stalone]] is generally bad. - [[User:AMP'd|AMP&#39;d]] 03:19, 31 January 2007 (UTC)
5] : I don't think Sylvester Stalone had the money to do bluescreen photography at that time. He was a poor young man. Moreover, Rocky played catch on the street with a local guy in that scene (Rocky was jogging, a guy threw an apple to Rocky, Rocky got the apple ...). It was unneeded and next to impossible for Sylvester Stalone to film that part with bluescreen.
6] and it is the Embassy of Paraguy, as I purchased the right for it to be the Embassy of Panama ( I purchased this as an Embassy of my foster father Richard Dreyfuss as a suprise, and foster mother Marcia Clark the property has a code which is the MArriage Certificate between I and Ann Convertino of Gateways Hospital and Mental Health Center Los Angeles( The Vatican have the means to interpet the code, and Sylvester Stalone who didnot want us to be married has the interpreter, as well as Sharon Stone), and the persons who hit me with a board in my yard when I lived at 40635 159 th street East are paraguy, that essentially betrayed me as Deutshe Bank trust Company America employees,
7] :Collect, ''why'' is it likely to be a contentious claim when the sources we're using list '''all''' or '''most''' of the porn films the named actor has appeared in and not just "'''a''' porn film"? It's not like we are trying to include [[Sylvester Stalone]] or [[Kristine DeBell]] from [[Meatballs (film)]] in a list of porn actors because they were in a single film. These are people who have clearly chosen to be in the Industry. --[[User:Scalhotrod|Scalhotrod - Just your average banjo playing, drag racing, cowboy...]] ([[User talk:Scalhotrod|talk]]) 23:54, 29 December 2013 (UTC)
8] Raspberry Blood and Oscar247 both edited Sylvester Stalone, though years apart.
Looking up the resultant file ‘Kazahana.txt’ for erroneous instances of "Sylvestor Stallone":
1] :From what American movies have taught me, it will not be fixed until Sylvestor Stallone goes down there and sprays it with several thousand bullets from his over-sized machine gun. [[Special:Contributions/92.24.181.157|92.24.181.157]] ([[User talk:92.24.181.157|talk]]) 11:33, 9 July 2010 (UTC)
2] :Typically South Philly Residents are portrayed By New York actors, like Sylvestor Stallone, who played Rocky, from Philly. There are also highly distinct class differences in the eastern cities.
3] '''WWE Hall of Fame (2005)''' was the event which featured introduction of the 6th class to the [[WWE Hall of Fame]]. The event was produced by [[WWE|World Wrestling Entertainment]] (WWE) on April 2, 2005 from the [[Universal Amphitheatre]] in [[Los Angeles|Los Angeles, California]]. The event took place the same weekend as [[WrestleMania 21]]. The event was hosted by [[Gene Okerlund]]. A condensed version of the ceremony aired that evening on [[Paramount Network|Spike TV]].<ref>{{cite web|url=http://corporate.wwe.com/news/company-news/2005/03-21-2005|title=Sylvestor Stallone to Induct Hulk Hogan into WWE Hall of Fame on Eve of Wrestle ...|work=corporate.wwe.com|accessdate=11 April 2018}}</ref> In March 2015 the ceremony was added to the [[WWE Network]].<ref>{{cite web|url=http://www.wrestlingdvdnetwork.com/wwe-network-lowdown-wrestlemania-plans/82775/|title=WWE Network Lowdown: WrestleMania Plans, Free Gifts, ‘Every’ Hall of Fame?|publisher=|accessdate=11 April 2018}}</ref>
Looking up the resultant file ‘Kazahana.txt’ for erroneous instances of "Slvester Stallone":
1] |quotee= Rocky(Slvester Stallone)
Looking up the resultant file ‘Kazahana.txt’ for erroneous instances of "Silvester Stallone":
1] <title>Silvester Stallone</title>
2] <li>19:01, 15 Oct 2003 [[User:Jimfbleak|Jimfbleak]] deleted "Silvester Stallone" <em>(content was: 'hey')</em></li>
3] In 1986 Kidd and his then girl-friend Alison Fisher came to New York and lived for two weeks in the [[Meatpacking District, Manhattan]], before they headed towards Tucson, Arizona, via Auto Driveway, where they bought a van in which they traveled around the USA for a year.<ref>{{cite web |last1=Leonardo |first1=Kathy |title=Interview: Jeremy Kidd |url=https://eattravelgo.com/stories/artist-interview-jeremy-kidd/ |website=Eat.Travel.Go |accessdate=February 15, 2019}}</ref> Kidd worked in migrant jobs, digging ditches and boxing mesquite trees in the Tucson desert for little money and under sometimes hottest weather conditions, alongside people with no social security cards. In 1987 he and Fisher arrived on the Westcoast. They first lived in Seattle, Washington, and then Portland, Oregon, and San Francisco, where they sold hand-painted art T-Shirts at craft fairs and galleries under the company name Fidget, [[Robin Williams]] being an early patron. Later they moved to the famed [[Topanga Canyon]] Ranch Hotel in Los Angeles where they sold their designer T-Shirts to upscale stores on [[Rodeo Drive]] in Beverly Hills to the movie stars of the time, such as by [[Silvester Stallone]], [[Steve Martin]], [[Chevy Chase]], etc. Kidd is also a surfer and surfed both in Topanga State Beach and Malibu Third Point. In 1991 he married Chevy Chase’s half-sister, Catherine Cederquist, and a year later they were divorced. Kidd remarried on September 3, 2014, in Santa Barbara. His wife is Wijitra Pimros Kidd. The two met in Thailand.<ref>{{cite web |last1=Kidd |first1=Jeremy |title=Steckbrief: Jeremy Kidd |url=http://simonekussatz-arete.blogspot.com/2019/10/steckbrief-jeremy-kidd.html |website=ARETE |publisher=Simone Susanne Kussatz |accessdate=October 16, 2019}}</ref>
Looking up the resultant file ‘Kazahana.txt’ for erroneous instances of "Salvestor Stallone":
1] <title>Salvestor Stallone</title>
Looking up the resultant file ‘Kazahana.txt’ for erroneous instances of "Silvester Stalone":
1] Released in 1980, this [[Dual Sport|dual-sport]] [[motorcycle]] has been a staple of back roads and farms. One was ridden by [[John Rambo|Rambo]] in the 1982 movie "[[First Blood]]".<ref>{{cite web|title=Silvester Stalone On Motorcycle - 1982 Rambo I|url=http://free-riders-cafe.blogspot.com/2011/01/silvester-stalone-on-motorcycle-1982.html|publisher=free-riders-cafe.blogspot.com}}</ref>
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.