7 ms·
Stripe: Open Source
- krithix 11y ago(I work at Stripe.) We're also accepting applications for our second Open-Source Retreat: https://stripe.com/blog/open-source-retreat-2016 https://stripe.com/blog/open-source-retreat-2016
- mauricioc 11y agoNice 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".
- krithix 11y agoGood catch, we've updated the post. It does indeed end in April (3 months!)
- voltagex_ 11y agoI hope one day one of my pet projects is big enough for a program like this.
- mcorrand 11y agoOn 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.
- jordanlev 11y agoI 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 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).
- mcorrand 11y agoI never noticed because I'm actually using stripe.js to do the payment, and was only using the various validations from jquery.payment in a couple angular directives. I realized stripe.js had validation functions built in one day looking into the source, and that's where I remember those validations acting differently from.
- oakwise 11y agoIt's definitely not abandoned! We're using it in Stripe Checkout, we're aware that it needs some love, and we've got plans to that effect. Stay tuned! (I'm an engineer at Stripe)
- fndrplayer13 11y agoCool that you guys are show-casing your work. I've looked over mosql before. Cool stuff and worth checking out.
- jaryd 11y agoWould be interested to hear from the devs about the actual reasons they chose to write unilog (https://github.com/stripe/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?
- ebroder 11y ago(I'm an infrastructure engineer at Stripe) 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.
- ebroder 11y agoAnd an update! I talked with the engineer that wrote unilog originally. The original headline feature of unilog was that it wouldn't block writes if the disk filled up. multilog does - if it can't write a line to disk, it stops ingesting data off of stdin, which eventually causes the application to hang writing to stdout. unilog sends you an email and starts dropping log lines, which we decided better matched the tradeoffs we wanted to make - losing logs sucks, but not as much as blocking your application until you figure out how to free up disk.
- pablasso 11y agoThanks for the follow up!
- 11y ago
- aquilaFiera 11y agoLove Conway's Game of Life in the background.
- fredliu 11y agoThat game of life animation background is really mesmerizing to watch!
- LukeHoersten 11y agoUsually 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.
- Killswitch 11y ago> Usually it feels like companies open source projects are kind of lame or just to look fashionable. I don't understand this. You think Netflix and Facebook's Open source projects are lame?
- rnovak 11y agoI don't understand this. You think Netflix and Facebook's Open source projects are lame? Whoah, I didn't notice that Netflix and Facebook became the only tech companies on Earth.
- Killswitch 11y agoNo, but from what I understand op saying is that most open source from companies are lame, and I haven't seen any lame open source projects from companies, even if in languages I don't like. So by saying "Usually it feels like companies open source projects are kind of lame or just to look fashionable." it comes off that op things that.
- son_ngu 11y agoThat's a loaded question. I don't think op means every company.
- nathancahill 11y agoTrue. 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. [0] https://github.com/shutterstock/rickshaw https://github.com/shutterstock/rickshaw [1] https://github.com/shutterstock/rickshaw/issues/517 https://github.com/shutterstock/rickshaw/issues/517 [2] http://code.shutterstock.com/rickshaw/ http://code.shutterstock.com/rickshaw/
- crystalgiver 11y agoKool aid is so good!
- aerovistae 11y agoMaybe you should consider making a more detailed and interesting argument than throwing out a catchy rebel phrase. Then you could actually have a discussion with people! Unless you just wanted to throw out the catchy but ultimately insightless line and then walk away while donning sunglasses. Remember, cool guys don't look at explosions.
- crystalgiver 11y agoMaybe you should stop being a self-righteous little bitch
- dang 11y agoWe've banned this account.
- crystalmaker 11y agoGreat course of action dang!
- aerovistae 11y agodidn't get a chance to read what he wrote :(
- Cogito 11y agoIf you're not aware, you can turn on 'showdead' in your preferences to see hidden comments. My preferred way to browse HN :)
- aerovistae 11y agoLMFAO that was so worth it, thank you for telling me about this. That's hysterical.
- prezjordan 11y agoWow, the "Personal projects" section is a really great idea.
- jtchang 11y agoAny 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 :)
- sylvinus 11y agoCheck out the footer on http://www.dotjs.io/ http://www.dotjs.io/ to be able to do that :)
- hellbanner 11y agoVery nice page & I like that they put employee's personal projects at the bottom!
- sbensu 11y agoSome of the projects (e.g., jepsen) are quite impressive. I bet that displays like this one beat any office perk when it comes to hiring.
- WestCoastJustin 11y agoMake sure you check out https://aphyr.com/tags/jepsen https://aphyr.com/tags/jepsen if you have't seen these write-ups before. Truly on another level.
- masklinn 11y agoAphyr's also given a bunch of great talks on Jepsen, well worth watching.
- joeblau 11y agoI 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.
- crystalmaker 11y agoNope... These projects are lame too. The animation crap is for touchy feely "we're hackerz" branding. Real hacker culture doesn't try that hard... It ends up looking over-produced inauthentic and corporate. This is just more corporate "work here!" marketing. If you have a soul, don't work at Stripe.
- e40 11y agoSeems like you have an axe to grind that has nothing to do with the OP.
- Rainymood 11y agoStripe's front end game is on point so hard. Jezus!
- squiggy22 11y agoOP (Benjamin de Cock) is one talented guy. Some of his work is phenomenal.
- sandGorgon 11y agowhy 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. [1] https://github.com/stripe/mosql/blob/master/README.md https://github.com/stripe/mosql/blob/master/README.md [2] https://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9.5#JSONB-modifying_operators_and_functions https://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9....
- ahachete 11y agoOr use ToroDB (http://www.torodb.com http://www.torodb.com) that speaks the MongoDB protocol but stores the data relationally, in PostgreSQL. Directly. No ETL, no mosql required :) (ToroDB developer here)
- Alex3917 11y agoI just checked out the page. This seems like an interesting project, but how would rewriting unstructured documents into relational form be faster to query than just retrieving the whole document as jsonb or whatever?
- ahachete 11y agoPulling a document together back from its parts cannot be faster than jsonb or whatever. But it can be orders of magnitude faster if you are pulling a collection out of a query and you avoid scanning the whole thing. Let me elaborate. When you search in MongoDB (or PostgreSQL with a single table with a jsonb column) the executor needs to visit every single document, every single key, to try to see whether that documents matches the query criteria. This means that in the absence of indexes (or inability to use them, as it happens in MongoDB, where they are not used under many circumstances) the whole db would be scan to answer every single query. I contrast, ToroDB effectively is "partitioning" the data "by type" (being the type the shape of the documents). See this explanation for more detail: https://github.com/torodb/torodb/wiki/How-ToroDB-stores-json-documents-internally https://github.com/torodb/torodb/wiki/How-ToroDB-stores-json.... To answer a given query, ToroDB only reads those tables with potential documents involved in the result, which usually is a small % of the while database. And this, of course, leads to significantly less I/O and queries that can run up to orders of magnitude faster.
- rglover 11y agoShit, Benjamin! So good. Every time. Great work :)
- fica 11y agoMashape is another startup that contributes a lot in the API space with mainstream OSS projects such as: OAuthBible [1], Unirest [2], HTTPsnippet [3], Guardian [4] and KONG [5]. [1] https://github.com/Mashape/mashape-oauth https://github.com/Mashape/mashape-oauth [2] http://unirest.io/ http://unirest.io/ [3] https://github.com/Mashape/httpsnippet https://github.com/Mashape/httpsnippet [4] https://github.com/Mashape/guardian https://github.com/Mashape/guardian [5] https://github.com/Mashape/kong https://github.com/Mashape/kong
- benologist 11y agohttps://news.ycombinator.com/threads?id=fica https://news.ycombinator.com/threads?id=fica https://news.ycombinator.com/threads?id=culo https://news.ycombinator.com/threads?id=culo
- dang 11y agoYou guys appear to have a whole posse of accounts promoting your stuff in dubious ways on HN. I'm not sure exactly where the line is between normal sharing of information and abuse, but wherever it is, you're on the wrong side. HN threads are for conversations, not commercials. There's nothing wrong with linking to one's own work when it comes up naturally in a genuine conversation. Abusing conversation for promotional purposes, though, is another matter. When accounts do that repeatedly, we ban them as well as the site they're promoting.
- fica 11y agoNot sure what you mean with another username and relations you're coming up with. my comments gets real upvotes from the community. which means that what I comment, is what the community likes. Otherwise they won't. Also is mostly about open source, free software which is not commercial at all. Next time think twice before flagging or you're doing your job wrong, Dang. Thx.
- dang 11y agoHN users flagged your comment. Open-source or not is a red herring—the issue is illegitimate promotional tactics. (I've replaced "commercial" with "promotional" above to make this clearer.) I'm surprised that you're not sure what I mean. From examples that users complaining about comment spam have emailed us, as well as the data I'm looking at, there is a longstanding pattern of abusing HN threads, including in outright deceptive ways: https://news.ycombinator.com/item?id=8637324 https://news.ycombinator.com/item?id=8637324. We have a contract with HN users: they're not allowed to accuse each other of astroturfing, and we promise to crack down on actual astroturfing when we see evidence of it. I'm seeing evidence. I feel bad for taking this thread further off-topic, but it's important for users to see us upholding our end of that bargain. If you want to discuss this further, please email hn@ycombinator.com.
- scotchio 11y agoLove 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. [1] http://codepen.io/ncerminara/pen/MYvELv http://codepen.io/ncerminara/pen/MYvELv [2] https://digital.scotch.io https://digital.scotch.io
- benjamindc 11y agoGlad you noticed the easter-egg on the logo :p
- scotchio 11y agoHad no idea you could animate SVG coordinates. Edit: Or at least I think that's how it works...
- benjamindc 11y agoYup, you're right!
- aaggarwal 11y agoHi, is there any library to get a similar SVG animation on any text? Possibly, input the text and get animated SVG. Though, I think your not using any external library.
- thecodemonkey 11y agoWow! That logo and animation has scaringly close resemblance to the one on https://digital.scotch.io https://digital.scotch.io
- brandon272 11y agoI 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.
- ijones16 11y agoBeautiful website. Props!
- nikolenkoanton 11y agoI am very like UI :)
- elithrar 11y agoSome great stuff here! The 'personal projects' are a nice touch: I've been using Goji (https://github.com/zenazn/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.
- HNLogInsSuckAss 11y agoThe post's headline should tell us what it is.