3 ms·
I love the way Maciej Cegłowski describes his setup at Pinboard: "Pinboard is written in PHP and Perl. The site uses MySQL for data storage, Sphinx for search,
by threefour 12y ago
I love the way Maciej Cegłowski describes his setup at Pinboard:
"Pinboard is written in PHP and Perl. The site uses MySQL for data storage, Sphinx for search, Beanstalk as a message queue, and a combination of storage appliances and Amazon S3 to store backups. There is absolutely nothing interesting about the Pinboard architecture or implementation; I consider that a feature!"
https://pinboard.in/about/ https://pinboard.in/about/
- sigil 12y agoI also immediately thought of Maciej and Pinboard. He expands a bit in this interview [1]: > Can you explain why you think that's a feature? > I believe that relying on very basic and well-understood technologies at the architectural level forces you to save all your cleverness and new ideas for the actual app, where it can make a difference to users. > I think many developers (myself included) are easily seduced by new technology and are willing to burn a lot of time rigging it together just for the joy of tinkering. So nowadays we see a lot of fairly uninteresting web apps with very technically sweet implementations. In designing Pinboard, I tried to steer clear of this temptation by picking very familiar, vanilla tools wherever possible so I would have no excuse for architectural wank. [1] http://webcache.googleusercontent.com/search?q=cache:98zuG6u6-U4J:readwrite.com/2011/02/10/pinboard-creator-maciej-ceglow+&cd=1&hl=en&ct=clnk&gl=us http://webcache.googleusercontent.com/search?q=cache:98zuG6u...
- threefour 12y ago"architectural wank" -- that's one for the dictionary!
- devonkim 12y agoI'm glad to see that someone else has recognized the trend of programmers picking a bunch of technology they want to have fun with rather than ones that are immediately productive and well-known as essentially a form of masturbation. The opposite extreme are projects like Duke Nukem Forever that take forever to ship and reiterate while never focusing, constantly burning time and money away. But a lot of programmers that work on so many side projects have very little time invested in working on the actual business value of their code and almost everything on the nuts and bolts that go into it. These are meant as learning projects, but we see this happen very often in the more hacker-oriented approaches to business that get featured on HN all the time. By all means learn technology and use it well to solve your business problems, but sometimes you really should just suffer with a random problem with a platform and just design around it with more hardware. If your application gets big enough where you need to get serious about distributed transactions and Dremel and some random new flavor of the week framework, you are already big enough to be able to take the momentary hit to re-think some architectural details now and, more importantly, have data about the way your application is used to be able to drive the decisions you make in an educated manner. I start my stupid random projects with Django on Postgres with an Nginx web server with fronted made dynamic with Backbone.js, jQuery, and Bootstrap. Some dudes I see a lot on here are all about Clojure and Clojurescript - that's totally cool, too, more power to you if it helps you ship faster and better by all means. From there, I go a la carte with my technology choices. I really haven't had to go outside there much aside from at my actual job though, so everything else is hobby work fundamentally and it's a bit of a fantasy of everyone to make a hobby of theirs work, and programmers are very, very easily seduced into thinking that their hobby projects can be work projects.
- collyw 12y ago"I think many developers (myself included) are easily seduced by new technology and are willing to burn a lot of time rigging it together just for the joy of tinkering." Part of the problem is the jobs market. I have been developing database applications for 12 years. Now many of teh jobs that I would seem suitable for want "experience in MongoDb" or "NoSQL skills" (whatever the hell that means - inability to design a schema?). I haven't used those because I have read up on them and decided they were not suitable for any use cases I have. I have used MySQL and Postgres successfully with billions of rows. I know when these new technologies might be useful. If I need schema-less / JSON stores, I'll use Postgres. If I need things that won't fit onto one server easily then I'll look again at the NoSQL tech that is available and evaluate from there.