Show HN: CodeHalf – Write Code Everyday, new design and new features
codehalf.com
codehalf.com
As a person who wrote code for a year every day working on a game in my free time, you'd be surprised how much progress you make even if only putting in a bit of time every day. Or maybe you wouldn't be surprised. After all, 365 days * 0.5 hours / (40 hour/week work week) = 4.5 work weeks. So about a month of "full time work" that you would never have if you didn't invest in that half hour daily. Pretty neat. Good way to master a skill in your free time even if you're one of those people that says "I don't have time."
After completing the 365 day streak I even did a little informal "AMA" on reddit where me and some other people suggested their tips on staying productive when coding every day: (https://www.reddit.com/r/gamedev/comments/37i77h/ive_been_wr...)
(That being said, I didn't restrict myself to 30 minute sprints during that year and there were certainly things I did that either could not be done in 30 minute sprints or would require quite a bit of extra planning to be able to be broken up into subtasks and done in 30 minute sprints.)
Do you think it'd work well if I implemented something to allow picking a commit for a daily entry or would you prefer more automatic tracking?
Nice project!
Public git repositories on github are an alternative for your resume ( that's good for your project). But private repositories could also mean gitlab integration and etc.. :)
For example: "Track all my GitHub repositories matching /^codehalf-*/
If you save the ETag from the Events API and pass it back in your next request, you'll get a 304 response if the data hasn't changed and it won't hit your request limit.
You'll want to poll the user's events periodically, and store that data in a database. It's too slow to ping GitHub's API every time, because there isn't a single API that provides exactly what you need.
Check out FetchRecentCommits[2] for how I hit the GitHub API, and UpdateUserCommits[3] and CreateCommit[4] for how I extract the data from the commit and store it in the database.
Good luck! Keep me updated, my username is in my profile :)
[0] https://developer.github.com/v3/activity/events/#list-public...
[1] https://developer.github.com/v3/repos/commits/#get-a-single-...
[2] https://github.com/samertm/githubstreaks/blob/master/model.g...
[3] https://github.com/samertm/githubstreaks/blob/master/model.g...
[4] https://github.com/samertm/githubstreaks/blob/master/model.g...
This way it would be independent from GitHub (we're not using GH at work for example).
One alternative would be, and what worked for me, is a simple old school pomodoro tracker:
1: get pomodoro app/timer like http://tomato-timer.com/ 2: aim for 3 or so pomodoro sessions/day for your project or new thing you want to do or to learn 3: profit
Nice thing about pomodoro technique is that the distraction is already included. You focus 25 minutes and then have 5 minutes distraction time. It adds up for motivation if you know that you can have a break after a short perdiod of time.
Already planning to add the email/password login option as it's been requested quite a few times.
I've thought about app/widget/thing for doing time tracking and pomodoro style but decided against it right at the beginning, I'll keep thinking about it and see what feedback I get from others regarding it.
Thanks for the details about getting in the zone, might well include some tips on the site later to help people get in the zone quickly to get the most out of their session
It teaches you using a hands-on approach about coding/algorithms/sys admin from beginner to expert level. Then it offers you a bunch of roadmaps on what exercise you should do next to build on the current skills you have.
Even more it would be cool that it would find the weak spots on your current skills and allow you to go back to previous exercises to improve that skill.
Wouldn't that be helpful?
I've got a plan of adding themes as a more social element where bunch of users can sign up to a themed week during which they would all work on improving a particular skill whilst sharing helpful resources and being able to help/ask questions from each other.
Do you think you'd find that helpful?
I would spend a bit more time polishing how you direct users through the flow.
Ask yourself: "What are people going to be doing with this web application daily?" and focus efforts on making that as simple as possible.
Currently it's not possible to edit topics, high up on the todo list though! :D Thanks for your feedback, muchly appreciated!
Also, it would be helpful to have some screenshots or a video demonstrating the product on the homepage.
I've thought about adding screenshots or a short video on the homepage some time, good to hear you agree, might have to bump it up on my todo list ;)
If I need to see how much I have coded in a day/week/month, I use Wakatime. It silently keeps track of all the programming I do.