Hacking on LessWrong Just Got Easier

by atucker1 min read4th Sep 201120 comments

87

ProgrammingSite Meta
Personal Blog

TrikeApps has done a great job running LessWrong and adding new features, but they could use a little help. Have you thought about improving the LessWrong website but haven't done it because you weren't sure how? Or had installation issues? Well, now is a great time to start, because hacking on LessWrong just got much easier!

On behalf of the LessWrong Public Goods Team, I have built a Virtual Machine Image which hosts its own version of the LessWrong website. This eliminates the need to figure out how to host LessWrong yourself. To hack on LessWrong you simply:

  1. Install VirtualBox
  2. Download and use the VM image
  3. Edit LessWrong's code 
  4. Test
  5. Submit pull request

Detailed instructions and download link here.

Interested, but not sure what to work on? The LessWrong issue tracker is here. Run into trouble with the code? Ask questions on the dev list.

Many thanks to Matt, Jon and David at TrikeApps for helping me do this, and John Salvatier for initiating this project.

 

20 comments, sorted by Highlighting new comments since Today at 11:38 AM
New Comment

Interesting that it's a *.vdi image and thus necessitates the use of VirtualBox. Not that I've anything against VirtualBox but if it were any of a number of other more common formats it could be fired up on QEMU/KVM or ESXi hosts for example.

I'll look into this for future images. This is a mostly complete image meant to make things easier, rather than to be the complete and permanent solution.

Fair enough. And VirtualBox is definitely very easy for users unfamiliar w/ virtualization in general. But using, say, a vmdk image or the like would be cross-hypervisor-solution friendly and not increase the load on your server. (Plus; aside from installing the VirtualBox drivers, it's just as user-friendly as a .vdi.) :-)

This seems really cool. How exactly does moderation of it work? Will someone (from Trike?) be looking over the code before its integrated with the main version of LW?

Yes, Trike develops and hosts LessWrong.

This is awesome, thanks. I'd like to set up a torrent so we're not leaning so hard on tricycle's bandwidth. Unfortunately the download link doesn't seem to be working...

I will try to get a torrent up shortly (never created a torrent before)

--Posted from the lesswrong VM

Edit: am I doing this right? Will seed with fiber.

My kudos! It is persnickety software to get fired up initially.

Awesome!

I don't have time right now but someone should totally implement a recommendation engine for Less Wrong articles. Seems like it could be really high utility (is recency really the best criterion for determining the optimal Less Wrong article for a user to read?) as well as a great excuse to bone up on the latest in machine learning and narrow AI. (I'm a little leery of learning about a field without applying it to some project--if I'm able to apply knowledge successfully that makes me feel a lot more confident that I've mastered it. And having a project in mind helps resolve questions of how deeply I want to master a given piece of material--just master it well enough to do the project.) Plus if you fail at this there won't be any stigma--the reddit team worked on their recommendation engine for years without it going much of anywhere.

Can anyone recommend any books they've read that would be useful to an endeavor such as this? Programming Collective Intelligence looks pretty interesting but I haven't read it.

Better than recency, perhaps the top scoring posts of all time?

A recommendation engine needs information about what posts you are glad to have read and ideally what posts you read but did not fund useful. So if the engine knows for each user (1) the set of posts they've read [1] and (2) the set of posts that they've voted up, then we have an evaluation criterion: did we choose to show people posts they voted up?

You'd then need to figure out features and write code for them so the learning algorithm could find user correlations. Set up a svm or something to get probability of upvoting given viewing. Then you use some sort of multi armed bandit algorithm so you continue to gather information.

[1] This isn't perfect, because you can open a post without reading it. We could detect scrolling and log how much of it they actually read, but people might not like the privacy implications.

Is there an easy way to change the logo/name?

It would be good to have a more generic default name and header, as this takes off there will be half finished sites turning up in google.

Good thing to consider, though I'm not sure if this is actually going to happen.

I'd guess that you need to do some configuration on your home router in order for your local site to show up to the rest of the internet. Does Google crawl fast enough to catch people's personal computer's IPs? I'd be surprised if they did.

I hope to see a lot of forks of LW on github, but half-finished code on the internet doesn't look that bad.

You should all attribute this event to my wishing for it earlier today.

Love some good post hoc ergo propter hoc.

Since when? If it's since 2005 or earlier I owe you one.

The detailed instructions and download link leads to a "Create New Page" template on the Trike Apps wiki.

[This comment is no longer endorsed by its author]Reply

YAY! I had no idea this would be completed so soon. What a pleasant surprise.

Great idea! Thanks.