
Ask HN: What project would you work on if you had half a year of free time? - conglats
I&#x27;m mainly trying to think of something to do for my undergraduate thesis, but I&#x27;m also curious about the projects you would work on that aren&#x27;t academic.
======
tenpoundhammer
I would spend the first month just enjoying my family, playing with my kids
all day, taking my wife on dates. When they got tired of me I would spend a
good week blogging, and reading stuff. I would then dream up an application so
large and outside human possibility. I would spend 7 solid on days on that
before I realized I was an idiot for even imagining it.

Then I would get super sucked into an anime series and spend a week getting
through that. After watching tv for a week I would make a profound realization
about my health and starting eating right and exercising regularly. I would
definitely need a new pair of shoes, a water bottle, and a fitbit. I would
spend the next two weeks working out really hard, and starting to feel great
would me remind to be productive.

I would then scope a really clever Sass business that will generate monthly
revenue so that I would never have to work again, and could be my own boss.

I would spend the rest of my time trying to get this up, working, and
generating revenue.

Also guitar, I would definitely learn guitar for real this time.

~~~
bryang
I don't have a family of my own, so I can't do that part.... but switch an
SaaS for the next single function social media platform that's obviously going
to be a >$4B buyout and count me in.

------
tptacek
Deployable native-app encrypted email based on ECC OpenPGP, with a default to
some affordance for generating new keys on the fly.

That, or an ANSI-art spin on Dwarf Fortress but set in San Mateo in 2010,
because if ever there was something screaming out to be represented as a
procedurally generated mob to kill, it's the California tech startup. ;)

------
zokier
Some random ideas currently floating in my head:

* Ultra-portable Linux computer. This is interesting in both building the HW, and figuring out the SW stack. To get most out of the device some custom(ized) SW is probably needed. Main inspiration: 200LX

* New kind of word processor. Squarely aimed for writing essays and other relatively straight-forward articles. Attempt to take semantically correct HTML to the extreme.

* Tag based file system/management. Ultimately this is something that should be integrated fairly deeply to the OS, so probably the most difficult of these projects. Basically make the filesystem more like document database.

* Something that merges the greatness of Excel and IPython. Not sure if this is really achievable, but it is something I'd love to explore.

* Object shell. I think the basic idea of PowerShell (ie piping objects) is very cool. But the syntax did not impress me, and Windows console window is not a nice editing environment. The output wouldn't need to necessarily be pure plain text, instead you could have at least some simple tables etc.

* Discussion platform. This is bit nebulous in my head, but something that would merge best bits of Wave, G+, Reddit, XMPP, and blogging maybe. This is one area where innovations certainly are possible, especially ones that do not have a walled garden in the center.

* Better XMPP-IRC gateway. Kinda precursor/first-step for the previous, something that would allow progressive transition from IRC to XMPP. Main inspiration: Isode/M-Link/FMUC.

* MP-TCP based VPN gateway+client. This is pretty self-explanatory; most services (afaik) do not support MP-TCP, but for end-user it would be massively beneficial. But luckily most of those benefits can be gotten by using MP-TCP (or something similar) to make a VPN, over which regular TCP connections are made.

Many of these ideas might work quite nicely together to make even greater
whole.

~~~
walterbell
> Discussion platform > XMPP-IRC gateway

Related: SecuShare, GNUnet, psyc, "Design of a Social Messaging System Using
Stateful Multicast", [http://tg-x.net/pub/gnunet-
psyc.pdf](http://tg-x.net/pub/gnunet-psyc.pdf)

> New kind of word processor.

Some good ideas here:
[http://strlen.com/treesheets/](http://strlen.com/treesheets/)

------
hmslydia
I would take a pet problem that I have and solve it well. Something so
personal that nobody else would solve it. A personal time management app just
for me. A way to manage all my contacts so that I can keep up with them
intelligently. Something to get me to do that tasks I procrastinate on the
worst (like going to the Dentist). There are a million general tools for this,
but having your own _perfect_ tool is like having a superpower. And it's a
great way to get to know yourself.

Alternatively, you could become the world expert in something small and
bizarre. Like VIM. Just kidding. No, like some API. I got to know the MTurk
api, and it then became an expert at it. Then people started treating me like
an expert. It was cool.

A third approach is find somebody you want to learn from and work with them.
Any project you pick will never be as important as what you learn from the
project.

~~~
losvedir
Ha, fancy seeing you here (if that username matches up with a certain athena
account)...!

That's a very good observation about becoming an expert at a particular niche.
The same thing sort of happened to me one summer, when I researched so-called
"Blue laws" in the US. Spend a summer diving through microfiched historical
laws in the library and soon enough you know more than anyone else in the
world on the subject! It's quite an interesting feeling.

However, as hmslydia said, I think an API could be a good niche here.

~~~
hmslydia
Ha! it is me! I'm in Cambridge! Let's catch up!!!

------
m0nastic
I'd like to create a market for a "wish-based" currency. (Stop laughing).

As dumb as that sounds, I was struck by the idea of what a currency market
would look like in some sci-fi techno-utopia (one where nanites or molecular
printers can basically provide all utilitarian needs).

Presumably there would still be a need for currency, even if people didn't
have to buy things. If I squint, I can almost see Kickstarter as a general
example of a very specific "wish-based" market (one where someone has a thing
that they want to exist, and other people collectively fund it).

So what could a system look like that was designed to facilitate wishes.
Presumably there's some underlying crypto-currency, and a reputation system
(which I'd also like to work on).

Anyway, it's at the bottom of my todo list.

~~~
Marcus316
Have you, perchance, read "Voyage From Yesteryear"?

The "economy" described is rather interesting.

[http://en.wikipedia.org/wiki/Voyage_from_Yesteryear](http://en.wikipedia.org/wiki/Voyage_from_Yesteryear)

~~~
m0nastic
I haven't, but I just bookmarked it. Thank you.

------
normloman
I've been slowly designing an open source drum lesson book. If I had more
time, I'd put more effort into it.

Currently, there are a few drum books that every drumset player works out of
(Syncopation, Stick Control, etc). Most people don't play what's in the books
note for note. Instead, they modify the lesson to fit whatever they want to
learn. If they were available under a free license, it would be easier for
teachers and other drummers to publish their own modified lessons.

I have no delusions that a free drum book could replace the classics. I'll
consider it a success if it just helps my students. And who knows, it might
catch on.

~~~
thegeomaster
I'm definitely interested. Is there a mailing list or something similar I can
subscribe to in order to keep up with the progress?

------
andyjohnson0
Not a software project, but I would try to learn mathematics properly and in
depth. This isn't something I've had the time or opportunity to do.

I would get a stack of basic and undergrad textbooks, maybe a copy of
Mathematica, maybe also a tutor, and just start at the beginning to see how
far I could get.

~~~
nikhilalmeida
I came across this yesterday (probably on HN)
[http://betterexplained.com/cheatsheet/](http://betterexplained.com/cheatsheet/)
I plan to read through all of this in my free time.

~~~
tehaugmenter
I don't know where you found it but thank you sir! Very enlightening and
helpful for those things you get rusty on. Calculus was 6 years ago now for me
and just skimming over what is in this sheet helps a hell of a lot. Awesome!

------
yock
My current pet project is a Diplomacy adjudicator API. There are some dated
web apps out there where you can play the game online, but I'd like for there
to be well-tested and refactored backend as the basis for more modern web and
mobile apps. Given the time, I would build this API out to pass Lucas
Kruijswijk's test cases[0]. Probably not scholarly-level stuff, but it sounds
fun and there's much to learn in such an ambitious project.

0:
[http://web.inter.nl.net/users/L.B.Kruijswijk/](http://web.inter.nl.net/users/L.B.Kruijswijk/)

~~~
mooreds
Gosh, I haven't thought about diplomacy since college! Had no idea that the
test cases were outlined in such detail.

I agree, this would be a fun project and not trivial.

------
twotwotwo
Since we're talking academic: agent-based economic modeling, in which you come
up with scenarios and assumptions about how different folks make decisions
(which might be heterogeneous--e.g., your imaginary stock market could include
the equivalent of the unfortunate individual investors that watch CNBC and
follow bad strategies, and institutional investors, and HFTs), and you see how
they play out. If your model seems to resemble the real world in interesting
ways, you can simulate applying some intervention--a transaction crash, a
commodity-price shock--and see how that plays out. Up to you to pick which
scenarios and models to explore, of course.

It's fun because you have more flexibility in the kinds of models you can toy
with than if you were simply working with equations and had to assume a
spherical cow, and you can connect computing with a different discipline, and
you get an almost reasonable excuse to borrow some extra compute cycles for a
couple of larger simulations. :)

~~~
eevilspock
I've been thinking about similar things as educational tools, calling it
interactive and illustrative simulation.

The idea is help people (kids and adults) learn a variety of real-life complex
systems, such as free-markets (and how they do and don't work), game theory
and social behavior, the impact of money in politics, the impact of
advertising on the economy and web content, etc.

Users could control sliders to compare ideal situations to reality. For
example, they can reduce to zero "consumer gullibility to advertising",
"consumer myopia", max out "consumer intelligence", and see how the invisible
hand of the free market works well. Then they can move the sliders into
reality (They get to decide for themselves how far over), and see how the free
market breaks down, and effects such as the Mathew Effect (rich get richer).

Overlapping thoughts?

------
jostmey
Votecoin. Just as bitcoin makes it hard to post fraudulent transactions
despite the lack of a central authority, votecoin would do the same for
elections. The protocol would have to (1) make it extremely difficult to cast
a fraudulent vote and (2) avoid relying on a central authority.

Such a protocol is possible if you think about it, but you have to be creative
;-)

~~~
ArtDev
This is a great idea for third-world countries and questionable democracies.
Afghanistan, Iraq and the upcoming Jeb Bush election in America.

~~~
atmosx
I live in a third-world country (Greece). The problem is not fraud. They don't
need that. Corrupted politicians (ruling for 40 years here, without any real
problems) buy votes prior to the elections. From 20 (EUR) to 50 per vote. Now
that we're in the middle of a financial crisis even 12 to 15 per vote could
work. In the villages you can get an entire family to vote (~ 4-5 votes) for
2Lt of fresh oil. In the cities are either bought or exchanged for a future
job as a public servant (hard to do these days, but still...)

~~~
thegeomaster
This. I live in Serbia and it's the same thing. They approach you as you're
entering a voting location and offer you as little as €20 in exchange for a
vote, and they ask you to take a smartphone photo of the voting piece of paper
(dunno the right term in English) as proof.

Not to draw discussion to political affairs, but literally nobody I personally
know has ever expressed nothing but contempt for the currently leading party
here, yet they have amassed over 50% of all the votes on the latest elections.
I suspect a lot of it was via these methods. So a fraud-intolerant voting
system would help, but not tremendously so.

~~~
atmosx
See? Now imagine with something bitcoinesque. They will ask you hashes, etc.
Then they will use software to measure votes on the fly :-)

ps. There's no software that can fix a rogue voter.

------
merrua
Hmm. I would work on a scientific community that makes it easy to publish
Science-to-Public books (to increase public interest in science), to get peers
to review your paper easily (to decouple it from journal) and help people know
and recongnised the talented scientist in their area. It bothers me that the
science being done every day by clever people doesn't get the attention and
funding that it should.

~~~
eevilspock
Would a collaborative filtering engine that was able to discern
inputs/feedback that were reliable versus not be useful to your endeavor?
That's a key piece of what I'm working on:
[https://news.ycombinator.com/item?id=8086694](https://news.ycombinator.com/item?id=8086694)

~~~
merrua
This is quite interesting though an exact match. I will follow more news on
this and w3c annotations.

------
dzink
It may be a tough problem for the current state of AI, but one day I want to
see to life a consequence engine for real-life decisions. For example, when a
new law is proposed, the engine interprets every stipulation, relates it to
economic principles, legal decisions, historic analogies, etc, and produces
probabilities of second, third and fourth orders of consequences that might
result from the law as structured. There are many bad ideas and decisions made
in government and elsewhere that could be avoided if something objectively
evaluates the consequences of said politically or pork-motivated moves.

~~~
walterbell
This would be more tractable if there were multiple consequence graphs that
could be overlaid on wikipedia.

Prior to modelling possible futures, a good exercise is to model alternate
pasts.

Pick key turning points in history and identify variables where a small change
in input (location, time, magnitude) would have resulted in a large change in
output.

------
kephra
I have no free time. The common curse of every coder are infinite ideas vs.
limited time. So if I want to take free time from this curse, I would go
offshore sailing for half a year to ensure I have no internet.

~~~
orky56
Once you mentioned offshore, I thought you were going in a different direction
completely.

------
twidx
I'd actually return to my first love: theatre. I've been wanting to do some
playwriting again, but i'm too busy paying the bills right now. I taught
myself how to program so I could actually pay the bills, but I'd love to be
writing again.

~~~
ebiester
Honestly, as someone who has taken multiple mini-sabbaticals, all it takes is
willpower.

By that, I mean the willpower to save, to have roommates, to cook at home...
It is possible!

Another strategy is to plot out while working and spend your two weeks of
vacation completely alone somewhere far away from wifi and basically use it as
an opportunity to transcribe. If you have all your research done beforehand
(and this is something that can be done in small chunks) you can get a first
draft done in two weeks. (I've had friends do this.)

Of course, I still have a novel begging for a second draft that I keep
promising myself I'll get back to. :)

------
AndyKelley
Building a free and open source multiplayer digital audio workstation.

Here's the manifesto, copied from the README[1]:

* Fast but not over-optimized. Waste no CPU cycles, but do not add unnecessary complexity for the sake of speed.

* Take full advantage of multiple cores.

* When there is a tradeoff between speed and memory, sacrifice memory.

* Sample-accurate mixing.

* Never require the user to restart the program

* Let's get these things right the first time around:
    
    
       - Undo/redo
    
       - Ability to edit multiple projects at once. Mix and match
    
       - Support for N audio channels instead of hardcoded stereo
    

* Tight integration with an online sample/project sharing service. Make it almost easier to save it open source than to save it privately

* Multiplayer support. Each person can simultaneously edit different sections.

* Backend decoupled from the UI. Someone should be able to depend only on a C library and headlessly synthesize music.

[1]:
[https://github.com/andrewrk/genesis](https://github.com/andrewrk/genesis)

~~~
clay_to_n
I WANT TO BELIEVE

But seriously, this sounds like an awesome project. As far as I know, there
are still no great multiplayer-DAW setups. Would be incredible, but definitely
a big challenge - working alone in a DAW uses serious CPU cycles, and trying
to get a second person in on it would be hard. Good luck!

~~~
AndyKelley
Thanks :)

I've been saving up money so that I can actually take a year or so off work
and try to build this. Maybe this time next year I'll have something to show!

------
interintel
Continue my work on connecting robots and avatars to simulated connectomes but
do it full time and make some really cool break throughs, and more
importantly, some very useful devices!
[http://www.connectomeengine.com](http://www.connectomeengine.com)

~~~
Joof
Oooo.

------
PatriceBoivin
I would spend my time looking for solutions to real problems that no one seems
to really want fixed, like corruption, fraud, white collar crime, lying during
elections, bureaucracy, human trafficking, revenue stream manipulation, buggy
software sold to millions without any kind of quality guarantee, etc. etc.

That would include trying to get Bethesda to fix Skyrim for the PS3 (I know
it's hopeless)

AI projects to help find useless, nonsensical laws which conflict with each
other? To run governments without corruption (though garbage in, garbage out
makes this a little scary as it could streamline and multiply corruption)

Then I would have no money left at all.

Nice open-ended question, by the way. Good luck with your thesis.

~~~
eevilspock
_" like corruption, fraud, white collar crime, lying during elections,
bureaucracy, human trafficking, revenue stream manipulation, buggy software
sold to millions without any kind of quality guarantee, etc. etc."_

We might have a lot of overlaps / synergies:
[https://news.ycombinator.com/item?id=8086694](https://news.ycombinator.com/item?id=8086694)

------
sedachv
I would hack on and port apps to
[https://sandstorm.io/](https://sandstorm.io/)

Last week, before I found out about Sandstorm, I would have said work on this:
[http://carcaddar.blogspot.com/search/label/ClearSky](http://carcaddar.blogspot.com/search/label/ClearSky)
\- I sketched out some ideas for how to apply current cryptographic techniques
in new ways and use WebRTC to make a P2P social network that would still
address scenarios like logging in and having access to your data from random
library computers.

------
vkb
Finish writing my novel. Sure, I write after/before work (as did many famous
writers as described in the really great book[1]), but it's HARD, and it's
taken me 2 years to finish a first draft.

I daydream about my schedule: up at 8, exercise, write/edit from 9-12, then
again from 1-2,then do the rest of the mundane stuff that builds up in a day.
100k polished words in 6 months, easy peasy.

[1] [http://masoncurrey.com/daily-rituals/](http://masoncurrey.com/daily-
rituals/)

~~~
VikingCoder
Do National Novel Writing Month. You write a 50,000 word novel entirely in the
month of November. The goal is quantity, not quality.

Then you can tell people you're working on your SECOND novel, which sounds way
cooler.

~~~
salemh
Its a fun project, I did this back in 2012 or some such, and gained 5x
different mini projects out of it (shorts, etc.)

Makes you crunch out quantity, which is good for aspiring authors. Learning
how to say "it doesn't matter" until you start to edit. Meaning, just get it
done.

------
benwerd
It's funny - now that I'm building
[http://withknown.com/](http://withknown.com/) at
[http://matter.vc/](http://matter.vc/), I don't know how I'd answer this
question.

Previously, I would have said that.

I'd love to spend six months on writing a novel. I've written simple novels
before, but a serious book. I have ideas that I want to pursue, but they
really would need my whole brain at length. Six months _might_ cover it.

~~~
eevilspock
What's your business model for Known? The reason I ask is explained here:
[https://news.ycombinator.com/item?id=8086694](https://news.ycombinator.com/item?id=8086694)

~~~
benwerd
I really love the "users first" stipulation. We're deliberately building a
business that builds what we call _respectful software_.

I wrote something about those principles last year:
[http://benwerd.com/2013/05/24/respectful-
software/](http://benwerd.com/2013/05/24/respectful-software/)

Known is either SaaS or a self-hosted software application, depending on your
needs. As such, we're offering:

* SaaS subscriptions

* Support subscriptions for self-hosted users

* Enterprise support

* Software and support for deploying Known across organizations

* Customizations (eg integrations with learning management systems / enterprise software, etc)

In the future, we will offer:

* Direct sales of content to readers (think Bandcamp)

Right now we're not considering advertising or any kind of tracking-based
model.

~~~
eevilspock
Nice. When I write up my take on Users First I'll send you a note.

------
logn
It's 2014 and I still haven't found a music player/manager I really like.
Tomahawk and Musiq come close but they each leave something to be desired.
iTunes circa 2008 was pretty good, but I'd like something for Linux, and I'd
like it built in Java too, because I've found over the years that Java has
amazing compatibility with sound cards on almost every computer.

I really like Google Music, but I don't like managing my music via the cloud.
And I've tried just about every Linux home audio server and they all are a
little wonky.

Some very basic features I see missing or hard to access in music players are:

\- no ability to shuffle on different levels of granularity:
genere/artist/year/etc

\- ID3 tag editing somehow is terrible in everything but iTunes

\- Full equalizer and audio effects (e.g., reverb, compression, filters)

\- Canonical and clean song/album/artist data with extra attributes listed as
comments, not cluttering up the main tags--I don't care that your song is
"Feat. Jay-z;T-Pain;Snoop Lion;Sting; (album version (explicit version))"

And stepping back, I think the whole grid/table-based approach to viewing your
music is a bit lifeless. I'd like to see other ways to navigate, .e.g.,
something built on the data that Pandora or Last FM has, but specific to my
collection. And I'd also like to be able to navigate by artist history and
associations, e.g., see all my albums by bands that have ever opened for the
Flaming Lips.

------
mostlybadfly
Just some random thoughts I've been working/wish I had more time to do:

I would a lot of my time just working and maintaining an app to write and
categorize recipes I have at home. This would go hand in hand with just taking
on more involved and elaborate cooking projects (ramen, making moles, smoked
meats).

I would also just work on random ruby challenges all the time. Some
cryptography stuff, some math or general programming challenges, but also just
programs I can use. Something fun would be to make a really nice music
player/manager using shoes, just for the fun of it. I like music programs that
run natively in Linux versus just web players. Other than this just learn as
much as I can by contributing to open source projects.

A BIG goal of mine would also be work towards being a polyglot. I studied
linguistics and other languages in college, and every programming language I
seem to come across just sees fascinating to me. I want to absorb these and
just become very familiar with things like Go and Haskell, two of which of are
particular interest.

Other than that, I want to work on my fitness. Jogging more, going to the gym
during the day when it's not as busy, stuff like that. I also have various
games I want to play, not so much projects but just for fun.

------
typhonic
I was thinking about writing a driver for laptops that have the touchpad in
front of the space bar. Sometimes when I am typing, I accidentally move the
focus by touching the touchpad, and my text gets entered in the wrong place. I
think I could write a driver, or application, which recognizes that pattern
and keeps track of the erroneously placed text. Then a magic keystroke
combination could be used to invoke an automatic repair.

~~~
Fripplebubby
Does this help you?
[https://code.google.com/p/touchfreeze/](https://code.google.com/p/touchfreeze/)

~~~
typhonic
That is a good idea, too, but different from what I was thinking. If I, or
someone else gets this working, it may have other applications.

------
fortes
I would learn Go and help build out Bazil:
[http://bazil.org/](http://bazil.org/)

Solves a problem I've had for a long time.

~~~
graffitici
[https://meetlima.com/](https://meetlima.com/)

~~~
fortes
Interesting. Don't love the HW piece, but definitely relevant for what I want.

------
mattyfo
An HTML/CSS prototyping framework that is dead simple for designers to use.
They would only write the code in an easy to organize way (layouts and
snippets) and the tool would take care of building everything, live reloads,
creating documentation from comments, collecting feedback from stakeholders,
and serving it up.

I've been wireframing for a while and have yet to reach a solution I really
like.

~~~
Lichine
Not quite there yet, and might not be quite what you want, but here:
[https://github.com/AndersSchmidtHansen/Kaidan](https://github.com/AndersSchmidtHansen/Kaidan)
:-)

------
dutchrapley
I would emerge myself into the world of data science and big data. It's the
new frontier and is where the web was 15 years ago.

The trend I've seen with web development is that it's mostly a primary skill.
While data science will be a primary skill for many, it has the capability to
be a much sought after secondary skill in other industries like finance,
health, and actuarial science.

~~~
mrfusion
I don't see that much demand for it. For example if you look on the HN seeking
freelancer thread, most people are still looking for RoR or PHP. I don't see
much of "please analyze my data and help me make decisions".

Where are you seeing all the demand?

~~~
mrfusion
And random side-rant, why are so many people looking for AngularJS developers
when I see almost 0 single page application type websites in my day to day
life? What are all of these companies using it for?

~~~
cpfohl
I've written dozens of sizable single page apps that you'll never see because
they're behind a firewall that only my company and its clients can access. Not
sure about everyone else.

------
iLoch
I've got a project that I'm working on that could really benefit from that
free time. But like most HNers my project isn't going to change the world -
but it's an interesting technical challenge.

If I had 6 months of free time I'd like to make something that could
potentially do a lot of good. For example, an app that gamifies doing nice
things for other people.

------
mqsiuser
I have been open sourcing IBM WebSphere Message Broker ([http://www.use-the-
tree.com](http://www.use-the-tree.com)) recently.

It needs some polishing and especially it needs support for "industry
standards" like Edifact (already started on that), SWIFT, HL7, X12 and others.

If I had half a year time, I'd be working on that!

It's a multi billion dollar business

~~~
mqsiuser
Write a parser (analog to the Edifact one) and I will add you to the
contributor's list and update the site with the new code.

Let's crush IBM :)

Do something that matters. Leave your mark here.

I am awaiting pull requests :)

------
gchp
Probably something to do with system programming.

I've only ever really worked on web applications, but am feeling drawn to
systems work, it's something I'd love to get deeper knowledge in.

Not quite sure how to go about it / what to learn - but I'm starting with Rust
- [http://rust-lang.org](http://rust-lang.org).

~~~
optymizer
This might not be a what you (or others) want to hear, but starting with Rust
is not a terribly good idea. Rust _will_ be great, but you need to learn
system design concepts, not some programming language that might be used to
implement system software in the future.

If I were you, I'd start with C (read K&R) and then move on to understanding
Unix (write a few tools using libc), then try a kernel driver or maybe some
embedded programming. You'll have billions of lines of C source code to learn
from, there are plenty of books that teach systems programming using C (in
various contexts) and it's really not that scary once you know what not to do
(but it will take time).

Example projects to attempt: write a trivial kernel for an embedded device;
implement paging in a toy kernel that doesn't have it; write a web server;
write a C compiler for MIPS (optionally with optimizations); write a CPU
emulator (8086, Z80, MIPS, ARM); write an assembler; write a malloc()/free()
replacement; write an ELF loader to execute Linux binaries; write a 'tar'
replacement.

The examples might sound daunting, but they don't have to be big, production-
quality programs - those take years, these would take several months of part
time work (if that). You will learn _a lot_. Also, there are online courses
that teach you all of this (look at Computer Architecture, Operating System
and Compiler courses), lots of textbooks (fairly expensive, but worth reading)
and toy kernels/projects to use (things like Minix, Nachos, cheap ARM boards,
etc).

------
gatehouse
\- I'd like to put together a large illustrated book on protocol design, like
architecture books that have large pages and illustrations

\- a stone CNC that could do a marble bust or full scale stone statues

\- try to design a space launch platform like a vacuum monorail going up the
side of a mountain, there are plenty of mountains.

\- build an off grid cabin (perfect place to read compsci books)

\- a video search engine, based on speech-to-text first and then try to add
comp vision to the extent possible

\- brain-computer interface, any way to get data out other than through body
movement / voice.

edit: also like to take a shot at designing a materials reclamation facility
in a container box. like a one-shot machine where you dump garbage in one end
and raw materials come out the other end. this + a mini nuclear reactor +
versatile 3d printer would go a long way. I'd like to know what it would take
to make a machine where you dump garbage in one end and finished products pop
out the other end.

------
tromp
I'd compute the number of legal positions in the game of Go. We already know
the numbers up to 17x17, and the approximate value for the standard board size
of 19x19; see
[http://www.cwi.nl/~tromp/go/legal.html](http://www.cwi.nl/~tromp/go/legal.html)

------
cjbprime
Something involving WebRTC datachannels and decentralized/p2p web services,
e.g.

[https://github.com/feross/webtorrent](https://github.com/feross/webtorrent)

[https://github.com/jbenet/ipfs](https://github.com/jbenet/ipfs)

------
Joeri
P2P evernote clone without a central storage server, and fully open source.
Synchronization through encrypted email between arbitrary pairs of clients.
With all the NSA revelations I've come to the conclusion that only "trust no
one" is secure, where you do not rely on any third party to have privileged
access to your content, only to relay encrypted streams of it.

I've been hacking on a javascript implementation for syncing near-arbitrary
json data in this way, but it's slow-going and I have too many distractions.
Right now it sort of works for everything except arrays, arrays are tricky to
sync.
[https://github.com/jsebrech/minisync](https://github.com/jsebrech/minisync)

------
privong
I have a few options I might work on...

As part of teaching myself python, I put together a small GPS logging/analysis
package[0]. I have lots of ideas for extending it, so I would work on those.

I am also interested in gaining some hardware experience and seeing what sort
of home automation things could be done with hardware like arduinos and
raspberry pi. Associated with this, I am interested in exploring the options
for natural language control through the inclusion of speech recognition and
perhaps neural networks. The goal of this would not be AI, but to be a
trainable system which might handle home control work.

[0]
[https://github.com/privong/magellan/](https://github.com/privong/magellan/)

------
mklappstuhl
I would implement cassowary (the constraint solving algorithm) in
Clojure/Clojurescript. And then I would try to find a good way to make it
usable for layouting in React-based environments. I think it could be done in
a shorter timespan.

Anyone interested in pairing on that?

------
aniketpant
I have worked on and off on a small developer oriented CMS based on PHP, but I
could never get myself to work on it continuously. If I had half a year, I
would develop the CMS which I could easily customise to write applications
faster.

------
kbob
If I had six months free, I'd focus on one or more of my existing side
projects.

\- The big one is my laser cutter. I've got the low level software stack
mostly finished, but I want to use it as a vehicle to learn about web
programming and user experience.

\- I am learning to program FPGAs. I still haven't identified the project
here, but i'm leaning toward a CPU with high level language support or video
processing.

\- I've written Scheme interpreters, but I'd like to write a Scheme compiler.
This could be combined with the FPGA project. I'd also like to use Scheme (or
Clojure) to develop a large project or two.

------
jameshush
As a guitarist who jumped over to software engineering:

1\. An online metronome that allows you to save practice notes, track a
history of tempos you've used, and allow you to record/save 30 second clips
for reference.

2\. A new full length album :)

------
tinco
At the moment I have three projects I would pick one from to finish:

1\. an e-mail server with a web server that can be deployed on a cheap device
(raspberry pi) to offer pgp mail to non-technical persons

2\. a docker orchestration system (docker is supposedly working on one
already, but where's the fun in waiting)

3\. I have this idea for a "Game of Life"-like game where instead of life
being dependent on adjacent life, life would be dependent on energy equally
distributed over the grid, and life could store and expend energy to execute
operations like replication and movement.

------
simonhughes22
1\. Build a deep neural network (probably consume my first 5 months!) and put
it to use on something funny \ unusual, like determining if jokes are funny,
or whether someone on camera is lying

2\. Implement Bret Victor's learnable programming ideas into a useable IDE for
mainstream languages (java, C#, python,etc). LightTable is really cool, but
the lack of an instarepl for all but Clojure falls short of the original
vision. It would also need to support time travel debugging and actual regular
debugging and intellisense.

3\. Solve N vs NP

------
mattgreenrocks
First question: what are your areas of interest? It is easier to generate
intrinsic motivation this way. If you've done prior work in the area, you
should challenge yourself by trying to use a different language or paradigm.

Right now, I'm interested in compilers and Haskell. So I married the two
together (they're made for each other) and am working hard on a Python 3
interpreter:
[https://github.com/mattgreen/hython](https://github.com/mattgreen/hython)

~~~
jeffreyrogers
I'm not super familiar with Haskell, but I'm fairly proficient in one of its
siblings--OCaml. I've found that compilers/interpreters are almost the ideal
use case for those types of languages. (That's where my OCaml knowledge comes
from--writing toy compilers).

------
dijit
truly private and easy to use email for all.

it's a big thing I want for myself, and I know many others who would like it
too.

on paper, striking the balance of ease of use and security is hard, since
gmail exists. :\

~~~
eevilspock
If you make it open source and not-ad-supported, committed to a Users First
covenant that I need to write up, I'd promote the hell out of it. See
[https://news.ycombinator.com/item?id=8086694](https://news.ycombinator.com/item?id=8086694)

~~~
dijit
That was the plan!

was going to use gpg to do most of the stuff (since I'm no cryptographer), and
charge per gigabyte for the servers I host (just enough to cover costs).

the idea was hosting it yourself would be free, easy and of course, open
source.

------
mlitwiniuk
I would definitelly go for SaaS app for more comprehensive team / company
management. I'm building something now
([http://teamlens.io](http://teamlens.io)), but I do not have full year to
commit. It would be really awesome to work stress-free on something. Anything
that could profit in future, but without everyday stress (I run software house
and hire > 10 people - it tends to generate abnormal amounts of stress from
time to time).

~~~
mirkoadari
Check out WeekDone.

------
heyalexej
Travelling the world and learn a new programming language. In fact, that's
what I'm doing right now. Learning Go while sitting in a coffee shop in
Vientiane, Laos.

------
dalacv
thinking to myself: "bees are dying, the planet is overheating, everybody's
overweight ... what we really need is more saas software and more mobile
devices.

------
artumi-richard
Encrypted p2p facebook.

~~~
privong
Honest question, why not just go with diaspora*[0], which seems to run
relatively smoothly and already has a (small) user base? Is there
functionality they do not posess or are there issues with their architecture?

[0] [https://diasporafoundation.org/](https://diasporafoundation.org/)

~~~
artumi-richard
Now this may be old, but it had something called "pods" which I think are
servers. And you have to run one, or register with one. Once done it would
store all the data. There didn't seem to be a way to have intra-pod
communications. This didn't feel sufficiently decentralized for me. Basically
it seems more like a tool to create your own facebook. I still have to trust
the guy running the pod.

I was expecting a locally running app, with all my stuff available to it, one
or more bitcoin style IDs and external servers acting as a napster style
introductory service, which once complete would have _nothing_ to do with the
encrypted p2p communications that followed.

I think with a sufficiently scoped out messaging protocol and simple demo
client software something new and important could be created.

Since everything would be encrypted for the end-recipient it may well be data
intensive, if sharing videos amongst many people for example, but perhaps some
shared secret/ one-time pad/ dropbox (old and new meanings) would be a good
solution to this.

------
younata
I'd finally get my CFD stuff off the ground. I currently only spend about an
hour a day working on it, and I'd like to just work full time (or more) on it.

~~~
csbrooks
CFD? Maybe
[http://en.wikipedia.org/wiki/Computational_fluid_dynamics](http://en.wikipedia.org/wiki/Computational_fluid_dynamics)

------
pjungwir
\- work on that computer game I've always wanted to build.

\- learn the Postgres codebase and add my pet features:

o bitmap indexes (for data warehouses)

o ORDER BY clauses for UPDATEs (to avoid deadlocks)

------
EFruit
I would draw up some wireframes for my dream data storage platform/privacy
firewall, then dream that I could actually build it.

EDIT: Now that I think about it, I'd rather like to build a filesystem that
understands that data can come from URLs, and when (God forbid) you run out of
local space, it'll remove data that's still online and replace it with
something akin to a net-enabled symlink.

~~~
luuio
welcome to Microsoft OneDrive

------
c0nsumer
I'd work on doing all the political and fundraising piece of building some new
trails in a local state recreation area. Sure, this isn't IT related, but it
strongly benefits the local community and due to having a number of obstacles
(funding, gaining community acceptance, getting land manager support) it'd be
a full time job for half a year.

------
noisy_boy
After spending time with friends and family, I think I'll still have a good
deal of time left for myself.

With that time, I'll build my body. Not just for aesthetics, but really spend
time building it as well as I can. Needless to say that it'll make me feel
pretty good about myself and all the good things start when one feels good
about one's self.

------
dasmoth
Writing a (at least somewhat usable) compiler has always appealed. Would be
tempting to try an implementation of PLOT -- [http://users.rcn.com/david-
moon/PLOT/](http://users.rcn.com/david-moon/PLOT/)

Alternatively, and rather more contact/resource dependent, would be some at-
least-semi-lab-based biology.

------
apeeyush
I would make a big data analytics software that is really easy to use for the
education sector. Currently, I am working on a project
([https://github.com/apeeyush/Data-Analytics-Log-
Manager](https://github.com/apeeyush/Data-Analytics-Log-Manager)) that takes
me one step closer to it.

------
Kaivo
I would try to make a simplified version of
[http://ampache.org/](http://ampache.org/) using Node.js instead of PHP.

I like the project and the centralization of the media files, but the current
form seems to include too many secondary features while still missing a few
things on the UX front.

------
gitaarik
My personal open source project, JazzChords.org. It should become a site where
people can create and share good looking chord charts.

[http://jazzchords.org/](http://jazzchords.org/)

[https://github.com/gitaarik/jazzchords](https://github.com/gitaarik/jazzchords)

------
stonemetal
Academic wise I am interested in data, and human factors in programming. It
might be interesting to develop a database API that is resistant to attacks.
ORMs typically provide such an interface so maybe pick one of the NoSQL
databases that doesn't already have a ton of ORM support.

------
sarciszewski
I have a backlog, actually, that I would eliminate. :D

[https://scott.arciszewski.me/blog/2014/07/poll-next-
project-...](https://scott.arciszewski.me/blog/2014/07/poll-next-
project-20140708)

As soon as I have free time again (ha!) I'm going to chip away at it.

------
anotherevan
I would work on an open eco-system for managing ebook libraries. Start reading
a book on your eink ereader at home. Later you're stuck in a queue at the
bank, so you pull out your phone and pick up where you left off. That sort of
thing.

~~~
jrvarela56
Tired of using Calibre+Dropbox, there has to be a better way. I'm down to work
as side-project, see contact in profile.

~~~
anotherevan
Well, unfortunately I don't have the half-year of free time the OP posited...
:-)

------
martydill
I'd work on my "brilliant but stupid and perhaps useless" idea - automatically
generating web apps from desktop apps, in realtime (i.e. as you use the web
app, it's really controlling the desktop app behind the scenes).

------
petervandijck
Free, without a job, without kids/family, and some $?

No question, I would travel the world.

------
fillskills
I would love to extend FillSkills.com to non software verticals. And market
the heck out of iplanttrees.org.. get people planting a lot more trees.

Also, if I could, I would like to learn sailing. And Skuba dive again.

------
jacobroufa
Another, similar thread here on HN today:
[https://news.ycombinator.com/item?id=8084866](https://news.ycombinator.com/item?id=8084866)

------
27182818284
I would really like to make a device, maybe Google Glass, maybe something
else, that would allow me to see more of the EM spectrum through augmented
reality.

~~~
cottonseed
I was just talking to someone about this today. Also, augmented audio.

------
mchahn
I am retired so I know exactly what I'm doing. I'm devoting myself to the Atom
editor for the foreseeable future. it is a hacker's dream.

------
bennesvig
Synthesize the knowledge from hundreds of books I've read into short chunks of
consumable advice, similar to The Personal MBA.

That or write several fiction books.

~~~
paletoy
This actually is quite a generic problem - most non-fiction books have a
little bit of great wisdom , and a lot of fluff.

Creating a marketplace/business-model for people who write more content dense
non-fiction seems like an interesting problem.

------
fataliss
I would spend some time learning C in more depth and contribute to NeoVim
because we need this beast out and clean and nice and fast and perfect!

------
opendais
Something that lets me go back to working for myself.

------
fmstephe
I would work on my matching engine in Go.

[https://github.com/fmstephe/matching_engine](https://github.com/fmstephe/matching_engine)

It is just pure fun. The goal would be to hit 6 million transactions per
second over the network. Currently finishing up the inter-thread queue
implementations here

[https://github.com/fmstephe/flib](https://github.com/fmstephe/flib)

I have been on this for close to a year now. I imagine I could really push it
out the door with six solid months.

~~~
ckdarby
Wish the matching_engine had a better readme so that others could play around
with this

~~~
fmstephe
Yes, that is a fair comment. It really does need a better README, and some
comments in the code.

------
HeyLaughingBoy
Make some progress on a bipedal robot strong enough to carry me around.

"Some progress" means maybe I could get one leg to stand upright :-)

------
blooberr
I would be working on comic strip that started about 10 years ago. The 6
months would allow me to accelerate the storyline!

------
iterationx
Point a phone in a direction and see geocoded tweets taking into consideration
the position of the phone,gps, etc.

------
incanus77
Full-time travel, photography, and meeting people the world over and listening
to their stories.

------
lion0
[http://haiku-os.org](http://haiku-os.org)

------
swillis16
Using a drone to look for devices that are sending GPS signals in an area.

~~~
krallja
Generally speaking, the devices that are sending GPS signals tend to be in
space.

------
eevilspock
The web inundated with garbage because of the perverse incentives[1][2][3]
that now rule it. I'm am working on ideas to fix this, including:

\- Articulating the problem and its causes very well, better than what I did
in the footnotes below. If you have an interest or expertise in the business
models of the Internet, content publishing, economic analysis of advertising,
or the promotion of "commons" approaches to human betterment (e.g. Wikipedia,
open source, creative commons), talk to me!

\- Designing a internet-wide, independent collaborative filtering layer that
let's people share negative feedback with a single click. Imagine the
satisfaction of hitting a trash can button when you are presented with
garbage, and knowing that there is now a _cost_ to publishing garbage. This
adds a much needed negative feedback loop to the web[3]. I have a unique (as
far as I know) idea that both solves the problem of "One person's garbage is
another person's gold" and makes the system un-gamable. If you have interests
or expertise in cluster analysis, statistical classification, collaborative
filtering, talk to me!

\- Promoting what I call the "Users First" covenant": A list of principles
that internet sites and services adhere to.

\- Promoting other solutions to the problem, work being done by other teams,
such as

\-- a consumer-friendly web browser that puts privacy first. No need to
install any extensions. Open source, non-profit and in no way tied to
advertising revenue. Adheres to the Users First covenant.

\-- A way for publishers to get paid by their readers rather than advertisers.
For example:
[https://news.ycombinator.com/item?id=8009959](https://news.ycombinator.com/item?id=8009959)

I actually have more than a half a year of free time to work on this, because
I quit my job (and my cushy life) to work on this. You in?

-

[1] It's bullshit that advertising gives us stuff for free. In fact, it makes
everything way more expensive:
[https://news.ycombinator.com/item?id=7485773](https://news.ycombinator.com/item?id=7485773)

[2] Since advertisers pay for much of it, sites and services are incented to
trick us into clicking on links, to show as many ads as possible, and to
invade our privacy for the benefit of advertisers. Users do not come first,
advertisers do. We are the product, as they say.

[3] Viral dynamics rule! The web only has a positive feedback loop (people
linking to pages, sharing URLs) and lacks the dampening effects of negative
feedback. This let's good things as well as crap spiral to viral popularity.
What we need is a way to downvote or flag garbage on the web in general (not
just within communities such as HN), and this certainly can't be owned or
operated by a business that takes advertising money (see [1]). It needs to be
ungamable, and take into account that one person's garbage is another person's
gold.

~~~
walterbell
Have you looked at [http://hypothes.is](http://hypothes.is) or the W3C
annotation work?

~~~
eevilspock
Yes, as soon as they came out. Too geeky and complicated. For this to have the
impact on the web it needs to have, it has to be adopted by everyday non-
technical users. Annotations serve as notes explaining why a lot of people
consider something garbage, but most often just need a warning that
essentially means: "A lot of people you respect or who think this item is
garbage". Not censorship, just a flag.

Hypothes.is and W3C annotations are like HN with only comments, no up or down
votes.

~~~
walterbell
Would users be able to choose their preferred editorial server, e.g. would it
be "everyone on the internet thinks this is garbage", or would it be
"hackernews thinks this is off topic and "reddit thinks this is moderately
interesting"?

~~~
eevilspock
More like the latter, but you don't get to choose. The system automatically
clusters you with others whose historical votes are like yours. So what you
get is "true karma" where the collaborative filter you get is a direct result
of the quality of your votes, as opposed to karma being a score as it is on
HN. You may think you are an open and fair-minded thinker, but if you vote
ideologically, or vote with things you want to be true whether or not they
are, you will be clustered with the same. It would be like Apple fanboys and
Android fanboys getting put into their own clusters, getting out of the way of
others who engage in "agnostic" fair-minded discussions. [Typo in prior reply.
Should be "A lot of people... who think like you think this item is garbage."]

Astro-turfers and bots trying to game the system naturally don't cluster with
anyone except those who happen to agree with them, in which case who cares?
There really is no difference between fake votes and dumb votes, so the system
doesn't make that distinction. Trust is asymmetrical, so even even though your
filter is influenced by those in your cluster, you may have no influence on
your cluster. Trust is earned by voting on something before others do, and
then those others agreeing with your vote. So it is impossible to game trust
by mimicking the votes of others. The system distinguishes between _leading
votes_ and _following votes_.

The clustering is entirely transparent... You can "flip" your view at any time
to one of the other clusters. I have a number of ideas how to surface a
meaningful label for each cluster so that, for example, a self-professed fair-
minded user can realize he is actually rather close minded and ideological. I
call this "Mirror". One's cluster would never be publicly displayed (not in
the business of shaming), but you can look in the mirror in private, and gain
self-awareness.

The system would support the maximum privacy and anonymity guarantees possible
(allowing people the option to register with no password recovery email, for
example).

Before the system has enough users to do effective clustering, it would simply
flag garbage that has widespread agreement as such. That in and of itself is a
valuable service.

My original project name for this is "Garbage" (How much of the web do you
think is garbage?), but I've settled on "Common Karma" as the official name.
This is my first sharing of the above idea and its names beyond my friends.
You heard it here first!

~~~
walterbell
Sounds quite promising, look forward to seeing your algorithms take on
professional astro-turfers (human or bot) who may have algorithmic assistance.

This 1997 essay on collaborative filtering has the baggage of an "extropian"
perspective, from Sasha Chislenko (RIP). Some of the social speculation
remains relevant,
[http://www.lucifer.com/~sasha/articles/ACF.html](http://www.lucifer.com/~sasha/articles/ACF.html)

This was in the early days of ACF, [http://www.strategy-
business.com/article/19707?gko=acda4](http://www.strategy-
business.com/article/19707?gko=acda4)

------
danelectro
Complete the invention of a new technology elemental analysis technique.

------
eevilspock
What field and speciality are you studying and writing a thesis on?

~~~
conglats
I'm majoring in Computer Science and am minoring in Chinese Language and
Culture. My thesis will involve more programming than Computer Science per se.

~~~
eevilspock
Coincidence: I also code and I speak Mandarin, though I'm not Chinese. Let me
know if any of my ideas (in the many comments I made herein) are of interest
to you.

------
mooreds
I would churn out a few books on leanpub, around areas of interest to me--
another cordova book, a revision of my current cordova book, one on business
process automation using APIs and google services, and one on
green/sustainable investment.

------
FroshKiller
I support a web-based ERP system. I'd love to develop a feature for reporting
support cases directly from the system that is context-aware enough to
describe an issue better than most of our clients do when they call or email.

------
mabramo
I would develop a game or several games.

In addition, I would write a metal EP.

------
msutherl
A better way to share photos with my friends and family.

~~~
__john
What's wrong with g+, facebook, instagram, snapchat? I'm not saying they're
perfect, just wondering how you would improve on them?

------
ArtDev
Drupal 8. It will be amazing when it is finished.

------
mbarrett
Software project would be a platform for anonymous product distribution direct
to consumers catered to their preferences.

Non-software related would become fluent in a second language. Any language.

------
xj9
I'd write a reference implementation for a distributed ecommerce system I've
been dreaming up.

------
_nato_
email. I use gnu's nmh in combination with some tickle folder tricks (43
folders) which would be neat to implement in an app. Alas, no time.

------
likeclockwork
Learn OpenGL.

------
naturalethic
An economic game that explains marginal utility.

