Hacker Newsnew | past | comments | ask | show | jobs | submit | whoeverest's commentslogin

I can share my experience, because I was asking myself the same question 6 years ago...

My approach was to try and build a Lisp -> Brainfuck compiler. My reasoning was: Brainfuck is pretty close to a Turing machine, so if I can see how code that I understand gets translated to movement on a tape, I'll understand the fundamentals of computation.

It became an obsession of mine for 2 years, and I managed to develop a stack based virtual machine, which executed the stack instructions on a Brainfuck interpreter. It was implemented in Python. You could do basic calculations with positive numbers, define variables, arrays, work with pointers...

On one hand, it was very satisfying to see familiar code get translated to a large string of pluses and minuses; on the other, even though I built that contraption, I still didn't feel like I "got" computation in the fundamental sense. But it was a very fun project, a deep dive in computing!

My conclusion was that even though you can understand each individual layer (eventually), for a sufficiently large program, it's impossible to intuitively understand everything about it, even if you built the machine that executes that program. Your mind gets stuck in the abstractions. :)

So... good luck! I'm very interested to hear more about your past and future experiences of exploring this topic.


(Binary) Lambda Calculus can interpret brainfuck in under 104 bytes:

http://tromp.github.io/cl/Binary_lambda_calculus.html#Brainf...


Are you aware that GNU Guile, which is self hosted (written mainly in scheme), can interpret brainfuck?

https://www.gnu.org/software/guile/manual/guile.html#Support...


I wasn't aware, no. However, interpreting Brainfuck code is the easy part, as I've learned. The hard part was creating a "runtime" that understands memory locations aka. variables.

See this question that I asked (and later answered myself) around that time: https://softwareengineering.stackexchange.com/questions/2847...

Most of the project was figuring out things similar to that. You get to appreciate how high-level machine code on our processors really is! When things like "set the stack pointer to 1234" are one instruction, instead of 10k.


Quite intrigued with your approach; will look into trying something similar for visualising an embedded system.


Also works for me on Firefox 68.


I've had it printed and placed on the wall for over 5 years


I'm surprised at the 100 student limit they impose. I'm currently following MIT's 8.01x Physics course on edX along with 33k other students. So far I haven't had an issue that's a direct result of the number (like felling I don't get enough attention from the staff.)

So on one hand we have options like edX, which reach a lot more people and are mostly free ($50 for a verified diploma) that reach orders of magnitude more students, and on the other a paid-and-accredited degree.

I personally hope they'll be more of the first ones, because of a) not being able to spend $6k and b) the warm feeling I get in my stomach when I think about free and high-quality education that reaches tens of thousands of people.


In general, I think there is a lot more risk to the institution for handing out accredited degrees to paying remote students than for handing out an honor code certificate. They are just taking baby steps, which is a good thing.


This is the limit for their "pilot program" and will be dropped in the future.


Great. Do you maybe know if they plan on dropping the price in proportion to the number of students rolled in?

I'm thinking: if they enroll 10x students, their expenses will be covered if every student paid 1/10 of the price. And getting a masters degree for $600 from an accredited university... that's really something.


There is a non-trivial per student cost assuming they don't just put your programs through an automated tester.


And if everything you do for class can be graded by an automated tester, it's not going to be a very good MS.


They will only have limited resources for per-student support, they will have to authorize each student and they will want to gradually develop what "passing grade" (or similar) they want to require.

Slow roll-out is probably the smart choice.


They offer "ID Verified" certificate on some courses for a small fee, certificates which should be more valuable than the regular ones. However I don't think they're accredited.


The robot dares reminded me of "Lightbot"[1], a game which I admire and think gives a great introduction to programming concepts, without going into the details of a programming languages' syntax.

Anyway, great work. I showed it to my girlfriend who wants to learn programming; she finds it way more fun than Codecademy.

[1] http://armorgames.com/play/2205/light-bot


"To write a simple melody in ‘C’" has to be the singe most important sentence in the whole text.


I got a notification from my antivirus program about a malware. I am not sure what it said exactly though because I pressed "Deny Access" quickly. So, beware.


Someone posted to me about this on twitter...looking more into it, it's a false positive. You can check at http://onlinelinkscan.com.


The tweeples got me sorted...update your wordpress install. Doh't. No virus...it was ad link spam.


Same here.


Suicide bummer.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: