552 karma · joined December 5, 2011
Email: paul+hn [at] CleverPoint.co
Interests: ML, React, React Native, NodeJs, Python/Flask/Pandas, Data analytics, product management, startups, mobile
Formerly...
Started first business when I was 15 building software for fortune 500 companies. Acquired by largest customer. I worked for them through high school and college.
Cofounder/CTO: Circadian Risk
Head of Product: Early stage startup in SF (Close.co)
Founder: Mythly Studios
Microsoft life: System Center Advisor
Part-time Video Blogger: channel9.msdn.com/shows/PingShow/
---
Positions:
1) Senior Software Engineer (Full-stack) | Full-Time
* 75% product/engineering
* 25% Cloud/data management (e.g. Terraform) site reliability
2) DevOps Engineer | Part-Time/Full-Time
---
Package (for all positions):
* Competitive salary + equity incentive plan
* Platinum PPO + vision + dental (including spouses/dependents)
* Paid time off
---
Mission: Circadian Risk aims to improve enterprise security and physical risk mitigation.
---
Team: We are a hard-working team who loves building great products that improve people’s lives. We have an HQ in Ann Arbor, MI, USA but we try to keep our processes sensible, lightweight, and asynchronous to enable a remote-friendly work environment. Every new hire is asked to read Maker’s Schedule, Manager’s Schedule so that we collectively internalize the importance of getting engineers into a flow state as much as possible. When we do have meetings, we strive to make them impactful and often lighthearted. We celebrate execution and personal growth. We enjoy rapid prototyping and sharing what we’ve learned across the team in weekly Dev Dives. We would love to find more self-motivated, strong communicators who can help modernize the physical security industry.
---
Tech stack (searchable buzzwords) for our next generation product: TypeScript, NestJS, TypeORM, Swagger, Postgres, AWS, Terraform, GitHub Actions, Docker, Redis, React, React Native, Redux, Material UI
---
More information available here: https://docs.google.com/document/d/1e1SXIs8xbghKBM1oIDlwQsaW...
If you’d like to apply, please send something representative of your capabilities and work experience (resume, GitHub, LinkedIn, portfolio, et al) to pmestemaker + hn (at) circadian risk dot com.
1) Senior Software Engineer (Backend) | Full-Time
2) DevOps Engineer | Part-Time/Full-Time
... thanks to all who have already reached out. I will make sure to clarify this with you, too.
Circadian Risk aims to improve enterprise security and physical risk mitigation.
Package:
* Competitive salary + equity incentive plan
* Platinum PPO + vision + dental (including spouses/dependents)
* Paid time off
Team:
We are a hard-working team who loves building great products that improve people’s lives. We have an HQ in Ann Arbor, MI, but we try to keep our processes sensible, lightweight, and asynchronous to enable a remote-friendly work environment. Every new hire is asked to read Maker’s Schedule, Manager’s Schedule so that we collectively internalize the importance of getting engineers into a flow state as much as possible. When we do have meetings, we strive to make them impactful and often lighthearted. We celebrate execution and personal growth. We enjoy rapid prototyping and sharing what we’ve learned across the team in weekly Dev Dives. We would love to find more self-motivated, strong communicators who can help modernize the physical security industry.
Tech stack (searchable buzzwords) for our next generation product:
TypeScript, NestJS, TypeORM, Swagger, Postgres, AWS, Terraform, GitHub Actions, Docker, Redis, React, React Native, Redux, Material UI
More information available here:
https://docs.google.com/document/d/1e1SXIs8xbghKBM1oIDlwQsaW...
If you’d like to apply, please send something representative of your capabilities and work experience (resume, GitHub, LinkedIn, portfolio, et al) to pmestemaker + hn (at) circadian risk dot com.
I've had this be very successful one time with a senior developer who was working in roughly the same stack across side projects as well as what I had hired him for. He was able to time-slice very well. He could come in and in a fraction of the time of the rest of the team make a meaningful impact in both pushing his own features as well as reviewing others' code/architecture.
I've found in running a consulting practice that if people need to split their time across projects that they generally do their best work when they can devote a consistent set of days to specifics projects/team (Project A on Mon-Wed, Project B on Thu, Project C on Fri). Trying to time-slice throughout the day of 4hr with Project A and 2hr with Project B and 2hr with Project C becomes too much context switching for most people.
One other thing to keep in mind: if people do not work enough on a single project, they will not achieve enough momentum to do great things. Or if the rest of the team is working full-time, it may be too much effort to keep them in the loop of everything that has changed since it is moving at a faster pace than what their time allows. You can try to overcome this by not working on critical parts of the product or having their features not be depended upon by others.
Here are some previous discussions since this content has hit the front page a couple of times:
* 5 years ago - https://news.ycombinator.com/item?id=8472157
* 7 years ago - https://news.ycombinator.com/item?id=4807091
def my_func():
group_keys = 'My thing'
while group_keys == 'My Thing':
if some_logic() == 42:
groups_key = 'My other thing' # typo here* I've seen enough things go wrong that on my teams I do not allow DDL to be executed outside of a controlled process that comes from code. But yeah, if that were to happen, it would annoying to figure out what was done and then try to re-model.
* With Django you can specify exact SQL to run. So you can break up operations into multiple smaller steps... canonical example is building a new column based on an old column. You first add the column with NULL. Then you populate in batches of ~10k records. Then you add on the constraints/indexes.
* I haven't used Django with sharding. It appears there are some posts about it, but it all appears to be community generated content and not part of the official docs.
All-in-all, I could see that at a large scale with very mature engineering organizations with lots of activity and complex operations that something like Django could fall short and a home-grown system like this may be beneficial, assuming it were reliable enough.
I've rarely encountered logical merge conflicts with migrations, but I could see it happening.
I used to be on the SQL Server team at Microsoft and had some exposure to the customer support teams. So data integrity and eliminating any potential for errors was huge.
So while I love the idea of migrations being generated on the fly from actual state in Production-System-5 to desired state of commit 27a73e, I'm skeptical of it working that well in practice. Certain cases come to mind where there might be intermediate migrations from [full name] -> ([first name] [last name]) -> ([first initial] [last name]). The system would have to be smart enough to know A -> C may require A -> B -> C or prompt the engineering team for a better DML migration script.
Also, you will want there to be documentation about what was performed whether that is a migrations table that points to a .py file... or a .json output... or a log file.
Django allows you to define your models (schema) and then run a command that will generate the migrations. If you don't like the migration that was generated, you can modify it. You can customize up and down operations.
There are also tools that will take an existing database and generate the Django models for you.
All of these operations can also export the exact SQL that will run on each supported RDBMS platform in case you want to be extra sure on what exactly will be executed.
Field of View: 105°
F-stop: f 2.2
Photos: 1642 x 1642 px
Videos: 1216 x 1216 px at 60 fps
source: https://www.spectacles.com/shop/nicoSource: https://www.axios.com/how-cross-posted-tweets-disappeared-fr...
Yahoo! Finance shows your market cap is $51M which is incredibly small for a public company: https://finance.yahoo.com/quote/HYRE
Have you seen any of Hans Rosling's [1] talks on the topic of population growth? After watching, would you still think there is need for mandatory population control?
1) Fully Jarvis sit-to-stand desk with rolling casters
2) LG 27UD88-W - 27" 4k Monitor https://www.amazon.com/LG-Electronics-27UD88-W-LED-Lit-Monit...
I was thinking about getting the LG UltraFine 5k, but it seems like there are mixed reviews on it. Hopefully Apple will come out with a better monitor in 2018 that will also charge my 15" MacBook Pro.
3) Synology 1517+ with 8GB of RAM https://www.amazon.com/Synology-DS1517-8GB-Disk-Station/dp/B... Haven't determined which hard disks yet. Will check the latest Backblaze report. https://www.backblaze.com/blog/hard-drive-failure-rates-q3-2...
4) Haven't looked into a TV yet
5) Already upgraded my router and modem...
Wireless router: https://www.amazon.com/NETGEAR-Nighthawk-X4S-R7800-100NAS-Co...
Cable modem: https://www.amazon.com/Next-Generation-ARRIS-SURFboard-SB820...
Blue Yeti microphone: https://www.amazon.com/Blue-Yeti-USB-Microphone-Blackout/dp/...
Considering getting a drone, too... but haven't researched that yet.
1) Local events finder. A few friends of mine and I moved from San Francisco to Los Angeles last year and didn't know many people. Even though there is a vibrant event scene down here with hundreds of events every day, we always seemed to find out about the cool ones after they had passed. I wrote a Facebook scraper that would find all of the local businesses and events for each of the businesses. It puts it in a Postgres database and then does some simple sorting based on different signals (e.g. how many likes for the page, how many people RSVPing yes, maybe, no for the event) and spits out a spreadsheet. This has been great to discover events and a huge time saver for planning dates.
2) Photo organizer. I use Dropbox's iOS app to backup photos from my phone to Dropbox. However, it just puts them into one big folder. I wrote a simple Python script to parse the filenames of the photos/videos and put them into a nested folder structure by year/month.
3) Long flight movie digest. I had a few long flights that weren't going to have wifi, so I built a web scraper to pull the movie list from the flight ahead of time and then cross reference it with Rotten Tomatoes so I could get a stack ranking of the movies by Tomatometer rating.
I think ICOs can be extremely beneficial for teams to raise money. But a lot of people buying these tokens do not understand what they're getting in return. I'd like to see it become easier to actually own equity or a % of a company's revenue by holding tokens. Hopefully these future regulations will build trust in the ecosystem by minimizing scams and providing clarity. More trust yields more people converting fiat -> crypto... which should yield a healthier less volatile ecosystem.
I was one of the first people to consume their v0 and v1 APIs to get their analytic imagery dataset. It was more challenging than it should have been to transfer ~100TB into our compute cluster. I haven't touched their API in about 7 or 8 months, but from my last meeting with them they said they have eliminated my top pain point. Looking forward to seeing more great things from them.
Now that I have 923 notes in HTML files on my hard drive, I can do whatever I want with them. My current plan is to import them into OneNote because they have good app coverage across platforms and they just released what looks like a pretty solid API that lets you import and export notes.
Maybe I (or somebody else) can write an importer for Standard Notes to make it easy to switch from Apple Notes?
[1] Notes not syncing across devices
[2] Search not working at all on Mac
[3] Moving subfolders of notes in the app makes the notes completely disappear
I've upvoted davidbanham's comment because that seems like a more insightful answer to your question.
1) Realm works only in React Native and not in React web. There is a regular web component to my project as well and the thought was we could reuse our knowledge of PouchDB across mobile and web. This has paid off in the prototype mode because it allowed us to build some simple reports in our web product. However, this is probably not the right architecture for reporting and we will likely change it soon.
2) Realm was very new and I felt we were already using too many new frameworks. So it was added risk on a tight timeline to get a prototype out the door.
3) On the server side, CouchDB has Futon to simplify our learning curve and give us a basic GUI to have a sanity check when our code wasn't functioning as expected. Not sure what Realm's server side looks like.
I'm sure I can come up with other reasons. But definitely want to check out Realm sometime. Looks like it is shaping up quite nicely.
Getting it to work inside React Native was initially very challenging. Keeping our shim up to date with the recent changes to PouchDB has also been challenging. We are currently using PouchDB 5.4.5 because there was a breaking change in 6.x and I haven't had a chance to dive into it to figure out what is going wrong.
The PouchDB community (especially Nolan Lawson) does a great job of showing examples, answering questions, and responding to feedback.
Feel free to reach out to me privately (contact info in profile) and I'll share with you a quick digest of the results before the blog post gets published.
The line that I drew at the time was that, aside from the initial match, the bots were never going to engage in any on-going way with the matches. So the bots could receive messages from matches, but would never send messages or post Moments (which was a feature at the time to effectively message all of your matches with a photo).