elclanrs
Array.apply(null, Array(26)).map((_, index) => String.fromCharCode(65 + index)) [1,2,3].map(unary(User))
[[1,2],[3,4],[5,6]].map(apply(User)) class Maybe {
constructor(value) {
if (value != null) {
return new Just(value)
}
return new Nothing()
}
bind(f) {
if (this instanceof Just) {
return f(this.value)
}
return new Nothing()
}
}
class Just extends Maybe {
constructor(value) {
this.value = value
}
toString() {
return `<Just ${this.value}>`
}
}
class Nothing extends Maybe {
constructor() {
this.value = null
}
toString() {
return '<Nothing>'
}
}
var result = Maybe(2).bind(x => {
return Maybe(3).bind(y => {
return Maybe(x + y)
})
})
console.log(result.toString()) // <Just 5>I have a background in 3D & VFX but my work today is mostly web development, and opensource software covers all my needs. MyPaint for free drawing like brainstorming, illustrations, and blueprints. Inkscape for vector graphics like icons, logos, layouts, mockups. Darktable for simple photo editing. GIMP for heavy photo retouch, and well, it's still my goto tool for those quick screenshots, image cropping jobs. And Blender for 3D work of course. I hardly do print, but when I do I use Inkscape, HTML and CSS.
TLDR; Photoshop isn't the best for every task. There are free software alternatives for everything. Using them all together provides me with all that I need, so I no longer miss Photoshop.
[1] http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf
The beauty of jQuery is working with the DOM as collections. I don't see how it's better to have all these helpers like `nextSibling`, `matches`, or `filter` thrown in the global scope or having to remember is this a real array? jQuery already built solutions for these common problems and exposes a nice API.
If all I need is querying the DOM and I don't have to support IE8 then I may consider using vanilla JavaScript, or building my own simple jQuery-esque library. But you'd start with some structure, and expose your own API. I re-invented the DOM wheel many times, and from my experience, although the code is smaller, I end up going back to jQuery because it covers some edge case or provides something else I need, like AJAX, or nice events, etc.
But building your own DOM library is a good educational challenge. Querying the DOM is all about collections, and if you don't need IE8 then you can use all the ES5 arrays methods, like map and filter. It all boils down to four functions to work with collections: toArray, unique, flatten and query. And four functions to work with the DOM: compose, join, dot, loop. See here for an example http://jsbin.com/EgIkega/1/edit. The article is more about techniques to build your own jQuery-like library; I wouldn't use "el.nextElementSibling || nextElementSibling(el)" when I can use "$(el).next()". C'mon!
Conclusion, you are probably going to use jQuery anyway.
bar = bar != null ? bar : 'default';"do" monad syntax in JavaScript
http://jsbin.com/AQaYAHUV/1/edit
Just an experiment. Gist https://gist.github.com/elclanrs/8034102
So not at all impressed by this release so far. Will have to wait another year for IE12 and hope it can really compete with FF and Chrome, that means, opening IE and having no surprises.
git init --bare --shared=group /srv/git/app.git
mkdir /var/www/app
chown -R www-data:www-data /srv/git/app.git /var/www/app
chmod -R g+rw /srv/git/app.git /var/www/app
vim /srv/git/app.git/hooks/post-receive
#!/bin/sh
export GIT_WORK_TREE=/var/www/app
git checkout -f dev # dev branch
cd /var/www/app
# Run composer, npm, etc...
chmod +x /srv/git/app.git/hooks/post-receive
Whenever you push it'll checkout the dev branch in your public web folder. Now, that's instant deployment!I tried the demo and the interface looks great but I feel restricted. My process usually begins in Inkscape. I build all the layouts in vector and once I have a good idea of how they should look like I grab my WordPress boilerplate folder and build the theme from scratch; no static first, just dynamic as I go. They're not complete themes though, just what's needed for the given project.
So yeah, great product, looks good, but I won't use it. I had the same thoughts about Adobe Reflow. Tried it, liked it, maybe for a static portfolio site but other than won't be useful.
---- Essential ----
* Basic site (static, up to 5 pages)
* 8 extra pages
* WordPress + Blog
* Mobile/Responsive Layout
* Social Media Integration
* Usability, feedback by professionals
* Basic SEO
---- Additional ----
* Maintenance 24/7
* Setup server and domain
These packages have a fixed price that has been pre-estimated in hours. Obviously not every project is them same, so sometimes you work more and sometimes less that what was quoted. For out of the ordinary features such as complex grids, user profiles or highly dynamic sites I estimate the extra work in hours as well and add it to the total cost.Then I divide the project in 3 milestones: Pre-Production, Production and Post-Production. A 25% deposit must be payed after signing the contract, another 25% after Pre-Production and the rest on completion. The contact also clearly states that any major changes in layout, design or content after the Pre-Production phase will be quoted extra.
This has been working for me over the years. Clients seem happy with the process.