HN user

edbrown23

58 karma

Contact ebrown@salsify.com for Salsify related questions, eric.d.brown23@gmail.com for personal

Posts3
Comments15
View on HN

I've been slowly working on a web app that keeps track of cocktail recipes and all the liquor bottles in my home bar, then it tells me what drinks I can make right now. It's been a fun way to spend way too much money at the liquor store buying "just one more bottle", and I've found some new favorite drinks via these recipes.

It doesn't do anything amazing yet, but it's been fun to tinker with it over time and get back to coding as I do more and more management at work.

The website itself is here: https://barkeep.website, and I've been blogging about it here: https://edbrown23.github.io/blog/

Salsify | Boston, MA / Remote | Remote | Senior/Staff Software Engineer

Salsify is a leading CommerceXM platform that serves as the system of record and work for brands like Mars, L'Oreal, Coca-Cola, and many more across 80+ countries.

We're hiring a Senior/Staff Software Engineer to join our core data modeling and search/indexing team, working especially on scaling our most demanding services and APIs.

Apply via the job description here: https://ats.comparably.com/api/v1/gh/salsify/jobs/6172445002..., or reach out to me directly at ebrown@salsify.com

This definitely seems like the "Kafka" way to solve this problem, but I fear there are implications to this partitioning scheme I'd love to see answered. For example, partition counts aren't infinite, and aren't easily adjusted after the fact. So if you choose, say, 10 partitions originally, for a SKU space that is nearly infinite, then in reality you can only handle 10 parallel streams of work. Any SKU that is partitioned behind a bit of slow work is then blocked by that work.

It's doable to repartition to 100 partitions or more, but you basically need to replay the work kept in the log based on 10 partitions onto the new 100 partitions, and that operation gets more expensive over time. Then of course you're basically stuck again once your traffic increases to a high enough level that the original problem returns. If the unit of horizontal scaling is the partition, but the partition count can't be easily changed, consumers eventually lose their horizontal scalability in Kafka, from my perspective.

This is such an interesting topic that is extremely difficult to discuss as people on both sides rapidly devolve to name calling. There's this[0] episode of This American Life which discusses some of this, but I haven't found many others.

The point of linking that is only to question whether there are people who want their culture to change more slowly for reasons other than prejudice. Should "obviously wrong" dramatic cultural shifts like gay marriage somehow be slowed so people can get used to the idea? Even in the linked example, there are clearly other forces at work (anti-Muslim propaganda) which seem to exist purely to make it appear that the culture itself is changing entirely, when in reality it's just becoming more mixed race.

[0] https://www.thisamericanlife.org/radio-archives/episode/600/...

I've had one for a couple months now, and it largely goes unused on a daily basis. I remapped caps lock to escape for vim usage, so my most common theoretical use of it isn't necessary anymore.

I will say, however, there are moments when it shows promise. The 3rd party app BetterTouchTool lets you put custom shortcuts on it, so I created some utility shortcuts for things I never remember how to do, like taking screenshots. In those moments it's very nice, but I don't think I'd think less of the computer without the touchbar.

I totally agree that things got pretty uncomfortable at times during the show, and the Brian Reed covered some perhaps excessively personal things, but I'm curious if you can go into detail on the bisexual erasure you mention. Are you referring to the perspectives on John's sexuality, or were there other instances I missed?

Generally systemd manages enabled/disabled services through symlinks in /etc/ (/etc/systemd/system/ on my Fedora 24, for instance), which you can add/delete in the shell if you want to. It's admittedly not plain-text, but manipulation-wise it's about equal.

Boston, MA | ONSITE | FULLTIME | Software Engineer

Junior to mid-level software engineer working on Starry Internet and/or WiFi products.

ESSENTIAL DUTIES AND RESPONSIBILITIES:

- Collaborate with a small team of developers working on mid-/low-level software driving consumer facing services. Including architecture definition, implementation, debugging, production deployment and support/maintenance - Development predominantly done in C++, Python, and Go - Using a combination of Starry developed hardware, firmware, RF technology and components developed by our manufacturing partners - Work to develop and deploy the next generation wireless ISP and/or WiFi product set

EXPERIENCE AND EDUCATION REQUIRED:

- BS or MS in Computer, Electrical or Software engineering or equivalent discipline/experience - Minimum of 2 years experience in product related environment - Real time development and debugging skills - Comfortable working in a small team, and sometimes ambiguous or fluid environments - Knowledge/use of Linux - Understanding of networking fundamentals and configuration - Proficient in C++, Python and C - Experience using git for source control - Ability to develop new ideas and creative solutions

Apply, or check out our other openings, here: https://starry.com/careers/software-engineer

Git Workflow Basics 10 years ago

At least locally within your repo, it's actually very hard to lose work completely with git, via any combination of resets or rebases. The reflog (git reflog) stores all the movements of HEAD such that you can recover from almost any mistake as long as you realize you made it.

The fear of rebase seems to always come from its ability to "delete your work", but that fear is almost always unfounded and based on a lack of knowledge on git's internal structures. Of course, one of git's biggest and well recognized faults is that its UI makes no attempt to alleviate those fears.

As someone working at a consumer hardware company, it's easy to see how you can get bogged down by details and micromanagement, like Tony Fadell seems to have done at Nest. Hardware seems to involve so many more things to focus on and perfect when compared to a SaaS product.

This may have more to do with my ignorance of the possibilities out there, but as a soon to be college grad who would love to work in a growing community such as Chattanooga, where does one look for available positions? The sites often mentioned, like the one in the OP, usually highlight startups which are not publicly hiring. Are there startup job boards?