lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Sun, 13 Jun 2021 16:04:04 +0530
From:   Bhaskar Chowdhury <unixbhaskar@...il.com>
To:     Amit Choudhary <amitchoudhary0523@...il.com>
Cc:     LinuxKernel <linux-kernel@...r.kernel.org>
Subject: Re: [Code] Fastest String Search Algorithm.

On 15:47 Sun 13 Jun 2021, Amit Choudhary wrote:

Woohooo , kiddo.... you told me where exactly you came from.

  You are now ignored....blocked ...feel really sorry for you.



>   Bhaskar,
>   Fuck you.
>   You are not the owner of linux kernel.
>   You are a very big idiot.
>   You really don't know who you are talking to.
>   You are just assuming that I am a stupid guy without knowing anything
>   about me.
>   My linux kernel patches are in linux kernel since 2005-2006.
>   What are your educational and professional qualifications?
>   I don't think you are from IIT like me, probably you are from a third
>   grade donation based college.
>   I have invented a new search engine architecture and implemented it and
>   it is hosted on sourceforge.
>   Have you ever invented anything?
>   World is full of idiots like you from India who think that they are
>   supreme and everyone else is a fool.
>   Amit
>   On Sun, Jun 13, 2021, 3:35 PM Bhaskar Chowdhury
>   <[1]unixbhaskar@...il.com> wrote:
>
>     On 14:00 Sun 13 Jun 2021, Amit Choudhary wrote:
>     Ahhhhhhhh...
>     Oh crap! Get off the lawn , kiddo. Do NOT USE THIS PLACE for your
>     obnoxious
>     desire.
>     We don't have time and energy to evaluate some airy-fairy stuff .
>     How do you know we will ever bother to think about "include your
>     code"?? Let
>     alone other factor...huh...you are living in fool's paradise
>     ...meh... look
>     like your head is filled with lots of preconceived dogma....where
>     have you got
>     those?? Heck..
>     Your intention is not wise...this mailing list solely exist for
>     people
>     interested in Linux and only in Linux Kernel. Period.
>     IOW , PLEASE DO NOT BOTHER US.
>     ~Bhaskar
>     >Hi All,
>     >
>     >I have invented a new string search algorithm. It has performed
>     better
>     >than strstr(), Boyer-Moore, and KPM algorithms.
>     >
>     >But I am not sending my code so that my algorithm gets included in
>     linux kernel.
>     >
>     >I am sending this code because linux kernel mailing list is in
>     public
>     >domain and getting indexed by search engines. So, people can see
>     this
>     >algo if they search for fastest string search algorithm on web.
>     >
>     >Code:
>     >
>     >===================================================================
>     ================
>     >
>     >// Choudhary string search algorithm
>     >static char * choudhary_string_search_algorithm(char *text, char
>     *pattern)
>     >{
>     >
>     >#define false 0
>     >#define true 1
>     >#define ALPHABET_SIZE 256
>     >
>     >Â  Â  int i = 0;
>     >Â  Â  int end_index = 0;
>     >Â  Â  int not_found = false;
>     >
>     >Â  Â  char pattern_char[ALPHABET_SIZE] = {0};
>     >
>     >Â  Â  int text_len = strlen(text);
>     >Â  Â  int pattern_len = strlen(pattern);
>     >
>     >Â  Â  int pi_44 = pattern_len - 1;
>     >Â  Â  int pi_34 = (3 * pattern_len) / 4;
>     >Â  Â  int pi_24 = pattern_len / 2;
>     >Â  Â  int pi_14 = pattern_len / 4;
>     >
>     >Â  Â  int last_failed_index = -1;
>     >
>     >Â  Â  // preprocessing
>     >Â  Â  for (i = 0; i < pattern_len; i++) {
>     >Â  Â  Â  Â  pattern_char[(int)(pattern[i])] = 1;
>     >Â  Â  }
>     >
>     >Â  Â  // now search
>     >Â  Â  for (i = 0; i < text_len; i++) {
>     >
>     >Â  Â  Â  Â  if ((text_len - i) < pattern_len) {
>     >Â  Â  Â  Â  Â  Â  return NULL;
>     >Â  Â  Â  Â  Â  Â  //return -1;
>     >Â  Â  Â  Â  }
>     >
>     >Â  Â  Â  Â  if (pattern[pi_44] != text[i + pi_44]) {
>     >
>     >Â  Â  Â  Â  Â  Â  last_failed_index = pi_44;
>     >
>     >Â  Â  Â  Â  Â  Â  // this character doesn't appear in pattern, so
>     skip
>     >Â  Â  Â  Â  Â  Â  if (pattern_char[(int)(text[i + pi_44])] == 0) {
>     >Â  Â  Â  Â  Â  Â  Â  Â  i = i + pi_44;
>     >Â  Â  Â  Â  Â  Â  }
>     >
>     >Â  Â  Â  Â  Â  Â  continue;
>     >
>     >Â  Â  Â  Â  } else if (pattern[pi_34] != text[i + pi_34]) {
>     >
>     >Â  Â  Â  Â  Â  Â  last_failed_index = pi_34;
>     >
>     >Â  Â  Â  Â  Â  Â  // this character doesn't appear in pattern, so
>     skip
>     >Â  Â  Â  Â  Â  Â  if (pattern_char[(int)(text[i + pi_34])] == 0) {
>     >Â  Â  Â  Â  Â  Â  Â  Â  i = i + pi_34;
>     >Â  Â  Â  Â  Â  Â  }
>     >
>     >Â  Â  Â  Â  Â  Â  continue;
>     >
>     >Â  Â  Â  Â  } else if (pattern[pi_24] != text[i + pi_24]) {
>     >
>     >Â  Â  Â  Â  Â  Â  last_failed_index = pi_24;
>     >
>     >Â  Â  Â  Â  Â  Â  // this character doesn't appear in pattern, so
>     skip
>     >Â  Â  Â  Â  Â  Â  if (pattern_char[(int)(text[i + pi_24])] == 0) {
>     >Â  Â  Â  Â  Â  Â  Â  Â  i = i + pi_24;
>     >Â  Â  Â  Â  Â  Â  }
>     >
>     >Â  Â  Â  Â  Â  Â  continue;
>     >
>     >Â  Â  Â  Â  } else if (pattern[pi_14] != text[i + pi_14]) {
>     >
>     >Â  Â  Â  Â  Â  Â  last_failed_index = pi_14;
>     >
>     >Â  Â  Â  Â  Â  Â  // this character doesn't appear in pattern, so
>     skip
>     >Â  Â  Â  Â  Â  Â  if (pattern_char[(int)(text[i + pi_14])] == 0) {
>     >Â  Â  Â  Â  Â  Â  Â  Â  i = i + pi_14;
>     >Â  Â  Â  Â  Â  Â  }
>     >
>     >Â  Â  Â  Â  Â  Â  continue;
>     >
>     >Â  Â  Â  Â  } // end of if-else.. block
>     >
>     >Â  Â  Â  Â  // compare with character at last failed index.
>     >Â  Â  Â  Â  if (last_failed_index >= 0) {
>     >
>     >Â  Â  Â  Â  Â  Â  if (pattern[last_failed_index] != text[i +
>     last_failed_index]) {
>     >Â  Â  Â  Â  Â  Â  Â  Â  continue;
>     >Â  Â  Â  Â  Â  Â  }
>     >
>     >Â  Â  Â  Â  }
>     >
>     >Â  Â  Â  Â  if (pattern[0] == text[i]) {
>     >
>     >Â  Â  Â  Â  Â  Â  //full_pattern_search = full_pattern_search + 1;
>     >Â  Â  Â  Â  Â  Â  end_index = i + pi_44;
>     >Â  Â  Â  Â  Â  Â  not_found = false;
>     >Â  Â  Â  Â  Â  Â  int index = 0;
>     >
>     >Â  Â  Â  Â  Â  Â  for (index = i; index <= end_index; index++) {
>     >Â  Â  Â  Â  Â  Â  Â  Â  if (text[index] != pattern[index - i]) {
>     >Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  last_failed_index = index - i;
>     >Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  not_found = true;
>     >Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  break;
>     >Â  Â  Â  Â  Â  Â  Â  Â  }
>     >Â  Â  Â  Â  Â  Â  } // end of inner for loop
>     >
>     >Â  Â  Â  Â  Â  Â  if (not_found == false) { // match is found
>     >Â  Â  Â  Â  Â  Â  Â  Â  return (text + i);
>     >Â  Â  Â  Â  Â  Â  Â  Â  //return i;
>     >Â  Â  Â  Â  Â  Â  } else if (pattern_char[(int)(text[index])] == 0)
>     {
>     >Â  Â  Â  Â  Â  Â  Â  Â  i = index;
>     >Â  Â  Â  Â  Â  Â  }
>     >Â  Â  Â  Â  } // end of if pattern[0]
>     >
>     >Â  Â  } // end of outer for loop
>     >
>     >Â  Â  return NULL;
>     >Â  Â  //return -1;
>     >
>     >} // end of choudhary_string_search_algorithm
>     >
>     >===================================================================
>     ================
>     >
>     >Regards,
>     >Amit
>
>References
>
>   1. mailto:unixbhaskar@...il.com

Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ