summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-09-02 19:16:46 -0400
committerJesse Luehrs <doy@tozt.net>2014-09-02 19:16:46 -0400
commit909b7feb1af670454206793f298ef51b491f0410 (patch)
treec7106e87645190092ae43b13a17ed33b065b21ff
parent247e7d26dccec09547e8e3a0b79f4c3e10915cfa (diff)
downloadblog.tozt.net-909b7feb1af670454206793f298ef51b491f0410.tar.gz
blog.tozt.net-909b7feb1af670454206793f298ef51b491f0410.zip
another blog post
-rw-r--r--posts/hacker-school-day-1.md35
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.