Labs
Camel Case Spaces
Web development is all about having fun, so let’s have some fun with camel case strings.
function camelCaseSpaces($s){
return trim(preg_replace("/[A-Z]/",' ${0}',$s));
}
Using this custom function you can now convert strings such as “iAmSuperCamelCaseString” to “i Am Super Camel Case String”. One day while working on a CodeIgniter project, I needed a quick access to list links to all available methods in one specific controller where most of the methods where in a camelCase format. To achieve my goal I came up with the above function and the following sneaky code within the “index” method of a controller named “Buildout”:
//Get all method names:
$m=get_class_methods($this);
//Unset the ones I do not need:
unset(
$m[array_search('index',$m)],
$m[array_search('__construct',$m)],
$m[array_search('get_instance',$m)]
);
//Print all links to my methods:
foreach($m as $n)
print '<href="/buildout/'.$n.'">'.ucwords(camelCaseSpaces($n)).'</a><br />';
Thanks for reading and feel free to re-use this neat trick.
BattleBlasters for the iPhone
Instead of writing an in-depth review, let me just say that along with Zenonia and Inotia this is my new favorite iPhone game. Super addictive, and super fun. Here’s a video preview.
Get it on iTunes, http://itunes.apple.com/us/app/battle-blasters/id344610797?mt=8
Mootools wrapInner
Today I worked on a project which was using jQuery and have encountered a nifty little function called wrapInnner. What it does is wraps the html contents of the element calling it with the element that is being passed to the function. Here’s a very simple jQuery example:
<div id="user">My name is Pedro</div>
$('user').wrapInner($("<span class='red'></span>"));
will produce:
<div id="user"><span class="red">My name is Pedro</span></div>
I’ve tried doing the same in mootools using Element.wraps but it doesn’t accept html, it only accepts the id of an element or an element itself. There was no other Element method that could accomplish this task so I decided to write one. And here goes the implementation of wrapInner for Mootools:
Element.implement({
wrapInner:function(e){
this.clone(false,true).adopt(
$(e).set('html',this.get('html'))
).replaces(this);
}
});
and the same example using mootools wrapInner:
<div id="user">My name is Pedro</div>
$('t').wrapInner(new Element('span',{'class':'red'}));
will produce:
<div id="user"><span class="red">My name is Pedro</span></div>
The above implementation is very simple, it does not accept function as a parameter but it does accept an id or element.
6 compositing and retouching video tutorials from Fantasy Interactive
We don’t usually post or link to tutorials from other websites or companies, as there are more than enough resources out there that already do that, however, this is our one and only exception. We’ve followed FI, originally Fantasy Interfaces, now Fantasy Interactive from their original days, years back, and this has always been one of those companies that provides inspiration, innovation and simply amazing work. Here are 6 compositing and retouching video tutorials from FI.
Welcoming a new programmer
Thomas, a PHP programmer has joined our development team at 3magine Inc. We’d like to extend a warm welcome to Thomas. We’re sure our clients will greatly appreciate another fresh talent joining our team.
Website design. Great resource for choosing the right company.
We have been introduced to a rather interesting website a few weeks ago. Haystack (http://haystack.com) developed by the guys from 37signals (http://37signals.com) is a directory of website designers and website design firms, showcasing their best work as well as the budgets they work within. To a potential client, this can be a great tool in choosing their next website design company, based on both their skill as well as their prices. Check us out on Haystack, at http://haystack.com/company/2309-3magine-inc
Diamond Chooser - Custom Flash App with a little help from Maya
One of my recent challenges was to create an application for one of my clients that will enable the end user to be able to choose custom diamond band. Project requirements were pretty straight forward, such as choosing diamond shape, carat size and band color. I had few ideas before I finished reading specs to use vector graphics in flash to manipulate different shapes of diamonds and sizes as well as band colors. However in the end of spec sheet it stated that the entire application should look as much realistic as possible. › Continue reading
New office around the corner.
We are very excited about moving to a bigger, better, and brighter office mid November. The space is everything we’ve been looking for and more. We’ll have new pictures up soon.
New “Clean” Wordpress Theme - Free Download
We have designed our very first Wordpress theme. The idea was to keep it very simple and clean, and we hope you like the results. If you have any suggestions on improving this theme or on any future themes, please leave a comment.
XML Sitemap Generator
We’ve been receiving quite a bit of traffic to our old sitemap generator, which was created a few years back and is a bit outdated. These days, a little Google search will reveal hundreds of different sitemap generators, of which we’d like to recommend one, XML-Sitemaps.com. This is an automated and very easy to use online sitemap generator allowing for up to 500 indexed pages using their FREE generator or if you’d like to have a self hosted automated generator without any limitations and with extra features you can purchase it for only $19.99. Give it a try, we’re sure you’ll be very pleased. We use XML-Sitemaps ourselves for all our new domains.
