Category Archives: Uncategorized

Happiness

I understand that happiness is just a fleeting emotion.

But it’s been so long that I’ve felt anything even remotely close to happiness.

Sometimes I believe that the problem is within me, and I try to improve. But it’s difficult.

Other times, I wonder if some people are just bound to unhappy. That it’s just luck.

Either way, I hope I can look back at this post in a few years and things are different.

What I would tell to my younger self

I would tell him to spend more time with people.

I would tell him to not think too much about money. I would tell him that I am now living comfortably, with a lot of freedom. I can buy any thing I want, I can eat whatever I want whenever I want, I can sleep whenever I want, and that none of it matters. I would tell him to never get too comfortable, and to keep moving.

I would tell my younger self to never stop reading books. I would tell him to never get hooked to TV shows. I remember long ago, when I used to pick up those black binded books from the library and finish them within a few days. I could never do that now.

I would tell him it’s okay to be passionate about computers, but that he doesn’t have to have a laser focus in one thing. I would tell him to try to live a more balanced life. I would tell him to not overthink, or to be too sensitive of what others say. I would tell him to work on his social skills a lot more.

There’s so many more things I would like to tell, but I guess I’ll end it here.

Other parts of my life

These days I find it so hard to work on anything other than computer stuff. I really want to work on myself, but the only productive thing I achieve throughout the day is something to do with code. I feel like I just don’t have the energy to do anything. For example, I want to spend a lot of time exercising, but the most I can manage is some light stretching, that too, not every day.

There was a time in college, during my second year, that I was super productive in many different ways. I used to go for swimming early morning, then for college lectures, then I used to go for Japanese classes in the evening. I used to spend a lot of the time studying and working on lab work, assignments, etc.

I was in a film-making club in my second year and then in a computer hacking club in my third year, where I spent so much time learning how to hack through CTFs. When I couldn’t go for swimming, I spent time playing tennis with a friend. And when both tennis and swimming were out question, I did yoga.

And it never felt tiring. I had fun while I did all these things.

I like to believe that I am a personal growth person. I would rather work on my physical and mental health, than work on making excess money. That’s just who I am (or rather, was). And I don’t know how to get out of this rut. Every day there is a moment of hope, when I do something for my personal growth, and then that hope disappears as I collapse into the bed.

I’ve read countless things online about the situation I’m in. I don’t know whether I’m in this because of the pandemic, or if I was bound to end up this way sooner or later. I do think that the pandemic is a huge factor, since I haven’t been able to play any sport because of it. The options are limited and I’m personally not too fond of the gym.

Anyway, that’s it for my rant. As for next steps, I believe one thing that is going to help me is planning my day. I used to do that a lot. I learnt it from a book called “How to be a Straight A Student” which had some real gems, but overall wasn’t that good of a book. Anyway, that book had a section in which they told you to “plan every minute” of the day. I guess that’s what I’ll have to do now.

Making two lists of things helps: one for things I have to do everyday (learning a new language, going for a walk, etc.), the other for things that just appear out of nowhere (buying a handwash, doing laundry, etc.) and then you just use the items in those two lists to plan your day.

Let’s see how it goes.

Ciao.

The world needs to come together

Sometimes I feel like there’s just so much pointless division in the world. I am no John Lennon preaching that there should be no countries, but I certainly feel like we could do better in how we treat people.

I used to feel that with my generation, people would finally not care too much about this kind of stuff. But, on the daily I see things on the internet that make me lose hope. There is just too much hate due to differences in race, religion and gender.

I’m totally understanding of conflicts regarding ideologies. For example, there will always be people who lean towards socialism vs. capitalism, there will always be rationalists vs. mystics, etc. There will be conflicts as long as we have a brain to think.

But hatred towards someone just because they have a different skin colour, or because they have a different set of reproductive organs *blows my mind*. Yes, it is a part of the human experience to judge. You can dislike a group of people, because you don’t like something that they do. But I don’t see how it gets generalized and turns into hatred. What truly irks me is pure hatred.

But, as with all things, the bad parts are over-represented. In my experience, there are way more people who are good and kind and loving. I also feel hopeful for the future. The connectedness that we have because of technology will have a huge part to play.

Creator’s dilemma continues…

So in the last post I wrote that when you are creating something, you go through a phase where you ask too many questions and you should just try to push through that phase (as it is mostly just our mind making excuses). Today, I tried to continue making that web browser I was talking about, however, I just couldn’t get myself to do it.

I got overwhelmed by the amount of new information that I was supposed to soak in, and eventually, I gave up. Then I started asking myself: should I make it in some other language? Should I make some other project in this language (Rust)? Should I make some high-level project? Should I start making websites or something?

I don’t know what to do honestly. This is partly why I used to love security work instead of development work. In security work, you don’t have to make anything, you just look at things made by other people and see if they made any mistakes. Then you write a Python script to demonstrate that mistake and voilà. But honestly, I am kind of tired of security work as well. I do feel that the need to create something is stronger in me, than the need to hack into something.

But even when you are talking about creating, there are so many things you could do apart from web browsers. Sometimes I feel that systems programming gets too much into the weeds. Sure, making your own web browser or operating system rocks as a first experience, but do you want to keep doing it again and again? I don’t know.

I love first principles and whatnot, but without some heavy guidance (like in the nand2tetris course), it is overwhelming. I feel like taking a break from assemblers and emulators and web browsers and operating systems to work on some high-level stuff.

So I don’t know what I am going to do now, but it’ll probably be something less to do with the extremely lower-level aspects of computing. But who knows, my opinions change on a daily basis. I do feel however, that if I spend a lot of time developing actual applications, it will help me a lot in understanding computers on a deeper level.

The creator’s dilemma

When I decide to create something, I always end up overthinking my decisions. For example, recently as I was trying to build a web browser, I wasn’t able to settle to any one method of going forward. Instead of actually coding stuff, I spent a majority of my time just thinking about the right way to do things.

When you are building a web browser, what are you really building? By a web browser do you mean the HTML and CSS renderer, or the JavaScript engine? Which language are you going to implement it in? What if somebody has already done it? These questions are easy to answer, but time and again I see myself reaching back to this part of my brain.

Some harder things to decide are what is considered as cheating? Do you want to learn everything from first principles? But if you have already done something similar before, can’t you just use a library to do that for you? But what if that library doesn’t do exactly what you want and also adds a lot of bloat to the project? When you are building a web browser, do you also consider stuff down to the network layer? Or do you just abandon your web browser project and start making a network stack? Haha.

The typical solution to these issues is to just start: works 100% of the time. So whenever you are building something and your mind drifts to the shiny new thing, or you start to overthink your initial commitment, just tell yourself that this phase is absolutely normal and that you need to move past this phase. Then, proceed to do actual stuff and as soon as another question pops into your head, just eliminate it (I don’t know how, but just try to stop thinking about the question).

Doing actual stuff doesn’t mean not planning. Planning also comes under doing stuff. But make sure you are moving forward. Directly jumping into the code without doing any research is also bad. There is a fine line between planning for work and planning for filling up time.

Why I decided to blog here

So I was looking at this post that I found on Hacker News, and the post itself is very good and in-tune with what I think about grad school (or perhaps any structure/institution) but more importantly I realized how cool it was to use a blogging platform.

I already have a static website. However there is no way for people to comment on there. Also, I am usually quite reserved when it comes to my blog posts and I do a lot of drafts, etc. whenever I am writing something new. I wanted another space where I could just write whatever I want without thinking too much about it, since I do feel like writing a lot.

So, if you know me because of hacking/programming stuff, this blog won’t be a great place to be, this is probably gonna be more like an online diary. Also, it feels cool not to have to write in barebones html lol.

I first decided to use blogspot, but abhaynayar.blogspot.com was already taken (probably by me, I couldn’t find any linked account) so I decided to come here.

Anyway that’s it for now, I’ll come and rant here the next time something happens.

Tchüss.

Things to do in software

Many a times I am overwhelmed by the infinite number of things I could be making in the realm of software and end up making nothing at all. This post majorly focuses on what I think is the best way to be good at software without wasting time going in the wrong direction.

Well first of all I will type down four broad and popular things you could be:

1 – Mobile App Developer
2 – Web Developer
3 – Game Developer
4 – Software Developer

Now, most people will be able to tell what they want to do out of these 4 within a minute. So go ahead and choose one thing that you ultimately want to be. You can like two things but it is best for you to focus.

Anyways. Now that you have chosen the field that you excites you the most, I suggest that you should get a lot of current knowledge about that field. Sometimes we jump right into something out of excitement without realizing the amount of time and energy we are wasting. For example, sometimes we start learning a language or a framework which is no longer popular. So do remember to do a thorough background check of whatever field you are going to jump into, otherwise you will use up all of the energy from your excitement into something that is no longer needed in the world.

So after you get a good sense of where to head, you start off by making the most practical thing, which can be made through least amount of skill. And since you have Google at your hands, such projects won’t be hard to find. Make something that you are going to use everyday and make it even if it has already been made. The reason you should do this is because it is very very difficult to be consistent in coding. If you have a constant reminder to tell you that coding is useful, you won’t give up easily.

But don’t get stuck at something, especially in the beginning. Do not think that if you ask stuff from others, you will get weaker. Just don’t ask consistently but when you ask do make sure you understand it well.

Formal education is also beneficial and if you aren’t in it for the grades, there is nothing like it. The best thing about formal education is that you are given direction without putting in much effort.

The four things that I stated in the beginning require roughly the same amount of raw material. That is a computer and an internet connection. Otherwise they differ only in the languages. For mobile app development you need Java for Android and Swift or Objective-C for iOS. For Web Development HTML, CSS, Javascript, some server side languages, and some frameworks. Do remember that for web development, a lot of new tools are coming up, so don’t get distracted by them, but do keep an eye open. For game development, you need to learn about game engines and a language like C. For software development you need languages like C++, Python, etc.

Even one language takes a lifetime to master, so you need to set your goals before you get started, whether you want to be a generalist or a specialist. You can also be a generalist in a specific field or a specialist in a generic field, so that’s up to you.

In the end it is all about what really interests you because then only will you be able to make wonderful things.

Macbook 12 inch

I just purchased the new Macbook 12 inch which is also known as the retina macbook. It is infamous for having just two ports. But what might surprise most people is that one of the major reasons why I bought this notebook is just due to the less clutter it has. What a wonder it is to look at. Of course I wouldn’t recommend it to power users, but for people who want to code or maybe browse the internet with the added advantage of this ultra thin build, fan less cpu, individually backlit keyboard, great display, good speakers, force touch trackpad, and an amazing space grey color to choose from – I’d say it is pretty good. It is not for the power users because of the cpu, but otherwise it has an 8gb ram and 256 gigs of ssd storage. Many people call it expensive, but without being biased, I’d say it is not expensive if you think what a big deal it was to engineer the hardware of this thing. The other thing people point out is that it has less key travel. They say that it takes time to get used to it. Yes that is certainly true, but the amazing thing is that once I got used to it (which took me a day or two), the other keyboards felt like a century old, but that is my personal perspective. Maybe the reason of this futuristic feel is that even if I touch the extreme edge of a key, the entire key pressed down evenly, plus the keys are way big and the keyboard spreads out till the edge of this machine. There is although one bad thing about this laptop, it does not have a very sturdy hinge. If you notice very very carefully, you will see that when you type, the monitor will shake. This doesn’t happen with other laptops from Apple that I have seen. Apart from that, there is nothing that really bothers me, but still I will lay down the disadvantages. It has a very bad quality webcam, the Apple logo at the back does not glow, the usb-c cable does not indicate whether it is charging and if it is charged. Plus it is tightly fixed so you maybe trip over the wire and take the laptop along with you which does not happen with MagSafe. But I won’t complain because by incorporating usb-c, Apple’s moving towards standards in technology. A video I watched on Youtube said that this is a replacement for iPad. Maybe for some people, but this still is a few tones up where productivity is concerned. I can’t make android apps on iPad, neither can I do my c++, or type on this futuristic keyboard. Anyways, that’s all, I may have missed something, but I guess I haven’t missed something that might be a game changing feature. Just the things that came to mind immediately.

Hey,

I just wanted to share this really cool video which a few friends of mine along with me executed. This video is about the stuff that happened during our practices of a play at our school. We were in total five guys and I was majorly the Editor and the other guys worked with the camera.

Do watch it, and I hope you like it. Watch Now.