vendakka
TimeFerret is a beautiful calendar app for iPhones and iPads. It comes with a custom keyboard that lets you access your calendar from any app.
How TimeFerret is different from other calendar apps: 1. Quickly see how much time you have between meetings in the 24-hour "Daily Donut" 2. Calculate Meeting Cost 3. Mark certain hours of the day as "Me Time" and flag meetings that interrupt this time. 4. Carve out a few hours as "Meeting Time" and flag meetings that are outside these hours.
We are happy to answer all your questions about TimeFerret and would love any and all feedback :)
Show HN: Stencil – Simple code templating for Go
What to Test? Using callgraph to prioritize test writing for Go code
[1] https://github.com/surullabs/lint
Disclaimer: I'm the author of the above library.
I'm the author. Please let me know if you have any questions or comments.
This library allows you to run a variety of linters as part of go test. It also supports whitelisting false positives. It reduces the need for build scripts, makes CI integration easy and lets projects enforce linter usage without extra scripts. I built it while working on our mobile app (which is written in Go) and have found it useful so far.
The below example test will check for gofmt usage, run go tool vet --shadow, golint, errcheck, gosimple and gostaticcheck
import (
"testing"
"github.com/surullabs/lint"
)
func TestLint(t *testing.T) {
if err := lint.Default.Check("./..."); err != nil {
t.Fatal("lint failures: %v", err)
}
}
Please let me know if you find this useful and if you'd like any features added/removed/modified.Show HN: Lint – run linters from go test
Our current solution is to make it easier to cordon off blocks of time and easily reschedule disruptive meetings using a mix of auto-suggested times and meeting polls.
EDIT: Changed it to say the website is up, where it said the website will be up shortly.
EDIT: edited for clarity
Show HN: GoJava – Server/desktop Java bindings to Go packages
In the above, when I say microservices incur ops and dev cost here's what I'm talking about
* Debugging tools need to function across machine boundaries
* Deployments potentially need to be scheduled in multiple stages based on the service dependency graph
* Developer and test environments become more complex.
* The number of failure modes increases due to the network.
All this means we need more code, tools and processes. This investment is worth it and even required for large organizations. They usually have the infrastructure in place and the financial resources to invest. When I was at Google building a microservices based system was so much easier with Borg, Dapper, etc. This kind of tooling is only now emerging in a useable form in the open source world.
EDIT: formatting, grammar
I do find littering code with err checks can be annoying and ended up reaching a compromise. For all code that is likely to be part of an externally public package I use 'if err !=' checks. For application level code that will be internal to my application (and internal to the file I'm working in) I use a small library [1] I wrote, that uses the panic-defer-recover style talked about in the Go documents for internal error handling [2].
However, I find that in most situations I usually prefer to not use panic-defer-recover, with if checks providing more clarity.
[1] https://github.com/surullabs/fault [2] http://golang.org/doc/effective_go.html#recover
In the course of a few weeks, I've experimented with react + coffeescript, react + typescript and settled on react + jsx + flummox + react-router in es6. I've finally come to the realization that I need to read the code for all of these to have some sense of what is actually happening. Not doing so is leading to obscure bugs that take hours to chase down.
I'd use HTTP with SSL on port 443. The ports 443 and 80 are whitelisted by a number of corporate firewalls and the like. I've run into problems in the past caused by blocked ports. In addition there is a large amount of existing software which already understands HTTP for things such as load balancing, caching, etc.
Encoding
I would recommend using JSON to begin with. It is extremely flexible and coupled with the compression abilities you usually find built into HTTP systems it will also be compact. I've used Protobufs (at Google) and Thrift (at my previous job) before, but find that the primary use case ended up being code generation and serialization using their respective description languages. This might seem absurd, but in my experience, since these don't allow you to embed the schema in the message their main advantage was reduced to having a very compact representation with some automatic schema evolution capabilities thrown in.
JSON might lead to some additional initial typing but provides very good performance in most languages. Storage of JSON messages can also be very compact if you store the compressed form. In addition most JSON libraries allow you to be backwards compatible when decoding messages (i.e adding new fields, etc).
When compressing, gzip can be expensive in terms of CPU cycles so consider using Snappy[1] from Google.
I've also heard both good and bad things about Avro but I haven't used it personally.
Most people claim JSON is schema-less but this misses the point a little bit. The JSON schema is the code you write detailing the various structs/objects that the JSON objects map to. Merely because there isn't a specific language used to lay out the schema does not immediately mean you cannot have a JSON schema. There just isn't a standard so use the library that works best for your language.
The library author is a person who's taken the time to publish their work for free. If one finds issues with the library, the polite thing to do would be to first ask about it instead of complaining. There are likely good reasons for this (and lack of time is a very good reason). A simple "I find you aren't supporting these emojis. Is there a reason for that and can I do anything to help?" goes a long way.