I didn’t have this extreme of a problem but I did have some performance problems with my Symfony project. With the other problems I’ve run into with shared folders recently I’ve started debated throwing out the whole thing and just using Vagrant for the deployment and using SMB from the VM.
The graph at the end of this post is great. I think I’ve seen a lot of Reckless/Deliberate projects when the original programmer didn’t know what they were doing.
We’re using PHPUnit to add integration and unit tests at work and normally when I want to test a single I use
--filter to pick just the one I want:
vagrant@precise64:/var/www$ vendor/bin/phpunit -c tests --filter UserTest::testLoginWithInvalidPassword PHPUnit 3.7.31 by Sebastian Bergmann. Configuration read from /var/www/tests/phpunit.xml ....... Time: 6.82 seconds, Memory: 17.25Mb OK (7 tests, 7 assertions)
Almost 7 seconds for 7 tests is a lot…
When I just just
--filter PHPUnit is loading all the other unit test classes and then running just the ones that match the
--filter. By specifiying the file I want to run the test from I can get better performance:
vagrant@precise64:/var/www$ vendor/bin/phpunit -c tests --filter UserTest::testLoginWithInvalidPassword tests/models/UserTest.php PHPUnit 3.7.31 by Sebastian Bergmann. Configuration read from /var/www/tests/phpunit.xml ....... Time: 4.84 seconds, Memory: 12.50Mb OK (7 tests, 7 assertions)
I’m sure for any PHPUnit masters this is old information but I’ve never seen it so I thought others might find it interesting.
Open plans have been surprisingly hard to kill, despite research showing that they’re unpopular, decrease employee satisfaction, and hurt productivity. The response so far seems to have been to double down and make it, if anything, worse: cubicles are now decidedly un-cool so no-wall open offices are all the rage, and Facebook brags that its new building will be the largest open floor plan in the world, consisting of a single, ten acre open room.
I’ve worked in a cube farm and a room where they jammed in six desks and computers. Working in an open area can be super annoying when the person next to you is loud, messy, and/or smells.
I’m most productive working from home and highly recommend people who can do work remotely.
Similarly, it is important to know when you are writing bad software. Here’s a few questions that will help us diagnose if you are writing bad software.
- Does pushing updates to the software take a lot of time and effort?
- Does the whole system go down when you push a very small change?
- Have you ever pushed broken code to production, and didn’t realize until your users started complaining?
- Do you know what exactly to do when your system goes down — how to dig into backups, and deploy them?
- Are you spending more time on things like moving between environments, or running the same commands again and again, or running small utilities than actually making the software?
If you answered yes to any of these questions, this post is for you. Read all the way through, at least twice.
I was trying to install compass on one of my VMs the other day and I ran into this error:
[vagrant@unknown080027e8e390 public]$ sudo gem install compass Building native extensions. This could take a while... ERROR: Error installing compass: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/ffi-1.9.6 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/ffi-1.9.6/ext/ffi_c/gem_make.out
The quickfix for this is to install the ruby development package:
sudo yum -y install ruby-devel
I’m not sure why CentOS doesn’t install this with rubygems…
We had a developer quit last week so I did the most logical thing, I started deleting their access to our systems. Website login – check, QuickBooks login – check, email – check, GitHub – check. Then I started working on trying to finish some of the pull requests that he had outstanding.
I’ve been trying to get my head around the idea of just pushing out the code that a mobile site would need and I find it interesting. I’m wondering if you could create a SASS file that would use conditionals instead of
@media queries and then serve out the correct CSS file based on the script tag…
Experimental tools like HHVM (the successor of HipHop) offer huge potential, in terms of performance, deployment, and syntactic improvements to the language. But just like a new version of PHP itself, 99.9% of the market doesn’t care because they can’t use it, no matter how much they want to.