HN user

vcherubini

196 karma
Posts17
Comments35
View on HN

I was deeply into it as well (though not at your level). I was so happy when a question I asked was printed in Action Pursuit Games (something like should I upgrade to nitro or stay with CO2?).

Also, Automag all the way.

Wow this is awesome. I had to integrate Alipay into a checkout process in ~2010 and it was a complete nightmare - and not even as a result of the language barrier. The API was just so so bad. Glad this is in Stripe now.

I generally agree, but if the retailer is large enough they almost certainly pay a percentage of their cash payments to a Brinks-like company to securely handle the transfer of the money.

I want to know an explanation of why credit card data was stored. Is this standard? Shouldn't they only need it long enough to process the transaction - there's no reason to store it, correct?

Was the data stolen in transit (should be entirely encrypted) or stolen while at rest?

This is an incredible piece of advertising and the very definition of advertising done correctly.

It's funny, relatable, and immediately makes you want to buy the product they're selling. Also, very cool use of hot new technology.

I'm of the same opinion. I host all of my production apps on Linode (the 8 cores is nice too), and my staging environment is on DO. I don't mind paying more for Linode because I think their network is better.

All of my repo's have a 'build-dev' script in the root of the repository (see here: https://github.com/brightmarch/picto/blob/master/build-dev). Run that after you pull it down and it builds the environment for you (minus setting up Vagrant).

You should commit your asset files in the Bundle, but not the ones in web/bundles/ because those are created by copying or symlinking the assets in your Bundle.

You have some usernames and passwords (to what looks like production servers) sprinkled throughout your app. May need to change those ASAP, wipe your history, or something.

Lots of suggestions:

* Don't write your own cron scripts, use Symfony Commands.

* Delete the Acme Bundle.

* Don't store your vendor directory in Git! Completely unnecessary and waste of 47MB.

* Don't commit parameters.yml, that's what parameters.yml.dist is for.

* Use a migration tool (Doctrine Migrations are fine) instead of one big SQL dump.

* Not sure what mongodb/example.php is for.

* Why is all the plivo stuff in web/plivo/ instead of being a callable controller?

* Are you manually generating your Doctrine entities?

* Don't commit your asset directories (they should be symlinks).

* No need to use PHPMailer (or include the entire project in your repository), Symfony comes with Swiftmailer which is great.

* Same with src/Phone, add that library through Composer (https://packagist.org/packages/practo/libphonenumber-for-php).

The design looks great, but I wouldn't trust a lot of this (especially after seeing how many hosts and usernames and passwords you left scattered about).

I wrote a book titled "Expert PHP Deployments" on how to deploy any PHP application using Vagrant, Capistrano, and Phing.

http://growingsoftware.org/expert-php-deployments/

It hasn't made me rich, but it usually sells about a copy a day. I love that it's entirely passive. I wrote it, published it, and it just sits there on my website making money.

It's also been a good way to build a list of people who would be interested in other things I make.

PS. Use coupon code "hn" for $2 off if you're interested.

Imgur was starting to become too cluttered with ads and comments. So I made an alternative named Picto.

I plan on open sourcing it as soon as I add some tests so it's not totally embarrassing. Check it out. Thanks!

PHP has also become a much more vibrant language to develop in. It doesn't have the coolness factor of Haskell, Go, or Scala, but it has become a lot better in the recent years.

Combined with a better overall language (that still has it's warts, lets be clear here) and an ever expanding amazing ecosystem of great libraries and you have something that is easy to deploy _and_ fun to work with.

As a parent, it's incredibly important to read physical books.

First, it shows your children you can be entertained without an electronic device. My oldest son is three and already an expert on the iPad and iPhone. It worries me how much he wants to use the device, and telling him he can't use it and the whole family is taking a timeout from electronics is important to his growth. He can draw while I read a book, for example.

Second, buying physical books at a bookstore is a great bonding experience. I love taking my little guys to the local Half Price Books which always has a great dedicated kids section.

These reasons aren't only for parents, of course, but as a parent I find having physical books present is important.

Verifying email addresses is vitally important for building a high quality list. Otherwise, you can easily sign up other people for the list, they get essentially a spam email, report it as spam, and all of a sudden your list is crap because they didn't have double opt-in.

Keep double opt-in, it's necessary (and I think required in Mailchimp's case unless you use the API directly).

Foundation is without a doubt the nicest CSS framework I have ever used. It really, really helps me, as a programmer, create amazing interfaces without much effort at all. Combined with SASS and it's a winning combination.

Can't wait to start playing with version 5.

Undo 13 years ago

I would wager that the reason Undo isn't implemented more often is that it is very difficult.

Executing a DELETE statement and deleting a bunch of data is simple. Implementing "undo" is more difficult, especially for browser based software. How long is the undo valid for? Can you undo every action? How many levels of undo do you support? Do you allow an undo for UPDATE's as well (updating a blog post to set it's content is essentially deleting it, and would probably be something you want undone, for example).

On top of just building the functionality in to your app, communicating it to your users is also difficult since the web app medium is so different than the desktop one.