archive-com.com » COM » B » BENRAMSEY.COM

Total: 425

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Composer: Missing Distributions For Explict References, by Ben Ramsey
    approach if you are developing a library for public distribution Public libraries need to have flexible dependencies so that Composer can choose to the best possible version for other libraries requiring different versions of the same dependency Sometimes a library has updates that haven t yet been released and I need to use these right away Composer allows me to specify the specific commit I want to use for a library In this way I can hard lock a dependency to a specific state even when there is not yet a release for the changes I need require acme foo dev master b96ab0ce4a This has worked well until today when I tried to do a fresh composer install After installing one library contained files and methods that I did not expect It turns out Composer was grabbing the HEAD of dev master instead of the specific commit I referenced When I looked in vendor composer installed json it became clear what was happening The relevant entry looked a little something like this name acme foo version dev master version normalized 9999999 dev source type git url https bitbucket org acme foo git reference b96ab0ce4a dist type zip url https bitbucket org acme foo get 03ae0dba64d1a902fb4d76004ef12c8391ededc8 zip reference b96ab0ce4a shasum require php 5 2 0 time 2015 03 23 22 00 25 type library installation source dist autoload psr 0 Acme src description An example library Notice in line 21 that my installation source is dist and in the dist section it shows a zip file URL referring to a different commit hash than the reference line 12 vs line 13 This is because Bitbucket provides a distribution zip file for the current HEAD of the branch but not the specific commit I need Since composer install uses prefer dist by

    Original URL path: https://benramsey.com/blog/2015/06/composer-missing-distributions/ (2016-04-26)
    Open archived version from archive


  • Reflecting on PHP at 20, by Ben Ramsey
    theory and problem solving over purity You may read the rest in InfoWorld I hope you like it A Timeline Spanning Twenty Years Last weekend an idea occurred to me to use the phpc Twitter account to celebrate PHP s twentieth birthday in a unique way by posting a timeline of events in the PHP community spanning the past twenty years It was a lofty goal and as I was wrapping up my InfoWorld article I pieced together a timeline of events and scheduled them to be posted about every half hour On 8 June 1995 rasmus releases the source code for PHP Tools version 1 0 https t co 13WJfVo33b 20yearsofphp PHP Community phpc June 8 2015 I regard each event in this timeline as important to the history of PHP having shaped the language and community into what they are today These events however are by no means the only important events It was impossible to put together a complete list that included every project and every person who has made significant contributions to PHP and its community I m sorry if you and your project were left out but please understand I do not intend any ill will Cal Evans was kind enough to capture the timeline in a Storify and post it on Zend Developer Zone From there you may read all the posts in the timeline 20yearsofphp Hashtag I also advocated the use of the 20yearsofphp hashtag to help everyone follow along the conversation throughout the day 20yearsofphp Tweets A Birthday Cake for PHP For the June 2015 Nashville PHP user group meeting this past Tuesday I had some fun and got a cake so that our user group could join in the 20th birthday celebration That s our group in the cover photo for

    Original URL path: https://benramsey.com/blog/2015/06/php-at-20/ (2016-04-26)
    Open archived version from archive

  • 20 Years of PHP, by Ben Ramsey
    my first big job in the industry and it provided a solid foundation for the rest of my career As I recall I was making changes to a website and I used an FTP program probably CuteFTP to connect to the server to access the files I remember seeing files in the directory with the extension php3 That didn t strike me as odd though I had certainly seen these file extensions in URLs before but my server side programming experience up until this point had included only Perl and Classic ASP I was able to open up the files navigate around the PHP tags to make the necessary changes and save the files back to the server making updates directly to production as one does It wasn t until 2002 that I began using PHP extensively I wrote at length about that ten years ago for PHP s tenth birthday celebration but this was my first encounter with it and the thing that struck me was its ease of use Now fifteen years later I look back on a career that has been made possible because of PHP How did you first encounter PHP For PHP s twentieth birthday

    Original URL path: https://benramsey.com/blog/2015/06/20-years-of-php/ (2016-04-26)
    Open archived version from archive

  • Fun Recruiter Messages, by Ben Ramsey
    are passionate about Ruby and Opensource technology development than sic this is the place for you Wouldn t it be nice to come home every day and know you are doing what you love in a company that loves your work This is not just your average job This is opportunity this is a blur between dreams and reality this is the opportunity that is going to slingshot you to

    Original URL path: https://benramsey.com/blog/2015/05/fun-recruiter-messages/ (2016-04-26)
    Open archived version from archive

  • Website Redesign, by Ben Ramsey
    IndieWeb Movement Through Chris Shiflett I found out about the Indie Web movement Almost immediately I felt a kinship with this community I ve already mentioned the Open Web philosophy The Indie Web movement seems to be taking steps in this direction I have followed their Getting Started guide to mark up my website with authorship information h card and microformats mark up for blog posts and articles h entry This means my site content is easy to scrape and it provides good identity information about myself that machines can read Chris has written a little about some of the practical applications of IndieAuth I m sure he ll write more so I encourage you to follow along Focus on Content Previous versions of my website included only my blog and did not focus on my talks articles books or projects It is important to me to showcase this content and so this new version of my site includes these and more Just take a look under the Features navigation link up top or follow these links Blog I write about web development and related technologies in my blog Usually it has something to do with PHP Occasionally I m off topic Articles Here you can find my published articles with some useful and current discussion in the comments Books Here you can find more information about books and publications I ve written and contributed to Talks I speak about web development and related technologies at conferences around the world Projects I organize maintain develop and participate in many open source projects and communities Brews I am an aficionado of beer and lover of coffee Sometimes I write about them Simple and Elegant Design I am a web developer not a designer I wanted something simple elegant and responsive that reflected my own personality but I knew I would be unable to pull it off on my own For design inspiration I turned to HTML5 UP These are all clean and simple designs that are responsive built with HTML5 and CSS3 and are licensed for free under a Creative Commons license Through HTML5 UP I learned about AJ s other project Pixelarity From there I found the Catalyst theme which is the theme on which I based this website Thanks AJ I see you re also in Nashville Maybe I can buy you a drink sometime Tools Used I again chose to use a static site generator for this website I was pleased with how well Octopress worked and I was interested in the forthcoming Octopress 3 Octopress 3 is still in the development stages so I used Jekyll as the base with a mixture of Jekyll and Octopress plugins as well as some of my own For the most part I write all my posts and pages in Markdown and I ve been very happy with the kramdown Markdown superset converter Additionally I m a big fan of Pygments coupled with the Octopress Codefence plugin for marking up source

    Original URL path: https://benramsey.com/blog/2015/05/website-redesign/ (2016-04-26)
    Open archived version from archive

  • My Failed Attempts at Soft Skills Talks, by Ben Ramsey
    was invited to give the conference keynote This was supposed to be my shining moment as a keynote speaker to elaborate on the Debugging Zen article I had written for Web Advent The keynote was entitled Developing Intuition How to Think Like a Software Architect I shifted the focus away from debugging and told my story of how I came to be a software developer and the heavy role intuition has played in my career I think the talk resonated for about half of the audience The other half probably thought it was a bunch of hokey gibberish I spoke at php tek a little later that year after having taken three years off from speaking there I gave a presentation entitled API First This was another soft talk with a little bit of technical detail thrown in building on my experiences developing and deploying APIs In it I talked about how to approach your managers and company leadership to convince them of taking an API first approach to web application development It was well received and I saw a lot of great feedback but it was not easy to prepare I gave it again at ZendCon later that year Again I received high marks and good feedback but it felt lacking in a certain kind of energy and levity After the intuition talk at CoderFaire I realized that I m not good at telling stories or relating anecdotes and that was evident here as well That same year Eli asked me to put together the closing talk for php architect s PHP 5 5 Web Summit He wanted me to talk about modern PHP development so I decided to turn it into an observation of how best practices have arisen in the community over the years I gave the talk many times over the following year but it always had mixed reviews On one side were the community old timers with whom the historical look back resonated On the other hand were folks newer to the community who criticized the talk as a bunch of nostalgic navel gazing and were expecting a different kind of talk I made one more attempt at a soft talk Again I refined my Debugging Zen article into its own talk discussing the role intuition plays for me in the art of debugging and how others can tap into their own intuition to be better software developers At the Madison PHP Conference where I first presented it I gave it to a crowded room and received many encouraging comments However each time I ve given the talk since I ve heard mixed feedback and even negative comments I m a very introspective person which I think works well in written form but falls flat for me in spoken form So I ve decided to retire these talks I still feel they are important but I m not the best person to deliver them Now back to the Development Hell podcast recording Chris Ed and

    Original URL path: https://benramsey.com/blog/2015/05/my-failed-attempts-at-soft-skills-talks/ (2016-04-26)
    Open archived version from archive

  • Learning A New Codebase, by Ben Ramsey
    PSR 1 If not then at least the old PEAR coding standards should come up Ask whether the company uses a dependency package management tool Answers to this question are a good indication of whether the company subscribes to a not invented here NIH philosophy Companies that reuse code from a variety of third party packages tend to in my experience have better structured and cleaner codebases I m not sure why this is but I suspect it s because the developers have more exposure to how others are doing things and pick up on best practices in this way For PHP projects you should hear the company talk about their use of Composer At the very least they should mention PEAR but PEAR is waning Ask how much of the code is covered by tests There are unit tests functional tests integration tests and acceptance tests Maybe there are others that I m not aware of Start a conversation about which testing strategies the company uses and how many tests they have For PHP and web projects there are many different testing tools available At the least I would expect to hear a company talk about PHPUnit but even if they don t there are plenty of other unit testing frameworks for PHP so they may have chosen to use something else If so ask why Questioning a company s decisions isn t important but I think it is enlightening to understand what factors go into their decisions Ask to have the company s deployment process described As a developer will you deploy code or is that handled by different people teams Will you be able to push code on your first day or in your first week The timing isn t as important as the processes around deploying

    Original URL path: https://benramsey.com/blog/2014/09/learning-a-new-codebase/ (2016-04-26)
    Open archived version from archive

  • Setting Up Jenkins on Amazon Linux for PHP Testing, by Ben Ramsey
    a line to etc fstab cp etc fstab etc fstab orig sh c echo dev xvdf var lib jenkins xfs defaults nofail 0 2 etc fstab mount a 2 Install and Start Jenkins Installing and starting Jenkins is fairly simple We need to add the official Jenkins project repository to the list of yum repos and then we install with yum start the service and ensure that Jenkins starts up on a reboot wget O etc yum repos d jenkins repo http pkg jenkins ci org redhat stable jenkins repo rpm import http pkg jenkins ci org redhat stable jenkins ci org key yum update yum install jenkins service jenkins start chkconfig jenkins on 3 Configure the Server for Running Tests Now we need to install some stuff on the system so that Jenkins can do its thing These instructions are intended for tests that use the Template for Jenkins Jobs for PHP Projects This will give you a basic PHP installation with all the tools necessary to run the template If you need to use anything that deviates from the stock template then you ll need to make changes yum install ant git graphviz gcc gcc c yum install php55 php55 devel php55 common php55 cli php55 intl php55 gd php55 pecl imagick php55 mbstring php55 mcrypt php55 mysqlnd php55 pdo php55 pecl xdebug sh c sed i s memory limit memory limit 256M etc php ini sh c sed i s date timezone date timezone America New York etc php ini Node js Since I want to use Node js for various build tools and to run JavaScript tests I installed Node js from source yum always seems to have an outdated package If you don t need Node js you may skip this wget http nodejs org dist v0 10 30 node v0 10 30 tar gz tar zxf node v0 10 30 tar gz cd node v0 10 30 configure make make install ln s usr local bin node usr bin node ln s usr local bin npm usr bin npm See those last two lines where I m creating symlinks This is because the jenkins user doesn t have usr local bin in its PATH Rather than adjusting the user s PATH I chose to create symbolic links in usr bin so that jenkins can find the node and npm programs PhantomJS and CasperJS Finally I also want to install PhantomJS and CasperJS to supplement and aid in my JavaScript testing If you don t need these you may skip this yum install fontconfig freetype libfreetype so 6 libfontconfig so 1 libstdc so 6 wget https bitbucket org ariya phantomjs downloads phantomjs 1 9 7 linux x86 64 tar bz2 no check certificate tar jxf phantomjs 1 9 7 linux x86 64 tar bz2 cp phantomjs 1 9 7 linux x86 64 bin phantomjs usr local bin phantomjs npm install g casperjs ln s usr local bin phantomjs usr bin phantomjs ln s usr local

    Original URL path: https://benramsey.com/blog/2014/08/setting-up-jenkins-on-amazon-linux-for-php-testing/ (2016-04-26)
    Open archived version from archive



  •