HN user

wpeterson

354 karma

Software engineer, music nerd, beer snob, tropical reef keeper - Engineering @ Hunt Club

http://twitter.com/wpeterson

Posts30
Comments126
View on HN
repeatforever.substack.com 5y ago

The Career Story Interview

wpeterson
2pts0
blog.winfieldpeterson.com 7y ago

Googbye to Google+

wpeterson
1pts0
zverok.github.io 10y ago

Thou Shalt Not Complicate: Three Kinds of Programmers

wpeterson
3pts0
www.fastcodesign.com 12y ago

Could This App Replace Commenting On Mobile Devices?

wpeterson
1pts0
cnn.com 12y ago

Are Jobs Obsolete? (2011)

wpeterson
2pts0
www.fastcolabs.com 13y ago

Microsoft And Polar Almost Built A Killer Smart TV

wpeterson
2pts0
gist.github.com 13y ago

How to Fix GMail Unread Messages Favicon

wpeterson
1pts0
blog.winfieldpeterson.com 13y ago

ActiveModel Type Coercion and API Validation

wpeterson
1pts0
blog.winfieldpeterson.com 13y ago

Cookies in Hybrid Android Apps

wpeterson
2pts0
blog.winfieldpeterson.com 13y ago

MongoDB Indexing, count(), and unique validations

wpeterson
2pts0
www.reddit.com 14y ago

App Cloud, a free and open-source app development platform. Reddit AMA

wpeterson
1pts0
blog.winfieldpeterson.com 14y ago

Password Salting isn't just for Servers

wpeterson
1pts2
blog.winfieldpeterson.com 14y ago

Resque Queue Priority

wpeterson
2pts0
blog.winfieldpeterson.com 14y ago

A Year of WOW (20% time) at PatientsLikeMe

wpeterson
12pts0
blog.winfieldpeterson.com 14y ago

WOW Week at PatientsLikeMe

wpeterson
41pts10
blog.winfieldpeterson.com 15y ago

How PatientsLikeMe.com Monitors Ops w/ PagerDuty

wpeterson
6pts0
blog.winfieldpeterson.com 15y ago

Guerilla Scrum: Minimum Viable Process

wpeterson
14pts3
tech.patientslikeme.com 15y ago

Postgres Hacks for will_paginate

wpeterson
5pts0
blog.winfieldpeterson.com 15y ago

What Makes a Great Startup Engineer?

wpeterson
3pts0
news.ycombinator.com 15y ago

Ask HN: Why Doesn't Y Combinator have an Engineer in Residence?

wpeterson
2pts3
blog.wpeterson.org 15y ago

Combatting Passenger Resource Collision at PatientsLikeMe

wpeterson
1pts0
blog.wpeterson.org 15y ago

File Handle Leaks in Hudson

wpeterson
1pts0
blog.wpeterson.org 15y ago

Strange Rails ActiveRecord Timestamp Errors (Time =/= Time)

wpeterson
1pts0
blog.wpeterson.org 15y ago

Rails Tests Run in 2/3 Time w/ GC Tuning

wpeterson
1pts0
blog.wpeterson.org 15y ago

REE Cuts Rails Test Time in Half

wpeterson
2pts0
blog.wpeterson.org 15y ago

Asset Bundling vs. Internet Explorer CSS Limits

wpeterson
2pts0
blog.wpeterson.org 15y ago

Cache Segmentation for Rails Apps

wpeterson
1pts0
news.ycombinator.com 15y ago

How Does HackerNews Pagination Work?

wpeterson
11pts8
bostinnovation.com 15y ago

3 Boston RailsRumble Applications Make Finals

wpeterson
9pts0
thehiringsquad.net 15y ago

The Hiring Squad: Hiring Engineers for Engineers, by Engineers

wpeterson
8pts3

Ugh, what a loss for this community and the Ruby community.

This should be worthy of a Hacker News black banner today.

This resonates with my experience.

You can tell the author is mostly worn out not from long hours or challenging technical work, but from fighting against the overwhelming inertia that faces building/shipping anything. It’s exhausting.

This article is dangerous in romanticizing the “not invented here” culture at many big tech companies and seems rooted more in the 90s than present day.

The world of open source tooling and easily re-usable SAAS offerings means everyone has access to the best tools, whether you’re a small startup or a big company.

Anyone who longs for internal, corporate tooling baffles me when they can use things that actually have polish, user experience and likely better implementations under the hood.

Companies should spend their time/energy building things unique to their problem domain, not weak also-ran corporate tooling.

I spent two terrible years in Mountain View for a work opportunity I couldn't turn down and it was horrible. Our rent went up 20% during that time. It felt completely unsustainable, ecologically and financially to live there.

We moved back to Boston and have been overjoyed with fleeing the peninsula. I'd still love to visit north of San Francisco of south of Monterrey on vacation but they literally couldn't pay me enough to live there.

This may be a confusing thing, I suspect Instacart may get volume discount from stores for bringing the extra business.

So this markup may be based on discounted cost instacart pays, not necessarily what YOU would pay at the store.

Still think it's a crazy premium, but I enjoy grocery shopping.

ezCater | Boston, MA | ONSITE | Fulltime

https://www.ezcater.com/company/about-us/

ezCater is the #1 online marketplace for business catering in the United States – a $21 Billion market.

We’re backed by Insight Venture Partners and have been growing 3X per year, and we want to grow even faster. We’re always looking for highly skilled engineers to help build our web and mobile apps, while riding this rocket ship of growth.

At ezCater, technology is valued as a differentiator and also as a key component of our success. We push ourselves everyday to better the codebase, improve performance, and deliver an amazing customer experience.

Senior Full-Stack Engineer: https://www.ezcater.com/company/apply/?gh_jid=78210

Senior iOS Engineer: https://www.ezcater.com/company/apply/?gh_jid=78582

It's totally reasonable to host your code on github and to build a package manager that loads the content of a package from it's github repo.

What seems insane is to use a single github repo as the universal directory of packages and their versions driving your package manager.

There's a reason rubygems has their own servers and web services to support this use case for the central library registry, even if the source for gems are all individually projects hosted on github.

The problem with performance optimization is that if you obsess with optimizing code well outside the critical path, it's often wasted effort drowned out by larger latencies.

If this code was part of a web application, the I/O bound latency of backend/persistence calls will almost always outweigh any CPU bound processing time.

So they may have made this method call 14x faster, but how much latency were they really shaving off their average request? I would be surprised if it were more than a rounding error.

I don't understand why people think serving a blank or janky page to your users is OK. There's no reason not to serve a completely rendered page from the server side and only enhance the UI with client-side rendering and navigation when there is a user action or other event after page load.

The test case used text in a table, which is an extremely poor example. Modern designs use a lot of images and CSS, where presenting a complete document and stylesheets allows much faster time to render than client-side rendering followed by fetching all those assets and applying styles.

The pain for your users is multiplied by the slowness of mobile devices/networks and the complexity of your UI's layout to render.

Outsourcing functionality or work makes a lot of sense for things that aren't core to your business. If you're building a web or mobile app, backend services should be core to your business.

It's a very different thing to write a web application or web services that can run on many hosting platforms than to give responsibility for your entire backend to a service provider.

This is a nice PR piece but building operational systems in a marine environment usually requires hardy engineering, equipment, and constant maintenance. It's not a friendly environment.

I can't see the benefits here, if they want water cooling colocation with hydro-electric or other freshwater flows seem much better.

How bad are things? 11 years ago

Viktor Frankl wrote about understanding human suffering as the one constant in all our lives and the one thing that binds us all together:

“To draw an analogy: a man's suffering is similar to the behavior of a gas. If a certain quantity of gas is pumped into an empty chamber, it will fill the chamber completely and evenly, no matter how big the chamber. Thus suffering completely fills the human soul and conscious mind, no matter whether the suffering is great or little. Therefore the "size" of human suffering is absolutely relative.”

It's a good exercise to enumerate and guess the dramatic maladies of most people around you, but even that belies the larger truth of all of our shared suffering. It's the human condition.

As a tech lead, you're a mixture of manager and lead engineer.

As a manager, you should be clear to represent your team in public in terms of giving everyone credit for success and taking personal responsibility for failure yourself.

As a manager, you need to balance what technical work you assign yourself - it should be a mixture of interesting projects and valuable scutwork. Don't be the guy who takes all the good work for himself and only delegates work no one wants.

As a lead engineer, the most valuable thing you can do for your team is to focus on helping them start things and finish things. Folks do well in the middle between those two, but most of the wasted time and frustration comes from not knowing how to begin working productively on things or getting lost and not knowing how to wrap them up successfully.

As an architect, be able to quickly change altitude when explaining the behavior of the system or code that you're responsible for. When debugging an issue with a developer, be able to dive deep into the technical details. When explaining a schedule or cost estimate, be able to talk about the system at a high level to the CEO.

Averages can be useful, percentiles can be more useful.

However, the biggest asset in useful monitoring is focusing in on the right events and data. Is an average latency across all of your requests useful? Probably much less than averages per API or page.

Once upon a time, there were multiple repos and multiple tools for different jobs.

Then Twitter grew to thousands of engineers, many of whom were from Google. Now everything is being converted to enterprise Java in a single, monolithic repo.

Is that an improvement or just bureaucratic standardization and cargo-culting from engineers raised in the google3 monolith?

When you have separate repos, the external code and integration points remain relatively static. IE: You may consume an API, but it's versioned/snapshotted at a given version.

With a monolithic repo, especially without development branching - everyone is running against HEAD all the time. So while you are developing your component, everything else is changing around you.

Perhaps a better way of framing this is:

Distributed repos make writing software easier.

Monolithic repos make testing and running software easier.

Large monolithic repos are an artifact of scale where the individual cost of lost productivity in development is worth the increased performance at deployment and testing.

Architecture is just dividing pain into different buckets.

Large repositories are painful, as each developer bears the pain of integration every time they have to make a change to the repository integrating with all of the other code.

Small, distributed repos are painful when change accrues in larger increments and must be resolved at release/integration time.

As a developer in one of the largest monolithic repos in the world, I feel the pain every day of that pattern.

The weather is awesome and it's a beautiful area.

However it's more crowded and expensive than many cities without any of the benefits of living in a proper city. The housing and services are throttled despite an ever increasing demand of more tech workers arriving. Prices go up and quality of life goes down.