-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
125 lines (95 loc) · 5.54 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>jamesdacosta.com</title>
<link rel="stylesheet" href="css/foundation.css"/>
<link rel="stylesheet" href="css/main.css"/>
<!--<script src="js/vendor/modernizr.js"></script>-->
</head>
<body>
<div class="row">
<div class="small-12 columns">
<h2 class="subheader logo"><small><a href="/">jamesdacosta.com</a></small></h2>
<hr/>
</div>
</div>
<div class="row">
<div class="large-8 medium-8 columns">
<div class="post">
<h3>Creating requirements.txt files from settings files</h3>
<h5 class="subheader">28 March 2014</h5>
<p>With Django it's a good idea to have a <a href="http://www.rdegges.com/the-perfect-django-settings-file/">settings module for each environment</a>, and having separate requirements.txt files per environment makes things easier to manage too.</p>
<p>Here's a bit of unixy goodness that will look at the settings files in <code>project/settings</code> and create equivalent requirements.txt files in <code>reqs/</code>.</p>
<pre>
<code class='prettyprint'>
mkdir -p reqs &&
ls project/settings/ \
| grep -E "^[a-z]+.py$" \
| cut -d . -f 1 \
| xargs -I {} touch reqs/{}.txt
</code>
</pre>
<p class="caption">Run this from your project root</p>
<p><em>Note: there are some <a href="http://mywiki.wooledge.org/ParsingLs">good reasons for not parsing <code>ls</code></a> and using <code>find</code> with <code>xargs</code> is a much better option.</em></p>
</div>
<div class="post">
<h3><a href="first-steps-with-vagrant-ansible-and-aws/">First steps with Vagrant, Ansible and AWS</a></h3>
<h5 class="subheader">8 March 2014</h5>
<p>This article is a walk-through getting a simple site running on a <a href="http://www.vagrantup.com/">Vagrant</a> virtual machine, then using the same provisioning process (<a href="http://www.ansible.com/">Ansible</a>) to have it running on AWS.</p>
<p>The key idea is to have the same development environment as production. So there are fewer deployment surprises which ultimately encourages <a href="http://www.thoughtworks.com/continuous-delivery">continuous delivery</a>.</p>
<p><a href="first-steps-with-vagrant-ansible-and-aws/">Read on...</a></p>
</div>
<div class="post">
<h3>Hybrid Web Applications <small>with PJAX and HATEOAS</small></h3>
<h5 class="subheader">Friday, 28 February 2014</h5>
<iframe src="//player.vimeo.com/video/88290137?title=0&byline=0&portrait=0" width="600" height="376" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> <p><a href="http://vimeo.com/88290137">Demo of web app using animation and History API</a> from <a href="http://vimeo.com/user12493308">James Da Costa</a> on <a href="https://vimeo.com">Vimeo</a>.</p>
<p>Slides and code from my talk at <a href="http://www.asyncjs.com/">Async</a> (Brighton JavaScript meetup).</p>
<ul>
<li>Slides: <a href="http://www.slideshare.net/jamesdac/hybrid-web-applications">http://www.slideshare.net/jamesdac/hybrid-web-applications</a></li>
<li>Code: <a href="https://github.com/jdelight/imagebase">https://github.com/jdelight/imagebase</a></li>
<li>Talk overview: <a href="http://lanyrd.com/2014/asyncjs-pjax/">http://lanyrd.com/2014/asyncjs-pjax/</a></li>
</ul>
</div>
<div class="post">
<h3>Where it began</h3>
<h5 class="subheader">4 December 2013</h5>
<p>Like a lot of young people in the early 90's, I was bitten by the programming bug. In my case the Apple II was the machine which provided that sense of adventure.</p>
<p>20 years later, I'm working in web software development and still amazed by what's possible.</p>
<p>This blog is a place for me to share my ideas, adventures and learn a few things too...enjoy.</p>
</div>
</div>
<div class="large-4 medium-4 columns aside">
<div class="row">
<div class="columns medium-3">
<a class="th [radius]" href="http://www.twitter.com/jamesdacosta">
<img src="img/me.jpg" alt="" width="60"/>
</a>
</div>
<div class="columns medium-9">
<p class="h1-f">Hello, I'm James, a web developer from Brighton working with Python & JavaScript.</p>
<p>I'm on
<a href="http://www.twitter.com/jamesdacosta">Twitter</a>,
<a href="https://github.com/jdelight/">GitHub</a>,
<a href="http://lanyrd.com/profile/jamesdacosta/">Lanyrd</a>
</p>
</div>
</div>
</div>
</div>
<!--<script src="js/vendor/jquery.js"></script>-->
<!--<script src="js/foundation.min.js"></script>-->
<!--<script>-->
<!--$(document).foundation();-->
<!--</script>-->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-3174573-1', 'jamesdacosta.com');
ga('send', 'pageview');
</script>
</body>
</html>