GitNotify Chrome Extension to track Github repos
Source Code: sairam/gitnotify-chrome-ext
The chrome extension is a link added at the top menu to allow add repositories into GitNotify.com
Source Code: sairam/gitnotify-chrome-ext
The chrome extension is a link added at the top menu to allow add repositories into GitNotify.com
I started learning Go couple of months ago. Writing is the best way for learning a new language and appreciating the beauty.
This is my 2nd Go project github.com/sairam/gitnotify hosted at GitNotify.
The project aims at notifying users periodically about the new code changes that went it. I felt I was missing out new merges happening in smaller projects while learning a language. I found amazing libraries in Go and wanted a way to get weekly diffs to understand what happened.
GitNotify is useful to:
awesome
listsGo being a language of simplicity and no magic (unlike Ruby/Rails), the philosophy is that the developer is responsible for all the code and no complex frameworks or magic should be involved. Some of the beautiful Go Projects I have seen are
The interface for providing periodic notifications needed a thought. I was going to allow my users give complete customization since different people wanted different times of day and a timezone was a factor to consider
After a lot of brainstorming on the User Interface to allow users to customize, hour, minute, day of the week and thinking about complex javascript interactions and validations on the backend, I decided to use the design pattern used in the Unix environment, The Crontab
.
Crontab is the best and simplest way to setup recurring tasks. The UI for it became simple when you provide customization for only the hour and day of week for a recurring schedule.
Remember the sites which ask you to select your timezone or location, the information can be found with Javascript so that users don’t re-enter what we can find from system time.
For my case, timezone offset was not sufficient enough, The cron package I was using requires a Timezone instead of offset. Timezone helps detect DST offset as well which an offset like -0600 would help identify.
I have been reading and listening a lot about GoLang. There are two great projects with good communities and Documentation
go
method)locks
are part of the stdlibWith this power and the speed Go runs at, I started learning Go by writing a simple productivity tool (my first project in Go), Pastebin via API, named it daata (Check daata-server/
directory)
I have been using OctoPress since a while. Octopress uses ruby and doesn’t work quite well for 1000s of posts (or so the claim goes).
I wanted to try out Hugo because of the hype of great software and fastness of generation of the static site.
Related: Why I like Go?.
Change is the only constant
Change of thinking helps you learn and discover new things
Change is what helps the world move forward
Though change is good term to philophise, its hard to embrace change in life.
There is great community for Hugo. All the code is opensource and there are 10s of themes and 100s of open source repositories to refer code from.
If you are planning to start a static website like a website or a Blog, I’d highly recommend Hugo.
Jekyll and Octopress have decent ruby code and software like Middleman which is looked as an alternative to Hugo, can do lot of things like extending and writing Ruby code which is possible since Ruby is an interpreted language.
Since Go is a compiled language, you are limited to the front end code although changing the source code is always an option. I wanted to generate new product pages based on ‘Data’ attribute which is not a feature. This is useful more as a template since the philosophy is to translate files into viewable HTML files.