alanstorm
Until PCRE or PHP release a patch for this, you remain vulnerable. You'd want to defend against this at the web server level -- think `MOD_SECURITY` rules that scan requests, look for known "bad" regular expressions, and then stop that request from reaching the PHP application. If you have a good hosting company hopefully they're already doing this for you.
Yes and no. The PHP language and run-time continue to value backwards compatibility and, ultimately, a PHP application is still just a collection of PHP files sitting on a web server somewhere. If you want to work like it's 2006 you can.
However -- Modern PHP (Laravel included) bring a few winkles to the table and most deployments will have extra complications for folks expecting to just "FTP a file" (also, I hope you meant SFTP a file (-:)
For example, Laravel (similar to rails) has migrations for creating and updating your database schema. You don't need to use migrations, but if you do your deployment becomes a bit more complicated.
Also -- although PHP namespaces have come a long way, they're still not up-to-par with (or, in PHP group-speak "have different goals than") ruby or python's module system. The Composer packaging system has stepped in to fill this gap, but this means a modern PHP deployment needs to
1. Generate composer autoload cache files 2. Fetch, download and install any updated composer packages (i.e. third party libraries)
Again, there's nothing stopping you from working locally and SFTPing or rsyncing all your local files (composer packages/autoload files included) to the server, but most teams develop a more formal deployment process than that.
How you host your PHP application is going to effect how you deploy. There's still many, many PHP hosting companies offering `mod_php` based hosting, but there's also a large number of projects who use a Fast-CGI/FPM approach (either with Apache or nginx). The difference in process models brings a different in the unix permissions model, and that often means there's extra steps needed to ensure file based cache system can write to their storage engines.
And speaking of caching, 20% of any "serious" PHP developer's time is spent sorting out the various framework level caching systems, as well as PHP based opt-code caching. I mention this here mainly to point out that some sort of cache refresh and/or warming is common in signifigant/long-standing PHP systems.
Deployment's still easier in PHP than in other frameworks, but if you're expect a wild west "just edit files on the server and you're good to go", expect push-back from your modern, professional, PHP developers :)
Pay: $10
Just my two cents here (with the caveat I could be talking out of my behind since I don't know these people), but I'd discourage anyone considering a career in freelance design/development from using these sorts of services.
The hardest part of making a long term go at this sort of work is learning how to sell yourself and having the hard discussions about business, money, and commitments. Using these sorts of services rob you of that experience, and your working relationship ends up being more employee than independent, but without the hard fought protections employees deserve.
What these services promise you is high quality projects, and an escrow service for getting paid. You can, and should, set these sorts of protections yourself. If you are going to try out these sorts of services as training wheels, be sure to carefully read anything they have you sign, and make sure it could never be used to impact your future, 100% independent career.
There's far too many things a potential client may not be telling you about the project, and it's incredibly hard for the independent freelancer to do enough business development, or for the client to do enough vetting, to know which random internet person is trustworthy. This is especially true when you're just starting out.
A one week sprint that solves a small, immediate need the client has will keep the project manageable, and protects both the freelancer and the client from a potentially bad situation. Worse case scenario, one of you is out a week's work. Best case scenario, after a few sprints a rapport and trust develops, and you can start providing your clients with estimates for larger pieces of work, knowing they'll be treated as estimates and not fixed bids.
Don't eliminate the appearance of uncertainty when you're legitimacy uncertain. That's bad communication. If a client needs solid estimates out of the gate they don't need an independent freelancer. They need a full-service agency.
I doubt (but obviously don't know) Mark wanted to excise his work from human memory, he just didn't want the personal responsibility of maintaining those resources/participating in their development as a leader. That's the wish worth respecting.
If this is a subscription service, automate the refund process such that you can you can send a single email with a link that will let them provide feedback, cancel their service, and refund their money.
If you're selling software bits consider a serial number system that will allow you to remotely disable people who have requested refunds. Also, keep your refund policy but stop advertising it. This way you prevent bottom feeders from even knowing it's an option. If you notice this is costing you more sales than you gain, go back to advertising it and re-read paragraph one.
1. Browser based Javascript provides a location object for managing and accessing the current browser location, and this location object is available as a global variable.
2. Browser based Javascript also provides a special case in the interpreter/processer/etc., where setting the location object equal to itself will reload the current page. This is also true for certain properties of the location object (href)
3a. There is also a more conventional reload method on the location object which accepts either a location object or string href. Also, many of the "go to this URL methods" exposed to Javascript will interpret "go to the url I'm at" as a request to reload the page. Many of these methods will accepts a location object, or a string representation of a URL as a paramater.
3b. location.href is a string representation of a URL
3. There are many ways to access global variables in Javascript. There are many ways to assign a value in javascript. There are many ways to call a method in javascript.
4. All of the above can be combined into lots (likely more than the 535) of ways to achieve the same thing.
Apple's leveraging the work they put into building the App Store infrastructure (and business deals with credit card companies) to do something a lot of other companies couldn't (make something that was free cost something again without too much fallout).
We, of course, won't get that story, and will have to settle for a news cycle of the fiduciary responsibility tourettes brigade vs. the hacks who think they're John Gruber screaming at everyone to leave Steve alone.
[edited for grammar]
At the risk of putting this back on discussion though, from the outside EBS looks like a separate, but complimentary product for EC2, which will further muddy the waters for someone not familiar with Amazon's platform, which leaves room for a someone like PHPFog to swoop in as a middleman to provide a turnkey solution to the problem of getting PHP developers and Drupal/Wordpress site owners up and running in a scalable cloud environment. It's not that this is hard for someone to solves on their own, it's that for a lot of developers in the PHP Ecosystem there's too much inertia to get around to it.
I think you misunderstanding may step from underestimating the time needed to make the right choice on an EC2 Cloud vs. Slicehost VM vs. Rackspace vs. Shared hosting vs. That guy with the space space in his rack for a PHP application.
For someone not up on EC2 they need to research what the difference between a Standard On-Demand Instance, Micro On-Demand Instance, High-Memory On-Demand Instance, High-CPU On-Demand Instance, Cluster Compute Instance, and Cluster GPU Instance is, and then decide which type of VM they need within that sub-group for their app.
Then they need to figure out where their application touches/stores items on the file system, and decide how they're going to restore that whenever they spawn/restart another EC2 instance. (file uploads, avatar image uploads, etc.) Lots of PHP applications make an assumption about about a readable/writable persistant file system (which, coincidentally, is why shared hosting is such a successful attack vector). The is where PHPFog having the Drupal and Wordpress installs come in handy, the implication there being they've solved that for you.
To get familiar with the EC2 infrastructure to make these choices, they need to make a $63/month investment or pony up the $227.50. Minor, but expensive enough that it creates inertia. If PHPFog gets their pricing right, or they have a compelling marketing pitch that this really is turn-key, they can capture a lot of mindshare right now, and possibly be a disruptive player in a segment of the shared hosting market that's been static for a long time.
None of the above is hard for a technically competent individual, it just takes time. It's plumbing, and (this is the important part), in the world of a PHP developer it's the sort of plumbing that up-till-now can be handled by a reliable shared host, or for larger companies/teams/apps, server operations folks who don't do application programming. That's why there's a lack of EC2 knowledge even among competent profesional PHP folks.
Add in all the people just using Drupal/Wordpress/Joomla/Magento/etc who aren't technically competent and you have a another market segment PHPFog could serve.
Are we looking at a $212 acquisition for PHPFog? Probably not. But that doesn't mean they can't be a successful company, or that they can't use a cash infusion to get the tedious-yet-requiring-a-brain work for getting default installations for all the popular PHP applications running.
I'm not sure that I'd use it myself, because I'd like to spend to time to get familiar with EC2, but with shared hosting becoming a less reliable solution as internet traffic patterns change (and shared hosts increasingly go he commodity route) there's going to be a lot of PHP professionals (and PHP hacks, and non-programmer hacks using PHP systems) looking for a turn-key cloud solution, so I can see the interest in PHPFog.
TL;DR: There's large swaths of the PHP community that doesn't know how to make EC2 work, PHPFog is aiming to be their middleman.
Instead there's weeks, and then months of putting off, half-truths, lies, and the like. Most people new to freelancing trust that it's just some bureaucratic hold up, and the worst offenders develop entire personalities that are based on exploiting people's natural tendencies to trust other human beings. It usually takes getting burned a few times to learn that "the check is in the mail" translates to "I'm never going to pay you because the amount is small enough that involving a lawyer doesn't make financial sense".
They didn't want a programmer, they wanted someone with known Drupal experience, who could hit the ground running, and wouldn't fall back on writing new software to solve a problem that could be quickly (if not perfectly) solved in Drupal. PHP based content management systems job are only tangentially related to programming. Drupal (and Joomla, etc.) exist so that companies can manage their websites without a programmer.
That may not be fair, but it's how the hiring companies (direct or recruit) will look at. If you want those jobs get a Drupal site or two under your belt, and downplay your 10+ years of PHP on your resume and during the interview conversation.
Creating an accurate transcript of a live event is time consuming, and "hard" (well, it's tedious, which most people take to mean hard) to do right. Even if you don't any qualms crowd sourcing for something like this, you still need to manage the crowd sourcing, and get an edit cycle in there.
TL;DR; Free things are free for a reason.