Ask HN: Who is hiring? at the first day of each month at 9 AM Eastern time is a great source of jobs and trends in the startup world. Following it is quite a hassle as the UI is not designed for hundreds of posts in a single page. This application is cloning it into a local database and adds a UI to select interesting jobs and hide the unattractive ones.
python3
virtualenv
The current database is RethinkDB, use they instructions to install it. On OS X with brew it's as easy as:
brew update && brew install --upgrade rethinkdb
Backend is written in python using a minimalistic approach with flask. To run it use setup.sh
to create a virtualenv with the required packages installed in it.
Frontend is using ReactJS, jquery and bootstrap with on the fly JSX transformation.
-
start your database somewhere with
rethinkdb -d YOUR_PREFERRED_DATABASE_DIRECTORY_LOCATION
. -
activate the virtualenv with
source ./bootstrap_venv/bin/activate
-
run
./hn.py
to collect data using firebaseio.com. This will take around 10 minutes. At the first days of the month you should run this frequently to collect the latest jobs and comments. -
start the local server as
./server.py
and point your browser tohttp://localhost:3000
. To run it on a different port useenv PORT=XXXX ./server.py
You can be lazy and run all of the above in a tmux session with scripts/run-tmux.sh
.
- stop
server.py
with aCTRL-C
- stop
rethinkdb
with aCTRL-C
- stop
hn.py
with aCTRL-C
Stopping all of the processes in tmux will also close the session automatically.
While the program selects the current month by default you can override it both for data collection and serving using command line arguments:
-y YEAR, --year YEAR
-m MONTH, --month MONTH
-t THREAD_ID, --thread THREAD_ID
-h, --help