Rick's Home PageAbout MeResearch InterestsSQU(INT) LabPublicationsWhy Do Research?TeachingResourcesPeopleLinks Of InterestContact Me

Links of Interest

Below are links to other webpages that are important to me or contain information that I believe might be useful to others. Since these web pages are not actual parts of my web site, children should get their parent's permission before following the external links. Hopefully you will find some of these links useful and/or interesting. If not, then I am at least supporting these sites by improving their score for Google's page rank algorithm.

Please do not contact me about adding new links: I receive many e-mails from people who find this webpage when searching the internet. The majority of the messages include requests to advertise others' related resources. This page is not a source for free advertising, and that does not mean that some form of compensation is expected in order to appear on this webpage. This is simply a list of things that I have accessed regularly over the years and grown to appreciate. If you found other resources that helped you, then you should similarly share them with others because you appreciate how they helped you; this webpage is not the place for sharing your recommendations, though.

Categories:AffiliatedRecommended ReadingsRecommended SoftwareProgramming Reference SitesOrganizations (CS and Math)Language ReferencesEntertainment


Smart Information Flow Technologies
I am a researcher at Smart Information Flow Technologies (SIFT), LLC.
University of Massachusetts Amherst
I attend University of Massachusetts Amherst (UMass Amherst) for my graduate education.
Because I attended University of Massachusetts (UMass) Amherst for my graduate school education, I recommend checking out the University of Massachusetts Amherst College of Information and Computer Sciences.
I was a member of the Resource Bounded Reasoning (RBR) Lab at the University of Massachusetts Amherst. It is run by Dr. Shlomo Zilberstein.
I often collaborated with the Laboratory for Perceptual Robotics (LPR) at the University of Massachusetts Amherst. It is run by Dr. Roderic Grupen.
JSPS Summer Program / NSF East Asia and Pacific Summer Institute
I am a Japan Society for the Promotion of Science (JSPS) Summer Program Fellow for the summer of 2015. It is a wonderful cultural and research experience that students should consider if they have a professor in Japan with whom they can work.
In the United States, the applications are a subset of the National Science Foundation (NSF) East Asia and Pacific Summer Institutes (EAPSI). This fellowship also allows applicants to work with scientists in other regions including South Korea, Taiwan, China, Singapore, Australia, and New Zealand.
Thanks to this fellowship, I was a visiting researcher at the University of Tokyo (Todai) Graduate School of Arts and Sciences during the summer of 2015.
Wake Forest University
I attended Wake Forest University (WFU) for my undergraduate education. It is a wonderful liberal arts school.
As a Computer Science major from WFU, I recommend checking out the Wake Forest University Department of Computer Science.
As a Mathematics major from WFU, I also recommend checking out the Wake Forest University Department of Mathematics.

I was also a member of the STatistical Relational AI Team (STRAIT) at Wake Forest Baptist Health Medical Center. It has moved to The University of Texas at Dallas and been renamed to the Statistical Artificial Intelligence and Relational Learning Group (StARLinG) Lab. It is run by Dr. Sriraam Natarajan.
I was a member of the organization committee for Artificial Intelligence for Human-Robot Interaction (AI-HRI) 2016 at the AAAI Fall Symposium Series 2016 (FSS-16). The logo was designed by Tiago Ribeiro.
I was a member of the organization committee for Artificial Intelligence for Human-Robot Interaction (AI-HRI) 2018 at the AAAI Fall Symposium Series 2018 (FSS-18).
I was a member of the organization committee for Artificial Intelligence for Human-Robot Interaction (AI-HRI) 2019 at the AAAI Fall Symposium Series 2019 (FSS-19).
I was one of the co-organizers for the User Interfaces and Scheduling and Planning (UISP) 2017 Workshop at the International Conference on Automated Planning and Scheduling (ICAPS) 2017.
I was one of the co-organizers for the User Interfaces and Scheduling and Planning (UISP) 2018 Workshop at the International Conference on Automated Planning and Scheduling (ICAPS) 2018.
The UISP Workshop series has become part of the Explainable AI Planning (XAIP) Workshop series at ICAPS. XAIP's webpage kindly includes all the UISP-related works.

Recommended Readings

Cynthia Rudin's "Stop Explaining Black Box Machine Learning Models for High Stakes Decisions and use Interpretable Models Instead" is a very important paper introducing the real challenges with suddenly using deep learning in real world applications. Many large corporations continue to advertise their prowess in using deep learning models for everything regardless of whether they are the correct approach, and this has many social and societal consequences that deep-learning advocates further claim can be handled by generating 'explanations' from the learned models. However, this paper properly explains (no pun intended) that these tactics might just be emphasizing the same issues further.
Tenenbaum et al.'s "How to Grow a Mind: Statistics, Structure, and Abstraction" is a well-written paper describing how Hierarchical Bayesian Models may explain why the human mind is able to learn so much from only a small number of training examples. It is a truly remarkable feature of human beings. This is one of my favorite papers about abstraction.
Lagarias's annotated bibliographies of the 3x+1 problem are anthologies of all the research dedicated to trying to better understand and/or solve the Collatz Conjecture. For people like me who are fanatics of the problem, these are essential references. The most up-to-date versions of Volume I and Volume II can be found at arXiv.
AI Topics is a collection of articles, videos, and information regarding the history, applications, and many areas of artificial intelligence. It serves as a wonderful educational resource and can show trends in research topics.
Richard Hamming's "You and Your Research" Talk is a lecture from a famous modern scientist. He explains in detail which factors contributed most to performing his research. Everyone's life and career path is different, but hearing other's perspectives can provide some techniques and ideas to consider when able and relevant.

Recommended Software

My favorite text editor is Emacs or GNU Emacs. You never have to take your hands off the keyboard to use a pesky mouse!
Although I use text editors rather than IDE's for programming, I used the TexMaker IDE when learning to write in LaTeX. Even though I now use Emacs, I still highly recommend this IDE and open it when I need help with a command.
For the accompanying LaTeX packages, I highly recommend TexLive for Linux or Mac, MikTex for Windows, and MacTex for Mac (if you prefer not to use TexLive).
Mix-and-match pages of various PDF files using PDFSAM (PDF Split-and-Merge). This can be very handy when trying to compile research papers.
If you use Google's e-mail service called GMail, then having Got Your Back is handy. It is a Google Labs project that backs up your e-mail messages on your computer. They can then be transferred to another GMail account or uploaded to the same account if the messages are deleted.
I suggest using GIMP for free image editting. Though the editor is raster graphics-based (using pixels like MS Paint and Photoshop), it can save the image in a vector graphics format.
If you like to write sheet music, then you should try MuseScore. It is free, open source, and just as good as professional software like Finale.
If you need to record your own audio, then Audacity is a great open source option. You can record multiple tracks and edit them with a variety of effects before exporting the result.
To play back all the generated and recorded sound files as well as any other sound or video files you have, be sure to try VLC Media Player. I have still been unable to find a format that it cannot play.
For those who want to learn how to program, Scratch is a great way to start. It is an educational programming language that uses a LEGO™ block style for putting program code together. With easy visual and interactive features, everyone should play with it!
Another language used for teaching programming is Processing. It is very similar to Java, but it has the bonus of OpenGL primitives -- this means graphics features are built-in without having to do all the buffer allocation work. So not only is it useful for education, but it is also great for prototyping interfaces and quick graphics/animation tasks.
Many people doing robotics research, whether the robot is real or virtually simulated, are now using the Robot Operating System (ROS). It allows programming for robotics to be more universal and sharable than simply writing code for each specific robot, and the simulator allows others to virtually use robots to which they may not have access.
If you need a Japanese keyboard for Linux, then iBus and Anthy will allow you to type in Japanese as though it was Pinyin (converting English phonetics into characters). There is a great tutorial here for installing the software on various flavors and versions of Linux.

Programming Reference Sites (When in doubt, look it up!)

The Java API is an amazing documentation. It provides every detail on all its standard library classes.
Despite its name, C++ Reference documents all the standard libraries included in C++ as well as C. They even provide code examples for every function!
When I have to write code in LISP, the Hyperspec has been extremely helpful explaining the many available commands and their sometimes subtle differences.
W3schools is an informative site for HTML documentation. I mostly use its HTML Tag References, but there are other contents.
Whether using PHP for dynamic web pages or writing scripts, I recommend PHP.net for extremely in-depth information about all its functions.
Since most people developing dynamic web pages also need databases for storing user data or massive amounts of information, I suggest the MySQL Documentation which has all the reference manuals for MySQL.
For Python programmers using the Scipy and Numpy packages for numerical computations, I highly recommend the Scipy and Numpy API's.
The Processing Reference webpage has all the primitive commands with detailed explanations about how they work with examples. It is helpful to have this available even if one is familiar with both Java and OpenGL.
When learning how to use ROS and remember all the message types that can be used, the ROS Wiki has all the documentation. There are also tutorials to help get started with understanding the message-passing framework used.
All the manuals for iRobot's Create (version 1.0) can be found here. The one that specifically covers programming it (in hexadecimal) is called the Open Interface Specifications Manual.
If you are having problems with a program you are writing, then it is highly likely that someone has already had that same problem and even more likely that someone else knows how to fix it. A great on-line question-and-answer site where such discussions occur is called Stack Overflow.

Organizations (CS and Math)

The main organization for computer science is the Association for Computing Machinery (ACM). They also have many special interest groups for each of the fields within computer science.
One of the main professional artificial intelligence organizations is the Association for the Advancement of Artificial Intelligence (AAAI).
Another key organization for artificial intelligence that is not run by AAAI is the International Joint Conference on Artificial Intelligence (IJCAI).
The international honor society for computer science is Upsilon Pi Epsilon.
One of the two primary mathematics professional organizations is the Mathematical Association of America (MAA). They have a larger focus on raising interest in mathematics education.
The other main mathematics professional organization is the American Mathematics Society (AMS). Their primary focus is on furthering mathematics research.
The national honorary society for mathematics is Pi Mu Epsilon.

Language References

The most useful Japanese-English/English-Japanese dictionary I have ever seen is Jisho. If you cannot type Japanese, then you can search by the Romaji (Roman alphabet spelling). If you cannot pronounce a Kanji (Chinese character), then you can draw it or assemble it using radicals! This makes it a survival tool when living in Japan.
The Japan Foundation created a collection of lessons for learning Japanese that include video examples, comics, and activities. Nihongo Dekimasu (日本語できます = You Can Do It Japanese) covers basics for beginners to more advanced concepts. Even if you are taking classes, it is useful for learning about Japanese culture and listening to native speakers.
Using situational videos similar to Nihongo Dekimasu, CCTV created a 100-episode television series that teaches Mandarin Chinese called "Growing up with Chinese". Each lesson also teaches some rules for pronunciation and writing in Mandarin Chinese.


Who needs to waste time watching random videos on the internet when there are Video Lectures? Various summer courses, tutorials, and special talks given at international conferences from all academic disciplines can be viewed for free!
Besides Video Lectures, the massive on-line open course (MOOC) website Coursera is a great place to take courses taught by college professors around the world for free! It is a fun and practical way to continue learning.
To learn about Japanese culture from a wide variety of perspectives (including traditions, art, cooking, traveling, technology, and pop culture) while catching the world news, tune into the live stream of NHK World. It is the Japanese public broadcasting network's (like PBS in the United States) international channel; the programs are in English.
Anyone who has lived the life of a graduate student can relate to the tales told in Jorge Cham's PhD Comics. They are really funny and can be a good break from work. I actually met Jorge Cham once and got his autograph as an undergraduate; he's a funny guy.
For academic humor, there is XKCD which puns various fields of study. Most of them use principles of mathematics and the sciences. Like Gary Larson's The Far Side, you often have to know the theorem to get the joke (so think while reading).
Here's a plug for Anthony Pecorella's game CellCraft™. It teaches you about cell biology and it's fun - a winning combination! Best of all, the game is free to download and does not need an account.
iRobot runs the Starter Programs for the Advancement of Robotics Knowledge (SPARK) site. To inspire younger children to look into robotics, there are some galleries, games, and activities.
Although it is an educational tool, it can be fun to quickly put a simple game together in Scratch. Created by MIT Media Labs, the IDE is free to download. Plus, you can upload your creations if you want to show off your work and/or teach others how to program.
If you already have some programming background and prefer to type code instead of drag-and-dropping blocks (or want to work in 3-D), then you can also have fun with Processing. I am not aware of a community site for sharing Processing programs and collaborating like there is for Scratch.

Rick's Home PageAbout MeResearch InterestsSQU(INT) LabPublicationsWhy Do Research?TeachingResourcesPeopleLinks Of InterestContact Me