HNHacker News
TopNewBestAskShowJobs

kbr

798 karma · joined June 4, 2016

https://kabir.sh
submissionscomments
kbr··on Linear types can change the world (1990) [pdf]
The author of the paper doesn't mean that the concept of linear types will change the world, but states that linear types combined with functional languages will be able to interact with and change the real world (I/O, graphics, etc). This is because functional languages have a hard time representing these concepts, and have alternate workarounds (monads).
kbr··on The math and algorithms behind a search library
During the time of that post, this article was about a simpler example and only explained the trie structure. Wade didn't have the ranking system either. It has since been rewritten to include the methods used to rank the relevance of a term to the document, and to see how they are applied in a more complex example.
kbr··on The math and algorithms behind a search library
This isn't an exact pattern searching library. Wade originally used Boyer-Moore, but has since switched to a trie [1] structure to search for _terms_ rather than the whole query.

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.

[1] https://en.wikipedia.org/wiki/Trie

kbr··on The math and algorithms behind a search library
This is how Wade was originally going to be implemented. I actually had a local version of it using an inverted index and a deterministic acyclic finite state automaton [1]. It was using TF-IDF as well for the rankings.

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...

kbr··on NW.js based operating system
I'm confused. Is this a GUI that runs on top of a kernel (like Linux)? What part of it uses NW.js? Using JavaScript for a system like this is generally not a good idea. The garbage collector can interfere at any time and cause all sorts of problems in a kernel or OS environment. It'll also likely be incredibly slow.
kbr··on Show HN: Redox Rust OS – v0.3.3 release
I've been seeing Redox develop for a while now, and I've got to say—it's really amazing what such a small group of people can accomplish. They have innovative tools in all sorts of areas of computer science. Including coreutils, binutils, a shell (along with a custom shell scripting language), common GUI applications, a hash function, a file system, etc.

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.

kbr··on [dead]
I did most of my branding by myself (using Sketch), but my family, and a community of students[1] always give me feedback on my projects. I do not have multiple HN profiles (although I have a throwaway account made a while back). However, I do have friends that usually are the first comments on my posts.

Also, while Moon was on Github in 2016, I started playing around with it locally in late 2015 before publishing anything online.

[1] https://feathrd.co

kbr··on [dead]
Because it was just a tweet. I wasn't expecting a tweet to get to the front page of HN.
kbr··on [dead]
I agree wholeheartedly. The internet is an extremely useful resource for finding simple courses that teach complex topics.
kbr··on [dead]
Please. The initial commits on Moon were in 2016, and I was playing around with a forked version of Vue locally in late 2015. I think it's extremely important to know what goes on under the hood of popular libraries.

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.

[1] https://gitter.im/FreeCodeCamp/FreeCodeCamp

kbr··on [dead]
You seem like a really nice person with similar interests as me, I'd love to actually get to know you :)

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.

kbr··on [dead]
Alright I'm going to stop replying to these, I'm starting feel attacked.

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...

kbr··on [dead]
My parents definitely encourage me to program. Still, sometimes they tell me to go outside, or to try something new. It's like a mixture of encouragement while still trying to keep me from staying online 24/7.
kbr··on [dead]
Haha yeah, most of the credit goes to my dad. He's a Java programmer. On the other hand, I'm more interested in web development, web design, servers, and systems.
kbr··on [dead]
Interesting. The thing is, I don't have control over what the OP can post. It's crazy how you guys are assuming that I don't know my own age after judging based on:

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.

kbr··on [dead]
I feel like I've responded to this before.

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.

kbr··on [dead]
Haha yeah, this generation is extremely lucky :)

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.

kbr··on [dead]
I started it from scratch. I mainly reference a book about the implementations of operating systems.

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.

kbr··on [dead]
I don't have any proof, I guess you'll have to take my word for it :)

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.

kbr··on [dead]
Haha if you look at my recent commits (maybe 1-2 a day), you'll see that I've been putting less effort into the amount of commits, and more effort into the quality of them. I think a year ago I was focused more on getting that graph to look good.
kbr··on [dead]
Thanks for asking!

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 :)

kbr··on [dead]
Haha I actually learned most of my knowledge on AI and machine learning from Stanford lectures, so I'd agree when you say it's university-level stuff.

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 :)

kbr··on [dead]
It's amazing how much I've changed in the past year. If you check out my latest commits (it's also part of the reason why almost all of the squares are light green), you'll see that they are pretty significant in size.

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 :)

kbr··on [dead]
Hey!

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 :)

kbr··on [dead]
Thanks for asking!

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.

kbr··on [dead]
Awesome! Thank you so much for the tips, I'll definitely keep these in mind.
kbr··on [dead]
Haha I think your link is wrong ;)

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.

kbr··on [dead]
Thank you so much! I started programming basic HTML when I was about 8 years old. After that, I pretty much just started making websites, and when I didn't know how to do something, I just looked it up or asked my parents to help me fix it. With that I've been able to learn a lot. Progressing from HTML to CSS, Javascript, Node, and now into Python and C.

I definitely will enjoy being young :)

I program in my free time, when I'm not playing soccer, doing homework, snowboarding, or playing guitar.

kbr··on [dead]
Woah! Did not expect this to be here. I'm the 13-year-old who tweeted this out, and I really love programming. I like experimenting and creating open source projects. I'm interested in the web, servers, systems, and AI. Some of my most recent projects are:

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 :)

[1] https://github.com/kbrsh

kbr··on “this code very fast” pull request to remove whitespace from linux kernel
Whoops haha didn't catch that :)
← PreviousPage 2 of 5Next →