diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-09-02 19:16:46 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-09-02 19:16:46 -0400 |
commit | 909b7feb1af670454206793f298ef51b491f0410 (patch) | |
tree | c7106e87645190092ae43b13a17ed33b065b21ff | |
parent | 247e7d26dccec09547e8e3a0b79f4c3e10915cfa (diff) | |
download | blog.tozt.net-909b7feb1af670454206793f298ef51b491f0410.tar.gz blog.tozt.net-909b7feb1af670454206793f298ef51b491f0410.zip |
another blog post
-rw-r--r-- | posts/hacker-school-day-1.md | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/posts/hacker-school-day-1.md b/posts/hacker-school-day-1.md new file mode 100644 index 0000000..8fd54eb --- /dev/null +++ b/posts/hacker-school-day-1.md @@ -0,0 +1,35 @@ +--- +title: hacker school, day 1 +date: "2014-09-02 19:55" +tags: [hacker school] +--- + +# Hacker School, Day 1 + +So I'm finally starting [Hacker School](https://www.hackerschool.com/). Today +was partly an orientation day, and I spent a while meeting people and stuff, +but eventually settled down to work. + +For my first project, I decided to work on an IRC bouncer in +[Rust](http://rust-lang.org/). I've wanted a decent IRC bouncer for a while - +I'm currently using [ZNC](http://wiki.znc.in/ZNC), which is the only really +usable one I've found, but it doesn't really handle disconnection well. I'd +like to be able to just close my laptop and go, and actually get all of the +messages I missed when I open it back up. The problem is that if you don't +explicitly disconnect the IRC client, the bouncer has no way of knowing when +you stopped receiving messages, so messages in that timeout window tend to +just get dropped, which makes it quite difficult to keep up with +conversations. + +The solution I'm going to try is to split the bouncer into two parts, a client +and a server. The server still runs as usual, but you run a bouncer client +locally, and that is what you connect to with your IRC client. The bouncer +client then talks to the bouncer server using a different protocol which +allows you to sync unread messages reliably. + +The first problem that I ran into is that there doesn't appear to be a +fully-featured IRC library for Rust yet (in particular, one that can handle +being a server as well as a client), so... the first step is obviously to +write one! I've done this before [in Lua](https://github.com/doy/luairc), so I +don't think this should be an insurmountable obstacle. We'll see how accurate +that assessment is this week, I suppose. |