tectonicfury's comments

tectonicfury | 4 years ago | on: ToaruOS 2.0

Modern C++ is something nebulous. What is Modern C++ now would be obsolete few years down the line. So clearly maintenance of such a project wouldn’t be much fun, I suppose.

C doesn’t suffer from this for one. You have more time to focus on the task than on managing the myriad ways of doing the same thing.

tectonicfury | 4 years ago | on: Everyone on Earth is your cousin (2015)

What happens if your parents are first cousins? You don’t have as many ancestors as the article assumes. And it’s only now that people are so connected that such a situation can arise, but earlier people used to marry mostly within their local communities, so each spouse would share many of the same ancestors as the other.

tectonicfury | 4 years ago | on: The origins of ‘horn ok please,’ India’s most ubiquitous phrase (2016)

My father told me the reason some years ago. As a rough sketch, it was because decades ago many highways used to be 'single lane', so if you had a truck in front of you, you needed to overtake it as you wouldn't want to be stuck tailing it the entire length of the road.

He said that above the "OK" there used to be a bulb. So if someone wanted to overtake the truck, they were required to sound their vehicle's horn to signal their intent/desire to do so, that's what the "Horn Please" was for. If all was clear, the truck driver used to turn on the bulb to tell that it was "OK" to do so.

Apparently, with time, the bulb went into oblivion (perhaps due to becoming redundant because of the widening of the roads) but the words remain.

tectonicfury | 4 years ago | on: Show HN: A (barely usable) Scheme Interpreter in C

I implemented a subset of Scheme, one that might just get you past the first chapter of SICP, in C. I wanted to implement a Scheme interpreter in C after doing SICP to attain a sense of closure and to be sure that I really got the bare essentials of programming languages and program evaluation. So here it is for anyone wanting to try it out. Do read the README on GitHub[1] for what I have made and to understand its limitations.

It wasn't easy for me as a non CS person (I am a Chemical Engineer). I started out reading theory heavy books like Torczon and Cooper but feeling intimidated by the math involved in finite automaton style scanner generators, I switched to Bob Nystrom's Crafting Interpreters [2] and his book made the scanning part smooth and intuitive. Next I tried to study parsing from his book but didn't find parsing to be as enjoyable. I then went to the dragon book , which I had found to be very dense the first time I flipped through it an year ago. This time I found it to be much more approachable, thanks again to what I had read in Nystrom's book. Precedence and associativity made more sense when I read it a second time. But it turns out that Scheme's grammar is really simple: Expr -> atom | '(' Expr ')', so I stopped reading and started coding.

It's barely usable because it has no GC, and I may have to rewrite it from scratch for implementing one. In the meantime I am thinking of doing a rewrite in Java, and then do part 3 from Crafting Interpreters, where the author implements everything in C.

Still very much a newbie, I welcome criticisms and directions for moving it forward.

[1] https://github.com/TectonicFury/CSCMIC

[2] https://craftinginterpreters.com

tectonicfury | 4 years ago | on: Why I sometimes like to write my own number crunching code

I felt that it was a good article, very straightforward, and he made an interesting point about numerical packages being often written by graduate students.

Personally, I would like to learn the math, but I would want to first learn from the 'established' books (i.e. the books the author read on his way to this point), only then will I be in a position to judge the real worth of the author's books.

tectonicfury | 5 years ago | on: Lisp and the Web: Creating Web Apps Through Lisp and GCE

Nice points. Going through SICP and solving problems using scheme, I did experience the “brain amplification” sensation.

Once you flesh out the idea in lisp, it’s just a matter of implementing it in the language of your platform. It’s like doing ‘architecture’.. Lisp is about aesthetics and beauty

tectonicfury | 5 years ago | on: Programming is hard

When you have websites like hackingwithswift and you see Chris lattner (who is some genius because he made a new language) endorsing it with lavish praises, you tend to believe that it’s easy. But then every time I tried to make a 10% decent app, I had to look up the documentation and used to be confronted with (gatekeeping?) jargon like concurrency and background thread. I even paid for raywenderlich’s annual subscription but now I realise why these websites are so flashy and captivating.

There are also a lot of resources which sound as if they would be great as they have big name authors but they actually make you more depressed. I had many such experiences most notably with Stroustrup’s books. The one called Programming - principles and practice is a hopeless soup of complicated syntax and lousy pedagogy. It’s aimed at beginners but really anyone who’s read chapter 6 of the book where he seeks to teach ‘what programming is actually about” using a calculator program as an illustrative example, he really makes it appear as if recursion is some exotic and esoteric thing, whereas it is a recurrent theme in the domain of programming. I say this because before this chapter he never used recursion and it becomes very unintuitive, unlike SICP, where from the beginning this is identified as one of the central ideas in all programming.

I was fortunate I used to read e-books and didn’t spend too much on purchasing flimsy books, turns out, as far as CS is concerned, the best stuff is actually free (and accessible as pointed above in the link)

tectonicfury | 5 years ago | on: Programming is hard

They don't tell the audience this otherwise they won't be able to fleece them. "It's so easy to make apps" "Learn X in 40 projects".

I think the problem is also compounded by people who mostly have superficial knowledge of programming (a few frameworks here and there, couple languages etc) and are in the software industry and carry the title of programmers and engineers.

tectonicfury | 5 years ago | on: Programming is hard

Agree with the message, programming is really hard, and the earlier you realise it the better it is. Having “programmed” for the greater part of the last decade, starting out with ‘scientific computing’ in Fortran and matlab (I was doing chemical engineering), then spending precious time believing (and learning) that C and C++ are ‘the’ languages and having pop science ideas that Java is slow (‘it’s GC after all’), only to realise its much faster than C++ if you do ‘new’ a lot, I realised how less I knew about how hard programming really is. Just a glimpse of the hardships I went through. All this meandering was due to the belief that programming is easy (peddled around by legions of tech blogs and YT channels), and that there’s only a little more that CS students learn as part of UG degree curriculum.

Right now I am doing SICP and it’s giving me the essential ideas which all CS students learn but which hardly any programming blogs recommend to beginners. Learnt so much already (I am halfway though chapter 2), I now realise it was never about the language, it’s the ideas and techniques like recursion and FP that are the core of programming.

There’s no need to say that programming is easy, just tell people what they really need to do to be good programmers. And without a strong CS foundation it’s very hard.

tectonicfury | 5 years ago | on: All problems stem from man's inability to sit quietly in a room alone (2014)

You are correct in assuming that whoever takes the Qur-aan as the central scripture is a Muslim. That’s really all that is to it. I will just add a bit of a historical background. You can read the Prophet’s history to best judge what Islam he brought.

I will start from the basics:

The fundamental word of Islam, the one word which differentiates between who is a Muslim and who is not is the well known Kalima (كلمة) of Islam, La ilaha illallaah. Which translates to there is none worthy of worship except Allaah. This statement encapsulates the entire monotheistic creed of Islam in it. It is the pivot of any Muslim’s religion. A Muslim strives to preserve this statement in his heart while believing in it. He does this by trying to ensure harmony in his speech and his deeds.

One who lacks firm belief in his heart in this word, is a weaker believer than one who has firm belief, even though both might utter the word in the same manner.

Though we can’t see what the heart contains and hence we can’t normally judge a person’s level of faith, his outward actions, to an extent, do communicate his level of belief. So much about this word.

The one who brought this word to the people was a man called Muhammad (upon him be peace) over 14 centuries ago. The people who he first invited to his religion were the people of of his birthplace, the city of Makkah. His people were originally on the religion of Abraham, worshipping the One God of all that exists, Allaah. But in due course of time, they forgot the truth and started worshiping idols.

So Muhammad (upon him be peace) was sent to them as Messenger by Allaah, just as Messengers from among men were sent by Allaah to earlier people, in order to warn them about the consequences of idol worship and to call them to the worship of the true God, Allaah. Some Messengers which were sent before him were Noah, Lot, Moses, Jonah, Jesus, all mentioned in the Bible and Qur-aan.

Muhammad (upon him be peace), warned the people of eternal hell if they did not believe in his Message and desist from idol worship. And he promised Paradise for whoever believed in him and acted upon what he commanded.

His Prophetic Mission lasted 23 years, of which the first 13 were spent in Makkah and the last 10 were in Madinah. He was made a Messenger at the age of 40, and he dies at the age of 63.

Throughout his mission, Allaah sent the Verses of His Book, Al -Qur-aan to guide him and his followers, gradually teaching them the rituals of prayer, charity, pilgrimage. As the Messenger (upon him be peace) and his followers were the subject of great deal of ridicule and torture, Allaah, in these Verses, also supported them and encouraged them. Allaah also taught His Messenger how to present his Message to people in the elegant way.

That’s all I could muster. Wish you best.

page 1