Hello and welcome to my blog! My name is Negar, and my preferred name is Nikki. I was born in the south of Iran, in one of the warmest cities on earth! When I was a child, my family and I moved to Tehran, and I grew up in beautiful Tehran (a few pictures here if you have never been there!). I went to school there, made amazing friends, created unforgettable memories, and completed my bachelor's degree at one of Iran's premier universities, Iran university of Science and technology(IUST). After graduation, I decided to explore the world and moved to Montreal to pursue my master's degree in Robotics. Why Robotics, you might wonder? Well, Robotics encapsulates everything I find exciting: programming, and the challenge of imbuing machines with human-like capabilities It's a field where my love for programming and mathematics converge, offering boundless opportunities to combine analytical thinking with creative problem-solving.
Master's Thesis
Programming
Python & Django
Python is my preferred programming language, owing to its dynamic
typing and comprehensive library documentation, which facilitate
rapid development and troubleshooting. As an object-oriented
programming language, Python allows for the creation and
manipulation of objects, making code organization easier and aiding
in its reusability. Additionally, Python's sensitivity to
indentation makes it easier to maintain a neat and consistent coding
style.
Within various machine learning projects, I have extensively
utilized Python. Its flexibility and versatility have proven
invaluable in tackling complex data analysis and modeling tasks
effectively. Moving to backend development practices, Django emerges
as a prominent choice. I have used Django for numerous backend
projects and appreciated its structured and organized nature.
The Model-View-Controller (MVC) architectural pattern, though
initially challenging, becomes more manageable with practice.
Django's high-level abstractions simplify many aspects of web and
mobile application development. However, it's essential to recognize
that these abstractions may obscure fundamental concepts such as URL
routing, database interaction, and form handling. Therefore,
supplementing Django's abstractions with a solid understanding of
these underlying principles is crucial.
JavaScript and React Native
React Native has been my go-to choice for cross-platform mobile app development. I've developed several mobile applications using React Native, which can deliver native-like experiences across both iOS and Android platforms. Its modular and component-based architecture has streamlined the development process. I have always used function-based React Native components as they help a lot in the state management of your mobile app. However, one aspect that occasionally poses challenges within the React Native ecosystem is its heavy reliance on third-party libraries and dependencies. While these resources offer a wealth of functionalities and augment performance, managing dependencies can become a tedious task. Moreover, compatibility issues with essential libraries occasionally arise.
Unity
I chose Unity for game development due to its cross-platform compatibility and specialized features tailored for game creation. One aspect I really appreciate about Unity is its comprehensive documentation, which makes it really easy to learn and work with, even with no previous experience. However, a drawback I encountered is the large software and project size, which eventually led me to uninstall the software from my computer. Unfortunately, this resulted in the inability to update my games, eventually leading to their removal from app stores.
MATLAB
MATLAB has been an invaluable tool in my toolkit for programming and numerical applications. I used MATLAB during my master's for my thesis(MATLAB programming and ANFIS toolkit) and for optimation course projects. While its ease of use and interactive environment are advantageous, MATLAB's proprietary nature and licensing limitations can be restrictive in certain scenarios. Nonetheless, its robust toolboxes and built-in functions make it a preferred choice for researchers and engineers.
For more code samples, you can visit my GitHub profile.
Game development
Machine Learning
My Favorite Recent Readings-Books
Misbehaving: The Making of Behavioral Economics
This is the best book I have read in recent years; I completely
enjoyed it because it was written in simple language and was
understandable for people with little knowledge of the economy.
One thing that really stood out to me was how the book
introduced concepts like Mental Accounting, Endowment Effect,
Sunk Costs, Fairness Effects, and Prospect Theory.
Despite the complexity of these concepts, the book did a great job of explaining them with stories and experiments, making them easier to grasp. However, when it came to discussing the practical applications of behavioral economics, the focus was mainly on "nudging." Nonetheless, the examples provided in the book were engaging and thought-provoking, sparking a newfound interest in behavioral science and its implications for business. I particularly enjoyed the exploration of anomalies, especially those in finance, which highlighted how behavioral economics challenges traditional economic theories. Overall, Misbehaving served as a gateway to understanding the fascinating world of behavioral economics, leaving me eager to delve deeper into this field.
HBR's 10 Must Reads on Design Thinking
This is the first book I read about design thinking, and I find
the whole concept to be extremely interesting.
In particular, I learned about openIDEO, which is truly
impressive for me.
The Cold Start Problem: How to Start and Scale Network Effects
This is a good book to learn about the network effect, and it gave me a structure to think within. Especially the example of meerkats in the beginning of the book got me thinking about the factors that make a network thrive or collapse and how the population within a network can affect its health and security. (And probably why people tend to download an app if they see a higher number of downloads beside its name, because that might mean there is a certain level of trust and security within the app.) Another important lesson I learned was that a network often has sides, and one side of the network is usually the easy side. In order to build a healthy and thriving network, especially in the beginning, the focus should be on attracting and retaining the hard side of the network. I learned that the solution to "the cold start problem" is understanding how to add a small group of the right people, at the same time, using the product in the right way. To do so, you need a simple value proposition and a focus on the smallest network that can possibly make sense, then do whatever it takes, ignoring the objections of market size, scalability, or profitability. Overall, I enjoyed reading The Cold Start Problem, and I'd recommend it to any new founder, especially those who are more closely affected by the network effect.
Poor Economics: A Radical Rethinking of the Way to Fight Global Poverty
Reading "Poor Economics" was an eye-opening experience that
challenged many of my preconceived notions. For example,
regarding public health and the allocation of resources, I
reevaluated my beliefs about what services should be provided
for free. Previously, I believed that essential services like
dental care should always be freely accessible to everyone.
However, after reading this book, I've come to realize the
importance of prioritizing preventive healthcare over reactive
measures as they are more effective and less costly. For
example, the emphasis on regular check-ups, etc. (These are, of
course, not mentioned in the book but just MY UNDERSTANDING of
the subject).
The Young Entrepreneur: How to Start A Business While You’re Still a Student
This is a good book for someone who has no idea how to start a
start-up. It is comprehensive and I recommend it to anyone about
to start their start-up. The only thing I think was missing was
more details on fundraising. Who should founders talk to? Where
do they start? How do they find an investor to talk to in the
first place? etc.
-Does that problem actually exist?
-Is the problem important enough?
-Can "we" solve the problem?
The 22 Immutable Laws of Marketing: Violate Them at Your Own Risk
I randomly picked this book from the library shelf while looking
for something in marketing, and it turned out to be a good
choice. The book is old, so I think the once immutable laws are
now very mutable! Examples include all the big companies like
Meta, Amazon, Google, etc., and their expansions into various
lines, not focusing on one product or service. Some laws seemed
repetitive to me, and I wondered why they didn't limit their
list to seven items (as mentioned in the book that the human
brain can keep seven items), as they easily could have (To me,
the law of leadership, category, and the law of focus were
basically the same thing!).
1-Bench marketing does not work, be the leader (even if you need
to set up a new category you can be first in). People should use
your name for your product or service. 2-Better to be 1st in
mind than in the marketplace.
3-More money is wasted in marketing than any other human
activities!!
4-People do not like to change their mind. Once they perceive
you one way, that is it!
5-People make their buying decision based on second-hand
perceptions!
6-Own one word.
7-Be mindful of which rung you occupy on the ladder.
8-In the long run, every market becomes a two-hour race.
9-When shooting for 2nd, do not be better, be different (even
opposite).
10-Category will divide over time.
11-Put a new brand for your new product!
12-Long-term effects can be the exact opposite of short-term
effects!
13-Sale decreases business in the long term, by educating
customers not to buy at a regular price.
14-Do not be a generalist!
15-The apparent target of your marketing is not the same as the
people who will actually buy your product.
16-The best way to maintain a consistent position is not to
change in the first place.
17-When you admit a negative (must be widely perceived as
negative), the prospect will give you a positive!
18-Put yourself in the shower of the customer, do not impose
your view on the situation, and do not lose touch with the
frontline.
19-Try to dampen fads into trends. Never totally satisfy the
demand.
20-You need money to get or stay in the mind of a prospect.
21-You can share your money by franchising it.
22-Spend "Enough".
Since my takeaways numbered 22, I now acknowledge that perhaps
there was a genuine need to categorize the rules into 22!!
HBR's 10 Must Reads on Emotional Intelligence
The book mostly talked about emotional intelligence in
leaders.
2-Emotional intelligence in the teams is important and it is not
necessarily the outcome of the emotional intelligence of the
member, but rather the outcome of the factors such as trust,
sense of identity, the habit of hearing everyone's perspective,
and whether they feel more productive if working together.
3-Incivility in company costs so the leader should represent
civility by modeling good behavior, asking for feedback, hiring
for civility, creating proper norms, rewarding/penalizing
good/bad behavior, and conducting post departure interviews.
4-There will be black days so resilience is important. Hire for
resilience and create resilience by facing harsh reality instead
of being optimistic or pessimistic (people slip into denial as a
coping mechanism), find meaning (just because you found meaning
once doesn't mean you will find it again--businesses that
survive have a purpose beyond just making money--having value is
more important for a company than having resilient people), and
improvise by making do with whatever is in hand.
5-Manage negative feelings by recognizing repetitive old
thoughts/stories, labeling them as it is (I have this thought
that../I have this feeling that...), accepting them by letting
yourself experience them, and finally acting on your values
instead of the negative thoughts and checking your action with
your long term goals. 6-Create the habit of seeking feedback and
seeing it as an opportunity to grow instead of fearing it and
then take a step-by-step action toward change.
7-Value interpersonal skills and think before promoting. If the
person is not ready for a promotion, let them go through
360-degree feedback, interrupt the ascent, and involve them in
cross-functional assignments that build needed skills.