251 karma · joined December 29, 2015
The bot was playing way better than me personally and regularly reached the 4096 tile. It was a lot of fun to just watch it play and really awesome to make it play better :)
Everything seemed very open and accepting to people different than themself. In a positive way, not in a "join my cult" way.
For once, it will always place your resume above the ones without a masters degree. And even if you look at the topics and think you won't like it or need it - you will always learn things that will likely be useful in the future! Be it to just get a different perspective on things or be able to suggest or bounce some ideas.
For me personally, the masters degree was the best thing I could have done. It helped me academically, made me a better programmer and helped several times when applying for jobs!
So yes, I highly recommend it!
So I guess we're expected to work in the 15" laptop? No wonder productivity goes down.
And I like the general high quality and good/positive community towards people that build things.
The setting is also gone for me!
Let me know, if you have questions or need hints where to find some relevant details in my code.
Thanks for saying all that. It was a huge amount of work and getting appreciation makes it all worth it!
No hard constraints as of now. But I don't think I want to include meta programming or a pre-processor (don't really like it to be honest). I do want to keep it compatible with C internally, on Assembly level. One thought is, to create a file with function headers/definitions that are then dynamically linked and can just be used.
I used some C std library functions that way for debugging (printf, ...). And as I follow the standard calling conventions, the compiler should automatically generate compatible code.
With this, it would also be possible, to write OpenGL code. That would be really awesome :)
As of usage of my language - Not sure yet. Up until now, the road was more of the goal then the finished language.
For for it! Start small and increase. But seeing a program in your own language output something makes it all worth it :)
That language flow and general simplicity was one of my most important goals. Thanks for noticing :)
No, I had no problems regarding that. What you mention ('+', '(') are all part of simple expressions when parsing. And I strictly parse right recursive and re-order the expressions later (for operator priority). So that was not an issue. Most of these problems I solved, by making my parser a lookahead of >1. In a few cases, there is a lookahead of 3 to determine what exactly should be parsed.
I guess anything, that can run an X86-64 Elf executable? ;) Although there is still a lot missing, for it to be taken serious. Starting with strings, files, input, ... But thats for another time or whenever I need it, I guess.
- General compiler design - This was one of the main ressources. https://www.tutorialspoint.com/compiler_design/compiler_desi...
- https://www.lua.org/manual/5.3/manual.html#9
- Linux system call table: http://blog.rchapman.org/posts/Linux_System_Call_Table_for_x...
- A bit on floating point: https://cs.fit.edu/~mmahoney/cse3101/float.html
- Assembly https://www.cs.yale.edu/flint/cs421/papers/x86-asm/asm.html
- More assembly: https://www.complang.tuwien.ac.at/ubvl/amd64/amd64h.html
Yes, I thought about going for LLVM or another representation but decided to do it once myself (no given performance optimizations or the like) with room for improvement.
But decided, that for the first compiler, I want to actually do all steps manually myself for best possible comprehension of the general topic.
I tried to follow the Assembly calling conventions the best I could.
I am looking forward to any feedback!
This is my first real compiler and it's lots of fun!!! It's also my first time working with x86-64 assembler (compiler target).
I'll write a Show HN post when I finished it.
Remote: Maybe, not ideal
Willing to relocate: No
Technologies: C/C++, Go, Python (+ many more), OpenGL, Computergraphics, GPGPU, algorithm development (Currently working on Radar clustering/classification)
Résumé/CV: https://github.com/MauriceGit/Organisation/blob/master/proje...
Email: hn_hired@tollmien.de
You might do it to get back into coding, put it on a resume or just for fun (my reason to do it).
But the community around it (https://www.reddit.com/r/adventofcode/) is really great and it's a lot of fun!
It also provides as a specific daily purpose, in contrast to some random code test online.
Best of luck!
Nice concise, adaptive survey.
My feeling is, that we were doing more complex problem solving at university and my personal projects are much more challenging than most things we do at work.
It's honestly quite a bit frustrating. And makes me want to build something up myself. Problem is, I am just not an idea-person...
In this case real-time in the sense that one can adjust parameters and (for not too many points) get an instant result instead of an image on disk. Additionally, I used all components to have it displayed with an adjustable fps count (OpenGL based rendering).
But I see, that the meaning of real-time is a bit biased. Any suggestions?