HNHacker News
TopNewBestAskShowJobs

cancan

728 karma · joined August 2, 2012

previously founder of felt.com, now at modal.com — now writing on justoffbyone.com

email: can@duruk.net

submissionscomments
cancan··on Ask HN: Who is hiring? (August 2021)
Felt | Frontend Engineers, Backend Engineers, Designers | Oakland or REMOTE (US timezones) | Full-Time | https://felt.com

Felt is the best way to make maps on the internet. It's surprisingly hard to make a map today, and people in 15+ industries rely on them to do their jobs. Climate change and the resulting natural disasters are forcing even more people to become map-makers, and Felt is here to meet that need. It's the first easy-to-use collaborative mapping software, founded by a team of technologists with a proven track-record. My CEO, Sam, is a former YC founder with an exit [1] and I'm an early Uber engineer.

Our technology stack is Elixir (on Phoenix), a good amount of PostGIS and React on Typescript. We are looking for folks who want to work on a modern, collaborative web-app. Think Figma for Maps. We are especially on the lookout for front-end talent that is energized by the UI challenges of working on an infinite canvas and spatial tools.

Reach out at hello @ felt.com or visit https://felt.com

1: https://techcrunch.com/2021/03/09/via-buys-mapping-startup-r...

cancan··on Ask HN: Who is hiring? (July 2021)
Felt | Frontend Engineers, Backend Engineers, Designers | Oakland or REMOTE (US timezones) | Full-Time

Hi. Felt is a software company based in sunny Oakland, CA. We are building an interactive web-based tool in a new and under-explored medium. It is founded by Sam Hashemi, the former CEO and co-founder of Remix (YC W15, recently acquired [1] for $100mm) and me, Can Duruk. We are looking for ambitious folks to join as early engineers and designers. You'll get to help us shape our stack, and work on some interesting challenges. We are well-funded, and hiring in all US timezones, as well as our Oakland office.

Our tech stack is Elixir (on Phoenix), TypeScript (both frontend and backend), and a dash of Python on AWS / Render.

Reach out at hello @ felt.com or visit https://felt.com

1: https://techcrunch.com/2021/03/09/via-buys-mapping-startup-r...

cancan··on Uber's crazy YOLO app rewrite, from the front seat
Yeah — it's a never ending challenge.
cancan··on Uber's crazy YOLO app rewrite, from the front seat
Well, it's a numbers game (pun intended)
cancan··on Uber's crazy YOLO app rewrite, from the front seat
The short answer is, you need to validate phone numbers every 6 months (which is the time phone operators keep the number closed when people change numbers) if you need 100% confidence that they are the real owners.

This is a problem if you are relying only on phone-numbers as a factor, which Lyft was (so was Uber, in some markets). In reality, a lot of the time you verify the phone number and present a password challenge (aka ask for password) so it's not a huge problem.

But then, you'd need to handle the case when Alice signs up in with the phone number 123, then changes their number to 456, and 6 months later Bob signs up with 123 because they are the new owners. Now, Alice has to provide a new number (with some Grace period) and Bob has to be eligible for all the promos / signup goodies that were previously tied to that 123 number again.

Software is hard.

cancan··on Uber's crazy YOLO app rewrite, from the front seat
i am being sorta vague here and taking some creative liberties with the markets involved. but at a high level, there was so much logic spread over various versions of the apps + geographies + some permutations of those. so you could add a check somewhere (app/server/both) like if (foo) and assume it'd not break in some markets, but lo-and-behold, if often did.
cancan··on Uber's crazy YOLO app rewrite, from the front seat
yeah, probably we annoyed the sh*t out of many payments folks as so much of the top of the funnel relied on things they should not have been doing. and the thrift changes, lol, that was something else.

but it all worked out seems like. and honestly, if you consider how fast uber moves compared to its competitors, im willing to bet it was the right call now.

cancan··on Uber's crazy YOLO app rewrite, from the front seat
i worked on the backend for this rewrite, and it was even more extreme than the other write-ups suggest. we not only rewrote the apps, we also

  1. moved from email-based auth to phone-based auth
  2. removed all the auth and onboarding logic from the clients and moved it over to server
  3. changed the networking from a hacky OpenAPI/Swagger code to Thrift over HTTP
i am not saying it was the most conservative call to do all this at once but it was necessary. the auth logic was basically untenable and no one really knew how it worked. some team in amsterdam could (and did) lock down uber for android users in russia because they changed some code.

we also had to move to phone as a primary identifier, because honestly there are many countries people dont even use email. but how do you deal with phone numbers that were validated more than 7+ months ago, if you want to avoid things like this? [1] or how do you deal with promotions that required validating phone numbers not being VoIP that you could do out-of-band before but now have to do in-band?

anyway, i am being scatter minded here but it was probably one of the riskiest things uber did, from my point of view, changing the top of the funnel + also moving users from one auth to another with a download, esp given with apple's rollout mechanism we had no way back.

but it all worked! i should probably write this up one day.

1: https://arstechnica.com/information-technology/2016/02/when-...

cancan··on Trans-Pacific deteriorating, brace for shipping ‘tsunami’
most electronics are on razor thin margins and printers definitely shipped via ocean
cancan··on Livebook: A collaborative and interactive code notebook for Elixir
Love how prolific the elixir community and especially José is. Also, if you are into liveview/elixir, definitely dive into the codebase. There is a small operational-transform lib built in there too.
cancan··on Elixir and Phoenix after two years
I can add a bit of my experience. I used Rails here and there since 2.3 and have followed Elixir since its inception.

- Channels in Phoenix are just a joy to use compared to ActionCable. This is partly due to the language (pattern matching, especially) but not having to deal with a Redis instance (and/or AnyCable) is also appealing. It just works out of the box and is ridiculously performant.

- I find the Repository pattern much easier to wrap my head around than ActiveRecord. I feel like with Rails, I always have to know the state of an object whereas w/ Ecto, things are more explicit. I know some people prefer AR here, but I prefer not making an accidental query.

- I feel like I am lost every time I'm in a Rails project with so many abstractions now. Maybe this is me being a curmudgeon, but I remember being able to trace request all the way from where it hits the machine (say, Nginx) to the HTML rendering even with Rack. Now, if I had to do something similar, there are so many layers to peel. This is again partly due to the language, and partly to Rails' age.

cancan··on Ask HN: Who is hiring? (April 2021)
Felt | Frontend Engineers, Backend Engineers, Designers | ONSITE, Oakland Ca | Full-Time

Hi. Felt is a software company based in sunny Oakland, CA. We are building an interactive web-based tool in a new and under-explored medium. It is founded by Sam Hashemi, the former CEO and co-founder of Remix (YC W15, recently acquired [1] for $100mm) and me, Can Duruk. We are looking for ambitious folks to join as early engineers and designers. You'll get to help us shape our stack, and work on some interesting challenges. We are well-funded, and hiring locally in Oakland area. Our current tech stack is Elixir/Phoenix + Postgres on Render but we expect a whole lot more to come.

Reach out at hello @ felt.com or visit https://felt.com

1: https://techcrunch.com/2021/03/09/via-buys-mapping-startup-r...

cancan··on How We Built Uber Engineering’s Highest Query per Second Service (2016)
You should get them to write about them too ;) (hello!)
cancan··on The Case for RSS
I’ve been using Nuzzel for exactly this.
cancan··on [dead]
As another immigrant to this country, I agree with idlewords. Trump is not a regular candidate but someone who has openly argued for bigotry, war crimes, violence against journalists and other groups as well as jailing opponents.

He's not out to make some policy changes; he's openly arguing for throwing out the regime of this country. Now, I don't think he'd be able to do that but at best, he's so callous and lacking of judgement that he'd be utterly manipulated by people, inside and outside US, to do so.

Trump and Hillary are not on any sort of comparable level; Trump is utterly out of what's acceptable political behavior.

And I haven't even come to his personality; which I would argue in a civilized society would be enough to distance yourself with.

So Thiel's actions must be considered in this regard. He's not some poor, misinformed person. He's not someone who is so ravaged by the economy that he's judgement compromised. He should not be prone to demagogues putting the blame on immigrants.

The only explanation I can come up with is that he's arguing for Trump because he's arguing the current political system must be fully debased and must be replaced with something else. That could be an argument but if you are supporting Trump, the only thing that can replace it with is a form of authoritarianism tinged with racism, bigotry and outright hatred.

It's just disingenuous for me to see PG, who while I rarely agree with his views on most things outside of tech, ignore this. He's said that Thiel's actions are a blind spot and it would be a slippery slope to "punish" Thiel for his political stance.

Firstly; calling this a "blind spot" is being naive at best; misleading at worst. Thiel has contributed millions, spoke at a keynote. And he's obviously smart and thoughtful. This is not just some guy being tricked.

And no one is calling for a punishment. YC, by way of taking Thiel's money, is now supporting financially (I assume Thiel invested in YC to make money), this person. This isn't firing someone, which is a different kind of relationship where you involve someone's livelihood.

What idlewords (and others like me) are asking for is just a statement of disapproval of Thiel's actions. Just like Zuckerberg did when Marc A. spoke about the wonders of colonization for Indians (and even then he had the decency of apologizing for his callousness) or when Musk withdrew from FWD.US when he realized there were fossil fuel companies on board as well.

This isn't hard.

cancan··on What is Happening in Istanbul?
I also jotted down a couple words on the background to these protests if anyone is interested.

http://duruk.net/turkish-protests-of-2013/

cancan··on Getting better and finding happiness through cycling
Probably; I do look pretty skinny but the body-image issue is a pretty real thing; I need to convince and realize that I am skinny. I also have some extra skin and stuff that I want to get rid of. I mean, I am not trying to lose weight at this point, more like I am looking for a reason to not eat too much crap.
cancan··on Getting better and finding happiness through cycling
Used to be around 185lbs at 5 8. Now I'm at 150ish, probably could go down to 145 or so.
cancan··on Getting better and finding happiness through cycling
OP here.

Agree fully with you on clipless pedals, after proper training though :)

Once I got used to clipless pedals, I realized how little control over the pedals you have without them; I feel like my shoes are going to slip all the time.

cancan··on Getting better and finding happiness through cycling
Hey. Really nice story. I have a similar story; one time in high school I really got into curb-jumping and essentially had the same thing happen to me where I wasn't orthogonal enough and hurt myself badly.

Anyway, just wanted to say, definitely give a nice road-bike a try. They are really amazing, wonderful machines. I have a feeling you'll never want to ride anything on road ever again :)

cancan··on Some web development tips from a former Digg developer
yeah, definitely it doesn't apply to everything. part of the reason is that digg was mostly a read-only site and it had to be fast and it had to work. I'd not advise the same thing for a real "web app".
cancan··on Some web development tips from a former Digg developer
That is how I feel too. Never had any issues with HTML5.
cancan··on Some web development tips from a former Digg developer
Heh, thanks. (op here)
cancan··on Some web development tips from a former Digg developer
Author here. Glad you like it.

> data-x attributes will destroy your W3C validator checks. Use them if that's not important. (sometimes it just is...)

Are you sure that is still the case if you have the HTML5 doctype?

← PreviousPage 3 of 3