HNHacker News
TopNewBestAskShowJobs

felixangell

163 karma · joined June 23, 2015

Programmer!

    github.com/felixangell  
    felixangell.com  
    mail@felixangell.com
submissionscomments
felixangell··on A Brief and Brisk Overview of Compiler Architecture
This is very much the case! I started tinkering with compilers around 4 years ago when I was 16. If it was possible for me to do then, I'm sure it's possible for anyone else to learn too.

When I write articles like these, I think of what I would have liked to have read when I was first getting into the topic at hand.

felixangell··on A Brief and Brisk Overview of Compiler Architecture
Wow, that's a really interesting fact. I hope you don't mind but I updated the article to reference this and credited you accordingly :^)
felixangell··on Monzo, a U.K. challenger bank, raises £85M Series E
I have the best of both worlds here where all of my amex credit bills come out from my Monzo account and my salary is paid into my Monzo. The other features of the bank are what appeal to me personally, the fact that the UI is so much nicer to use than most other banks, as well as they are pretty progressive in terms of features. I can see when my credit card bills will come out (it warns you a few days prior with an estimated amount of the bill), and I can see rundowns of my spending, etc.
felixangell··on Show HN: Strife, a 2D game library for Go
To be honest, the project is kind of mimicking Slick2D which is a simple Java framework that introduced me into graphics programming in the first place.

My kind of dream project here is to maybe make a little tutorial series on how to use the library making a small game with it. Maybe inspire a few young people to get into graphics/game programming to show how simple it is - in the go domain specifically. The library is kind of a no thrills graphics library, maybe I should market it that way.

The project doesn't really market itself too much right now, and I don't think I will focus on that till I've written a reasonably polished game in it either. But thank you for that link I will bookmark it.

Kind of just throwing the project up on here for people to look at & critique.

And that is a point... the feature project is a text editor. Though I think it looks a bit more impressive than the alternative which is a little game I'm working on in my spare time.

The library itself is worked on from time to time. The last commit was a few days ago (a small patch however).

felixangell··on Minimalist C Libraries
Maybe you would like the BetterC mode in the D programming language... if you mean you like C for it's syntax too. A lot of modern systems prog. languages seem to adopt a more modern syntax, i.e. types after the names rather than before, no semi-colons, etc.

D stays true to C in this regard and offers a lot of fancy features. And the BetterC mode sounds suited to your requirements in that the language features doesn't over complicate things.

felixangell··on Show HN: Phi-editor, a text editor implemented in Go and SDL
It's mostly a disclaimer for the time being. I'm making no guarantees that the editor will meet those claims at it's current state - but that's the end goal.
felixangell··on Nim language v0.18.0 released
I would say compiles is a more general form of transpiles. Transpiling meaning it compiles into a higher level form i.e. c, C++, JavaScript, and compile meaning it compiles into a more lower level form i.e assembly, bytecode, etc?

That's just how I look at it anyway.

felixangell··on Ignition: V8 Interpreter
The link to optimizing an ANSI C interpreter is broken, it's missing a colon after the protocol. I dunno if there's anyone here that can fix that, just thought I'd say it anyway.

Actually it's not the colon, there are two protocols:

    http://http://dl.acm.org/citation.cfm?id=199526
    ^^^^^^^
My bad.
felixangell··on Do Open Source Software Developers Listen to Their Users?
As a maintainer of an open source project, we often get a lot of proposals from people - my project is a compiler. And while some of them are interesting, there are a few who are suggested by people who don't really have any experience in language design, so usually we have to say no to a lot of features.

When someone knows what they're on about, it's probably the architecture of our project that doesn't allow us to implement a specific feature; or would make it incredibly difficult to do so. And when you're dealing with even larger projects like Nginx or something, you have to work on it to know if something would work in terms of the project, which is tricky unless you've worked on it extensively.

We've even had a guy who said we shouldn't use LLVM because it's slow (it's not), and he didn't like it. What I'm getting at with this point is that some people suggest ideas that a) change the entire course of the project, or b) are kind of silly and subjective.

TL;DR It's complicated

felixangell··on C2 Lang design (2014) [pdf]
Very similar to Ark: www.github.com/ark-lang/ark. Except Ark has no GC, has tagged enums, ownership is enforced, and a few other smaller differences.
felixangell··on LLVM for Grad Students
That's the one :)
felixangell··on LLVM for Grad Students
A nice introduction, I'm currently working on a compiler which uses LLVM for code generation... it was very difficult to get into at first. Especially since I was using C (now Go), so I would have to work through 2/3 layers of language and documentation. (Was just C to C++, now it's Go, to C, to C++).

If you're interested in learning more about LLVM, there are some good open source projects that use it. If you aren't using C++, people have also ported the kaleidoscope tutorial project to Haskell, Rust, C, etc... Additionally, a lot of bigger compilers like Rust, and Clang use it - Swift also uses LLVM, and should be open source soon?

felixangell··on Garbage Collection, Without the Noise or the Smell
I can't be the only one who thought this was about GC in terms of languages, and got confused when it mentioned noise and smell...
felixangell··on Vanar.io – Realtime multiplayer browser game: Agar.io meets Asteroids
Controls are a little funky, would be nice to have some kind of particle explosion when your ship is destroyed. Probably a little more satisfying than just flipping straight to the "play again" screen.
felixangell··on The Advanced Rust Programming Language Book Draft
Pretty good read, even if it's a draft. Only thing that bugs me a little is the informalities, and reading "That's it." after something was explained.
felixangell··on Ask HN: How do you organize teamwork in C?
You can do OOP with C, I've used this for a lot of my projects and it usually works out really well, the code is readable and it's quite easy to scale.
felixangell··on Ark – A modern systems programming language
lol, thanks will do :)
felixangell··on Ark – A modern systems programming language
I've never really found those a problem, I imagine this is more of a subjective thing.
felixangell··on Ark – A modern systems programming language
Unlike Rust, this is something we aren't focusing on. I just really like Rust, so we borrowed a lot of the syntax.
felixangell··on Ark – A modern systems programming language
Hi, for is basically a while loop yes. We haven't implemented ranges yet, so this is the example we chose since it works, and it's fairly concise to fit on the website.

I chose `:=` and `=` mostly because of personal preference.

felixangell··on Ark – A modern systems programming language
It started off as a side project by myself, I'm a student so I work on it every now and then, but I'm 17 so I have bigger things to prioritise like my education. The large commit count is due to a certain someone cough Vedant cough making several accounts and doubling the commit history when he re-authors his commits.

The fact that it's a year old is because the language has changed loads in the past, since I considered it a side-project that I would just play around with. However, after I stuck to something, it gained a bit more popularity and people started to help me out with it. Now we have ported to Go, with a decent sized team working on it (when we can).