HNHacker News
TopNewBestAskShowJobs

thinkbohemian

1,024 karma · joined December 15, 2009

Professional hacker for http://heroku.com former gowalla.com

Find me on the twitters @schneems

submissionscomments
thinkbohemian··on Introducing the new PHP on Heroku
Hello, I helped edit the blog post and actually proposed this sentence. I love this reaction:

> What is the difference between a PHP developer and any other developer?

It's exactly the type of response I was hoping for. In early drafts we got a common "big whup" response from some readers. Most posts on PHP these days only do well when they bash the language, very few focus on __why__ they use PHP: which is to create things. Yes, all developers create things, and PHP developers do as well. This sentence serves to validate PHP and their developers. So to answer your question:

> What is the difference between a PHP developer and any other developer?

Nothing.

Even if you still don't buy my explanation. Maybe you can stomach some non-wordsmithed docs: https://devcenter.heroku.com/articles/getting-started-with-p...

thinkbohemian··on Introducing the new PHP on Heroku
Heroku employee here. I'm curious about this statement:

> I'd argue its not much different than AWS.

Could you expand here? What about the platform do you find similar and different? Which of that is good and bad? What were you using each to accomplish?

I'm happy to answer questions about Heroku. But I do like hearing unfiltered impressions and experiences before I taint them with my own world views.

thinkbohemian··on PHP – a look back, a look forward
Heroku employee here. Yes there's been a PHP community buildpack for some time. I'm glad you got it working. Moving PHP to be officially sanctioned and "supported" by Heroku is subtle but significant:

We've hired a full time PHP owner. We've got PHP docs on the devcenter https://devcenter.heroku.com/articles/php-support and more importantly the features we document are "supported". If you've got problems with them we will provide application specific support (to the extent of supporting our docs and the platform). It also means that the experience will continue to get better as new features are added, and that PHP has a voice in the future of our platform.

PHP on Heroku has been a highly requested feature, and we're investing a good amount to make the experience a good one.

thinkbohemian··on E-Go: A sub-$1000 electric longboard
That's a good point. I did my senior project (mechanical engineer) on the boards. Developed a NiMH replacement to their lead acid batteries which dropped off 10-ish pounds. I also milled out a handle so you can carry it by the back (leave the front two wheels on the ground and roll it like a suitcase). Both of those things combined the board ends up being 18 pounds in your hand. It's totally not stock though, and I sometimes forget that :)
thinkbohemian··on E-Go: A sub-$1000 electric longboard
Had you previously looked into other boards? Why did you choose boosted over all the other options out there?
thinkbohemian··on E-Go: A sub-$1000 electric longboard
I've had an Altered skateboard (600 watts, 20mph max speed) for over 7 years now and it costs $700. An electric longboard at this price point isn't exactly revolutionary. What makes this board different?
thinkbohemian··on Ruby Garbage Collection: Still Not Ready for Production
We tend to make side optimization recommendations whenever we notice something is wrong and you open a support ticket. We could add it to the warnings at the end, but I can safely say most people don't read them. Still worth having for those that don't, good suggestion.
thinkbohemian··on Ruby Garbage Collection: Still Not Ready for Production
I understood the simplification to be for clarity of your point, not a misunderstanding. I just wanted to clear it up for any other readers :)
thinkbohemian··on Ruby Garbage Collection: Still Not Ready for Production
I recommend Puma and work for Heroku, though threadafety is still a huge issue. It also pre-forks in hybrid mode which makes it super awesome. Also it takes care of slow clients!
thinkbohemian··on Ruby Garbage Collection: Still Not Ready for Production
> the default Heroku server

There is no "default Heroku server" you get exactly what you specify. If you specify nothing you get what Rails runs by default which is webrick and happens to be awful in production. It's not that "Heroku has a bad default" here but rather Rails' default web server is not intended to run in Production. Most of our docs try to emphasize that you should be using another server other than webrick. Some people want to just bang out a proof of concept and not worry about configuring Puma or Unicorn, for them webrick is fine.

thinkbohemian··on Ruby Garbage Collection: Still Not Ready for Production
Heroku Ruby guy here. I recommend Puma. Especially if your app is threadsafe. Even if it isn't you can still run multiple workers and only one thread and you get protection against slow clients (that Unicorn doesn't have). https://devcenter.heroku.com/articles/deploying-rails-applic...

I also wrote this gem that tunes the number of Puma workers and resets any workers where a memory leak is detected: http://github.com/schneems/puma_auto_tune

thinkbohemian··on Genetic Algorithms Produce Winning StarCraft II Build Order (2010)
I'm not a java programmer and currently eclipse is telling me that it's going to take 60 minutes to download. How does the program itself work? Is there some SC2 API they are using for this or did they just write down all the values and are "simulating" a SC2 build.
thinkbohemian··on Where the mem at?
Unless you're running in a container: fabiokung.com/2014/03/13/memory-inside-linux-containers/
thinkbohemian··on SXSW RSVP tool
> expect to receive a bunch of [...] shares on your Facebook activity feed

That's a bit scary. How about giving me a grid that allows me to select which events I want to RSVP for highlighting which require a facebook share. I might money for something like that. I know a girl who used to keep a spreadsheet of all the events and venues and sold access for $5 a pop, and actually made a decent amount of money, off of nothing more than a spreadsheet.

I came here to see if anyone had tried the tool and what to expect, though it's off the main page now. So likely I won't find that.

thinkbohemian··on I left Heroku for OpsWorks and shaved 40% off response times
Understood, can't be everything to every one. BTW thanks for sticking around and answering questions/engaging :)
thinkbohemian··on I left Heroku for OpsWorks and shaved 40% off response times
Or a bigger (more RAM) box, I posted this to the Ruby Rouges mailing list on tail latencies: https://gist.github.com/schneems/8849116

Concurrency is only half the battle with tail latencies. Of course dedicated CPU helps as well :)

thinkbohemian··on I left Heroku for OpsWorks and shaved 40% off response times
Curious from a user experience perspective would you consider going back to try out the PX dyno service? Do you use chef or puppet or any other software to manage your Rackspace instances?
thinkbohemian··on I left Heroku for OpsWorks and shaved 40% off response times
I agree with the CDN comment. Please use a CDN to serve your assets no mater what you host on. It's so easy, and the performance gains to the end user are good, it should be an obvious choice.
thinkbohemian··on Heroku XL
On my Production Rails app `time rails s` takes about 0m2.273s for me (Rails 4, Ruby 2.1.0). Not an insanely fast boot time, but nothing to lose sleep over.
thinkbohemian··on Heroku XL
I run http://codetriage.com/ on Rails 4, Ruby 2.1.0 and have 5 unicorn workers per (regular 1x) dyno. With a little GC tweaking I could likely get 6, but i'm being cautious. With puma hybid server I can get even more concurrency, but don't need it for now.
thinkbohemian··on Heroku XL
Thanks for sharing! Can you share your before and after web server configuration? Also what web server are you using, Unicorn?
thinkbohemian··on Heroku XL
Random routing is more or less industry standard. NGINX and ELB (what I would consider two gold standards for load balancing) both use Round Robin (non-inteligent, pseudo-random) routing variants:

- http://wiki.nginx.org/LoadBalanceExample

- http://serverfault.com/questions/537450/what-algorithm-does-...

thinkbohemian··on Ruby 2.1 Released
Now supported on Heroku! https://devcenter.heroku.com/changelog-items/376
thinkbohemian··on Pay less for Heroku Postgres
Heroku needs to rotate database credentials every now and then so be careful that your second app on the database can have some downtime. Monitoring here could help.

Interesting idea.

thinkbohemian··on What's New in Ruby 2.1 [pdf]
Koichi is gives some of the best presentations. It is hard enough to be funny in one language, yet to be funny and understandable in two is quite an accomplishment. If you're ever at a Rubyconf, go to his talks. Also love the speed work he's been doing with generational GC. For a primer, Pat Shaughnessy has a great talk you should check out, also Ruby Under a Microscope is a good dive into Ruby.
thinkbohemian··on Host your Django App for 1€/month
Heroku comes with a free managed postgres database to start with. Upgrade when you need more features like point in time recovery and more resources.
thinkbohemian··on Introducing Heroku Postgres 2.0
Point in time recovery: yes please.
thinkbohemian··on The Predicate Module Pattern
Interesting idea be careful of this causing slowdowns: right now every time you `extend` any object the entire method cache gets blown away (https://charlie.bz/blog/things-that-clear-rubys-method-cache). I think this is being worked on but not sure of a target release for the fix.
thinkbohemian··on Where to host .NET applications?
Curious if anyone has experience running .NET applications under mono on Heroku?
thinkbohemian··on Rails 4 startup template
Allow SECURE_TOKEN to be set via environment variable and it to be rotate-able.
← PreviousPage 2 of 12Next →