798 karma · joined June 4, 2016
This allows for result documents that can contain some of the terms, all of the terms, or a prefix of a term. It's also pretty fast as it doesn't need to run a linear search through the documents. I'm not sure what you mean by "classical" search algorithms, but a trie based search is a pretty standard way of doing it.
I began to experiment with a couple of my own ideas and used a trie rather than a DAFSA because it could be stored and loaded rather than generated at runtime. I also created and used the various linear methods described in the post to rank the documents.
[1] https://en.wikipedia.org/wiki/Deterministic_acyclic_finite_s...
One of the coolest aspects of all of these tools are that they aren't exclusive to Redox. In fact, they are rather portable. For example, the new file system (tfs) can run on operating systems other than Redox. One of the team members wrote an "atomic hash table" for it, and it was open sourced as well. It even uses an open source hash function by the same author.
Congrats to the team. Writing an operating system is incredibly hard, and it's great to see something like this written in Rust. I'm a big fan of all of the core contributors, and can't wait to see where Redox goes.
Also, while Moon was on Github in 2016, I started playing around with it locally in late 2015 before publishing anything online.
And regarding the FreeCodeCamp profile--I made that account for my little brother (who was learning to program at the time). Along with that, I tried to help people out on the FCC Gitter[1] as much as I could, as teaching people is a good way to master something.
I started out with C, definitely didn't know how to write multithreaded code when I was 10 haha. I learned most of that after reading a great book on operating systems (Modern Operating Systems by Andrew S. Tanenbaum) a couple months ago.
I'm trying to clean up my Github, you'll notice the "DayN" repositories are just edited versions of stuff I found online to learn from. These days I create my own projects, and am slowly deleting those "learning" repositories and making them private.
8. All of my code is not on Github, and there is no reason for me to learn a language simply because I have previous knowledge in Ruby. I chose to learn Crystal because of it's elegance and speed.
9. I wrote that reverse proxy based on a variety of online tutorials[1], but used my knowledge of threads to make it multithreaded.
[1] http://www.gilesthomas.com/2013/08/writing-a-reverse-proxylo...
1. A search of my username (there are tons of people with a three letter username like my HN username)
2. An old post of mine on Reddit.
3. My NPM profile (which includes lots of forks)
4. The quality of my username.
5. The layout of my comments on Hacker News.
6. The posts of some stranger that has attempted to submit my website multiple times.
1. I recently changed my username and do not have a Youtube channel. That person doesn't even have the same name as me.
2. I was 12 then, and if you can't tell, I was pretty dumb at the time, and was pretty much looking for attention. Legally you weren't allowed to be signed up for Reddit, which is why I said I was 13 (which I am now).
3. I have worked on all of those npm modules, but most of them are forked improvements of existing modules (such as Jade).
If you read my comment above, you'll notice I don't like talking about my age (this is one of the few exceptions). In fact, I am even not the OP of this post.
Other than JS, I love Python for AI, and C/Assembly for systems (I'm writing an OS). Check out my Github! It has most of my projects.
I initialize a basic GDT in the bootloader because it is essential. Without it, you cannot run the OS in long mode, which will unlock the capabilities of a 64 bit system.
I can tell you my birthday, but will that really help? If you look at my comment above, you'll see that I don't really like giving my age out. I did it this one time just because I wanted some of my followers to know (I wasn't expecting it to be on Hacker News). There is no way for me to show you my age other than you meeting me in person, but hopefully you can judge by the way I talk.
1. I've been programming since I was 8.
2. I started out with HTML, then slowly moved into CSS, Javascript, Python, C, and Assembly.
3. I am completely self-taught, a few people in my family program but are in different fields than what I am interested in.
4. I wouldn't say that it suffers, but it is definitely hard to keep up with both. I always keep school as my first priority when it comes to these types of things, and most of my projects are done over break or the weekend.
Awesome! The internet is extremely helpful and you can learn pretty much anything you put your mind to, and it's never too late to start :)
Nonetheless, it's incredibly helpful when you have a passion for this kind of stuff. There are tons of resources out there for learning this stuff, and it's really interesting :)
A while back, I thought commits were the best thing ever, and made it my goal to commit every single small change I made. Now I've learned not to :)
I totally agree, growing up nowadays is extremely different then what it must've been like before. I'm grateful for my parents encouraging me to play outside and make friends, and once they found out that I was interested in programming, they encouraged that as well.
They always want me to try new things and see if I love it, and that's what I found with programming. They do have some rules about it, and can see what websites I visit, and generally what I do online.
I'd say to let them do what they find interesting, like my parents did with me and programming, but still encourage them to try new things. You never know, they might find more things that they love :)
I prefer Crystal because it's a really expressive language (similar to Ruby) but has the advantage of being compiled (like C). I prefer compiled languages for the server because they are usually faster, and can be deployed with a single binary.
I do have plans on finishing it, but I have a lot of projects right now. I'm trying to get Moon v1 out, working on my OS, Slash, and some other new projects. If you have any recommendations for what the code samples should be on, I'd be glad to try and write it based on that.
I definitely will enjoy being young :)
I program in my free time, when I'm not playing soccer, doing homework, snowboarding, or playing guitar.
Moon - UI library
Wing - CSS framework
Wade - 1kb JS Search Library
Slash - hash function in Assembly
You can find them on my Github[1]. I usually don't like stating my age as I love the feedback I get if you treat me as if I was an adult. People usually just compliment me after they see my age, but I'd honestly rather have some nice feedback and criticism.
I'd be glad to answer any questions :)