tmpfilepath; tweaks to about

This commit is contained in:
Danny Berger
2013-03-05 16:28:27 -07:00
parent 5b51d69ab2
commit dd377a5c08
3 changed files with 44 additions and 13 deletions

View File

@@ -18,25 +18,19 @@ layout: default
<p>
I am especially familiar with 'cloud' concepts, e-commerce, server administration, and web applications. When
working on a project, my preferred technologies are Unix, PHP (symfony2 lately) and JavaScript (node.js
especially). I enjoy experimenting, but I have recent production experience with the following:
especially). I enjoy experimenting, but I have recent experience with the following:
</p>
<ul>
<li>languages &ndash; applescript, css, html, javascript, less, php5, sql, xml</li>
<li>frameworks &ndash; doctrine2, git, mootools, phpunit, require.js, rpm, svn, symfony2, twig</li>
<li>software &ndash; apache, gearman, jenkins, memcache, mysql, nginx, openvpn, oracle, puppet, solr</li>
<li>languages &ndash; applescript, css, html, javascript, less, php, sql, xml</li>
<li>frameworks &ndash; doctrine2, mootools, phpunit, require.js, rpm, symfony2, twig</li>
<li>software &ndash; apache, elasticsearch, gearman, git, jenkins, memcache, mysql, nginx, opengrok, openvpn, oracle, puppet, svn</li>
<li>systems &ndash; centos, linux, osx</li>
<li>apis &ndash; aws-ec2, aws-r53, aws-s3, facebook, paypal, twilio</li>
</ul>
<h3>Experience</h3>
<p>
<strong>Software Developer</strong> (July '09 &ndash; October '12) &mdash; <a href="http://www.sentryds.com/">Sentry Data Systems</a><br />
Developing internal applications to support business operations including a custom ticket and project management system;
defining development practices and guidelines; and implementing open source libraries for reducing internal code costs.
</p>
<p>
<strong>Software Systems Engineer</strong> (June '06 &ndash; present) &mdash; <a href="https://theloopyewe.com/">The Loopy Ewe</a><br />
Developing and maintaining in-house e-commerce frontend and backoffice tools; management of systems, servers, and
@@ -44,11 +38,18 @@ layout: default
and shipment processing with USPS and Endicia.
</p>
<p>
<strong>Software Developer</strong> (July '09 &ndash; October '12) &mdash; <a href="http://www.sentryds.com/">Sentry Data Systems</a><br />
Guided the adoption and migration of the symfony2 framework for customer SaaS web application. Created and implemented
development tools to support software development needs. Developed internal ticket tracking system for the company to
support existing Oracle applications, email ticketing, and time estimations.
</p>
<p>
<strong>Student System Administrator</strong> (Spring '06 &ndash; Fall '08) &mdash; <a href="http://www.taylor.edu/">Taylor University</a><br />
Maintaining and providing support for the Computer Science department's lab computers and servers, both Linux and
Windows. Created web-based applications to aid in department processes for faculty and students. Contributing editor for
the department's public website.
Windows. Created web-based applications to aid in department processes for both faculty and students. Contributing
editor and developer for the department's public website.
</p>
<p>

View File

@@ -54,7 +54,7 @@ And reference a fact in my task...
### Summary
So now it's much easier to reference environment information from property files (via interpolation), make targets more
conditional, and, of course, from actual tasks.
conditional, and, of course, within actual tasks.
[1]: https://puppetlabs.com/puppet/what-is-puppet/

View File

@@ -0,0 +1,30 @@
---
title: Path-based tmpfile in PHP
layout: post
tags: php
description: When paths are more useful than resources.
---
PHP has the [`tmpfile`][1] function for creating a file handle which will automatically be destroyed when it is closed
or when the script ends. PHP also has the [`tempnam`][2] function which takes care of creating the file and returning
the path, but doesn't automatically destroy the file.
To get the best of both worlds (temp file + auto-destroy), I have found this useful:
{% highlight php startinline %}
function tmpfilepath() {
$path = stream_get_meta_data(tmpfile())['uri'];
register_shutdown_function(
function () use ($path) {
unlink($path);
}
);
return $path;
}
{% endhighlight %}
[1]: http://php.net/manual/en/function.tmpfile.php
[2]: http://php.net/manual/en/function.tempnam.php