diff --git a/indexer.py b/indexer.py index c3cb9ce..b1ed4c6 100644 --- a/indexer.py +++ b/indexer.py @@ -17,6 +17,7 @@ from bs4 import BeautifulSoup from time import perf_counter import time import threading +from threading import Lock #Data process @@ -34,43 +35,134 @@ from worker import Worker class Indexer(): - def __init__(self,restart): + def __init__(self,restart,list_partials,weight,data_paths,worker_factory=Worker): #Config stuffs - self.path = "data/DEV/" + self.path = "test/" self.restart = restart - - def get_data(self): - num_threads = 1 - threads = list() + self.list_partials = list_partials + self.weight = weight + self.data_paths = data_paths + self.data_paths_lock = Lock() + self.list_partials_lock = Lock() + self.workers = list() + self.worker_factory = worker_factory + def start_async(self): + self.workers = [ + self.worker_factory(worker_id,self) + for worker_id in range(8)] + for worker in self.workers: + worker.start() + + def start(self): + self.start_async() + self.join() + + def join(self): + for worker in self.workers: + worker.join() + + def get_data_path(self): for directory in os.listdir(self.path): for file in os.listdir(self.path + "/" + directory + "/"): - while True: - file_path = self.path + "" + directory + "/"+file - if len(threads) < num_threads: - thread = Worker(self,file_path) - threads.append(thread) - thread.start() - break - else: - if not threads[index].is_alive(): - threads[index] = Worker(self,file_path) - threads[index].start() - break - else: - index = index + 1 - if(index >= num_threads): - index = 0 - time.sleep(.1) + self.data_paths.append("data/DEV/" + directory + "/"+file) + + def get_next_file(self): + self.data_paths_lock.acquire() + try: + holder = self.data_paths.pop() + self.data_paths_lock.release() + return holder + except IndexError: + self.data_paths_lock.release() + return None + def add_partial_index(self,partial_index): + self.list_partials_lock.acquire() + self.list_partials.append(partial_index) + self.list_partials_lock.release() + #Found 55770 documents # + #getting important tokens + + def merge(self): + partial_files = list() + partial_index_files = list() + parital_index_indices = list() + merged_index = open("merged_index.full",'w') + num_indices = len(self.list_partials) + + #Full Index.Index and Length + full_index = Index() + full_index.index = list() + full_index.length = 0 + + for partial_index in self.list_partials: + file = open(partial_index+'.partial','r') + partial_files.append(file) + index = open(partial_index+'.index','r') + partial_index_files.append(index) + + for partial_index_file in partial_index_files: + partial_index_file.seek(0,0) + parital_index_indices.append(json.loads(partial_index_file.readline())) + + #Start all indexes at 0 + for partial_file in partial_files: + partial_file.seek(0,0) + + pointers = [0]*num_indices + + while(True): + + #Get all values from all indices to find min + value = None + values = list() + for i in range(num_indices): + if pointers[i] < parital_index_indices[i]['length']: + values.append(parital_index_indices[i]['index'][pointers[i]][0]) + + if(len(values) == 0): + break + value = min(values) + + #Get data from the min value of all indices if exists then save to mergedIndex + if value == None: + print("I have crashed some how by not getting min value") + break + + node = Node() + node.index_value = value + for i in range(num_indices): + if pointers[i] < parital_index_indices[i]['length'] and parital_index_indices[i]['index'][pointers[i]][0] == value: + to_seek = parital_index_indices[i]['index'][pointers[i]][1] + partial_files[i].seek(to_seek,0) + json_value = partial_files[i].readline() + temp_node = json.loads(json_value) + node.postings = node.postings + temp_node['postings'] + pointers[i] = pointers[i] + 1 + + node.postings.sort(key=lambda y:y['doc_id']) + full_index.index.append((value,merged_index.tell())) + full_index.length = full_index.length + 1 + jsonStr = json.dumps(node,default=lambda o: o.__dict__,sort_keys=False) + merged_index.write(jsonStr + '\n') + + full_index.index.sort(key=lambda y:y[0]) + jsonStr =json.dumps(full_index, default=lambda o: o.__dict__,sort_keys=False) + with open("merged_index.index" ,'w') as f: + f.write(jsonStr) + - #getting important tokens def main(): - indexer = Indexer(True,0) - indexer.get_data() + indexer = Indexer(True,list(),list(),list()) + indexer.get_data_path() + indexer.start() + indexer.merge() + + if __name__ == "__main__": main() \ No newline at end of file diff --git a/merged_index.full b/merged_index.full new file mode 100644 index 0000000..e69de29 diff --git a/posting.py b/posting.py index 4edf6c6..898a5c2 100644 --- a/posting.py +++ b/posting.py @@ -1,11 +1,16 @@ #Posting class for indexer, will probably be more complex as we keep adding crap to it class Posting(): - def __init__(self,doc_id,tf_raw,tf_idf,positionals): + def __init__(self,doc_id,url,tf_raw,tf_idf,positionals): self.doc_id = doc_id + self.url = url self.tf_raw = tf_raw self.tf_idf = tf_idf self.positionals = positionals + def __repr__(self): + return "Doc_id:" + str(self.doc_id) + " URL:" + self.url + " tf_raw:" + str(self.tf_raw) + " tf_idf:" + str(self.tf_idf) + " positionals:" + str(self.positionals) + def __str__(self): + return "Doc_id:" + str(self.doc_id) + " URL:" + self.url + " tf_raw:" + str(self.tf_raw) + " tf_idf:" + str(self.tf_idf) + " positionals:" + str(self.positionals) def comparator(self): #Some custom comparator for sorting postings later diff --git a/test.py b/test.py index f2d8011..361c23c 100644 --- a/test.py +++ b/test.py @@ -1,115 +1,59 @@ +from threading import Thread import json -from posting import Posting -import math +import os +import shelve import sys -import random -from nltk.corpus import words -random_list = [1,2,3,4,5,6,7,8,9,10] +from bs4 import BeautifulSoup +from time import perf_counter +from nltk.stem import PorterStemmer +import nltk +import time +from posting import Posting +import re -test_data = words.words() -random.shuffle(test_data) +self_index = dict() +stemmer = PorterStemmer() +target = 'data/DEV/aiclub_ics_uci_edu/8ef6d99d9f9264fc84514cdd2e680d35843785310331e1db4bbd06dd2b8eda9b.json' +file_load = open(target) +data = json.load(file_load) +doc_id = target[target.rfind('/')+1:-5] +url = data['url'] +soup = BeautifulSoup(data["content"],features="lxml") +# Gets a cleaner version text comparative to soup.get_text() +clean_text = ' '.join(soup.stripped_strings) +# Looks for large white space, tabbed space, and other forms of spacing and removes it +# Regex expression matches for space characters excluding a single space or words +clean_text = re.sub(r'\s[^ \w]', '', clean_text) +# Tokenizes text and joins it back into an entire string. Make sure it is an entire string is essential for get_tf_idf to work as intended +clean_text = " ".join([i for i in clean_text.split() if i != "" and re.fullmatch('[A-Za-z0-9]+', i)]) +# Stems tokenized text +clean_text = " ".join([stemmer.stem(i) for i in clean_text.split()]) -class Node(): - index_value = '' - postings = list() +tokens = nltk.word_tokenize(clean_text) -class Index(): - length = 0 - index = list() +#counter(count,positionals) -def random_posting(id): - return Posting(id,random.choice(random_list),random.choice(random_list),[random.choice(random_list),random.choice(random_list),random.choice(random_list),random.choice(random_list), - random.choice(random_list),random.choice(random_list),random.choice(random_list),random.choice(random_list)]) +counter = dict() +for i in range(len(tokens)): + word = tokens[i] + if word in counter: + counter[word][0] = counter[word][0] + 1 + counter[word][1].append(i) + else: + counter[word] = [1,list()] + counter[word][1].append(i) +print(counter) +doc_length = len(tokens) +for index in counter: + if index in self_index: + postings = self_index[index] + postings.append(Posting(doc_id,url,counter[index][0]/doc_length,0,counter[index][1])) + else: + self_index[index] = list() + self_index[index].append(Posting(doc_id,url,counter[index][0]/doc_length,0,counter[index][1])) -def random_partial_index(name): - part_index = Index() - part_index.index = list() - part_index.length = 0 - with open(name +'.partial', 'w') as f: - for i in range(1000): +for index in self_index: + print(index + str(self_index[index]) + '\n') - node1 = Node() - node1.index_value = random.choice(test_data).lower() - node1.postings = list() - for i in range(10): - node1.postings.append(random_posting(i)) - - jsonStr = json.dumps(node1, default=lambda o: o.__dict__,sort_keys=False) - - part_index.index.append((node1.index_value,f.tell())) - f.write(jsonStr + '\n') - part_index.length = part_index.length + 1 - - part_index.index.sort(key=lambda y:y[0]) - jsonStr =json.dumps(part_index, default=lambda o: o.__dict__,sort_keys=False) - with open(name + '.index','w') as f: - f.write(jsonStr) - -def merge(partial_indices): - partial_files = list() - partial_index_files = list() - parital_index_indices = list() - merged_index = open("merged_index.full",'w') - num_indices = len(partial_indices) - - #Full Index.Index and Length - full_index = Index() - full_index.index = list() - full_index.length = 0 - - for partial_index in partial_indices: - file = open(partial_index+'.partial','r') - partial_files.append(file) - index = open(partial_index+'.index','r') - partial_index_files.append(index) - - for partial_index_file in partial_index_files: - partial_index_file.seek(0,0) - parital_index_indices.append(json.loads(partial_index_file.readline())) - - #Start all indexes at 0 - for partial_file in partial_files: - partial_file.seek(0,0) - - pointers = [0]*num_indices - - while(True): - - #Get all values from all indices to find min - value = None - values = list() - for i in range(num_indices): - if pointers[i] < parital_index_indices[i]['length']: - values.append(parital_index_indices[i]['index'][pointers[i]][0]) - - if(len(values) == 0): - break - value = min(values) - - #Get data from the min value of all indices if exists then save to mergedIndex - if value == None: - print("I have crashed some how by not getting min value") - break - - node = Node() - node.index_value = value - for i in range(num_indices): - if pointers[i] < parital_index_indices[i]['length'] and parital_index_indices[i]['index'][pointers[i]][0] == value: - to_seek = parital_index_indices[i]['index'][pointers[i]][1] - partial_files[i].seek(to_seek,0) - json_value = partial_files[i].readline() - temp_node = json.loads(json_value) - node.postings = node.postings + temp_node['postings'] - pointers[i] = pointers[i] + 1 - - node.postings.sort(key=lambda y:y['doc_id']) - full_index.index.append((value,merged_index.tell())) - full_index.length = full_index.length + 1 - jsonStr = json.dumps(node,default=lambda o: o.__dict__,sort_keys=False) - merged_index.write(jsonStr + '\n') - - full_index.index.sort(key=lambda y:y[0]) - jsonStr =json.dumps(full_index, default=lambda o: o.__dict__,sort_keys=False) - with open("merged_index.index" ,'w') as f: - f.write(jsonStr) +print("The size of the dictionary is {} bytes".format(sys.getsizeof(self_index))) \ No newline at end of file diff --git a/test/aiclub_ics_uci_edu/8ef6d99d9f9264fc84514cdd2e680d35843785310331e1db4bbd06dd2b8eda9b.json b/test/aiclub_ics_uci_edu/8ef6d99d9f9264fc84514cdd2e680d35843785310331e1db4bbd06dd2b8eda9b.json new file mode 100644 index 0000000..b4224f9 --- /dev/null +++ b/test/aiclub_ics_uci_edu/8ef6d99d9f9264fc84514cdd2e680d35843785310331e1db4bbd06dd2b8eda9b.json @@ -0,0 +1 @@ +{"url": "https://aiclub.ics.uci.edu/", "content": "\r\n\r\n\r\n\r\n \r\n \r\n\t\t\r\n \r\n \r\n \r\n\t\t\r\n Artificial Intelligence @ UCI\r\n\t\t\r\n\t\t\r\n \r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n \r\n\t\t\r\n \r\n\t\t\r\n \r\n \r\n \r\n\t\t\r\n \r\n \r\n\t\t\r\n \r\n\r\n\t\t\t\r\n \r\n\t\r\n \r\n\t \r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n \r\n\r\n \r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\r\n\t\t
\r\n\t\t

Shaping the Future of AI

\r\n\t\t\r\n\t\t
\r\n\t\tFollow Us\r\n\t
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\"\"\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

We\u2019re AI@UCI.

\r\n\t\t\t\t\t

Artificial Intelligence at the University of California, Irvine (AI@UCI) is a \r\n\t\t\t\t\t\tnonprofit student-run organization that focuses on promoting and cultivating the \r\n\t\t\t\t\t\tdiscipline of artificial intelligence and machine learning and its applications \r\n\t\t\t\t\t\tamong the UCI community.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

Bi-weekly events

\r\n\t\t\t\t\t\t\t\t\t

We hold workshops, meetings for the curious ones to learn the latest technology, espcially AI.

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

Connection

\r\n\t\t\t\t\t\t\t\t\t

From professionals of the academia to almuni from the industry world, we got you guys connected through our unique seminars.

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Meeting Time

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

PSCB 120

\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

6pm - 7pm

\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Monday Only

\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\t\t\r\n\t\t\t
\t\r\n\t\t
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

Some of Our Past Workshops

\r\n\t\t\t\t

For those who couldn't attend our meeting due to space constraints, don't worry! We have you covered.
Catch up with our YouTube Video (Linked below)

\r\n\t\t\t\tPresentations\r\n\t\t\t
\r\n\t\t
\r\n\t
\t\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t

Our Events

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Generating Fake Dating Profiles with StyleGAN

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Spam Classification

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

ICS Day

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Style Transferring

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Natural Language Processing

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Hack the Hackathon

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Computer Vision and OpenCV Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning 3 Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning 2 Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning 1 Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning Q&A Session

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Data Analytics - Patterns of Pallet Town, Pt. 1

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\t
\r\n\t\t
\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Alexander Ihler

\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Professor Ihler is the advisor of AI@UCI.
Here are some areas that he has been working on.

\"I work in artificial intelligence and machine learning, focusing on statistical methods for learning from data and on approximate inference techniques for graphical models. Applications of my work include data mining and information fusion in sensor networks, computer vision and image processing, and computational biology.\"

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\t\t\r\n\t\t\t
\t\t\r\n\t\t
\t \r\n\t
\r\n
\r\n\r\n\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t

Our Team

\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Amy Elsayed

\r\n\t\t\t\t\t\tPresident\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t \r\n
\r\n
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Jason Kahn

\r\n\t\t\t\t\t\tVice President\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Pooja Kumar

\r\n\t\t\t\t\t\tSecretary\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n
\r\n
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Uddeshya Kumar

\r\n\t\t\t\t\t\tTreasurer\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n
\r\n
\r\n\t\t\t\r\n\t\t
\t\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Madhumitha Govindaraju

\r\n\t\t\t\t\t\tCorporate Chair\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Shivan Vipani

\r\n\t\t\t\t\t\tProject Chair\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Michael Wang

\r\n\t\t\t\t\t\tWeb Master\r\n\t\t\t\t\t\t

Citizen of the World and a Web Developer. I maintain and update the content of the website over the year.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Kash Iz

\r\n\t\t\t\t\t\tMarketing Chair\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Omkar Pathak

\r\n\t\t\t\t\t\tLead Mentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Mathew Guerrero

\r\n\t\t\t\t\t\tHistorian\r\n\t\t\t\t\t\t

My hero is Elliot Alderson and I like House of Leaves.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Alexander Zhang

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Andrew Laird

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Anthony Luu

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Brett Galkowski

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Eduardo Corona

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

Monish Ramadoss

\r\n\t\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Satyam Tandon

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\t\r\n
\r\n\t\t\r\n\r\n\r\n\t\t\r\n\r\n\r\n\t\t\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t

Get In Touch

\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t

Meeting Infomation

\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tPSCB 120\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tMonday ONLY\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t6 - 7pm\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tEmail: aiatuci@gmail.com\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tThank you. The Mailman is on His Way :)\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tSorry, don't know what happened. Try later :(\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n
\r\n\t\r\n\r\n\r\n\r\n \r\n\t \r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n \r\n", "encoding": "utf-8"} \ No newline at end of file diff --git a/test/aiclub_ics_uci_edu/906c24a2203dd5d6cce210c733c48b336ef58293212218808cf8fb88edcecc3b.json b/test/aiclub_ics_uci_edu/906c24a2203dd5d6cce210c733c48b336ef58293212218808cf8fb88edcecc3b.json new file mode 100644 index 0000000..f564fe3 --- /dev/null +++ b/test/aiclub_ics_uci_edu/906c24a2203dd5d6cce210c733c48b336ef58293212218808cf8fb88edcecc3b.json @@ -0,0 +1 @@ +{"url": "https://aiclub.ics.uci.edu/#body", "content": "\r\n\r\n\r\n\r\n \r\n \r\n\t\t\r\n \r\n \r\n \r\n\t\t\r\n Artificial Intelligence @ UCI\r\n\t\t\r\n\t\t\r\n \r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n \r\n\t\t\r\n \r\n\t\t\r\n \r\n \r\n \r\n\t\t\r\n \r\n \r\n\t\t\r\n \r\n\r\n\t\t\t\r\n \r\n\t\r\n \r\n\t \r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n \r\n\r\n \r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\r\n\t\t
\r\n\t\t

Shaping the Future of AI

\r\n\t\t\r\n\t\t
\r\n\t\tFollow Us\r\n\t
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\"\"\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

We\u2019re AI@UCI.

\r\n\t\t\t\t\t

Artificial Intelligence at the University of California, Irvine (AI@UCI) is a \r\n\t\t\t\t\t\tnonprofit student-run organization that focuses on promoting and cultivating the \r\n\t\t\t\t\t\tdiscipline of artificial intelligence and machine learning and its applications \r\n\t\t\t\t\t\tamong the UCI community.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

Bi-weekly events

\r\n\t\t\t\t\t\t\t\t\t

We hold workshops, meetings for the curious ones to learn the latest technology, espcially AI.

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

Connection

\r\n\t\t\t\t\t\t\t\t\t

From professionals of the academia to almuni from the industry world, we got you guys connected through our unique seminars.

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Meeting Time

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

PSCB 120

\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

6pm - 7pm

\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Monday Only

\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\t\t\r\n\t\t\t
\t\r\n\t\t
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

Some of Our Past Workshops

\r\n\t\t\t\t

For those who couldn't attend our meeting due to space constraints, don't worry! We have you covered.
Catch up with our YouTube Video (Linked below)

\r\n\t\t\t\tPresentations\r\n\t\t\t
\r\n\t\t
\r\n\t
\t\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t

Our Events

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Generating Fake Dating Profiles with StyleGAN

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Spam Classification

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

ICS Day

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Style Transferring

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Natural Language Processing

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Hack the Hackathon

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Computer Vision and OpenCV Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning 3 Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning 2 Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning 1 Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning Q&A Session

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Data Analytics - Patterns of Pallet Town, Pt. 1

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\t
\r\n\t\t
\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Alexander Ihler

\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Professor Ihler is the advisor of AI@UCI.
Here are some areas that he has been working on.

\"I work in artificial intelligence and machine learning, focusing on statistical methods for learning from data and on approximate inference techniques for graphical models. Applications of my work include data mining and information fusion in sensor networks, computer vision and image processing, and computational biology.\"

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\t\t\r\n\t\t\t
\t\t\r\n\t\t
\t \r\n\t
\r\n
\r\n\r\n\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t

Our Team

\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Amy Elsayed

\r\n\t\t\t\t\t\tPresident\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t \r\n
\r\n
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Jason Kahn

\r\n\t\t\t\t\t\tVice President\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Pooja Kumar

\r\n\t\t\t\t\t\tSecretary\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n
\r\n
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Uddeshya Kumar

\r\n\t\t\t\t\t\tTreasurer\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n
\r\n
\r\n\t\t\t\r\n\t\t
\t\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Madhumitha Govindaraju

\r\n\t\t\t\t\t\tCorporate Chair\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Shivan Vipani

\r\n\t\t\t\t\t\tProject Chair\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Michael Wang

\r\n\t\t\t\t\t\tWeb Master\r\n\t\t\t\t\t\t

Citizen of the World and a Web Developer. I maintain and update the content of the website over the year.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Kash Iz

\r\n\t\t\t\t\t\tMarketing Chair\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Omkar Pathak

\r\n\t\t\t\t\t\tLead Mentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Mathew Guerrero

\r\n\t\t\t\t\t\tHistorian\r\n\t\t\t\t\t\t

My hero is Elliot Alderson and I like House of Leaves.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Alexander Zhang

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Andrew Laird

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Anthony Luu

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Brett Galkowski

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Eduardo Corona

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

Monish Ramadoss

\r\n\t\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Satyam Tandon

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\t\r\n
\r\n\t\t\r\n\r\n\r\n\t\t\r\n\r\n\r\n\t\t\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t

Get In Touch

\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t

Meeting Infomation

\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tPSCB 120\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tMonday ONLY\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t6 - 7pm\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tEmail: aiatuci@gmail.com\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tThank you. The Mailman is on His Way :)\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tSorry, don't know what happened. Try later :(\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n
\r\n\t\r\n\r\n\r\n\r\n \r\n\t \r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n \r\n", "encoding": "utf-8"} \ No newline at end of file diff --git a/test/aiclub_ics_uci_edu/9a59f63e6facdc3e5fe5aa105c603b545d4145769a107b4dc388312a85cf76d5.json b/test/aiclub_ics_uci_edu/9a59f63e6facdc3e5fe5aa105c603b545d4145769a107b4dc388312a85cf76d5.json new file mode 100644 index 0000000..2c94846 --- /dev/null +++ b/test/aiclub_ics_uci_edu/9a59f63e6facdc3e5fe5aa105c603b545d4145769a107b4dc388312a85cf76d5.json @@ -0,0 +1 @@ +{"url": "https://aiclub.ics.uci.edu/index.html", "content": "\r\n\r\n\r\n\r\n \r\n \r\n\t\t\r\n \r\n \r\n \r\n\t\t\r\n Artificial Intelligence @ UCI\r\n\t\t\r\n\t\t\r\n \r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n \r\n\t\t\r\n \r\n\t\t\r\n \r\n \r\n \r\n\t\t\r\n \r\n \r\n\t\t\r\n \r\n\r\n\t\t\t\r\n \r\n\t\r\n \r\n\t \r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n \r\n\r\n \r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\r\n\t\t
\r\n\t\t

Shaping the Future of AI

\r\n\t\t\r\n\t\t
\r\n\t\tFollow Us\r\n\t
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\"\"\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

We\u2019re AI@UCI.

\r\n\t\t\t\t\t

Artificial Intelligence at the University of California, Irvine (AI@UCI) is a \r\n\t\t\t\t\t\tnonprofit student-run organization that focuses on promoting and cultivating the \r\n\t\t\t\t\t\tdiscipline of artificial intelligence and machine learning and its applications \r\n\t\t\t\t\t\tamong the UCI community.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

Bi-weekly events

\r\n\t\t\t\t\t\t\t\t\t

We hold workshops, meetings for the curious ones to learn the latest technology, espcially AI.

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

Connection

\r\n\t\t\t\t\t\t\t\t\t

From professionals of the academia to almuni from the industry world, we got you guys connected through our unique seminars.

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Meeting Time

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

PSCB 120

\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

6pm - 7pm

\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Monday Only

\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\t\t\r\n\t\t\t
\t\r\n\t\t
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

Some of Our Past Workshops

\r\n\t\t\t\t

For those who couldn't attend our meeting due to space constraints, don't worry! We have you covered.
Catch up with our YouTube Video (Linked below)

\r\n\t\t\t\tPresentations\r\n\t\t\t
\r\n\t\t
\r\n\t
\t\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t

Our Events

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Generating Fake Dating Profiles with StyleGAN

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Spam Classification

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

ICS Day

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Style Transferring

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Natural Language Processing

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Hack the Hackathon

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Computer Vision and OpenCV Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning 3 Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning 2 Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning 1 Workshop

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Machine Learning Q&A Session

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

Data Analytics - Patterns of Pallet Town, Pt. 1

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\t
\r\n\t\t
\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Alexander Ihler

\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Professor Ihler is the advisor of AI@UCI.
Here are some areas that he has been working on.

\"I work in artificial intelligence and machine learning, focusing on statistical methods for learning from data and on approximate inference techniques for graphical models. Applications of my work include data mining and information fusion in sensor networks, computer vision and image processing, and computational biology.\"

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\t\t\r\n\t\t\t
\t\t\r\n\t\t
\t \r\n\t
\r\n
\r\n\r\n\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t

Our Team

\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Amy Elsayed

\r\n\t\t\t\t\t\tPresident\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t \r\n
\r\n
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Jason Kahn

\r\n\t\t\t\t\t\tVice President\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Pooja Kumar

\r\n\t\t\t\t\t\tSecretary\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n
\r\n
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Uddeshya Kumar

\r\n\t\t\t\t\t\tTreasurer\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n
\r\n
\r\n\t\t\t\r\n\t\t
\t\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Madhumitha Govindaraju

\r\n\t\t\t\t\t\tCorporate Chair\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Shivan Vipani

\r\n\t\t\t\t\t\tProject Chair\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Michael Wang

\r\n\t\t\t\t\t\tWeb Master\r\n\t\t\t\t\t\t

Citizen of the World and a Web Developer. I maintain and update the content of the website over the year.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Kash Iz

\r\n\t\t\t\t\t\tMarketing Chair\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Omkar Pathak

\r\n\t\t\t\t\t\tLead Mentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Mathew Guerrero

\r\n\t\t\t\t\t\tHistorian\r\n\t\t\t\t\t\t

My hero is Elliot Alderson and I like House of Leaves.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Alexander Zhang

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Andrew Laird

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Anthony Luu

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Brett Galkowski

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Eduardo Corona

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

Monish Ramadoss

\r\n\t\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"Meghna\"\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Satyam Tandon

\r\n\t\t\t\t\t\tMentor\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\t\r\n
\r\n\t\t\r\n\r\n\r\n\t\t\r\n\r\n\r\n\t\t\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t

Get In Touch

\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t

Meeting Infomation

\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tPSCB 120\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tMonday ONLY\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t6 - 7pm\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tEmail: aiatuci@gmail.com\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tThank you. The Mailman is on His Way :)\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tSorry, don't know what happened. Try later :(\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n
\r\n\t\r\n\r\n\r\n\r\n \r\n\t \r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n \r\n", "encoding": "utf-8"} \ No newline at end of file diff --git a/test/alderis_ics_uci_edu/0f274aaa945c05641a9677b951c32026bb201ec9aeb6e691fedd1235b3a5d6af.json b/test/alderis_ics_uci_edu/0f274aaa945c05641a9677b951c32026bb201ec9aeb6e691fedd1235b3a5d6af.json new file mode 100644 index 0000000..7297eca --- /dev/null +++ b/test/alderis_ics_uci_edu/0f274aaa945c05641a9677b951c32026bb201ec9aeb6e691fedd1235b3a5d6af.json @@ -0,0 +1 @@ +{"url": "http://alderis.ics.uci.edu/links.html", "content": "\n\n\nAlderis@UCI - Analysis Language for Distributed, Embedded, and Real-time Systems\n\n\n\n\n \n\n\n\t\t
\n\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Alderis@UCI

\n\t\t\t\t\t\t

Analysis Language for Distributed, Embedded, and Real-time Systems.

\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Description

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

You can find some pointers to related research groups here...

\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDREAM\n\t\t\t\t\t\t\t\tACES\n\t\t\t\t\t\t\t\tFORGE\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t

Links

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\n\t\t\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t© All the material published on this website is copyrighted. All rights reserved. \n\n\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\n\t\t
\n\n\n\n\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/alderis_ics_uci_edu/192286a9954a2917a50ad6d5bb1efa61e2de5e94c7e9763d0d3c6e985677c6a5.json b/test/alderis_ics_uci_edu/192286a9954a2917a50ad6d5bb1efa61e2de5e94c7e9763d0d3c6e985677c6a5.json new file mode 100644 index 0000000..9610e3c --- /dev/null +++ b/test/alderis_ics_uci_edu/192286a9954a2917a50ad6d5bb1efa61e2de5e94c7e9763d0d3c6e985677c6a5.json @@ -0,0 +1 @@ +{"url": "http://alderis.ics.uci.edu/publications.html", "content": "\n\n\nAlderis@UCI - Analysis Language for Distributed, Embedded, and Real-time Systems\n\n\n\n\n \n\n\n\t\t
\n\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Alderis@UCI

\n\t\t\t\t\t\t

Analysis Language for Distributed, Embedded, and Real-time Systems.

\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Copyright

\n\t\t\t\t\t\t\n\t\t\t\t\t\t

The following publications are covered by copyright. They are provided for personal use only and may not be distributed. We do not own the copyright of published papers...

\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDREAM\n\t\t\t\t\t\t\t\tACES\n\t\t\t\t\t\t\t\tFORGE\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Publications directly related to Alderis and DREAM

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t© All the material published on this website is copyrighted. All rights reserved. \n\n\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\n\t\t
\n\n\n\n\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/alderis_ics_uci_edu/2b8802db76f30d1ea6cfc23048d6513e8a23dbf307976fff915062100762d99f.json b/test/alderis_ics_uci_edu/2b8802db76f30d1ea6cfc23048d6513e8a23dbf307976fff915062100762d99f.json new file mode 100644 index 0000000..8a4759f --- /dev/null +++ b/test/alderis_ics_uci_edu/2b8802db76f30d1ea6cfc23048d6513e8a23dbf307976fff915062100762d99f.json @@ -0,0 +1 @@ +{"url": "http://alderis.ics.uci.edu/", "content": "\n\n\nAlderis@UCI - Analysis Language for Distributed, Embedded, and Real-time Systems\n\n\n\n\n \n\n\n\t\t
\n\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Alderis@UCI

\n\t\t\t\t\t\t

Analysis Language for Distributed, Embedded, and Real-time Systems.

\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Description

\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tAlderis is a project hosted at the Center for Embedded Computer Systems (CECS), part of the Donald Bren School of Information and Computer Sciences (ICS) at the University of California, Irvine.\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t

News

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tWe have released several NuSMV models used for the analysis of a digital camera MPSoC. Click on AMBA to see the models! The results of this analysis were published in the following paper:\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tGabor Madl, Sudeep Pasricha, Qiang Zhu, Luis Angel D. Bathen, Nikil Dutt: Formal Performance Evaluation of AMBA-based System-on-Chip Designs, Proceedings of EMSOFT 2006. Bibtex.\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\nThe publication is covered by copyright. It is provided for personal use only and may not be distributed.\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\n\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDREAM\n\t\t\t\t\t\t\t\tACES\n\t\t\t\t\t\t\t\tFORGE\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t

Introduction

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tThe Alderis project focuses on the application of Domain Specific Modeling Languages (DSMLs) and meta-modeling to specify a common semantic domain for the analysis of distributed real-time embedded (DRE) systems.\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tThe Alderis language has both a visual and textual syntax with formally defined semantics. Alderis models can be verified directly by the open-source Distributed Real-time Embedded Analysis Method (DREAM) tool available for download at http://dre.sourceforge.net.\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Motivation

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\nComponent-based development is an emerging paradigm for the design of distributed real-time embedded (DRE) systems with hard QoS support. Components refer to reusable pieces of solutions, which can be configured and composed together to provide a service. Alderis plans to support this paradigm shift by providing a language and semantic domain for the model-driven development (MDD) of DRE systems.\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\n\t\t\t\t\t\t

Model-Driven Development

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\nThe Alderis language is specified using meta-modeling as shown in the figure below. We use the GME modeling environment to specify Alderis. The figure shows a part of the Alderis meta-model with its corresponding concrete syntax. The red arrows show how modeling elements and their relations are specified by the meta-model.\n\n\t\t\t\t\t\t

\n\n\"Meta-modeling\"

\n\n\t\t\t\t\t\t

Formal Verification & Analysis

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\nA key property of the Alderis language is that it has formally defined semantics allowing real-time verification using timed automata model checker tools such as UPPAAL and the Verimag IF toolset. The DREAM tool provides a way to automatically generate the timed automata models from the Alderis specification. DREAM also provides a way for random simulations that can be used efficiently to find bugs in designs that are too large and lead to state space explosions.\n\n\t\t\t\t\t\t

\n\n\t\t\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t© All the material published on this website is copyrighted. All rights reserved. \n\n\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\n\t\t
\n\n\n\n\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/alderis_ics_uci_edu/35f503672017253c81058a83bc9ad0adfe3aa6f3933a4f232a93b6a5cdfd28cf.json b/test/alderis_ics_uci_edu/35f503672017253c81058a83bc9ad0adfe3aa6f3933a4f232a93b6a5cdfd28cf.json new file mode 100644 index 0000000..e8d3cb6 --- /dev/null +++ b/test/alderis_ics_uci_edu/35f503672017253c81058a83bc9ad0adfe3aa6f3933a4f232a93b6a5cdfd28cf.json @@ -0,0 +1 @@ +{"url": "http://alderis.ics.uci.edu/dresystems.html", "content": "\n\n\nAlderis@UCI - Analysis Language for Distributed, Embedded, and Real-time Systems\n\n\n\n\n \n\n\n\t\t
\n\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Alderis@UCI

\n\t\t\t\t\t\t

Analysis Language for Distributed, Embedded, and Real-time Systems.

\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Getting interested?

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\tFeel free to contact me if you have any questions or comments regarding the proposed method at gabe at uci dot edu.\n\t\t\t\t\t\t\t

\n\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t

\n\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\tThe case study and the theoretic background behind the proposed method is explained in more detail in the following paper: Gabor Madl, Sherif Abdelwahed, Douglas C. Schmidt: Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking, Real-Time Systems, Special Issue: Invited Papers from the 25th IEEE International Real-Time Systems Symposium, Volume 33, Numbers 1-3, Pages 77-100, July 2006.

\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDREAM\n\t\t\t\t\t\t\t\tACES\n\t\t\t\t\t\t\t\tFORGE\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t

Boeing Bold Stroke Avionics Example

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

This section illustrates the use of the Alderis language in a case study from the domain of avionics distributed real-time embedded (DRE) systems. Figure 1 shows the component-based architecture of the system, which is built upon the Boeing Bold Stroke real-time middleware. This application is deployed on a non-preemptive multiprocessor platform. As shown in Figure 1, this application is driven by five Timer components deployed on five CPUs.

\n\n\t\t\t\t\t\t\t\t

Figure 1 - Aspects of the Bold Stroke Application

\n\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t

\n\n\t\t\t\t\t\t\t

\nComputations on different processors are driven by their respective\ntimers. Components, however, do not necessarily execute with the\ntimer's rate, as seen in the NAV_DISPLAY component's case. It\nis executed more often to serve remote requests than to serve local\nrequests on CPU_3.\n\n\t\t\t\t\t\t\t

Compositional Analysis

\n\n\t\t\t\t\t\t\t

\nFigure 3 shows how we modeled the system in the Uppaal model checker tool. The application consits of 11 Task\ncomponents and 11 event channels, which 5 are local and used only for\nbuffering. The application is deployed on 5 processors. We have to model event channels explicitly (1)\nwhen we have to buffer events or (2) on remote event channels which\nhave measureable delays. All the event channels satisfy one of the\nabove conditions, except the timer's event channels that have been\nabstracted out in the model.\n\t\t\t\t\t\t\t

\n\n\t\t\t\t\t\t\t

\nThe scheduling policies are represented by Schedulers in the\nDRE Semantic Domain. Since the Bold Stroke application is\ndeployed on a 5-processor architecture we define 5 schedulers as shown\non Figure 3. The schedulers get more complex\naccording to the scheduling policies. The automatic generation of the\nmodels provides a safe way to ensure the correct guard conditions and\nassignments. The timed automata model shown in Figure 3 corresponding \nto the Bold Stroke system shown in Figure 1 has been shown \nto be schedulable.\n\t\t\t\t\t\t\t

\n\n\t\t\t\t\t\t\t\t

Figure 3 - Generated timed automata models

\n\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t

\n\n\t\t\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t© All the material published on this website is copyrighted. All rights reserved. \n\n\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\n\t\t
\n\n\n\n\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/alderis_ics_uci_edu/7a23de605f63cf4d997c135aec35ffca3ddef439c383a7cab9b149e829d4e3f6.json b/test/alderis_ics_uci_edu/7a23de605f63cf4d997c135aec35ffca3ddef439c383a7cab9b149e829d4e3f6.json new file mode 100644 index 0000000..611ff66 --- /dev/null +++ b/test/alderis_ics_uci_edu/7a23de605f63cf4d997c135aec35ffca3ddef439c383a7cab9b149e829d4e3f6.json @@ -0,0 +1 @@ +{"url": "http://alderis.ics.uci.edu/amba2.html", "content": "\n\n\nAlderis@UCI - Analysis Language for Distributed, Embedded, and Real-time Systems\n\n\n\n\n \n\n\n\t\t
\n\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Alderis@UCI

\n\t\t\t\t\t\t

Analysis Language for Distributed, Embedded, and Real-time Systems.

\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

AMBA AHB MPSoC Example

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tThe NuSMV finite state machine models listed on this page were used to analyze a digital camera system-on-chip design. The results of this analysis were published in the following paper:\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tGabor Madl, Sudeep Pasricha, Qiang Zhu, Luis Angel D. Bathen, Nikil Dutt: Formal Performance Evaluation of AMBA-based System-on-Chip Designs, Proceedings of EMSOFT 2006. Bibtex.\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\nThe publication is covered by copyright. It is provided for personal use only and may not be distributed.\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDREAM\n\t\t\t\t\t\t\t\tACES\n\t\t\t\t\t\t\t\tFORGE\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t

Ambiguity in the AMBA AHB Specification

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tThe EMSOFT publication cited on the left describes an ambiguity in the final version of the AMBA AHB specification. We do not claim in any way that the AMBA AHB protocol is incorrect, nor do we claim that it contains irresolvable contradictions. However, the AMBA AHB specification does not mention this problem and therefore it is up to the designers to find and resolve this and other special cases, and these implementations may not work with each other even though they all correspond to the specification. This shows the need to verify even simple MPSoC designs rather than rely on protocols themselves in general as they do not enforce a correct working system. These problems could be easily overcome by providing a formal specification rather than natural languages that are prone to ambiguities.\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

Functional Verification

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tThe following example demonstrates how the simultaneous use of the HRESP=RETRY response and the HSPLITx unmask request in the same clock cycle by the slave may result in a deadlock situation:\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tThe following example shows that disallowing the simultaneous use of the HRESP=RETRY response and the HSPLITx unmask request allows to avoid the deadlock:\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tThe same problem can be shown for three masters:\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tThe following example shows that disallowing the simultaneous use of the HRESP=RETRY response and the HSPLITx unmask request allows to avoid the deadlock using three masters as well:\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tThe final model that shows the correctness of our design:\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

Performance Evaluation

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tThe finite state machines were changed for the performance evaluation to provide better scalability. Therefore we need to verify that the resulting model is still correct:\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tPerformance evaluation results using 64x64 pixel tiles for JPEG 2000 compression:\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tPerformance evaluation results using 128x128 pixel tiles for JPEG 2000 compression:\n\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\n\t\t\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t© All the material published on this website is copyrighted. All rights reserved. \n\n\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\n\t\t
\n\n\n\n\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/alderis_ics_uci_edu/c6e615a6a72d7518bd77857d8651f2c04b35207d9039ebf3cc1509ea76202013.json b/test/alderis_ics_uci_edu/c6e615a6a72d7518bd77857d8651f2c04b35207d9039ebf3cc1509ea76202013.json new file mode 100644 index 0000000..bb78ab0 --- /dev/null +++ b/test/alderis_ics_uci_edu/c6e615a6a72d7518bd77857d8651f2c04b35207d9039ebf3cc1509ea76202013.json @@ -0,0 +1 @@ +{"url": "http://alderis.ics.uci.edu/index.html", "content": "\n\n\nAlderis@UCI - Analysis Language for Distributed, Embedded, and Real-time Systems\n\n\n\n\n \n\n\n\t\t
\n\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Alderis@UCI

\n\t\t\t\t\t\t

Analysis Language for Distributed, Embedded, and Real-time Systems.

\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Description

\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tAlderis is a project hosted at the Center for Embedded Computer Systems (CECS), part of the Donald Bren School of Information and Computer Sciences (ICS) at the University of California, Irvine.\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t

News

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tWe have released several NuSMV models used for the analysis of a digital camera MPSoC. Click on AMBA to see the models! The results of this analysis were published in the following paper:\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tGabor Madl, Sudeep Pasricha, Qiang Zhu, Luis Angel D. Bathen, Nikil Dutt: Formal Performance Evaluation of AMBA-based System-on-Chip Designs, Proceedings of EMSOFT 2006. Bibtex.\n\t\t\t\t\t\t

\n\n\t\t\t\t\t\t

\nThe publication is covered by copyright. It is provided for personal use only and may not be distributed.\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\n\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDREAM\n\t\t\t\t\t\t\t\tACES\n\t\t\t\t\t\t\t\tFORGE\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t

Introduction

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tThe Alderis project focuses on the application of Domain Specific Modeling Languages (DSMLs) and meta-modeling to specify a common semantic domain for the analysis of distributed real-time embedded (DRE) systems.\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tThe Alderis language has both a visual and textual syntax with formally defined semantics. Alderis models can be verified directly by the open-source Distributed Real-time Embedded Analysis Method (DREAM) tool available for download at http://dre.sourceforge.net.\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Motivation

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\nComponent-based development is an emerging paradigm for the design of distributed real-time embedded (DRE) systems with hard QoS support. Components refer to reusable pieces of solutions, which can be configured and composed together to provide a service. Alderis plans to support this paradigm shift by providing a language and semantic domain for the model-driven development (MDD) of DRE systems.\n\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\n\t\t\t\t\t\t

Model-Driven Development

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\nThe Alderis language is specified using meta-modeling as shown in the figure below. We use the GME modeling environment to specify Alderis. The figure shows a part of the Alderis meta-model with its corresponding concrete syntax. The red arrows show how modeling elements and their relations are specified by the meta-model.\n\n\t\t\t\t\t\t

\n\n\"Meta-modeling\"

\n\n\t\t\t\t\t\t

Formal Verification & Analysis

\n\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\nA key property of the Alderis language is that it has formally defined semantics allowing real-time verification using timed automata model checker tools such as UPPAAL and the Verimag IF toolset. The DREAM tool provides a way to automatically generate the timed automata models from the Alderis specification. DREAM also provides a way for random simulations that can be used efficiently to find bugs in designs that are too large and lead to state space explosions.\n\n\t\t\t\t\t\t

\n\n\t\t\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t© All the material published on this website is copyrighted. All rights reserved. \n\n\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\n\t\t
\n\n\n\n\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/alderis_ics_uci_edu/e3554fad67505553a9742d31c4b526701f9f4a8a0a0eedfd9dafee6af43d59fc.json b/test/alderis_ics_uci_edu/e3554fad67505553a9742d31c4b526701f9f4a8a0a0eedfd9dafee6af43d59fc.json new file mode 100644 index 0000000..9912ac1 --- /dev/null +++ b/test/alderis_ics_uci_edu/e3554fad67505553a9742d31c4b526701f9f4a8a0a0eedfd9dafee6af43d59fc.json @@ -0,0 +1 @@ +{"url": "http://alderis.ics.uci.edu/downloads.html", "content": "\n\n\nAlderis@UCI - Analysis Language for Distributed, Embedded, and Real-time Systems\n\n\n\n\n \n\n\n\t\t
\n\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Alderis@UCI

\n\t\t\t\t\t\t

Analysis Language for Distributed, Embedded, and Real-time Systems.

\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t

Feedback

\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We need your feedback to further develop the analysis and verification methods. If you find our tools useful or if you have comments / questions regarding the Alderis/DREAM ™ framework please contact me at gabe at uci dot edu.

\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDREAM\n\t\t\t\t\t\t\t\tACES\n\t\t\t\t\t\t\t\tFORGE\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t

Downloads

\n\n\t\t\t\t\t\t
  • Download the recently released ALDERIS modeling language: ALDERIS_1.0.zip
  • \n\n\t\t\t\t\t\t
  • Download the examples created using the ALDERIS modeling language: ALDERIS_Examples_1.0.zip. The examples include small to large-scale Boeing Bold Stroke models as well as a tiny helicopter autopilot case study.
  • \n\n\t\t\t\t\t\t
  • To download the open-source DREAM analysis tool please visit the sourceforge website: http://dre.sourceforge.net
  • \n\n\t\t\t\t\t\t
  • To download the recently open-sourced Generic Modeling Environment (GME) please visit the ISIS GME website: http://www.isis.vanderbilt.edu/projects/gme
  • \n\n\t\t\t\t
    \n\t\t\n\t\t
    \n\t\t\n\t\t
    \n\t\t\n\t\t\t\t

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t© All the material published on this website is copyrighted. All rights reserved. \n\n\t\t\t\t\n\t\t\t\t\t\t

    \n\t\t\n\t\t
    \n\n\n\n\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/06e627be48c0356f8c1414dd1e44f7d1e788ff788f2a09f3f32b4a019bba0109.json b/test/hombao_ics_uci_edu/06e627be48c0356f8c1414dd1e44f7d1e788ff788f2a09f3f32b4a019bba0109.json new file mode 100644 index 0000000..d31a01d --- /dev/null +++ b/test/hombao_ics_uci_edu/06e627be48c0356f8c1414dd1e44f7d1e788ff788f2a09f3f32b4a019bba0109.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=journal", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\nfile not found", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/0a367a3b8605934ebc14947def30eb32fe4bbc9bdd3dc4654efb1c73c522920f.json b/test/hombao_ics_uci_edu/0a367a3b8605934ebc14947def30eb32fe4bbc9bdd3dc4654efb1c73c522920f.json new file mode 100644 index 0000000..f244695 --- /dev/null +++ b/test/hombao_ics_uci_edu/0a367a3b8605934ebc14947def30eb32fe4bbc9bdd3dc4654efb1c73c522920f.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/hilario.html", "content": "\n\n\n\n\nPaulHilarioArtist\n\n

    \n\n

    \n\nRecent work of Paul Hilario
    \n
    \n\nLos Banos, Laguna
    \nPhilippines
    \n
    \n

    \n\n\n\nPaul's paintings and their descriptions (in his own words ...)\n\n
    \n\n

    \n\n\nBUGAW (Shoo!)\n\n
    \n\nThis painting is about at least two subjects. One subject is about the environment. Notice the slingshot on the boy's pocket? \nHe decided not to hurt or kill any of the birds.\nAlso, if you can feel the way I feel about the painting, don't you get the impression that they are rejoicing? \nThe two kid's raised arms are in celebration of a forthcoming bountiful rice harvest. The fields are heavily filled with golden rice.\n\n

    \n
    \n\n\n
    \n
    \n

    \n\n\nSalat Nguni't Sapat (Not Enough but Enough)\n\n
    \n\nMany children in rural areas in the Philippines walk miles just to get to school.
    \nThey wear ragged clothes, worn out and broken footwear and have barely enough money for food and school supplies. \nSome classes have more than 40 students so everybody has to share tables and chairs and the room is cramped. \nBut surprisingly so they feel happy that they have the opportunity to go to school while many don't have that chance at all. \nThis is an example of a trait of Filipinos - to always look at the brighter side of things no matter how trying times can be.\n
    \n

    \n
    \n\n
    \n
    \n\n\nAbout Paul \n\n
    \n\nPaul is an up-and-coming artist in the Philippines.\nHe has been making art as young as 4 years old and at that early age he knew that he wanted to be an artist. \nIt is only recently, however, that he decided \nto give art a serious professional chance as a career. He creates art from 3:00 am to 6:30 am and transforms into a museum curator from 8 am to 5 pm weekdays. \nPaul has developed his own signature style of art, and relishes in creating not just for the viewer's eyes but to also stimulate other senses and emotions as well. \nHis subjects can be drawn from anything around him but most of his works are taken from cultural and environmental themes, with both sometimes curiously intersecting in one canvas. \nHe subtlety includes hidden messages, stories, and lessons in the paintings. Paul prefers to use a lot of bright colours and high contrast. \nHis style is eclectic. He mix and matches impressionism with pop, low brow, cubism and fauvism. His work is generally identified between impressionism, pop and naif art. \nHe considers Vincent Van Gogh and Filipino painter Marcel Antonio as his art influences. \n\n\n\n\n\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/10103e9010b2d439e9aa8e50aec6a4cfd457997850355dbb76099bcff2797412.json b/test/hombao_ics_uci_edu/10103e9010b2d439e9aa8e50aec6a4cfd457997850355dbb76099bcff2797412.json new file mode 100644 index 0000000..347f142 --- /dev/null +++ b/test/hombao_ics_uci_edu/10103e9010b2d439e9aa8e50aec6a4cfd457997850355dbb76099bcff2797412.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=projects", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\nfile not found", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/27601e6a4b6e90bb9c919b6a6e2ca0275d85bb1b9c6234080d06d1f2ccd59a5b.json b/test/hombao_ics_uci_edu/27601e6a4b6e90bb9c919b6a6e2ca0275d85bb1b9c6234080d06d1f2ccd59a5b.json new file mode 100644 index 0000000..45cd6fa --- /dev/null +++ b/test/hombao_ics_uci_edu/27601e6a4b6e90bb9c919b6a6e2ca0275d85bb1b9c6234080d06d1f2ccd59a5b.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=grants", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\n

    Active Grants

    \n\n
      \n
    • Principal Investigator, NSF Division of Social and Economic Sciences (2011-2014), Models and Methods for Non-stationary Behavioral Time Series
    • \n
    \n
      \n
    • Principal Investigator, NSF Division Mathematical Sciences (2011-2014), Applied Probability and Time Series Modeling
    • \n
    \n
      \n
    • Principal Investigator, NSF Division of Mathematical Sciences (2012), Developing Novel Statistical Methods in NeuroImaging (workshop)
    • \n
    \n\n\n

    Selected Completed Grants

    \n\n
      \n
    • Principal Investigator, NSF Division of Mathematical Sciences, Collaborative Research: Spectral and Connectivity Analysis of Non-Stationary Spatio-Temporal Data
    • \n
    \n
      \n
    • Co-Principal Investigator, NSF Brain and Cognition Sciences (PI: J. Sanes, Brown Univ) (2009-2011), Motor Intention
    • \n
    \n
      \n
    • Co-Investigator, NIMH (PI: S. Haber, Univ Rochester), Underlying behavioral effects and mechanisms of DBS in OCD
    • \n
    \n
      \n
    • Co-Investigator, NIMH (PI: Dickstein, Bradley Hospital) (2009-2011), Bio-behavioral Markers of Bipolar Conversion
    • \n
    \n
      \n
    • Co-Investigator, NIH (PI: Rakowski, Brown) (2009-2011), Classification Tree Analysis to Enhance Targeting for Cancer Screening Programs
    • \n
    \n
      \n
    • Principal Investigator, NSF Division of Mathematical Sciences (2006-2008), Collaborative Research: Time Series in Experimental Designs
    • \n
    \n
      \n
    • Principal Investigator, NSF Division of Mathematical Sciences (2004-2008), Localized Cross Spectral Analysis and Pattern Recognition in Non-Stationary Signals
    • \n
    \n
      \n
    • Co-Principal Investigator, NSF Division of Mathematical Sciences (PI: Stoffer, Pittsburgh) (2001-2004), Frequency Domain Methods in Time Series Analysis
    • \n
    \n
      \n
    • Principal Investigator (subcontract from UPenn) (2000-2004), NIMH RO1, Automatic Statistical Time-Frequency Analysis
    • \n
    \n\n\n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/2bbdd54dfb563668c2cf56116b3084c9c5256db0ba27c8e1096674bfdf4f40e2.json b/test/hombao_ics_uci_edu/2bbdd54dfb563668c2cf56116b3084c9c5256db0ba27c8e1096674bfdf4f40e2.json new file mode 100644 index 0000000..48aa3bc --- /dev/null +++ b/test/hombao_ics_uci_edu/2bbdd54dfb563668c2cf56116b3084c9c5256db0ba27c8e1096674bfdf4f40e2.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=news", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\n

    2012

    \n\n
      \n
    • Mark Fiecas received his PhD degree in Biostatistics from Brown University. His research was on connectivity measures in brain imaging. Mark is now a post-doctoral scholar in the Department of Psychiatry at UC-San Diego.
    • \n
    \n
      \n
    • Cristina Gorrostieta received her PhD degree in Biostatistics from Brown University. Her dissertation research was on complex dependence measures in multivariate time series analysis.
    • \n
    \n\n
      \n
    • Collaborator Giovanni Motta (Maastricht Univ) visited UC-Irvine from Jan - March 2012.
    • \n
    \n
      \n
    • Hernando Ombao started his new position as Associate Professor in the Department of Statistics at UC-Irvine.
    • \n
    \n\n

    2011

    \n\n
      \n
    • Hakmook Kang received his PhD degree in Biostatistics from Brown University. His research was on Spatio-Spectral Analysis of functional magnetic resonance imaging data. Dr. Kang is now Assistant Professor of Biostatistics at Vanderbilt University.
    • \n
    \n
      \n
    • Devin Koestler won the Student Paper Award which was presented at the ENAR conference in Miami, FL. His paper, co-authored with H. Ombao, was on forecasting census counts using both seasonal and patients' clinical data.
    • \n
    \n
      \n
    • Hakmook Kang is the 2011 winner of the John van Ryzin Award for Best Paper. The award was presented at the ENAR conference in Miami, FL.
    • \n
    \n
      \n
    • Dan van Lunen received his ScB degree in Applied Mathematics from Brown University. Dan wrote a thesis on online change-point detection under the direction of H. Ombao.
    • \n
    \n\n

    2010

    \n\n
      \n
    • Mark Fiecas received one of the Student Awards for his paper on generalized shrinkage for estimating partial coherence. The award was presented at the New England Statistics Symposium at Harvard University.
    • \n
    \n
      \n
    • Dan van Lunen, undergraduate student in Applied Mathematics, received the summer research training award to compare diffusion tensor imaging data recorded under different scanning protocols.
    • \n
    \n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/4ff8a28d7a42d75b8a229d2a615313ac16eb5badd912389089651a4c17e3aeaa.json b/test/hombao_ics_uci_edu/4ff8a28d7a42d75b8a229d2a615313ac16eb5badd912389089651a4c17e3aeaa.json new file mode 100644 index 0000000..c6e012c --- /dev/null +++ b/test/hombao_ics_uci_edu/4ff8a28d7a42d75b8a229d2a615313ac16eb5badd912389089651a4c17e3aeaa.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/instat.html", "content": "\n\n\n\n\nINSTAT Lectures\n\n

    \n

    \n\n\n
    \n
    \nHernando Ombao, Ph.D. \n
    \n
    \n\nVisiting Scholar
    \nInstitute of Statistics
    \nUniversity of the Philippines at Los Banos
    \n
    \n

    \n
    \n
    \n\n\n

    \nPRESENTATIONS\n

    \n
    \n\n\n\n\n\n

    \nSELECTED PAPERS\n

    \n
    \n\n\n\n\n\n\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/507f837455f458658fb55ab92da6880522915d2fbb85451dc01671d71353c486.json b/test/hombao_ics_uci_edu/507f837455f458658fb55ab92da6880522915d2fbb85451dc01671d71353c486.json new file mode 100644 index 0000000..8467253 --- /dev/null +++ b/test/hombao_ics_uci_edu/507f837455f458658fb55ab92da6880522915d2fbb85451dc01671d71353c486.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=upcoming", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\n

    2012+

    \n\n
      \n
    • Joint Statistical Meetings 2012, San Diego CA
    • \n
    \n
      \n
    • Workshop on Developing Novel Statistical Methods in Neuroimaging, San Diego CA
    • \n
    \n
      \n
    • Workshop on Statistical Learning and Data Mining, Ann Arbor MI
    • \n
    \n
      \n
    • International Chinese Statistical Association Conference, Boston MA
    • \n
    \n
      \n
    • Institut de statistique 20th anniversary, Universite catholique de Louvain, Belgium
    • \n
    \n\n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/5843e47179d20d8855ec4e79965156bd0788c22ce892521948fe99e2a91464b9.json b/test/hombao_ics_uci_edu/5843e47179d20d8855ec4e79965156bd0788c22ce892521948fe99e2a91464b9.json new file mode 100644 index 0000000..93b954c --- /dev/null +++ b/test/hombao_ics_uci_edu/5843e47179d20d8855ec4e79965156bd0788c22ce892521948fe99e2a91464b9.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/hernando.html", "content": "\n\n\n\n\nHernando Ombao UCIrvine\n\n

    \n

    \n\n\nHernando Ombao, Ph.D. \n\n
    \n\nProfessor
    \nDepartment of Statistics
    \nUniversity of California at Irvine
    \nBren Hall, Room 2206
    \nIrvine, CA 92697 USA
    \nPhone: (949) 824-5679
    \nEmail: hombao AT uci DOT edu
    \n
    \n\nCV\n\n\n
    \n
    \n\n\n

    \nRESEARCH AREAS\n

    \n\n\n
      \n
    • Time Series Analysis
    • \n
    • Spatio-temporal modelling
    • \n
    • Statistical Learning
    • \n
    • Applications to Brain Science (fMRI, EEG, MEG, EROS)
    • \n
    \n
    \n\n\n\n\n

    \nRESEARCH GROUPS \n

    \n
    \n

    \n\n\n\n

    \n\n

    \n\nI Support \nup-and-coming artists\n\n

    \n\n\n\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/6d0828ad3dfb8ba58be60b61adb2b9ae55cd9f5ec11a58d992bbc2377ad4d42e.json b/test/hombao_ics_uci_edu/6d0828ad3dfb8ba58be60b61adb2b9ae55cd9f5ec11a58d992bbc2377ad4d42e.json new file mode 100644 index 0000000..48c25bd --- /dev/null +++ b/test/hombao_ics_uci_edu/6d0828ad3dfb8ba58be60b61adb2b9ae55cd9f5ec11a58d992bbc2377ad4d42e.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=research", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\nfile not found", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/6f7f09c4543caee27e2a5e1906d11ec0fa3a0f4f6e50e4893b37db0f4489f6c4.json b/test/hombao_ics_uci_edu/6f7f09c4543caee27e2a5e1906d11ec0fa3a0f4f6e50e4893b37db0f4489f6c4.json new file mode 100644 index 0000000..af0dee1 --- /dev/null +++ b/test/hombao_ics_uci_edu/6f7f09c4543caee27e2a5e1906d11ec0fa3a0f4f6e50e4893b37db0f4489f6c4.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=recent", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\n

    2013

    \n
      \n
    • International Chinese Statistical Association, Hong Kong
    • \n
    \n
      \n
    • American Mathematical Society Workshop, Riverside CA
    • \n
    \n
      \n
    • ENAR Conference, Orlando FL
    • \n
    \n
      \n
    • Department of Mathematics, Lancaster University, UK
    • \n
    \n\n\n

    2012

    \n\n
      \n
    • Institute for Stochastics, Karlsruhe Institute of Technology, Germany
    • \n
    \n
      \n
    • Department of Mathematics and Statistics, San Diego State University
    • \n
    \n
      \n
    • Department of Applied Mathematics and Statistics, Univ California at Santa Cruz
    • \n
    \n
      \n
    • Department of Statistics, Univ California at Riverside
    • \n
    \n
      \n
    • ENAR Conference, Washington DC
    • \n
    \n\n

    2011

    \n
      \n
    • Department of Mathematics, Pomona College
    • \n
    \n
      \n
    • Department of Statistics, University of Virginia
    • \n
    \n
      \n
    • Joint Statistical Meetings, Miami, FL
    • \n
    \n
      \n
    • Department of Statistics, University of Warwick, UK
    • \n
    \n
      \n
    • Department of Mathematics, Lancaster University, UK
    • \n
    \n
      \n
    • Department of Mathematics, Bristol University, UK
    • \n
    \n
      \n
    • International Chinese Statistical Association Conference, New York
    • \n
    \n
      \n
    • Department of Statistics, University College London, UK
    • \n
    \n
      \n
    • ENAR Conference, Miami, FL
    • \n
    \n
      \n
    • Division of Biostatistics, University of Minnesota
    • \n
    \n
      \n
    • Centro de Investigaciones en Matematicas, Guanajuato, Mexico
    • \n
    \n
      \n
    • Department of Biostatistics, Univ North Carolina
    • \n
    \n
      \n
    • Department of Statistics, Univ California at Irvine
    • \n
    \n
      \n
    • Department of Biostatistics, Emory University
    • \n
    \n
      \n
    • Human Brain Mapping Conference, Quebec City
    • \n
    \n\n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/6fb75b03a41789f031141af612f630756f6e4de8810840c79aaab2c027a4d845.json b/test/hombao_ics_uci_edu/6fb75b03a41789f031141af612f630756f6e4de8810840c79aaab2c027a4d845.json new file mode 100644 index 0000000..3d5ea58 --- /dev/null +++ b/test/hombao_ics_uci_edu/6fb75b03a41789f031141af612f630756f6e4de8810840c79aaab2c027a4d845.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=education", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\nfile not found", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/7c65410d769444ced5f1779f790b0820b129e7f288f2dd8d2e577b7c1d3b955a.json b/test/hombao_ics_uci_edu/7c65410d769444ced5f1779f790b0820b129e7f288f2dd8d2e577b7c1d3b955a.json new file mode 100644 index 0000000..320631e --- /dev/null +++ b/test/hombao_ics_uci_edu/7c65410d769444ced5f1779f790b0820b129e7f288f2dd8d2e577b7c1d3b955a.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=overview", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\nfile not found", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/9318883a17841e7d6536d487b5a11a0f68e54b5268feb61d567b8a6ba2993ff8.json b/test/hombao_ics_uci_edu/9318883a17841e7d6536d487b5a11a0f68e54b5268feb61d567b8a6ba2993ff8.json new file mode 100644 index 0000000..982bd3c --- /dev/null +++ b/test/hombao_ics_uci_edu/9318883a17841e7d6536d487b5a11a0f68e54b5268feb61d567b8a6ba2993ff8.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=news_and_events", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\nfile not found", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/9db6be05412c831c65599407f80f92ee2d45ed4d1ccadfbbf3f517cdee51c74f.json b/test/hombao_ics_uci_edu/9db6be05412c831c65599407f80f92ee2d45ed4d1ccadfbbf3f517cdee51c74f.json new file mode 100644 index 0000000..18e47aa --- /dev/null +++ b/test/hombao_ics_uci_edu/9db6be05412c831c65599407f80f92ee2d45ed4d1ccadfbbf3f517cdee51c74f.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/R-Computing-TIMEDOMAIN.txt", "content": "\n## Install astsa (one time only)\n\n## Load astsa (every time you need to use this package)\n\n## To access all datasets in astsa\nastsadata()\n\n## These commands are taken from Shumway and Stoffer (2010)\n\n############### Global temperature data ####################\n\n## plot\npar(mfrow=c(1,1))\nplot(gtemp, type=\"o\", ylab=\"Global Temperature Deviations\")\n\n## fit a linear model\nfit <- lm(gtemp ~ time(gtemp)) ## regress gtemp on time\n## fit is an object that stores output from lm\nnames(fit)\nsummary(fit)\npar(mfrow=c(1,1))\nplot(gtemp, type=\"o\", ylab=\"Global Temperature Deviation\")\nabline(fit, col=2) ## add estimated regression line to the plot\n\n## examine the residuals\nresid = fit$resid;\npred = fit$fitted;\npar(mfrow=c(2,1)); \nplot(resid, type=\"o\", ylab=\"Residuals\", xlab=\"time\"); \nN = length(resid);\nzeroline = rep(0, N);\nlines(zeroline, col=2);\nplot(y=resid, x=pred, type=\"o\", ylab=\"Residuals\", xlab=\"predicted\"); \nlines(x=pred, y=zeroline, col=2);\n\npar(mfrow=c(2,1)); \nacf(resid);\npacf(resid); \n\n\n############### LA County Cardiac Mortality Data ##############\n\n## Plot the LA County mortality dataset\n## Series: cmort, temperature, particulate\npar(mfrow=c(3,1))\nplot(cmort, main=\"Cardiovascular Mortality\", xlab=\"\", ylab=\"\"); \nplot(tempr, main=\"Temperature\", xlab=\"\", ylab=\"\")\nplot(part, main=\"Particulates\", xlab=\"\", ylab=\"\")\n\ndev.new()\npairs(cbind(Mortality=cmort, Temperature=tempr, Particulates=part))\n\n##### Fit a model for cardiac mortality\ntemp= tempr-mean(tempr) ## center temperature \ntemp2 = temp^2 ## square of temp\ntrend = time(cmort) ## time\nfit = lm(cmort~trend + temp + temp2 + part, na.action=NULL)\nsummary(fit) ## regression results\nsummary(aov(fit)) ## ANOVA table (compare to next line) \nsummary(aov(lm(cmort~cbind(trend, temp, temp2, part)))) ## Table 2.1 \n\n## Illustration on how to compute the information criteria\nnum = length(cmort) ## sample size\nAIC(fit)/num- log(2*pi) ## AIC\nAIC(fit, k=log(num))/num- log(2*pi) ## BIC\n(AICc = log(sum(resid(fit)^2)/num)+ (num+5)/(num-5-2)) ## AICc\n\n## Example on smoothing/filtering\nma5 = filter(cmort, sides=2, rep(1,5)/5)\nma53 = filter(cmort, sides=2, rep(1,53)/53) \npar(mfrow=c(1,1));\nplot(cmort, type=\"p\", ylab=\"mortality\") \nlines(ma5,col=2)\nlines(ma53,col=3)\n\n##### Fitting some polynomial and sinusoidal trends\nwk = time(cmort) - mean(time(cmort)) ## wk is essentially t/52 centered at zero\nwk2 = wk^2 \nwk3 = wk^3\ncs = cos(2*pi*wk)\nsn = sin(2*pi*wk)\nreg1 = lm(cmort ~ wk + wk2 + wk3, na.action=NULL)\nreg2 = lm(cmort ~ wk + wk2 + wk3 + cs + sn, na.action=NULL) \npar(mfrow=c(1,1));\nplot(cmort, type=\"p\", ylab=\"mortality\") \nlines(fitted(reg1), col=2)\nlines(fitted(reg2), col=3)\n\n## Compare the residual series for each model\nresid1 = reg1$resid\nresid2 = reg2$resid\npar(mfrow=c(2,1));\nplot(resid1)\nplot(resid2)\n\npar(mfrow=c(2,2)); \nacf(resid1)\nacf(resid2)\npacf(resid1)\npacf(resid2)\n\n\n###### Kernel smoothing (with Guassian kernel)\npar(mfrow=c(1,1));\nplot(cmort, type=\"p\", ylab=\"mortality\");\nsm1 = ksmooth(time(cmort), cmort, \"normal\", bandwidth=5/52);\nsm2 = ksmooth(time(cmort), cmort, \"normal\", bandwidth=2);\nlines(sm1, col=2); \nlines(sm2, col=3);\n\n\n#################### ARIMA ##########################\n\n##### Generating time series \n\n##### AR\nts1 = arima.sim(list(order=c(1,0,0), ar=0.9), n=100);\nts2 = arima.sim(list(order=c(1,0,0), ar=-0.9), n=100);\n\npar(mfrow=c(2,1)) ## in the expression below, -is a space and == is equal\nplot(ts1, ylab=\"TS\", xlab=\"Time\"); title(paste(\"AR(1) phi=+.9\"));\nplot(ts2, ylab=\"TS\", xlab=\"Time\"); title(paste(\"AR(1) phi=-.9\"));\n\n##### MA\nts1 = arima.sim(list(order=c(0,0,1), ma=c(0.5)), n=100);\nts2 = arima.sim(list(order=c(0,0,5), ma=c(1, 0.3, 0.2, 0.1, 0.05)), n=100);\n\npar(mfrow=c(2,1)) ## in the expression below, -is a space and == is equal\nplot(ts1, ylab=\"TS\", xlab=\"Time\"); title(paste(\"MA(1)\"));\nplot(ts2, ylab=\"TS\", xlab=\"Time\"); title(paste(\"MA(5)\"));\n\n\n##### Fitting ARIMA models to data\n\n## Data is generated by an AR(1) process\ndata1 = arima.sim(list(order=c(1,0,0), ar=0.9), n=100);\n\n## Fit ARMA(2,0,1) to data1\nfit1 = arima(data1, order=c(2,0,1))\n\n\n\n\n\n\n\n\n\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/ea5d93c758c4bcd3b3065fed56806bb9eedee2a8eb0a3bd3137198ac0b437e5c.json b/test/hombao_ics_uci_edu/ea5d93c758c4bcd3b3065fed56806bb9eedee2a8eb0a3bd3137198ac0b437e5c.json new file mode 100644 index 0000000..3547d92 --- /dev/null +++ b/test/hombao_ics_uci_edu/ea5d93c758c4bcd3b3065fed56806bb9eedee2a8eb0a3bd3137198ac0b437e5c.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=people", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\n

    Principal Investigator

    \n

  • Hernando Ombao (Statistics)

    \n\n

    Students At UC-Irvine

    \n

  • Cristina Gorrostieta (Post-doctoral researcher, starting Summer 2012)

    \n

  • Yuxiao Wang (PhD student, starting Fall 2012)
  • \n

  • Michael Wojnowicz (PhD student, starting Fall 2012)
  • \n

  • Zhe Yu (PhD student, since Fall 2011)
  • \n\n

    Faculty Collaborators at UC-Irvine

    \n\n

  • Babak Shahbaba (Statistics)

    \n

  • Steven Cramer (Neurology)

    \n

  • Greg Hickok (Cognitive Sciences)

    \n\n

    Former Students at Brown University

    \n

  • Mark Fiecas (now UC-San Diego)

    \n

  • Cristina Gorrostieta (now UC-Irvine)

    \n

  • Hakmook Kang (now Vanderbilt Univ)

    \n\n

    Other Collaborators

    \n\n

  • John Aston (Warwick Univ, UK)
  • \n

  • Sam Behseta (Cal State Univ at Fullerton)
  • \n

  • Claudia Kirch (Karlsruhe Inst Technology, Germany)

    \n

  • Devin Koestler (Dartmouth Univ)

    \n

  • Giovanni Motta (Columbia Univ)

    \n

  • Birte Muhsal (Karlsruhe Inst Technology, Germany)

    \n

  • Sofia Olhede (Univ College London, UK)

    \n

  • Raquel Prado (UC-Santa Cruz)

    \n

  • Wesley Thompson (UC-San Diego)

    \n\n\n\n\n\r\n
  • \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/ef1e6028b6495f0638119b8e724352149ec23740428cabc2962d2f9e26fb8583.json b/test/hombao_ics_uci_edu/ef1e6028b6495f0638119b8e724352149ec23740428cabc2962d2f9e26fb8583.json new file mode 100644 index 0000000..c863a57 --- /dev/null +++ b/test/hombao_ics_uci_edu/ef1e6028b6495f0638119b8e724352149ec23740428cabc2962d2f9e26fb8583.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\n

    WHAT WE DO

    \n\n\n

  • We develop novel statistical methods and models for analyzing massive spatio-temporal data with complex dependence structures.
  • \n\n\n

  • We collaborate with scientists on study design, modeling and analysis of space-time data arising from various fields such as neuroscience, neurology, psychiatry, sociology and epidemiology.
  • \n\n

  • Through collaborative projects, we engage undergraduate and graduate students in all phases of inter-disciplinary research including model formulation, implementation and presentation of results.
  • \n\n\n

    ANNOUCEMENT

    \n\n

  • NSF-Funded Workshop on Developing Novel Statistical Methods for NeuroImaging
  • \n\n


    \n\n

    For pre-prints of papers and computer codes contact

    \n

    Hernando Ombao, Ph.D.

    \n

    Department of Statistics

    \n

    University of California at Irvine

    \n

    Irvine, CA 92697

    \n

    EMAIL: hombao AT uci DOT edu

    \n

    PHONE: (949) 824-5679

    \n\n\n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/f19ede361d73dbc3cc02cb8c66b285552ca72681c7f6d21aeaacf77490a78b0a.json b/test/hombao_ics_uci_edu/f19ede361d73dbc3cc02cb8c66b285552ca72681c7f6d21aeaacf77490a78b0a.json new file mode 100644 index 0000000..0b3347f --- /dev/null +++ b/test/hombao_ics_uci_edu/f19ede361d73dbc3cc02cb8c66b285552ca72681c7f6d21aeaacf77490a78b0a.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=publications", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\n

    Publications

    \n\n

    To Appear

    \n

  • Fiecas M, Ombao H, Van Lunen D, Baumgartner R, Coimbra A, Feng D. (2012). Quantifying Temporal Correlations: A Test-Retest Evaluation of Functional Connectivity in Resting State fMRI. NeuroImage.

    \n\n

  • Gorrostieta C, Ombao H, Prado R, Patel S and Eskandar E. (2012). Exploring Dependence Between Brain Signals in a Monkey During Learning. Journal of Time Series Analysis.

    \n\n

  • Stoffer D and Ombao H. (2012). Editorial: Special Issue on Time Series Analysis in the Biological Sciences. Journal of Time Series Analysis.

    \n\n

  • Ombao H. (2012). Time Series Analysis of multivariate non-stationary time series using the localised Fourier Library. Handbook of Statistics: Time Series, Elsevier.

    \n\n

  • Markova A, Risica P, Shaikh W, Kirtania U, Ombao H and Weinstock M. (2011). Gender in examination and counseling for melanoma in primary care. Archives of Internal Medicine.

    \n\n

  • Zhu T, Cohen R, Harezlak J, Ombao H, Navia B and Schiffito G. (2012). Patterns of CNS injury in HIV infection after partial immune reconstitution: A DTI tract-based spatial statistics study. Journal of Neurovirology.

    \n\n

  • Bender J, Koestler D, Ombao H, McCourt M, Alskinis B, Rubin L and Padbury J. (2012). Neonatal Intensive Care Unit: Predictive Models for Length of Stay. The Journal of Perinatology.

    \n\n\n

    2012

    \n\n

  • Gorrostieta C, Ombao H, Bedard P and Sanes J.N. (2012). Investigating Stimulus-Induced Changes in Connectivity Using Mixed Effects Vector Autoregressive Models. NeuroImage, 59, 3347-3355.

    \n\n

  • Ombao H. (2012). Discussion: Time Threshold Maps: Using information from wavelet reconstructions with all threshold values simultaneously. Journal of the Korean Statistical Society, 41, 171-172.

    \n\n

  • Motta, G. and Ombao, H. (2012). Evolutionary Factor Analysis of Replicated Time Series. Biometrics.

    \n\n

  • Kang H, Ombao H, Linkletter C, Long N and Badre D. (2012). Spatio-Spectral Mixed Effects Model for Functional Magnetic Resonance Imaging Data. Journal of the American Statistical Association.

    \n

    H. KANG is the 2011 Winner of the John Van Ryzin Award.

    \n\n

    2011

    \n\n

  • Fiecas, M. and Ombao, H. (2011).The Generalized Shrinkage Estimator for the Analysis of Functional Connectivity of Brain Signals. Annals of Applied Statistics, 5, 1102-1125.

    \n

    M Fiecas, receipient of the 2010 Student Paper Award at New England Statistics Symposium at Cambridge, MA.

    \n\n

  • Bunea F, She Y Ombao H, Gongvatana W, Devlin K and Cohen R. (2011). Penalized Least Squares Regression Methods and Applications to Neuroimaging. NeuroImage, (55), 1519-1527.

    \n\n

  • Verducci J and Ombao H. (2011). Introduction to the special issue on best papers from the SLDM competition. Statistical Analysis and Data Mining, 4: 565-566.

    \n\n

  • Politi MC, Clark MA, Ombao H, Legare F. (2011).The Impact of Physicians Reactions to Uncertainty on Patients Decision Satisfaction. Journal of Evaluation in Clinical Practice, 17, 575-578.

    \n\n

  • Ito H, Matsuo K, Tanaka H, Koestler DC, Ombao H, Fulton J, Shibata A, Fujita M,Sugiyama and Mor V. (2011). Non-filter and filter cigarette consumption and the incidence of lung cancer type in Japan and

    \n

    the United States: Analysis of 30-year data from population-based cancer registries. International Journal of Cancer, 128, 175-1998.

    \n\n

  • Politi MC, Clark MA, Ombao H, Dizon D and Elwyn G. (2011). Communicating uncertainty can lead to less decision satisfaction: A necessary cost of involving patients in shared decision making. Health Expectations, 14, 84-91.

    \n\n

  • Cohen R, de la Monte S, Gongvatana A, Ombao H, Gonzalez B, Devlin K, Navia B and Tashima K. (2011). Plasma cytokine concentrations associated with HIV/hepatitis C coinfection are related to attention, executive and psychomotor functioning. Journal of Neuroimmunology, J Neuroimmunology, 233, 204-210..

    \n\n

  • Gongvatana A, Cohen R, Correia S, Devlin K, Miles J, Clark U, Westbrook M, Hana G, Kang H, Ombao H, Navia B, Laidlaw D and Tashima K. (2011). Clinical Contributors to Cerebral White Matter Integrity in HIV-infected Individuals. Journal of Neurovirology, 7, 477-486.

    \n\n

    2010

    \n\n

  • Gao, B., Ombao, H. and Ho, R. (2010). Cluster Analyis for Non-Stationary Time Series. In Statistical Methods for Modeling Human Dynamics: An Inter-Disciplinary Dialogue (pp. 85-122), Taylor and Francis.

    \n\n

  • Ombao, H. and Prado, R. (2010). A Closer Look at the Two Approaches for Clustering and Classification of Non-Stationary Time Series. In Statistical Methods for Modeling Human Dynamics: An Inter-Disciplinary Dialogue (pp ), Taylor and Francis.

    \n\n

  • Bohm, H., Ombao, H., von Sachs, R. and Sanes, J.N. (2010). Discrimination and Classification of Multivariate Non-Stationary Signals: The SLEX-Shrinkage Method. Journal of Statistical Planning and Inference, (140), 3754-3763.

    \n\n

  • Freyermuth, J-M., Ombao, H. and von Sachs, R. (2010). Spectral Estimation from Replicated Time Series: An Approach Using the Tree-Structured Wavelets Mixed Effects Model. Journal of the American Statistical Association, (105), 634-646.

    \n\n

  • Fiecas, M., Ombao, H., Linkletter, C., Thompson, W. and Sanes, J.N. (2010). Functional Connectivity: Shrinkage Estimation and Randomization Test. NeuroImage, (40), 3005-3014.

    \n\n

    2009

    \n\n

  • Shitan, M., Ombao, H. and Ling, K-W. (2009). Spatial Modeling of Peak Frequencies of Brain Signals. Malaysian Journal of the Mathematical Sciences, 3(1), 13-26.

    \n\n

  • Tadjuidje,J, Ombao, H. and Davis, R. (2009). A Class of Switching Regimes Autoregressive Driven Processes with Exogenous Components. Journal of Time Series Analysis, 30, 505-533.

    \n\n

  • Fryzlewicz, P and Ombao, H. (2009). Consistent Classification of Non-Stationary Signals Using Stochastic Wavelet Representations. Journal of the American Statistical Association, 104, 299-312.

    \n\n

    2008

    \n\n

  • Ombao, H and Van Bellegem (2008). Coherence Analysis: A Linear Filtering Point Of View. IEEE Transactions on Signal Processing, 56(6), 2259-2266.

    \n\n

  • Ho, M, Ombao, H, Edgar, C and Miller, G. (2008). Time-Frequency Discriminant Analysis of MEG Signals. NeuroImage, 40(1), 174-186.

    \n\n

  • Ombao, H, Shao, X, Rykhlevskaia, E, Fabiani, M and Gratton, G. (2008). Spatio-Spectral Analysis of Brain Signals. Statistica Sinica, 18, 1465-1482.

    \n\n

    Pre-2008 Statistical

    \n\n

  • Stoffer, D. and Ombao, H. (2000). Localized Spectral Envelope. Resenhas, 4, 363-381.

    \n\n

  • Ombao, H., Raz, J., von Sachs, R. and Malow, B. (2001). Automatic Statistical Analysis of Bivariate Non-Stationary Time Series. Journal of the American Statistical Association, 96, 543-560.

    \n\n

  • Ombao, H., Raz, J., Strawderman, R. and von Sachs, R. (2001). A simple GCV method of span selection for periodogram smoothing. Biometrika, 88, 1186-1192.

    \n\n

  • Ombao, H., Raz, J., von Sachs, R. and Guo, W. (2002). The SLEX Model of Non-Stationary Random Process. Annals of the Institute of Statistical Mathematics, 54, 171-200.

    \n\n

  • Stoffer, D., Ombao, H. and Tyler, D. (2002). Evolutionary Spectral Envelope: An Approach Using the Tree-Based Adaptive Segmentation. Annals of the Institute of Statistical Mathematics, 54, 201-223.

    \n\n

  • Guo, W., Dai, M., Ombao, H. and von Sachs (2003). Smoothing Spline ANOVA For Time-Dependent Spectral Analysis. Journal of the American Statistical Association, 98, 643-652.

    \n\n

  • Pasia, J., Hermosilla, A. and Ombao, H. (2004). Genetic Algorithms: Useful Statistical Tools. Journal of Statistical Computation and Simulation, 75, 237-251.

    \n\n

  • Ombao, H., Heo, J., Stoffer, D. (2004). Statistical Analysis of Seismic Signals: An Almost Real Time Approach, Time Series Analysis and Applications to Geophysical Systems (eds. D. Brillinger E. Robinson and F. Schoenberg), New York: Springer Verlag, IMA Series, 139, 53-72.

    \n\n

  • Huang, H., Ombao, H. and Stoffer D. (2004). Classification and Discrimination of Non-Stationary Time Series Using the SLEX Model. Journal of the American Statistical Association, 99, 763-774.

    \n\n

  • Ho, M., Ombao, H. and Shumway, R. (2005). Modelling Brain Dynamics: A State-Space Approach, Statistica Sinica, 15, 407-425.

    \n\n

  • Gamalo M, Ombao H and Jennings R. (2005). Comparing Extent of Activation: A Robust Permutation Approach. NeuroImage, 24(3): 715-722.

    \n\n

  • Ombao, H., von Sachs, R. and Guo, W. (2005). SLEX Analysis of Multivariate Non-Stationary Time Series. Journal of the American Statistical Association, 100, 519-531.

    \n\n

  • Bunea, F., Ombao, H. and Auguste, A. (2006). Minimax Adaptive Spectral Estimation from an Ensemble of Signals. IEEE Transactions on Signal Processing, 54, 2865-2873.

    \n\n

  • Ho, M., Shumway, R. and Ombao, H. (2006). State-Space Models for Longitudinal Data With Applications in the Biological and Social Sciences. In Walls and Shafer (eds). Models for Intensive Longitudinal Data. New York, NY: Oxford Univ.Press.

    \n\n

  • Shinkareva, S., Ombao, H. and Sutton B. (2006). A Data-Driven Approach to Classification and Discrimination of fMRI Data. NeuroImage, 33, 63-71.

    \n\n

  • Ombao, H. and Ho, M. (2006). Time-dependent frequency domain principal components analysis of multi-channel non-stationary signals. Computational Statistics and Data Analysis, 50(9), 2339-2360.

    \n\n

  • Choi, H., Ombao, H. and Ray, B. (2007). Sequential Change-point Detection Method in Time Series, Technometrics, 50(1), 40-52.

    \n\n

    Pre-2008 Collaborative Papers

    \n\n

  • Buysse D, Hall M, Begley A, Cherry C, Houck P, Land S, Ombao H, Kupfer D and Frank E. (2001). REM Sleep and Treatment Response in Depression: New Findings Using Power Spectral Analysis. Psychiatry Research, 103, 51-67.

    \n\n

  • Fagiolini A, Frank E, Houck P, Mallinger A, Swartz H, Buysse D, Ombao H and Kupfer, D. (2002). Prevalence of Obesity and Weight Change During Treatment in patients with Bipolar I Disorder, Journal of Clinical Psychiatry, 63(6), 528-534.

    \n\n

  • Cranstoun S, Ombao H, von Sachs R, Guo W and Litt B. (2002). Improved Time-FrequencyAnalysis of EEG Signals Using the Auto-SLEX Method, IEEE Trans in Biomedical Engineering, 49, 988 996.

    \n\n

  • Nofzinger E, Buysse D, Miewald J, Meltzer C, Price J, Sembrat R, Ombao H, Reynolds C, Monk T Hall M, Kupfer D and Moore R. (2002). Human Regional Cerebral Glucose Metabolism During NREM Sleep in Relation to Waking. Brain, 125,1101-1115.

    \n\n

  • Moul D, Ombao H, Monk T, Chen Q and Buysse D. (2002). Masking effects of posture and sleep onset on core body temperature: a circadian rhythm of bedtime temperature drops. Journal of Biological Rhythms, 17, 447-462.

    \n\n

  • Julius S, Valentini C, Krause L, Ombao H, Kaciroti N. and Weder A. (2002). A \"gender blind\" relationship of lean body mass and blood pressure in the Tecumseh study. American Journal of Hypertension, 15(3), 258-263.

    \n\n

  • Raz J, Zheng H, Ombao H and Turetsky B. (2003). Statistical Test for fMRI Based on Experimental Randomization, NeuroImage, 19(2), 226-232..

    \n\n

  • Germain A, Buysse D, Ombao H, Monk T, Kupfer D and Hall M. (2003). Psychophysiological Reactivity and Coping Style Influence the Effect of Acute Stress on REM During Sleep. Journal of Psychosomatic Medicine, 65, 857-864.

    \n\n

  • Hall M, Vasko R, Buysse D, Ombao H, Chen Q, Cashmere D, Kupfer D and Thayer J. (2004). Acute Stress Affects Heart Rate Variability During Sleep. Journal of Psychosomatic Medicine, 66, 56-62.

    \n\n

  • Buysse D, Nofzinger E, Germaine A, Meltzer C, Wood A, Ombao H, Kupfer D and Moore, R. (2004). Regional Brain Glucose Metabolism During Morning and Evening Wakefulness in Humans: Preliminary Findings. SLEEP, 27, 1245-1254.

    \n\n\n\n\n\n\r\n
  • \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/fa02a29da1574e7181887efea3546a9d88d347e27c95484e83773023a9bf97c2.json b/test/hombao_ics_uci_edu/fa02a29da1574e7181887efea3546a9d88d347e27c95484e83773023a9bf97c2.json new file mode 100644 index 0000000..e42f245 --- /dev/null +++ b/test/hombao_ics_uci_edu/fa02a29da1574e7181887efea3546a9d88d347e27c95484e83773023a9bf97c2.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=courses", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\nfile not found", "encoding": "ascii"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/fcb715d440b2e4d2b45afcae74a8732dbede2fb8bbaf1b25f557663ba8556d74.json b/test/hombao_ics_uci_edu/fcb715d440b2e4d2b45afcae74a8732dbede2fb8bbaf1b25f557663ba8556d74.json new file mode 100644 index 0000000..0f5d6a0 --- /dev/null +++ b/test/hombao_ics_uci_edu/fcb715d440b2e4d2b45afcae74a8732dbede2fb8bbaf1b25f557663ba8556d74.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/neurostatsw2012.html", "content": "\n\n\n\n\nStats-Neuro-Workshop2012\n\n

    \n

    \n\nDeveloping Novel Statistical Methods in NeuroImaging \n\n
    \n\nJuly 24-26, 2012 \n\n(immediately preceding the Joint Statistical Meeting 2012)\n\n
    \n\nUniversity of California at San Diego\n\n

    \n\n
    \n\n\n

    \nThe goal of the workshop is to identify open problems in statistical research that emerge from current challenges in neuroimaging. \n

    \n\n

    \nThe analysis of brain data presents statistical challenges because of its massiveness, high dimensionality and complex spatio-temporal dependence structure. We expect to see open lines of statistical research especially in the areas of time series, spatial analysis, dimension reduction, statistical learning, functional data analysis, statistical computation and foundations of statistical inference. At the workshop, leaders in neuroimaging will deliver lectures on theoretical background in neuroscience and in the state-of-the-art statistical methods for the analysis of brain imaging data. The workshop topic is timely due to the increased role of late of mathematical and statistical methods in neuroimaging.\n
    \n
    \n\n

    \n\n
    FEES\n
    \n

      \n
    • Fee of the three-day workshop is US$650 (including lunch)
    • \n
    • Optional housing is an additional $200
    • \n
        \n
      • Shared on-campus apartment (2 rooms per apt; 2 persons per room)
      • \n
      • Check-in on July 23 (starting 3pm); Checkout on July 26 by 6 pm
      • \n
      • Meals: breakfast July 24 through lunch July 26 included
      • \n
      \n
    \n

    \n
    \n\n

    \n\n
    \n \nREGISTRATION
    (web-based)\n
    \n\nLimited seats only. The deadline for application is extended to 15 May 2012. \nNote that registration details and scholarship applications done at CHECKOUT.\n\n

    \n\n

    \n\n
    SCHOLARSHIPS
    \n\n
    Note: Application for scholarships is closed \neffective 26 April 2012.\n
    \n
    \n\n\nWe anticipate financial support from the National Science Foundation (DMS). Partial scholarships will be available to junior scholars (PhD students and recent PhDs). There will be travel support (up to $200)\nand workshop scholarship (up to $500).\n
    \n
    \nIn the registration, indicate if you are applying for (1) travel support; and/or (2) partial workshop scholarship\n
    \n
    \nApplicants for travel support and/or housing will be notified of the decision by late May 2012.\n
    \n
    \nMinorities and women are especially encouraged to apply. \n

    \n\n

    \n\n
    \nWORKSHOP INSTRUCTORS\n
    \n
    \n\nGreg Brown (UC San Diego), Richard Buxton (UCSD), Anders Dale (UCSD), Mark Fiecas (UCSD), Martin Lindquist (Columbia University), Tom Liu (UCSD), \nTim Mullen (UCSD), Hernando Ombao (UC Irvine), \nWesley Thompson (UCSD)\n\n
    \n\n

    \n\n
    \nTENTATIVE PROGRAM\n
    \n
    \n
    \n\nJuly 24 \n

      \n
    • Morning
    • \n
        \n
      • Introduction and Workshop Registration
      • \n
      \n
    • Afternoon
    • \n
        \n
      • Physiological Basis of the BOLD (R. Buxton)
      • \n
      • Reliability of fMRI (G. Brown)
      • \n
      • Calibration of the BOLD Signal (T. Liu)
      • \n
      \n
    • Evening\n
        \n
      • Socials
      • \n
      \n
    \nJuly 25\n
      \n
    • Morning
    • \n
        \n
      • Overview of Current Statistical Methods (Lindquist, Ombao, Thompson)
      • \n
      \n
    • Afternoon
    • \n
        \n
      • Basics of UNIX Programming (M Fiecas)
      • \n
      • FSL - image viewing, pre-processing,\nbatchmode processing (M Fiecas)
      • \n
      \n
    \nJuly 26\n
      \n
    • Morning
    • \n
        \n
      • Structural Imaging and Genetics (A. Dale)
      • \n
      • EEG - physics, source localization (T. Mullen)
      • \n
      \n
    • Afternoon
    • \n
        \n
      • FSL \u00e2\u20ac\u201c statistical modeling, visual displays \n(M. Fiecas)
      • \n
      • Discussion of Emerging Mathematical and Statistical Research in NeuroImaging (M. Lindquist, H. Ombao and W. Thompson)
      • \n
      \n
    \n
    \n

    \n\n\n

    \n\n
    \nORGANIZING COMMITTEE\n
    \n
    \n\nMartin Lindquist (Columbia University)
    \n Hernando Ombao (Univ California at Irvine)
    \nWesley Thompson (Univ California at San Diego)
    \n
    \n

    \n\n

    \n\n
    \nINQUIRIES\n
    \n\n
    \nSend to stats-neuro@ics.uci.edu\n
    \n\n

    \n\n
    \nACKNOWLEDGEMENT\n
    \n\n
    \nThis workshop is mainly supported by the US National Science Foundation (Division of Mathematical Sciences). We also acknowlege support by the UC Irvine Bren School of Information Sciences.\n
    \n\n

    \n\n\n\n", "encoding": "Windows-1252"} \ No newline at end of file diff --git a/test/hombao_ics_uci_edu/ff977df22427ada6aacee0f094bd85fda4ae7006fc409960711ce9959da9ebf3.json b/test/hombao_ics_uci_edu/ff977df22427ada6aacee0f094bd85fda4ae7006fc409960711ce9959da9ebf3.json new file mode 100644 index 0000000..8f25cda --- /dev/null +++ b/test/hombao_ics_uci_edu/ff977df22427ada6aacee0f094bd85fda4ae7006fc409960711ce9959da9ebf3.json @@ -0,0 +1 @@ +{"url": "https://hombao.ics.uci.edu/?s=opportunities", "content": "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSpace-Time Modeling\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\nfile not found", "encoding": "ascii"} \ No newline at end of file diff --git a/test_merge.py b/test_merge.py new file mode 100644 index 0000000..668e193 --- /dev/null +++ b/test_merge.py @@ -0,0 +1,116 @@ +import json +from posting import Posting +import math +import sys +import random +from nltk.corpus import words +random_list = [1,2,3,4,5,6,7,8,9,10] + + +test_data = words.words() +random.shuffle(test_data) + + +def random_posting(id): + return Posting(id,random.choice(random_list),random.choice(random_list),[random.choice(random_list),random.choice(random_list),random.choice(random_list),random.choice(random_list), + random.choice(random_list),random.choice(random_list),random.choice(random_list),random.choice(random_list)]) + +class Node(): + index_value = 'Something' + postings = list() + +class Index(): + length = 0 + index = list() + +def random_partial_index(name): + part_index = Index() + part_index.index = list() + part_index.length = 0 + with open(name +'.partial', 'w') as f: + for i in range(1000): + + node1 = Node() + node1.index_value = random.choice(test_data).lower() + node1.postings = list() + for i in range(10): + node1.postings.append(random_posting(i)) + + jsonStr = json.dumps(node1, default=lambda o: o.__dict__,sort_keys=False) + + part_index.index.append((node1.index_value,f.tell())) + f.write(jsonStr + '\n') + part_index.length = part_index.length + 1 + + part_index.index.sort(key=lambda y:y[0]) + jsonStr =json.dumps(part_index, default=lambda o: o.__dict__,sort_keys=False) + with open(name + '.index','w') as f: + f.write(jsonStr) + +def merge(partial_indices): + partial_files = list() + partial_index_files = list() + parital_index_indices = list() + merged_index = open("merged_index.full",'w') + num_indices = len(partial_indices) + + #Full Index.Index and Length + full_index = Index() + full_index.index = list() + full_index.length = 0 + + for partial_index in partial_indices: + file = open(partial_index+'.partial','r') + partial_files.append(file) + index = open(partial_index+'.index','r') + partial_index_files.append(index) + + for partial_index_file in partial_index_files: + partial_index_file.seek(0,0) + parital_index_indices.append(json.loads(partial_index_file.readline())) + + #Start all indexes at 0 + for partial_file in partial_files: + partial_file.seek(0,0) + + pointers = [0]*num_indices + + while(True): + + #Get all values from all indices to find min + value = None + values = list() + for i in range(num_indices): + if pointers[i] < parital_index_indices[i]['length']: + values.append(parital_index_indices[i]['index'][pointers[i]][0]) + + if(len(values) == 0): + break + value = min(values) + + #Get data from the min value of all indices if exists then save to mergedIndex + if value == None: + print("I have crashed some how by not getting min value") + break + + node = Node() + node.index_value = value + for i in range(num_indices): + if pointers[i] < parital_index_indices[i]['length'] and parital_index_indices[i]['index'][pointers[i]][0] == value: + to_seek = parital_index_indices[i]['index'][pointers[i]][1] + partial_files[i].seek(to_seek,0) + json_value = partial_files[i].readline() + temp_node = json.loads(json_value) + node.postings = node.postings + temp_node['postings'] + pointers[i] = pointers[i] + 1 + + node.postings.sort(key=lambda y:y['doc_id']) + full_index.index.append((value,merged_index.tell())) + full_index.length = full_index.length + 1 + jsonStr = json.dumps(node,default=lambda o: o.__dict__,sort_keys=False) + merged_index.write(jsonStr + '\n') + + full_index.index.sort(key=lambda y:y[0]) + jsonStr =json.dumps(full_index, default=lambda o: o.__dict__,sort_keys=False) + with open("merged_index.index" ,'w') as f: + f.write(jsonStr) diff --git a/worker.py b/worker.py index b0abf39..4276230 100644 --- a/worker.py +++ b/worker.py @@ -1,114 +1,129 @@ from threading import Thread import json import os -import shelve -from bs4 import BeautifulSoup -from time import perf_counter -import time +from bs4 import BeautifulSoup import re #Data process from nltk.tokenize import word_tokenize from nltk.stem import PorterStemmer -from sklearn.feature_extraction.text import TfidfVectorizer -import pandas as pd -import numpy as np -from collections import Counter from posting import Posting import sys +class Node(): + index_value = '' + postings = list() + +class Index(): + length = 0 + index = list() + class Worker(Thread): - def __init__(self,indexer,target): - self.file = target + def __init__(self,worker_id,indexer): self.indexer = indexer + self.stemmer = PorterStemmer() + self.worker_id = worker_id + self.num_partial = 0 + self.index = dict() super().__init__(daemon=True) + def dump(self): + part_index = Index() + part_index.length = 0 + part_index.index = list() + + cur_partial_index_str = str(self.worker_id) + "_" + str(self.num_partial) + '.partial' + cur_partial_index_index_str = str(self.worker_id) + "_" + str(self.num_partial) + '.index' + + + cur_partial_index = open(cur_partial_index_str,'w') + cur_partial_index_index = open(cur_partial_index_index_str,'w') + + for key in self.index: + node = Node() + node.index_value = key + node.postings = self.index[key] + + jsonStr = json.dumps(node, default=lambda o: o.__dict__,sort_keys=False) + + part_index.index.append((node.index_value,cur_partial_index.tell())) + cur_partial_index.write(jsonStr + '\n') + part_index.length = part_index.length + 1 + + part_index.index.sort(key=lambda y:y[0]) + jsonStr =json.dumps(part_index, default=lambda o: o.__dict__,sort_keys=False) + cur_partial_index_index.write(jsonStr) + + self.num_partial = self.num_partial + 1 + self.indexer.add_partial_index(str(self.worker_id) + "_" + str(self.num_partial)) + + def run(self): - print("Target: " + str(self.file)) - ticker = perf_counter() - tic = perf_counter() - file_load = open(self.file) - data = json.load(file_load) - soup = BeautifulSoup(data["content"],features="lxml") - words = word_tokenize(soup.get_text()) - toc = perf_counter() - if toc - tic > 1 : - print("Took " + str(toc - tic) + "seconds to tokenize text !") + while True: + target = self.indexer.get_next_file() + if not target: + self.dump() + print("Worker " + str(self.worker_id) + " died") + break + file_load = open(target) + data = json.load(file_load) + soup = BeautifulSoup(data["content"],features="lxml") + doc_id = target[target.rfind('/')+1:-5] + url = data['url'] + print("Worker " + str(self.worker_id) + " working on " + url) + important = {'b' : [], 'h1' : [], 'h2' : [], 'h3' : [], 'title' : []} + for key_words in important.keys(): + for i in soup.findAll(key_words): + for word in word_tokenize(i.text): + important[key_words].append(self.stemmer.stem(word)) - tokenized_words = list() - stemmed_words = list() + # Gets a cleaner version text comparative to soup.get_text() + clean_text = ' '.join(soup.stripped_strings) + # Looks for large white space, tabbed space, and other forms of spacing and removes it + # Regex expression matches for space characters excluding a single space or words + clean_text = re.sub(r'\s[^ \w]', '', clean_text) + # Tokenizes text and joins it back into an entire string. Make sure it is an entire string is essential for get_tf_idf to work as intended + clean_text = " ".join([i for i in clean_text.split() if i != "" and re.fullmatch('[A-Za-z0-9]+', i)]) + # Stems tokenized text + clean_text = " ".join([self.stemmer.stem(i) for i in clean_text.split()]) + # Put clean_text as an element in a list because get_tf_idf workers properly with single element lists - important = {'b' : [], 'h1' : [], 'h2' : [], 'h3' : [], 'title' : []} - for key_words in important.keys(): - for i in soup.findAll(key_words): - for word in word_tokenize(i.text): - important[key_words].append(self.indexer.stemmer.stem(word)) + tokens = word_tokenize(clean_text) - tic = perf_counter() - for word in words: - if word != "" and re.fullmatch('[A-Za-z0-9]+',word): - tokenized_words.append(word) - toc = perf_counter() - if toc - tic > 1 : - print("Took " + str(toc - tic) + "seconds to isalnum text !") + #counter(count,positionals) - tic = perf_counter() - for word in tokenized_words: - stemmed_words.append(self.indexer.stemmer.stem(word)) + counter = dict() + #We calculating tf_raw, and positionals here + for i in range(len(tokens)): + word = tokens[i] + if word in counter: + counter[word][0] = counter[word][0] + 1 + counter[word][1].append(i) + else: + counter[word] = [1,list()] + counter[word][1].append(i) + + doc_length = len(tokens) + for index in counter: + if index in self.index: + postings = self.index[index] + postings.append(Posting(doc_id,url,counter[index][0]/doc_length,0,counter[index][1])) + else: + self.index[index] = list() + self.index[index].append(Posting(doc_id,url,counter[index][0]/doc_length,0,counter[index][1])) + self.index[index].sort(key=lambda y:y.doc_id) + + #10 Megabytes index (in Ram approx) + if sys.getsizeof(self.index) > 500000: + self.dump() - toc = perf_counter() - if toc - tic > 1 : - print("Took " + str(toc - tic) + "seconds to stemmed text !") - """ - tfidf = TfidfVectorizer(ngram_range=(1,3)) # ngram_range is range of n-values for different n-grams to be extracted (1,3) gets unigrams, bigrams, trigrams - tfidf_matrix = tfidf.fit_transform(stemmed_words) # fit trains the model, transform creates matrix - #df = pd.DataFrame(tfidf_matrix.toarray(), columns = tfidf.get_feature_names_out()) # store value of matrix to associated word/n-gram - tfidf.sget_feature_names_out() - #tf_idf_dict = df.to_dict() # transform dataframe to dict *could be expensive the larger the data gets, tested on ~1000 word doc and took 0.002 secs to run - - print(tfidf_matrix) - """ - tfIdfVectorizer=TfidfVectorizer(use_idf=True) - tfIdf = tfIdfVectorizer.fit_transform(stemmed_words) - df = pd.DataFrame(tfIdf[0].T.todense(), index=tfIdfVectorizer.get_feature_names_out(), columns=["TF-IDF"]) - df = df.sort_values('TF-IDF', ascending=False) - print(df.head(25)) - for word in tf_idf_dict.keys(): - tic = perf_counter() - print(tf_idf_dict) - weight = 1.0 - for k,v in important.items(): - if k == 'b' and word in v: - weight = 1.2 - elif k == 'h1' and word in v: - weight = 1.75 - elif k == 'h2' and word in v: - weight = 1.5 - elif k == 'h3' and word in v: - weight = 1.2 - elif k == 'title' and word in v: - weight = 2 - posting = Posting(data["url"],tf_idf_dict[word]*weight) - - toc = perf_counter() - if toc - tic > 1 : - print("Took " + str(toc - tic) + "seconds to tf_idf text !") - - tic = perf_counter() - self.indexer.save_index(word,posting) - toc = perf_counter() - if toc - tic > 1 : - print("Took " + str(toc - tic) + "seconds to save text !") - - tocker = perf_counter() - print("Finished " + data['url'] + "\n" + str(tocker-ticker))