vyshane
If you wake up in the morning, jump into the shower, solve a problem there, and hop onto your computer, WiseTime will then offer to log the last several hours including your sleep time. Edit down to 10 minutes (or however long your shower was) and log it. A bit contrived, but that's the best I got at this time. It's a tough problem to solve ;)
I work for a company that makes an automated time tracking product (WiseTime [1]). We migrated our infrastructure to EU/Germany because we wanted to fall under a jurisdiction that is one of the strictest when it comes to privacy. This is how we think about the problem.
- Many professionals (lawyers, contractors, ...) get paid for the time that they bill their clients
- Manual time tracking (start/stop stopwatch) sucks
- Automated time tracking is an order of magnitude more convenient
- If you are going to automate the problem away, make sure that the system cannot be abused to spy on people
- Otherwise no one will want to use it!
We view privacy as one of our most important features, and our systems were designed from the ground up to protect it.
- Your activity is captured into a private timeline that only you can see
- To make your time available to your team, you must select the activities that you want to share, and explicitly post them to the team. It's like sending an email. Your draft is private, but once you send it off, then your recipient has a copy of it.
- We allow you to anonymise your posted activity data when you leave a team
- We allow you to specify filters around what activities should and shouldn't be captured. Of course you can delete anything you want off of your private timeline.
- We provide user-level and team-level data retention settings. We automatically purge data that falls outside of your desired retention period.
- We silo our data layer so that we don't store any personal information with user activity data. User activity data is siloed away from posted team data, and so on.
- We take GDPR seriously and we even have automated processes to purge data from our Sales team's CRM
We are a remote-first team, and we wanted to build a system that we personally dogfood without any qualms.
[1]: https://wisetime.com
How Backpressure Works in Apple's Combine Framework [video]
https://vyshane.com/2016/12/19/5-node-nano-itx-kubernetes-to...
I think that the exposed boards adds to its charm. Doesn't help with dust though.
Swift gRPC repo: https://github.com/grpc/grpc-swift
Unfortunately not available on Linux, so server side is out :(
I was pretty excited when Apple announced SwiftUI and Combine at dub dub this year. I have been following the Swift gRPC project, and when they released their first 1.0.0-alpha version not long after, I decided that the world was ready for CombineGRPC, a library that integrates Swift gRPC and the Combine framework.
I dreamt of beautiful, responsive UIs; of streaming data straight to my lists as the user scrolled. Then I woke up and got hacking.
Show HN: Combine Framework Integration for Swift gRPC
I've been playing the FoundationDB Record Layer for a personal project of mine, and with this setup I can generate not only the API implementation, but also the models used by the persistence layer:
Protobuf (Messages) -> gRPC -> Scala/Monix -> Protobuf (Models) -> FoundationDB
Home cluster build: A 5 node Nano ITX Kubernetes tower
[1] https://coreos.com/kubernetes/docs/latest/kubernetes-on-vagr...
Sorry about the barrage of questions. As you can probably guess, I'm very interested in trying this out.
Interested in:
- iOS development using Swift and Objective-C
- Android development using Java, RxJava
GitHub: https://github.com/vyshane
They probably like OS X as a workstation OS, and want to use Docker for the DevOps benefits that they gain from it. boot2docker is just a lightweight solution for running Docker locally.
I can already see that `docker exec` and `docker create` will allow me to get rid of a number of admin and configurator containers.
When I started playing around with boot2docker, I was gagging for the ability to share directories with OS X. However, it turns out that I didn't really need that once I realised that caching means that building images is very fast.
Programming Elixir - Dave Thomas
Introducing Elixir - Simon St. Laurent and J. David Eisenberg
The Swift Programming Language - Apple
Currently reading:
Functional Programming in Swift - Chris Eidhof, Florian Kugler, and Wouter Swierstra
Recently purchased but not started:
The Algorithm Design Manual - Steven S Skiena
Sipping from time to time:
Inverting The Pyramid: The History of Football Tactics - Jonathan Wilson
It's a bit like imperative vs. functional programming. In the former model, I have an idea in my head and I need to nest containers step by step to get to the final form. In the latter I'm simply building up a ruleset.
But like I said, that was my personal preference. I guess we'll have to differ on opinions ;)
As for iOS's @1x vs. @2x images, think of them as your drawable-*dpi resources on Android.
Using Retrofit and RxJava to interact with web services (Sample Android app)
Having said that, Swift is not nearly as intimidating as Scala.