Usually it feels like companies open source projects are kind of lame or just to look fashionable. These projects are extensive and awesome. I love the personal projects section at the bottom of the page. You can see why Stripe is so successful. They truly have a dev culture and that's a lot more than most companies that just say they have a dev culture. At Stripes scale and size that's a big success.
True. I just came across Rickshaw[0] from Shutterstock. I'd love to use it, but there hasn't been a commit in 8 months, pull requests are backlogged and there's a thread titled "Is Rickshaw dead?"[1] that hasn't had any response in months (either to shift maintenance to someone else or kill/fork the project).
It looks like a poster child of companies open source projects done wrong. I'm sure it was developed for internal use, made public with a prominent "Open Source! We're Hiring!"[2] and then mostly forgotten about. Not that maintenance is easy! It's a big commitment, which is why Stripe really shines here: not just for open sourcing their code, but for maintaining their projects continuously.
I recently changed my website's donation page to a Stripe-powered system, and their API was a pleasure to work with. Having worked with horrible payment processors throughout my webdev career, I kept waiting for the other shoe to drop--but it's been a couple of months now, and so far it's still just the one shoe.
Love the logo! Did something similar here [1] for our blog's creative/digital arm [2] with actually a somewhat similar approach. Probably a few months ago. Their's is a little more elegant though :)
I just want to make a quick comment: Everything the Stripe's front-end guys touch is pure and magical perfection. They definitely have a killer front-end team - design, UI/UX, and more.
Any chance you could let me click on a cell in the game of life in the background to add another cell? That would surely result in lots more time wasted on that page :)
Nice program! There seems to be a typo relating to start/end dates, though: It says the grant lasts for "three months", but the quoted period is "from January 15th until March 15th, 2016".
Would be interested to hear from the devs about the actual reasons they chose to write unilog (https://github.com/stripe/unilog) instead of using multilog (which ships with Daemontools).
Agreed that multilog is arcane and weird but what are the actual problems with it that unilog solves?
This actually took a fair amount of digging! We've been using some version of unilog for over 4 years now (longer than I've been at Stripe), and we'd mostly forgotten why we switched. What follows is more the result of historical exploration and guesswork than authoritative statement of original truth.
I'm fairly confident that the impetus for unilog was timestamp prefixes for our log lines. We wanted timestamps (so that we weren't dependent on all applications adding them). multilog is capable of doing writing out timestamps, but it formats them with TAI64N. We wanted something more human-parseable.
Once we had it, we started adding other features. These days, I'd say the most useful thing unilog does for us is buffer log lines in memory. We would occasionally see disk writes on EC2 hang for long enough that the in-kernel (64k) pipe buffer would fill up and cause applications to stall.
Some great stuff here! The 'personal projects' are a nice touch: I've been using Goji (https://github.com/zenazn/goji) for a while now as my 'go to' router+context combo for Go web services. Small, extensible and compatible with the other tools out there.
On the subject of the jquery.payment lib, I remember noticing that the validation functions it provides for various credit cards are not exactly the same as the ones in stripe.js, and actually better.
I would have to look at my commit history to remember what exactly were the differences though. I think it could match the various credit card types with fewer digits entered or was better for cvv validation of amex cards.
I get the impression that stripe has abandoned jquery.payment (or at least it's a side project and not part of their core offering?). Because it does not actually work out of the box with the stripe.js library (see https://github.com/stripe/jquery.payment/issues/160 , which has a lot of "+1's" from other people but no response from stripe or whoever it is that maintains this library).
why did you guys invent mosql [1] ? you are clearly loving postgres and cannot get rid of it... but potentially with jsonb in 9.5 [2] you can get rid of mongodb.
With the kind of resources you have, you could fix the few things about postgres that you dont like.
Or use ToroDB (http://www.torodb.com) that speaks the MongoDB protocol but stores the data relationally, in PostgreSQL. Directly. No ETL, no mosql required :)
I really like the bottom section where they are highlighting individual projects from members of their team. I think that really helps instill a sense of ownership and would definitely me make me excited about working there if I was featured.
I don't find them to be at all similar aside from the larger concept of having "large pixels convene to form pixelized text", which I'm sure has been done plenty of times before.
The text is different. The color is different. The animation is different. The code is different. It's a unique implementation.
[+] [-] LukeHoersten|10 years ago|reply
[+] [-] nathancahill|10 years ago|reply
It looks like a poster child of companies open source projects done wrong. I'm sure it was developed for internal use, made public with a prominent "Open Source! We're Hiring!"[2] and then mostly forgotten about. Not that maintenance is easy! It's a big commitment, which is why Stripe really shines here: not just for open sourcing their code, but for maintaining their projects continuously.
[0] https://github.com/shutterstock/rickshaw
[1] https://github.com/shutterstock/rickshaw/issues/517
[2] http://code.shutterstock.com/rickshaw/
[+] [-] DamnInteresting|10 years ago|reply
[+] [-] Killswitch|10 years ago|reply
I don't understand this. You think Netflix and Facebook's Open source projects are lame?
[+] [-] scotchio|10 years ago|reply
I just want to make a quick comment: Everything the Stripe's front-end guys touch is pure and magical perfection. They definitely have a killer front-end team - design, UI/UX, and more.
[1] http://codepen.io/ncerminara/pen/MYvELv
[2] https://digital.scotch.io
[+] [-] benjamindc|10 years ago|reply
[+] [-] aquilaFiera|10 years ago|reply
[+] [-] rbinv|10 years ago|reply
[+] [-] d2xdy2|10 years ago|reply
[+] [-] jypepin|10 years ago|reply
[+] [-] jtchang|10 years ago|reply
[+] [-] sylvinus|10 years ago|reply
[+] [-] krithix|10 years ago|reply
[+] [-] mauricioc|10 years ago|reply
[+] [-] voltagex_|10 years ago|reply
[+] [-] sbensu|10 years ago|reply
[+] [-] WestCoastJustin|10 years ago|reply
[+] [-] jaryd|10 years ago|reply
Agreed that multilog is arcane and weird but what are the actual problems with it that unilog solves?
[+] [-] ebroder|10 years ago|reply
This actually took a fair amount of digging! We've been using some version of unilog for over 4 years now (longer than I've been at Stripe), and we'd mostly forgotten why we switched. What follows is more the result of historical exploration and guesswork than authoritative statement of original truth.
I'm fairly confident that the impetus for unilog was timestamp prefixes for our log lines. We wanted timestamps (so that we weren't dependent on all applications adding them). multilog is capable of doing writing out timestamps, but it formats them with TAI64N. We wanted something more human-parseable.
Once we had it, we started adding other features. These days, I'd say the most useful thing unilog does for us is buffer log lines in memory. We would occasionally see disk writes on EC2 hang for long enough that the in-kernel (64k) pipe buffer would fill up and cause applications to stall.
[+] [-] elithrar|10 years ago|reply
[+] [-] Rainymood|10 years ago|reply
[+] [-] squiggy22|10 years ago|reply
[+] [-] prezjordan|10 years ago|reply
[+] [-] mcorrand|10 years ago|reply
I would have to look at my commit history to remember what exactly were the differences though. I think it could match the various credit card types with fewer digits entered or was better for cvv validation of amex cards.
[+] [-] jordanlev|10 years ago|reply
[+] [-] sandGorgon|10 years ago|reply
With the kind of resources you have, you could fix the few things about postgres that you dont like.
[1] https://github.com/stripe/mosql/blob/master/README.md
[2] https://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9....
[+] [-] ahachete|10 years ago|reply
(ToroDB developer here)
[+] [-] joeblau|10 years ago|reply
[+] [-] fredliu|10 years ago|reply
[+] [-] thecodemonkey|10 years ago|reply
[+] [-] brandon272|10 years ago|reply
The text is different. The color is different. The animation is different. The code is different. It's a unique implementation.
[+] [-] fndrplayer13|10 years ago|reply
[+] [-] hellbanner|10 years ago|reply
[+] [-] rglover|10 years ago|reply
[+] [-] ijones16|10 years ago|reply
[+] [-] nikolenkoanton|10 years ago|reply