HN user

Goosey

887 karma

Josh Szepietowski. Contact me @joshSzep or [joshSzep at gmail dot com]. Decide if you want me to work with you on awesome things at https://www.linkedin.com/in/joshSzep

Posts48
Comments215
View on HN
engineeringblog.yelp.com 9y ago

How Yelp Does Continuous Integration on Android

Goosey
5pts0
engineeringblog.yelp.com 9y ago

Open Sourcing Yelp Love

Goosey
3pts0
engineeringblog.yelp.com 9y ago

First 100 Days of Yelp's Public Bug Bounty Program

Goosey
1pts0
engineeringblog.yelp.com 9y ago

Finding Beautiful Yelp Photos Using Deep Learning

Goosey
13pts1
engineeringblog.yelp.com 9y ago

Open Sourcing Yelp's Data Pipeline: stream billions of messages a day

Goosey
20pts4
engineeringblog.yelp.com 9y ago

Yelp's Data Pipeline: Salesforce Connector

Goosey
4pts0
www.yelpblog.com 9y ago

Yelp Fusion Developer Program Provides Access to More Yelp API Content and Data

Goosey
2pts0
engineeringblog.yelp.com 9y ago

PaaStorm: A Streaming Processor

Goosey
10pts0
github.com 10y ago

Go-jira-ui is an ncurses command line tool for accessing JIRA

Goosey
12pts0
codecraft.co 10y ago

Why you should use an IDE instead of vim or emacs

Goosey
3pts0
engineeringblog.yelp.com 11y ago

Mycroft – Load Data into Redshift Automatically

Goosey
3pts0
engineeringblog.yelp.com 11y ago

Analyzing the Web for the Price of a Sandwich

Goosey
1pts0
www.youtube.com 11y ago

4DSOUND evolving changes in three-dimensional positioning of sound

Goosey
2pts0
github.com 12y ago

Google/flatbuffers – efficient serialization library

Goosey
2pts0
www.fourhourworkweek.com 15y ago

How It Works: Clinton’s “Reality Distortion Field” Charisma

Goosey
2pts0
www.ribbonfarm.com 15y ago

Ancient Rivers of Money

Goosey
5pts0
news.ycombinator.com 15y ago

Anyone know of an app that provides daily check marks?

Goosey
8pts12
thelastpsychiatrist.com 15y ago

Which is the best diet? Why clinical studies can't tell you.

Goosey
1pts0
googletesting.blogspot.com 15y ago

Google Testing Blog: Test Driven Code Review

Goosey
2pts0
arstechnica.com 16y ago

Cloud load testing suite can impersonate a million iPhones

Goosey
1pts0
www.stanford.edu 16y ago

IncPy: Automatic memoization for Python

Goosey
51pts19
blogs.msdn.com 16y ago

How we test the compiler backend - Visual C++ Team Blog

Goosey
10pts0
igloo-testing.org 16y ago

Igloo - Finally, a beautiful testing framework for C++

Goosey
2pts0
goosey.posterous.com 16y ago

The good news is you don't have to choose.

Goosey
1pts0
news.ycombinator.com 16y ago

OkCupid stole my idea before I even thought of it

Goosey
9pts4
www.catonmat.net 16y ago

A HTTP Proxy Server in 20 Lines of node.js Code

Goosey
2pts1
www.raphkoster.com 16y ago

Facebook rebrands the Internet

Goosey
6pts0
is.onthafly.com 16y ago

User Tests in Browserscope

Goosey
1pts0
www.len.ro 16y ago

SOM neural networks

Goosey
1pts0
lethain.com 16y ago

An Introduction to Compassionate Screen Scraping

Goosey
8pts0

When I was a young teenager I was very interested in model rockets. One summer day I had completed a model rocket and my father took me to the highschool football field to set it off. I got concerned because there were no trespassing signs. My father said the following:

"Josh, what's the worst that could happen? Someone will tell us to leave and we will."

This thinking, "what's the worst that could happen" has had a long profound impact on my approach to life and to risks in general. Always ask yourself in a situation of fear: what's the worst that could happen?

Can confirm having seen Waymo vehicle's driving in my hood several times this past week. I'm concerned that Waymo will never be able to drive "the LA way" and ultimately cause congestion.

For example it's standard in LA that when the light turns yellow then two cars are able to make a left turn in time to not back up the perpendicular Lane.

Or if you are turning left you should try to make room on your right, so that those going straight can get around you. No way Waymo vehicles will be doing that.

All in all there are certain behaviors that are necessary in a city with traffic like LA that would certainly be outside the strict safety parameters that (I assume) Waymo operates under.

I agree almost entirely, but as one begins to look to uplevel their career through a new job one finds you must do much unnecessary explaining on how you are ready for "the next" step in your career ladder if you don't have a title that conveys that.

For example I have a title of Senior Software Engineer, but have been performing duties for the last 2.5years more closely resembling a Lead Engineer position (systems design, making architecture decisions, interviewing, mentoring). This has been annoying to repeat to EVERY recruiter that YES indeed I have experience as a Lead Engineer regardless of my title.

Looks like a great tool for explaining a JSON object to a less technical audience? I dunno I'm going to give it a shot.

Also, a little meta, but I like that the github page was linked to rather than directly linking to the product's page. It lets me know upfront that this is open source something I'm dealing with. +1 to the submitter

According to my friend in Iran, Facebook has been banned for some time. Same with FB Messenger.

She has been successful using VPN and WhatsApp until today. I don't know if I'll ever hear from her again.

Personally I side with an individuals' right to install whatever they want on a device they purchased. Without that "right to repair" individuals are only renting their devices from a duopoly. Very unsatisfying!

Perhaps it's possible to have the design meeting with a smaller set of invitees? Does everyone really contribute in the design sessions, or is it mostly people silently listening as a few dominant voices carry the meeting forward?

Android 13 4 years ago
  10. Android 13 adopts Bluetooth Low Energy (LE) Audio, a new Bluetooth audio standard that results in lower latency than classic audio. This allows you to hear audio that’s in better sync with the sound’s source, reducing delay. With Bluetooth Low Energy (LE) Audio, you can also enjoy enhanced audio quality and broadcast audio to multiple devices at the same time.
This is huge! Now I wonder if I have any Bluetooth devices which support the new standard, or if I will be forced to buy new headphones (again!)

If he is describing the work culture as "relaxed" this is an indication that you have created a culture of relaxed expectations. If this is not the culture you want to foster you need to hold feet to the fire more IMHO. But if you want a relaxed culture and accountability you can't have both!

Disclaimer, I work for Yelp (a backend infra team)

TFA includes, although not clearly enough, at least one example of exactly this behavior (Google being big hurting consumer's) in their scheme to squash Yelp by inserting their own local results (with big ui) on the front page. There have been multiple studies showing the content on Yelp is far more evolved than Google's content (in # of ratings, # of reviews, average quality of reviews, # and quality of photos).

This is even with Google leveraging it's dominant market share in the mobile space to proactively push users to rate business simply by an AI connecting the dots on location. These nag alerts are not even something that can be disabled without also disabling all of Android location-tracking! Which is very irritating for me as I find many such features (for example, location history has saved my rear several times when I lost items.)

This isn't a fanboy battle like Sega vs Nintendo.

I'm not anti-google, hell I'm totally bought into their ecosystem (have had an Android since the g1, use a Google home, Google WiFi, Android TV, use all Google's office suit, Gmail, etc).

But even if you personally dislike Yelp (that's fine), it is simply a fact that Yelp has superior content in the local niche. Google is intentionally burying a competitor which has a verifiably huge quality advantage in the local review niche rather than improving their product/content enough for it to compete naturally. This IS anti-competitive behavior which IS hurting consumer's.

It even has downstream impacts on consumer's experiences within Yelp itself! Another comment complains about Yelp bugging you to install the mobile client rather than just show the result - this is absolutely a response to the existential threat of Google continuing to use their search monopoly to prevent fair competition. For better or worse it's the best shelter from the Google: at least until they start doing the same thing with Play Store...

This isn't even only a Yelp problem. Why does Expedia, for example, push users so hard to get the mobile app? Because Google has inserted their own travel booking widgets at the top of the results as well! Why is venmo killing off the website version in favor of mobile only? Maybe it has something to do with what you see at the top of a Google search for 'send money'.

The thing that is SO important to stress is that even if you are a Google fan (as I am), or perhaps ESPECIALLY if you are, anti-competitive behavior like this only results in hurting consumers by killing off competition. Turns out competition results in improvements for consumers.

And it's actually a big deal.

I live in K-Town in LA. I'm convinced these scooters are perfectly suited for getting and my neighborhood, but they haven't rolled out here yet... So I have been bringing back carloads of them from Venice and Santa Monica and introducing them myself. I'm only doing like 4 a day, but I've already seen a number of them being used that I dropped off (I vandalize with a distinct but subtle mark on the neck of the scooters to 'track em')

A few anecdotal observations I've had:

- People in Venice hate them more than in Santa Monica. Way more are damaged intentionally in a way that ends up being super useful for me: they use a sharpie to block out the barcode. Since I go out in the evening it's rare to find fully charged scooters in a nice line, which these jackpots are. It's easy to clean it off with nail polish remover.

- People are very curious and positive about them in K-Town so far. One time I pull into the parking lot of Boba Bear and drop off a few off.. and got a free boba tea as the manager said that it helps his business. Since I like to go there I end up leaving scooters there, and it's almost as if it's known as a hub for them. :)

- The crowdsourced recharger contractors do not mind coming out here to pick up low battery scooters. They never stick around.

- The biggest menace of these things is there damn beeping. It's loud and annoying as all hell, Jesus fuck.

- The biggest danger these present are janky scoots with bad breaks, or sticky/erratic acceleration. A lot of these scoots are beat up badly, but are still working and being used.

- Lime let me sign up as a 'Juicer', bird has me in queue. I interpret this as lime having less oversight on that process, since my address is not in an area they try to service. I haven't received the charger kit yet though, all this is just happened in last few days.

Personally I think of this as a fun robin hood style adventure. It will be interesting to see how perception evolves.

The 'what I'm working on' page was a fun show. I feel like you are honest about everything on your plan in public which is great. I laughed when I saw this hidden in the middle:

"Increase price for new customers to $30 a year. This will not affect existing customers."

Great looking service, I like the use case this enables for blogging from my phone. Does it render videos in the folder? It would be amazing if it could sync with a YouTube account and auto upload videos there too (and embed YouTube in the blog)

(disclaimer: I work on the Data Pipeline project @ Yelp - but these opinions are my own and not necessarily representative of Yelp)

@jack9 - If I am understanding your point correctly, it is that you could just use S3 directly as the 'unified buffer' and the Kafka part is unnecessary. I'll try to shed some light on why we made Kafka part of this infrastructure.

- Regarding "near real-time" this is our cheeky way of saying we internally haven't set an SLA or a formal definition of the maximum latency in the system for us to declare it 'real time'. Hard numbers wise from the time a MySQL[0] event happens to a transformed version of it being in redshift is roughly in the realm of 10-30 seconds (unofficial and not a guarantee of course, just what I am anecdotally seeing at this point, and we are certain we can bring that down).

- As ora600 points out, we not only have multiple data sources, but also multiple data targets. So it's important to us to reduce the IN*OUT down to IN+OUT. It's important to note that nearly all of these connection points more naturally 'speak' in streaming than batch processing.

- Kafka has been fantastic tech for this use case for us: aside from this s3/redshift OUT connector we generally are dealing with connectors which want to be streaming. In-fact if it were performant to do so we would love to stream message-by-message into redshift as well (it's not).

- We already have a lot of infrastructure for batch processing - specifically a service for bulk loading from s3 to redshift with Mycroft[1] (it's open source[2]), and many systems (especially older systems which wrote to s3 in order to do Map-Reduce processing with MRJob[3], also open source[4]) have been able to use it for this purpose - In many ways we previously had used s3 as our 'unified buffer', but it's not a great solution for stream processing.

- Finally regarding the ETLs:

- - Yep we have them, and we hate them. The Data Pipeline project, in a sense, almost originated as a way for us to get rid of them. That's certainly why my team has been building the Data Pipeline components (we are 'the data warehouse team' in Yelp). They are costly: Each ETL is 'handwritten' (adding a new table is writing a new ETL, granted these are very small classes as we have a decent framework, but it still takes manual effort), this requires a 'Yelp-Main' push (Yelp has talked openly about our efforts to break apart our monolith[5], but it's still a thing and the push process isn't as painless as with our micro services), and inputs from other data sources was challenging as our ETL framework was designed around the 'Yelp-Main' codebase (it's old, cut us slack ;)).

- - A component of the Data Pipeline is what we call the 'Application Specific Transformers'[6] (we call em ASTs for short, much to the confusion of any compiler writers out there) which allow us to apply the types of transformations we typically did in ETLs (outputting both an 'raw id' and the 'encoded id' which is served to the front end, splitting bit-flag ints into separate booleans, and stringifying int enumerations - as well as extra stuff ETLs didn't do like extracting documentation for Watson[6])

It's worth noting as well that the Data Pipeline lives in PaaSTA[7] which is a big improvement from how the legacy components it is replacing were deployed.

All this being said: we thought carefully about meeting all the needs of our systems, but our needs are of course our own. This certainly would be the wrong tool for many other use-cases.

Sorry for slow response - I've been out on PTO and just got back to work today. :)

[0] https://engineeringblog.yelp.com/2016/08/streaming-mysql-tab...

[1] https://engineeringblog.yelp.com/2015/04/mycroft-load-data-i...

[2] https://github.com/Yelp/mycroft

[3] https://engineeringblog.yelp.com/2010/10/mrjob-distributed-c...

[4] https://github.com/Yelp/mrjob

[5] https://engineeringblog.yelp.com/2015/03/using-services-to-b...

[6] https://engineeringblog.yelp.com/2016/08/more-than-just-a-sc... (Includes some info about the ASTs and Watson)

[7] https://engineeringblog.yelp.com/2015/11/introducing-paasta-...