
Ask HN: What "weekend project" will you work on this weekend? - japhyr
We all know most &quot;weekend&quot; projects aren&#x27;t really done in one weekend, they are done in a series of weekends. And we work on them in the morning, in the evening, and any other time we can get away from our contractual obligations.<p>That said, what side project will you be working on this weekend?
======
edavis
I'm trying to turn Emacs into an outliner that can natively read/write OPML
files. After asking #emacs today, I _think_ the key bit is using "format
conversion" [1] to accomplish this.

I've finally gotten over the "beginner hump" when it comes to elisp and its
becoming a fun little language to toy around with. I figure this'll take a
good chunk of Saturday.

[1]
[http://www.gnu.org/software/emacs/manual/html_node/elisp/For...](http://www.gnu.org/software/emacs/manual/html_node/elisp/Format-
Conversion.html#Format-Conversion)

~~~
japhyr
I love emacs, and I appreciate you taking the time to learn how to extend it.

------
vsergiu
I am working on a sales CRM made with Node + Angular. Things are going pretty
well but still a lot of work to be able to compete with Pipedrive. I hope I
can release it soon and see how it goes.

------
krapp
This silly thing:
[http://precis.gopagoda.com/url/https://news.ycombinator.com/...](http://precis.gopagoda.com/url/https://news.ycombinator.com/newest)

Put any url you like in there. It'll either work or it won't. /css/[url] kind
of works too.

Also a random app in C# because I failed a midterm exam because I couldn't get
runtime DB access to work from memory. Yeah I know, I still suck unless I have
Stackoverflow and/or a reference right next to me.

~~~
OWaz
I don't think you suck for relying on StackOverflow/reference when writing
code. You just haven't completely understood or remembered what you're doing.
After a few time you'll remember and understand and move on to using
SO/reference for the next more complicated thing.

------
papaf
I am writing a toy lisp compiler as a learning experience. Its taking forever
to get anywhere but I am finding the journey is more interesting than the
destination.

I'm trying the garbage collector for the second time. My first attempt ate the
stack and I found it hard to reason about or debug.

I'll try and finish the gc this time but I only recently realized that I
didn't need to start writing one at all. For the first version I could have
just allocated memory without deallocating.

------
japhyr
I just finished an MVP of
[http://www.educatornews.net](http://www.educatornews.net). It's an HN clone
for the education community.

This weekend I'm focusing on implementing a "conversations" feature, similar
to HN's "threads". I am also trying to increase test coverage, so I can
agressively refactor my ugly MVP code as I begin to pick up users.

~~~
amirouche
\- Why aren't you using mptt comments?

\- A one liner query is just called a queryset.

\- To get all the "upvotes" of an user it's better to start from the user.

\- I don't think your code is ugly.

~~~
japhyr
> Why aren't you using mptt comments?

I have heard of mptt, but I had never used it before. I am intending to
integrate mptt into the commenting system, before long. [0]

> A one liner query is just called a queryset.

Did I call it a query somewhere?

> To get all the "upvotes" of an user it's better to start from the user.

So rather than:

    
    
        request.user in comment.upvotes.all()
    

I would do:

    
    
        comment in request.user.upvoted_comments
    

where upvoted_comments is the related_name for upvotes on the Comment model:

    
    
        upvotes = models.ManyToManyField(User, blank=True, null=True, related_name='upvoted_comments')
    

> I don't think your code is ugly.

Thanks, that's encouraging. I was embarassed by my single 1000-line _views.py_
file.

[0] - Issue 38:
[https://github.com/ehmatthes/educator_news/issues/38](https://github.com/ehmatthes/educator_news/issues/38)

~~~
amirouche
> mptt

First time using mptt might not be straightforward. But I think it's worth
because the problem is "difficult". Similarly django-polymorphic. Those are
the two things in Django I would think hard before re-writring.

> one-liner ~ queryset

I don't find the particular comment right now.

> To get all the "upvotes" of an user it's better to start from the user.

I don't know the correct queryset, the one you provide seems good. Don't
compute in Python what you can do in the db. In the particular code I'm
referring to, several queries were done against the db instead of one.

> 1000-line is ugly

yeah, kind of. But at least you don't use abbreviations. Or 2 spaces for
indentation. Seems like valid pep8.

I don't say that there are no mistakes in the code, just skimmed over it.

The file is big because some of the functions are not views.

\- get_submission_age: should be template tag cf.
[https://docs.djangoproject.com/en/dev/howto/custom-
template-...](https://docs.djangoproject.com/en/dev/howto/custom-template-
tags/#simple-tags)

\- get_submission_set: I wouldn't use such a function. For sure you are
iterating two times over the list of submissions, one time in the view, one
time in the template so it's a "2n" so O(n) complexity. It's ok but only one
iteration over the list is required. But the django template language (DTL)
makes it "hard" to do it... DTL was built around the idea that the template
writer is stupid and probably also that nobody would read the code the
template writer wrote before going into production.

------
atgc
I'm working on a clone of a relatively simple but very fun mobile puzzle game.
I'm creating it for Android using libgdx. It's my first serious attempt at
making an Android app, and it's coming along nicely. This weekend I'll be
trying to fix the scaling and cropping for different resolutions, which is
something I ran into just trying to test my game on my own phone.

------
jmspring
My garden.

CA is being hit with a drought, but we conserve enough water to not really
worry about it.

My goal is to have enough raised bets and suitable seedling production/crop
rotation to have at least 2 days/week of fruit/veggies from the garden between
late april and September. Potatoes and a new raised bed were on tap. Seedlings
already moving along nicely.

------
uptown
I'm working on a turn-based mobile game for iOS written in HTML5 w/ Cordova.
Getting close to beta-testing time.

~~~
japhyr
Can you say anything more specific about the nature of the game?

~~~
uptown
Sure. It's a word game. Should appeal to the Scrabble/WordsWithFriends crowd.
I'm sure I'll announce it here when it's launched so people can point out why
it sucks.

------
wmnwmn
Trying to make a better protein alignment for transcriptome annotation using
suffix arrays and possibly GPUs. Although it's a bit of a lie, that was the
project I worked on last weekend, this weekend I won't have time, moreover I
have tend to start a new project before finishing the old one....

------
nahcub
A feedback system for my dad's restaurant that allows customers to provide
feedback through text messages. It's a fun little side project with a few
challenges, and I've enjoyed it so far.

[http://imgur.com/NPFQpPh](http://imgur.com/NPFQpPh)

------
pisipisipisi
Making JavaCard a nice software platform,
[https://github.com/martinpaljak/AppletPlayground](https://github.com/martinpaljak/AppletPlayground)
and its relatives

------
huherto
I am working on springyRecords.

[http://huherto.github.io/springyRecords/](http://huherto.github.io/springyRecords/)

A Record Mapper for Java that runs on top of spring-jdbc.

------
thehodge
I have no idea, I've got a free weekend and I've got my text editor here, I
want to build something fun that will make people have a giggle..

------
throwaway344
I'm working on a site to create and share parallel translations, i.e a single
book/document in two languages next to one another.

------
gjvc
[https://github.com/gjvc/commander/](https://github.com/gjvc/commander/)

------
alashley
I'm in love with 2048, so I'm going to learn some game development and
hopefully make a clone of it.

------
bgar
I'm going to work on an ncurses-based music player similar to cmus, in
clojure.

