Blog

Fifth Year at Srishti

It’s my 5th year at Srishti and I’m still getting used to. I started with the post graduation studies in Innovation and Experience Design at Srishti Labs in 2013. Later on, I joined Srishti again as a Research assistant and worked in Art in Transit project in 2016. And I have now joined Srishti third time as a full-time faculty member. And this was a choice that I had to make despite Mathscapes and Mimo56 DesignLab since I have always been expressing the problems with scientific/tech. education scenario we have here in India. Now is the chance to do my bit.

2017 marks the true beginning of future that I envision for me. My focus now in Srishti is to get into research driven teaching. I’m assigned to teach two units in this cycle — Interaction Design 1 (with Riyaz Shaikh) for B.Des 2nd/3rd years, and Interaction Design beyond Screens (with Dr.Naveen Bagalkot) for M.Des 2nd years. Both involve unique challenges to deliver the classroom content which also resonates with the problem that I feel is prevalent in the formal education today and aligns with my personal vision.

Conditions that I have set for myself for constructing and delivering content for classes at Srishti are —

  • Not limiting or changing the actual jargons used in the scientific domain.
  • Not to overdo the participative activities — too much fun takes away the seriousness.
  • Not to oversimplify things for the sake of class.
  • To encourage Q&As, and sometimes break the flow of class to discuss things off the plan.

I will elaborate the above points with justifications in another post sometime.

Installing OpenCV 3.1 for Python on MacOSX Sierra

Originally developed by Intel, OpenCV is a real-time computer vision programming library available for cross-platform usage. The library is cross-platform and free for use under the open-source BSD license.

“It has C++, C, Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for computational efficiency and with a strong focus on real-time applications. Written in optimized C/C++, the library can take advantage of multi-core processing. Enabled with OpenCL, it can take advantage of the hardware acceleration of the underlying heterogeneous compute platform. Adopted all around the world, OpenCV has more than 47 thousand people of user community and estimated number of downloads exceeding 14 million. Usage ranges from interactive art, to mines inspection, stitching maps on the web or through advanced robotics.”
— OpenCV Org.

OpenCV, despite being powerful is slightly intimidating for beginners due to its slightly long installation procedure. I’m writing this simple guide to get started with OpenCV 3.1 for Python on MacOSX Sierra to simplify the setup process. Feel free to leave suggestions in the comments.

For this installation, I will be using Anaconda (Python Distribution and Package Manager) which is simple, to begin with. I’m using Anaconda 4.4.0 for MacOSX with Python 3.6 on my computer.

While Anaconda comes with major scientific Python modules, it doesn’t come with the OpenCV module. But OpenCV module (unofficial) is available on few Anaconda package channels. We’re here going to use Menpo/OpenCV 3.1 to install OpenCV.

Note. While the latest stable release of OpenCV is 3.2 (as I’m writing this) but OpenCV 3.2 is not available for x64 channels on Anaconda. Hence, we will be using 3.1 here.

Step 1. Open Terminal and create a new Python environment.

conda create -yn opencvtest python=3.5

Make sure that you use Python 3.5 with OpenCV 3.1, Python 3.6 produces some incompatibilities. The ‘opencvtest’ is the name of the new environment which can be anything else also.

Step 2. Switch environment

source activate opencvtest

Get into the new environment to install OpenCV and use it.

Step 3. Install OpenCV module

conda search -c menpo --spec 'opencv=3*'

You may search for available builds for the OpenCV module and install the desired one. For this guide, as I said earlier I will be going to use OpenCV 3.1.

conda install -y -c menpo opencv=3.1

This will install the OpenCV 3.1 and its dependencies and you’re now ready to use the OpenCV.

You may now test a simple OpenCV program. The below program uses Haar Cascade classifiers to detect any human faces and eyes and draws a rectangle on the input image.

import numpy as np
import cv2

face_cascade = cv2.CascadeClassifier('path/to/haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('path/to/haarcascade_eye.xml')

img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
    cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
    roi_gray = gray[y:y+h, x:x+w]
    roi_color = img[y:y+h, x:x+w]
    eyes = eye_cascade.detectMultiScale(roi_gray)
    for (ex,ey,ew,eh) in eyes:
        cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
opencvtest.png
Harr-Cascade – Face Detection Example | Photo by Mike Wilson on Unsplash

Hope this will be useful for beginners who want to use OpenCV into their programs.

My thoughts on teaching: Easier said than Done.

Most of my understanding of teaching comes from my experience as a student. Thus I think, a useful pedagogical framework not only allows students to learn effectively but also a teacher to simultaneously reflect on his personal practice. I plan and organize the teaching units well in advance. However, I do like to go beyond the scope of learning unit at times. Having taught a variety of subjects (mostly engineering/tech. subjects) in both academic and non-academic settings, I’m learning to teach more effectively.

The most important learning according to me is that no matter how well you plan or anticipate your class, the chances are that it may not interest all students. Not because some may be uninterested, but as a student, some might not be in the right frame of mind to accept the class. It is a teacher’s responsibility to prepare the students to be ready for the class, or they would lose interest sooner or later. I advocate a very systematic and organized way of learning to inhabit discipline as it helps to channelise the focus. Conflict arises as it is unlikely many designers would agree with this statement — the unstructuredness in the design learning that enables the student to open up and think beyond boundaries. It is certainly arguable, but the point I’m trying to make is that it is equally important for the student to also learn the fundamentals while they are in the academic setup at least. Your exploration, however, could be unstructured. I believe a strong foundation is required to experiment. Very close to the previous statement, it should not be confused with teacher imposing his interests on the students but just exposing the students enough for them to see the glimpse of the subject. A teacher should never try to impose his interests on the students consciously.

The design graduates in India are already competing with the engineering graduates and vice versa. As a teacher, it is also necessary to empower the students to sustain themselves in the industry. The future holds for the people who appreciate and understand this dichotomy of making things. My core teaching style comes from here — Connecting purposefully one subject to another (and more often they are either Physics or Mathematics) while ensuring they don’t get intimidated. Some might ask why Mathematics? “Mathematics is the framework for abstraction and logic. It is the language to decode and design.” Besides being my interest, I believe it will empower design students to create more efficiently.

My classes are a mix of theory and hands-on activity, to engage and ensure that the students have a solid takeaway after each class. My teaching principles are —

  • to ensure leveled/plain field, to begin with.
  • to set expectations of my class.
  • to ensure that students understand the basics.
  • to encourage them to ask more questions.
  • to reduce math anxiety.

Apart from teaching, I also want to pursue research in my areas of interest while being in an academic setup. This setup, will not just connect me with students, but also with faculty from other disciplines, which I could leverage for my research. Though I still need to figure about how am I going to balance the academic and research work, so it benefits each other. Also, some of my thoughts here might appear naive as I’m just beginning and I will become more critical over time. The process of reflection that I have now might change in future as I progress.

Notes.

  1. Review and Suggestions by Swati Sharma.

Introducing Mathscapes Research

Flashback → 2008. I was already in awe of prime numbers and was quick (and naive?) to assume that this is possibly the solution to information compression. Already being acquainted with computer programming, I started to write algorithms to compress information using prime numbers and gradually realized why such algorithms are not practical enough despite being theoretically valid.

But the entire process made me curious sufficiently to be driven by the idea of optimal algorithms and computational complexity to start a company that will fundamentally create and design algorithms that are instrumental in the advancement of technology. And with this objective along with other two similar projects, I began Betaspark in the year 2008 and however, things always remained under the hood. Only after completing my post graduation, I was able to contribute more time on this and started explicating the long term vision and the philosophy. And while I was finishing writing the first draft of the vision, I thought of changing the name to reflect the philosophy and paradigm of the organization. It is now called Mathscapes. Following is the excerpt from the long shot vision that I have envisioned for Mathscapes.

Mathscapes design optimal algorithms with mathematics.

Mathematics is what I think, is the framework for abstraction and logic. It is the single most powerful language to decode and design. Constantly looking for the patterns that can help create better algorithms. They are at the heart of technology.

“Abstraction consists essentially in the creation and utilization of ambiguity.” […] “Logic moves in one direction, the direction of clarity, coherence, and structure. Ambiguity moves in the other direction, that of fluidity, openness, and release. Mathematics moves back and forth between these two poles. […] It is the interaction between these different aspects that gives mathematics its power.”William Byers (How Mathematicians Think, Princeton University Press, 2007)

Often the most simple looking problems are the hardest. Finding just a solution do not suffice – most of our resources are limited, and optimal algorithms allow better utilization of resources. This very point brings us to Mathematics – it sets up the foundation for us to theorize the patterns, conjectures, and design algorithms that are not just correct but efficient too.

Mathscapes’ pursuit is to transform the way the world engages with technology.

Technology is constantly changing the world. It arguably makes life better, evolves for what they think might be the ultimate purpose. It is the consequence of life. But if that is worthwhile or not, is another discussion altogether — That’s subjective. We are at the ascent of the exponential curve of the supermassive technology outbreak. How much exaggerating it may sound, it is inevitable. The question is how near is the Artificial General Intelligence(AGI) and will we able to coexist with it? And while this all seems a long shot, it’s worth it. Isn’t it?

As a User Experience Researcher, what is your action plan or steps to approach a new project?

This answer does not discuss any UX methods but highlights the process that I follow. UX research is very critical to the subsequent design process and thus is as much important as the design itself.

“Research is formalized curiosity. It is poking and prying with a purpose.”Zora Neale Hurston

Don’t get to the solution first!

One might have done similar projects before and might be knowing solutions to the common problems. However, do not hurry into finishing research and jump to design. Chances are one will overlook the important points. However obvious this may sound, one will still try to design solution due to client’s demand or tight timeline. Rather, the first step is to get a clear brief from the client. Also, this is not easy!

Debrief

Inflate the brief. Detail out the objective, intent, requirements and everything which is necessary for the research and make sure it is in conjunction with the client. Build an understanding of the client – get closer to the problem; this might help in strengthening the empathy. UX Research is a very exhaustive process if done in its fullest. Many times if the scope is not defined correctly, there are chances that one does not know where to end the research and that pushes the timeline.

Plan

At this stage, one should have everything to begin the research. Yes, the actual research has not started yet. One’s vision now should reflect the objective of this inquiry. On the other hand, he should list the sources of carrying out this research (such as technical papers, interviews and field trip). The plan will be the primer for the research – the process, methods, deliverables will be its ingredients. Now, one will find hundreds of techniques and deliverables for UX research, generalized enough so that he can apply them in the context, but sometimes it is not sufficient to follow the existing schema. They may need improvisation and planning here means thinking ahead and selecting what will be relevant here. Of course, there may be detours, and that is part of this process.

Observe and Research

However simple this may sound, this is exhaustive and goes mundane if the plan is not adequate. Don’t decide the solution or result before actually reaching there by the facts.

“We tend to be distracted by the voices in our own heads telling us what the design should look like.”Michael Bierut, Partner at Pentagram Design

The chances are that one will not be able to find if he is biased by himself. Peer reviews can be of help here. Organize and document the research and don’t be afraid of picking facts that may not sound relevant directly. The mode of the investigation drives the quality of the study, what information is from the target user and what from the publications or experts. Many researchers select the users based on ease of accessibility. Picking friends and family for the user study for the research who does not qualify in the desired target group should never be done. The sample size is another thing which is critical and should always have a basis. Also, It is hard to end the research because one may not know that if this research will suffice the intent set in the plan or not; and this is why that analysis of the research should happen simultaneously with the research.

Analysis

The analysis is often the final step; one should deduce all the facts collected till now into (valuable) insights and implications. The selection of methods will be based on the kind of research till now and don’t be afraid of applying multiple methods to the same observation to find hidden patterns. Stay away from personal opinions and in case if one finds a possible pattern but not enough evidence, go back to the research.

What is one trait you wish more UX designers had?

Only if I can mention more than one trait, I would say the already mentioned ones in the previous answers (Following article was originally written as an answer to Quora answer) — empathy, pragmatism, and ability to take criticism to name a few.

Now so they are already stated, I wish if UX designers have honesty. The fact that this discipline is so vast makes it incredibly difficult to become one person equipped with the knowledge that makes him the UX Designer — Human Factors, Ergonomics, Interaction design, Visual design and what not. Considering the vastness and depth, many would think that then there must be only a handful of UX designers in the industry. Contrary to this, there are more UX designers (at least they call themselves so) than ever, many who are either good at visual design or wireframing start calling them as UX designers. It is possible that one is only specialized in one or few of the above sub-fields but still call himself as UX designer but is it justified? Emil Lamprecht from UX Mastery sums up like this, “With new professions come new pitfalls, and being an often misinterpreted role, the job title “User Experience Designer” is becoming one of the most abused titles in the tech industry, full of fancy User Interface (aka, graphic) guys who’ve added wireframes to their portfolios and claim to be UX experts.”1

Perhaps this is one profession which is dominated by the graphic designers. In fact, most of the people think that Photoshop and Illustrator are what you should know to be a UX designer. The term UX dilutes with UI, and what results is often just about visual aesthetics and nothing more, and stating the design as “intuitive” just because it looks shiny. Many try to reason the decisions that they make after design. Please don’t put those golden spirals in your logo. That is not reasoning.

I should not even talk about User studies – extrapolating results from a focus group of three people does not justify anything.

Notes.


  1. 7 Signs This Person Isn’t Actually A UX Designer – UX Mastery, 7 Signs This Person Isn’t Actually A UX Designer – UX Mastery (accessed March 07, 2017). 

How does Function Generator produce Sine Wave?

While there are different kind of function generators which have different modes of generating waveforms, I will tell you how a typical function generator produces sine wave. It all begins with generating a triangle waveform. Yes, all kinds of waveforms can be generated by a triangle wave. This is called as Oscillator source waveform. This is created by continuous charging and discharging of a capacitor. A comparator is used to constrain the output in specific upper and lower bounds. The circuitry (usually current and capacitor size) controls the frequency and amplitude of this source wave.This triangular ramp can now be modified into any of the waveforms by introducing logical circuits into the former. The user can control the output function through the physical interface of the device and particular part of circuit gets activated to create the desired output. The triangular signal is fed into waveform shaping circuit which includes additional diodes/transistors which chip off the peaks and add needed rounded-ness to form a sine waveform estimation.

Astronomy: Why do Mars and the other planets seem as stars in the sky, having different colors, such as red?

Even the nearest star after Sun appears as a point disc with an ordinary telescope. So, light from far stars go through thick atmosphere of the Earth (refraction!) and appears as what we call as twinkling. However, light coming from a planet does not seem to twinkle. The thumb rule is that the closer the celestial body to us, the lesser it will appear to scintillate. It happens because they appear bigger than stars and light from edges of the planet cancel this kind of random refraction through the atmosphere.

Due to increasing city lights and pollution, the planets are appearing fainter and fainter. The pollution layer is juxtaposed over the space view and reduces the actual color information. This is like putting a translucent rice paper above a red apple. You will see it lesser red. That is why it is really difficult to point out the color of the celestial body. I believe you can see Mars and other planets in near true color when seen from places away from city lights and pollution.

An interesting fact worth mentioning about Mars is that, it sometimes goes further from Sun than Earth from Sun. This causes it to appear brighter or dimmer (based on proximity to Sun). When dimmer and low in the horizon, it might also appear to scintillate.

What can I do with Processing (Programming Language)?

Processing software was originally created for the use by visual designers and creators who are not acquainted with computer programming. Processing offered them a medium to use computing power to help translate their ideas into both tangible and intangible outputs. However, Processing software still needed them to code but in a relatively straightforward manner than existing programming languages. You are also free to choose your comfortable programming language to be used within Processing software. The default language is however Java.Processing was designed for ease of use and become non-programmer’s language to both create and providing the foundation for learning computer programming. Processing was intended for ease of use and become non-programmer’s language to both create and providing the foundation for learning computer programming.

Screen Shot 2017-07-11 at 9.52.56 AM
So what can you do with Processing software?

  1. You can create generative art. Lot of examples are shared on OpenProcessing
  2. You can write computer games. There are a lot of animation and physics libraries already available. See 2D gaming using Processing.js
  3. You can interface Processing with your Arduino board (or any other development board for that matter) and communicate with it. See Arduino Playground – Processing
  4. You can create visual representations of significant data which is still a lot tedious to do in existing graphic design software.
  5. You can prototype interfaces for both software and hardware. There are handful libraries that offer access to standard UI elements or create new UI design patterns to suit your need. See controlP5
  6. You can help your robot enhance with computer vision, machine learning capabilities. There are ports available for OpenCV on Processing. See atduskgreg/opencv-processing
  7. You can add those incredible visual effects on your website which is otherwise bulky using plain JavaScript. Processing sketches can also be written in JavaScript, plus they have a dedicated JS library. See Processing.js
  8. You can create some insane looking motion graphics for your next video or art project. See Processing on Vimeo
  9. You can connect Processing to your MiDi interfaces to help you create music compositions.
  10. You can integrate Processing with your installation art/sculpture. How about projecting an image on a non-planar surface?
  11. You can create animations/visual aids to teach and discuss your ideas with your team or to show your audience.
  12. You can easily publish your processing sketches as desktop apps (Windows, Linux, Mac), embedded in web pages and even as Android apps.

Your imagination is the only limitation. You can do things way beyond the above list. Processing website, in fact, maintains a list of featured projects which they call as Exhibition Archives.


This was originally written as an answer to a question asked on Quora here.

How Should Quora design its feed?

Quora is a great resource but certainly not the most well presented. I do not have much information on how Quora tailors the feed for her users, and all I know is mostly from my personal experiences while using Quora. Feed is one of the important assets (after content) to user experience here, and a great discovery tool. My scope of answer would remain about how might Quora design its feed in the future and not about any other revolving features.

Like most of Quora users, I’m also curious about many topics beyond my area of work and want to read the answers (more often than to write one). It was not much before when I simply used to follow almost every topic that Quora fits in between the questions in the feed.

My feed went lustrous day by day! It had content from countless topics and most importantly, I was learning something new almost every time I opened Quora. I used to keep scrolling and stop by the question that fascinates me. This spree continued till last year when I started realizing that either the quality of questions is diminishing or my feed is filled with utter nonsense (or let’s call them as things that does not interest me much) because of the 400+ topics that I followed since using Quora. I was required to scroll more and stop less because I was not finding the content interesting enough to hold me on. This started bothering me, and I started finding why I was fed the kind of content, which I did not intend in the first place itself.

I had this topic subscribed called Psychology of Everyday life and it has some great questions and answers by some of the prolific writers on Quora. But not much later, I started seeing questions marked with this topic which did not interest me.

I wondered if I actually subscribed a topic to get questions like this. This looks more like to be dumped into some other topic (may be Life advice) but cannot at the same time that it should not fall into Psychology of Everyday life either.

Like every other topic on Quora, it has its share of some great and some not-so-great content. But I’m not hinting about the quality of content foremost, but the facts that the content within topics also has a hierarchical structure, they also fall into sub-topics and I might want to see only some of the sub-topics of the parent topic that I had followed and not the rest. I checked Quora if it lets me personalize the feed other than following topics/writer. I found I can not do anything other than reporting/down-voting answers which I certainly don’t want to do because I don’t want to rate the content which I don’t have an interest in and for the sake alone to personalize my feed. This is the precise problem – Quora feed shows content from topics that I followed but does not let my personalize at a sub-topic level.

Quora may offer a “Show less of questions like this..” or unfollow a certain sub-topic within parent topic. Quora anyways offer to associate content with multiple topics and a context topic. I have not yet thought about how best we can solve this or may be, this is already on the to-do list of Quora product designers.

How did scientists come to know that there exist millions of galaxies in the universe?

This is tough to calculate. Fortunately, we have a method to estimate this value. To do this, scientists can observe a region in the sky and count the number of galaxies (with the help of computers) in that region. This observed region is called as sample region. Scientists can then estimate the number of galaxies in the whole sky by multiplying the number of galaxies in the first case, with the number equivalent of how many such sample regions would fit in the entire sky. This method is called as Extrapolation. It is the process of estimating, beyond the original observation range, the value of a variable by its relationship with another variable.

Now, you would say that this value might be incorrect because all regions may not contain an equal number of galaxies. Yes, that might be true. Extrapolation allows us only to estimate. The preciseness of the value relies on the size of sampling region. And yes, the value is only valid for observable universe.

While estimates among different experts vary, an acceptable range is between 100 billion and 200 billion galaxies, Mario Livio, an astrophysicist at the Space Telescope Science Institute in Baltimore.

Also, you might be interested in reading this: NASA – Hubble Goes to the eXtreme to Assemble Farthest-Ever View of the Universe. The same method can also apply to find out the number of trees on the Earth or even finding the total number of runs that a team would make during a cricket match.

What is the frequency of Cosmic Rays?

Their name might deceive you but they actually do not share a part in the electromagnetic spectrum.

“The term ray is a historical accident, as cosmic rays were at first, and wrongly, thought to be mostly electromagnetic radiation. In common scientific usage, high-energy particles with intrinsic mass are known as “cosmic” rays, and photons, which are quanta of electromagnetic radiation (and so have no intrinsic mass) are known by their common names, such as “gamma rays” or “X-rays”, depending on their origin.”

They are high energy charged particles and travel at about the speed of light. They may contain particles with multiple energies and hence it is difficult to point out specific frequency for the cosmic rays. The frequency decreases with increasing energy of the particles.

“If you were to plot “cosmic rays” on an electromagnetic spectrum, it would basically encompass x-rays and everything higher in energy (higher in frequency or shorter in wavelength). I personally would leave it out, since I don’t think it’s a correct usage of “cosmic rays” (but I don’t make the rules).”
Dr. Eric Christian, NASA

So, the frequency at which cosmic rays must be operating would be anywhere more than 30EHz.

Mapping my life

As a part of Master class on Mapping our lives at Srishti, we were asked to create a work with given materials that somehow connects to our lives. I had a choice of an array of materials to choose from, to make my work. I gave a thought about my life and came with a very minimalistic idea to depict the number of peoples who have influenced me in one or other way. I chose to draw a lot of hands which symbolized the idea of many people blessing me. The very idea of this work comes from the fact that I’m not only living my life, instead, it is a blend of many other lives, the lives of all the peoples who have influenced me, my parents, my friends, my teachers who always supported me despite any kind of situation. The canvas is symbolizing myself who is fortunate enough to receive the blessings from all the people.

tumblr_inline_mqpivnj4Gl1qz4rgp.png

The workshop was very engaging and helped me thinking out of the box in a limited duration of time. I explored the vitality of a concept which is so essential to execute. The choice of materials is another factor which highly differentiated one from another. I liked the idea of giving the same task to the whole bunch of participants and then explore how everyone has come up with their own perceptions and ideas to represent their lives. More than doing by self, I was more keen to observe the methodologies that others would adopt while working. I learned the importance of both, the foundation of the strong idea and its execution. Many people do get a good idea but fail to express because of lack of proper execution of their idea. The best comes when an artist is able to articulate his original idea through his piece of work, which is only possible when it is executed properly. I rate myself with not so good ideas and fairly good execution of ideas. This workshop also gave me chance to put my work in front of other peoples which in turn brought a lot of appraisals and criticisms, which is a very important tool to evolve as an artist. I would seriously consider myself to give thoughts on each criticism which will help me improve.

Healing through Space Touch

Being fascinated by space since always, I decided to take part in Srishti Citizens Space Agency. Joanna Griffin leads this project. We were all clueless about what’s going to happen in this project, and I guess Joanna wasn’t ready to reveal that either. Things will unfold by the time, and hopefully, I will be able to contribute to the team in creating something amazing out of this project.

Class of Srishti Interim 2013 - Srishti Citizens Space Agency
Class of Srishti Interim 2013 – Srishti Citizens Space Agency

I wasn’t aware of the objective of this project but still chose this because I assumed it will be good since space is something which always caught my attention. Joanna started the first day with asking few questions about space and its history with us and told us about many interesting facts about human exploration of space. After that, Joanna asked us to list out our duties as being the citizen of a nation. We listed out these functions on the paper and discussed everyone’s points. We were then given with newspaper, out of which we were asked to categorize news articles into nature, technology, and society. After doing that, everyone read out what the news article is about and what category they think it can fall into. We were asked to justify why we believe that it should fall under that particular category and why not the other one. We were also given with a blank chart paper on which we were supposed to write the question that arrives from the news article. We chose the news article about people drowned in the river Ganges during the religious offering. This article does not involve any bit about technology, and hence we wrote the question as for how can we use technology to ensure the safety of the pilgrims who come to take a dip in the river Ganges.

In the past week at Srishti Citizens Space Agency, we chose a conceptual direction which holds the potential to touch and enhance people’s lives through space technology. We call it as ATM+, and this is about enhancing the existing network of telemedicine in India. On our second visit to Vishweshwara museum, the curator introduced us to the satellite based systems and how it is helping in Tele-education and Telemedicine in India which helped us understand the details of the telecommunication technology.

There are over 6,00,000 villages in India, while 80% of Indian villages have at least an electricity line, just 52.5% of rural households have access to electricity. And same is with the case of basic health amenities in the remote locations, they are sparsely located around the remote areas. Connecting remote areas with the internet seems to be a far-distant dream. However, the low-cost VSAT antennas guarantee to provide satellite based connectivity to remote places, and we intend to use this kind of network to realize ATM+ which we think has the potential to upgrade the current Telemedicine system in India. ATM+ aims to explore the shortcomings of the existing system of Telemedicine in India and projects to deliver round the clock Elementary medical services to the people of remote places in India where hospitals are not around, using the advanced satellite based network.

We have started researching on the existing telemedicine networks and intend to develop a semi-working model of the prototype which we can hopefully exhibit at Vishweshwaraya Museum, Bangalore to gather people’s opinion on this. Also, I would like to mention about the tools/methods which I learned during my last semester in user centered research are coming handy during the development of this project.

Stuart Hall Representation – Review

Why do we call a tree as a tree? Although all trees don’t appear exactly similar, we still call them as tree. The reason behind this is not very easy and is very well explained by the Stuart Hall in his book on representation. According to him, representation is what connects meaning to the languages and which later forms the culture. Representation generally serves the purpose of producing meaning to the object and exchanging these meanings with other peoples. The concept of representation is not as easy it appears, it is about how language works and how people forms meanings. Signs, symbols, words, films, paintings, music is all what that gives the power to anyone to represent something. Without those mediums, it would be impossible to communicate something to someone. For instance, the symbol of caution in the yellow background is widely understood in a similar way around the world. But why would everyone understand it in a same way? I didn’t go in another part of the world to tell other peoples what it meant? They didn’t come here either. It’s all because of representation that forms languages and which forms culture. And the culture is not constrained by a time frame; it runs from ages to ages and is responsible for influencing our minds with particular thoughts about everything what we see in our culture.

Representation theory is broadly classified into reflective, intentional and constructionist theory. According to the reflective approach, the meaning of the object functions like a mirror, to reflect the true meaning that already exists in the world. In other words, reflective approach explains that language imitates the true meaning of the object. The intentional approach is more like a manipulative approach where we understand what author wanted us to understand. Simple example could be the news coverage of a event by a journalist, he chooses what he want others to understand, it might be real or altered and we can never be sure whether it is real or not. The constructionist approach has most significant impact and has two models, one by Sassure called as Semiotic and second one as Discursive by Foucault. The constructionist approach is more about constructing our thoughts by conceptual map stored in our brain and assuming other things about the object. Representation has three functions – the first one is to produce the meaning using the language, describe/depiction of the object and third one is to symbolize something. To understand the idea of constructionist theory, you can assume a random painting, and you will realize that although how much you try to understand the idea of that painting, you can never be sure of what was going into painter’s mind when he was drawing.

The main aim of representation is to accurately describe or depict the object and also helps to create a mental model in the user’s brain so that he can identify the same object in the future. We store information about meanings as conceptual maps that links all information about the objects. The object could be a real one or an imaginary one like angels, demons, and myths. The map also stores additional details and this is how we make meanings of language and helps in communicate/exchange of thoughts. Stuart Hall compares the importance of the object and its concept. He tells that the concept of objects is more important than the object itself but first givers meaning and latter gives action. There are two systems of representations – first is called system of concepts which works on mental representation in mind and depends on concepts of already existing thoughts or ideas. The second is about constructing complex meanings and abstract ideas. A conceptual map contains all possible information about the object which person has figured out and is different for each. That results in different people comes up different interpretations but we still can communicate in roughly similar way.

A culture includes shared meaning which is responsible for shared conceptual maps for the c within that culture. We need a shared language to be able to represent and exchange them. A Conceptual map also contains information about sounds, images, signs, pictures and links.

Why Reflective Practices are Important?

Reflective Practice is something that empowers the practitioner to express his works through words. I will begin with my understanding of Reflection and then the history of reflection. I will finish by summing up the importance of reflective practices.

By three methods we may learn wisdom: First, by reflection, which is noblest; Second, by imitation, which is easiest; and third by experience, which is the bitterest.Confucius

While on working, I never really reflected on my works. To be true, I never even knew that something called Reflection exists or I would have even disregarded its need if I got to know this before. This is just the right time I have been introduced to the Reflective Practices. Although I never understood its importance before, I’m learning its significance now and would definitely like to explore how it can benefit me in growing in a better artist.

Not much ago, I attended the Day 1 of Reflective Practices class at Srishti, and the instructor began with asking everyone’s perception about Reflection. It was then I realised how different everyone is from each other. Interestingly, everyone has different thoughts about reflection and all of them seemed true to me. This made extremely difficult for me to define what precisely is reflection.

Reflection is a process of critically analysing own work and expressing every minute thing from the piece of work into words. Every artist tends to like his work and thus it makes really difficult to critically analyse own work rather than other’s work. Reflection also helps the practitioner discover their reactions and actions, mistakes then often commit and henceforth, help them learn from their mistakes. One can never become a master of something overnight, the understanding deepens with constant practice and curiosity over time. Reflection ensures our the correctness of our thought process since we can always look at our previous reflections and understand why we only chose this over that. Reflection can also act as a parameter to measure one’s growth over the time. A Practitioner must be unbiased when he writes reflection so that he can reveal his true.

Let me now go into the past and see how reflective practices itself evolved over the time. The reflection did exist from a long time back but it was Donald Schön who first introduced it in his book The Reflective Practitioner in 1983. There are several models of reflective practices by many theorists and I will take a dip into each one by one. The first such model was believed to be by Argyris and Schön in 1978. They pioneered the idea of single and double loop learning. In the single loop learning, the practitioner continues to rely on same strategies even after occurrence of an error whereas the practitioner modifies his strategies or techniques in the double loop learning. Another such model was developed by Kolb in 1975 who highlighted the concept of experimental learning and the transformation of information into knowledge. The next one is by Gibbsin 1988 who did structured debriefing to facilitate Kolb’s Experimental Learning Cycle. Gibbs’s structure included initial experience, description, feeling, evaluation, analysis, conclusion (general and specific) and the personal action plan. In 1995, John structured the model to gain greater understanding with act of sharing with a colleague or mentor. Another leap was taken by Brookefield in 1998 when he proposed a model which research assumptions by looking from 4 lens, they are – the lens of their autobiography of learners of reflective practice, the lens of colleague’s perception, the lens of learner’s eye, the lens of theoretical, philosophical and research literature. In 2001, Rolfe formulated a model based on a simple cycle of 3 questions – What?, So what? and Now what?

Reflective practice brings a self-awareness in the practitioner about what he is doing which in turns help him to improve over the time. The practitioner also assumes responsibility for his own learning and develop thinking skills for enquiry. It helps one to understand his strengths and weaknesses. It will also help to know the areas where one thinks he is weak. Besides reflection by oneself, reflective practices also enables others to look at the reflection and suggest their views on our work. To sum it up, Reflective practice can be defined as thinking and evaluating what a practitioner do and ask others to look at his reflection to point out suggestions to help him improve. Be it be a artist or not, Reflective practices are extremely useful and one should definitely consider doing it.

References:

[1] UCD Dublin Teaching and Resource on Reflective Practices
[2] Wikipedia Article on Reflective Practices

Prime Numbers: The Building Blocks

For as long as I remember, I always had a deep interest in prime numbers. And for that, this certainly makes the cut to be the first post here. As I’m writing the first post, I’m unsure about the tone and content of this blog in future, but would like it to not just have research notes but also about my first-hand experiences.

Prime Numbers are the building blocks of the numbers and perhaps the processes of the Universe, as I like to think. They indeed have occult properties and some very profound applications in science and nature. However simple their definition may be, we still do not have a formula for it. I find the fundamental theorem of arithmetic fairly straightforward and the fact that only primes can not be expressed as the product of other (positive natural) numbers, is a very intuitive implication that I think even non-mathematicians would be able to understand. Prime makes the composite numbers. But, what are primes made up of? Are prime numbers the result of how we framed the rules of Maths to be? Or did it always existed? Well whether or not if it is real, it has irrespectively awakened my curiosity to study it and perhaps define a formula. How can something that appears simple and yet not understood entirely? Aren’t primes transcendental?

That being said, I’m sometimes put down by imagining the incredible literature available on the Prime numbers, which is already studied for more than 2000 years. The earliest surviving records come from the Ancient Greeks! Imagine what could be possibly appealing about these numbers for the ancient Greeks? What might have been their motivations?

sieve_of_eratosthenes
The sieve of Eratosthenes is one of the ways to find all of the smaller primes. It is named after Eratosthenes of Cyrene, a Greek mathematician.

“There are two facts about the distribution of prime numbers of which I hope to convince you so overwhelmingly that they will be permanently engraved in your hearts. The first is that, despite their simple definition and role as the building blocks of the natural numbers, the prime numbers grow like weeds among the natural numbers, seeming to obey no other law than that of chance, and nobody can predict where the next one will sprout. The second fact is even more astonishing, for it states just the opposite: that the prime numbers exhibit stunning regularity, that there are laws governing their behavior, and that they obey these laws with almost military precision”.D. Zagier at a lecture (1975)

Intrinsically, I looked for the hidden visual model but never could able to get past any existing research. It is incredibly distracting as it appears to follow an unknown rule. Prime numbers have indisputably kept me occupied for many years now. And with the computers we have now, it is probably going to be the very exciting era for mathematical research and a significant leap is not so far away.

I began looking at the sequence and what a fantastic puzzle this is! The distribution despite following a rule does not let us pinpoint the next occurrence of prime. Is Mathematics advance enough to write the solution? Or it will remain in the class of hard problems which cannot be otherwise solved by non-brute force approach.

“Mathematicians have tried in vain to this day to discover some order in the sequence of prime numbers, and we have reason to believe that it is a mystery into which the mind will never penetrate”.
Euler

A prime number is a positive integer p>1 that has no positive integer divisors other than 1 and p itself. And a method for determining whether a number is prime or not is called as Primality Test.

prime-def-1

While it’s quite simple to identify small prime numbers, the problem appears when number grow large as it then needs to be checked far more times to decide its primality. To start with, trial division is the simplest method to test primality where given number is checked for its divisibility by numbers smaller than itself. function

Lets consider function ω(x) which represents the number of distinct prime factors of x [3], which can be defined as —

omega-1.tex

With this,  set P can be now rewritten as (for the sake of understanding the implementation) —

P2.tex

This can be implemented (in Python) to write primality test as —

def omega(x):
    distinct_factors = 0
    for i in range(x):
        if x%i == 0:
            distinct_factors += 1
    return distinct_factors

def is_prime(x):
    if x == 1:
        return False
    if omega(x)==2:
        return True
    return False

This is of course not efficient. The algorithm takes at least x steps to conclude primality. The omega(x) keeps counting the distinct_factors even after exceeding 2, which is not necessary because it already means that the given number is COMPOSITE. To remove those extra steps, we can rewrite the definition of P where we no longer count the ω(x) but check if x is divisible by all the positive integers more than 1 and lesser than x. In fact, the definition will still build the same set but only be implemented in a different way.

P3.tex

def is_prime(x):
    if x == 1:
        return False
    for i in range(2,x):
        if x%i == 0:
            return False
    return True

Now by removing 1 and going only till x-1, we can conclude as soon as we find any number perfectly dividing the x, without actually keeping track of factor count.

lemma1.tex

p4.tex

The implementation will now have a much lesser running time.

def is_prime(x):
    if x == 1:
        return False
    for i in range(2,sqrt(x)):
        if x%i == 0:
            return False
    return True

My coding style is largely influenced and driven by Mathematics and in my opinion, this makes it much easier to implement. In future, I wish to write and create artifacts for illustrating the parallels largely between Mathematics and Coding for – demystifying coding for math enthusiasts and exercise coding to improve myself.


Notes.

  1. Havil, Julian (2003), Gamma: Exploring Euler’s Constant, Princeton University Press, ISBN 978-0-691-09983-5
  2. Riesel Hans. Prime numbers and computer methods for factorization, 1994.