True meaning of blog

It’s been a while since I’ve added a post to my blog, I though I’d just add this quick note just to add the feel of new post to the main page.

When I decided to start a blog I realized that I could simply share with the world what I learn, of course not everything I learn, but the things that I learn that google couldn’t solve with a simple search, most knowledge is arcane, if you could see my notes you’d be surprised how much tweaks and work arounds I figure. For this 2014 I’ll try to share more of my findings on this website.

Hope something is reading out there.

Huh, the internet, such majestic creature.

Search for a song and play it with Alfred 2.0 for free

logoAlfred 2.0 just came out and personally I found it’s an amazing app, I’m still a huge fan of Butler but let’s face it, Manytricks hasn’t updated the software in a very long time and the users (at least me) are hungry for new features.

Alfred 2.0 delivers a lot of fetures, among them the chance to create your own workflows with many scripting languages likes bash, php and ruby among others.

So I had the need of searching a song in my iTunes library, that simple right? no! while Butler did that just out of the box, with Alfred 2.0 you need to buy the PowerPack which is 15 pounds (around $20 dollars) and still, when you look for a song using the mini-player, which you have to activate with a different set of keys or commands, the song you played will play once and then plain silence will be heard, that kinds of anoys me as I’m always expecting the music to keep player.

To solve this issue I made a really simple and fast workflow that allows you to look for songs on your iTunes Library, I don’t know if it could work without the power pack so I’ll post both, the one I’m sure that works with the powerpack of Alfred and the slower version that works with iTunes and applescript.

Hope it’s useful to you.

iTunes Search and Play (to use with PowerPack)

iTunes Search and Play (to use without powerpack)

Getting all the months in the current Fiscal Year with a Query on Oracle

logo_oracleI usually like to do everything dinamically, so I wanted to figure out the current set of months for the current fiscal year on Oracle DB using a simple query, from everyone’s favorite table dual.

So here’s there query:

SELECT TO_CHAR(add_months(TRUNC(SYSDATE, 'mm'), 
              DECODE(EXTRACT(MONTH FROM SYSDATE), 
              1,-7,
              2,-7,
              3,-7,
              4,-7,
              5,-7,
              6,5,
              5) - EXTRACT(MONTH FROM SYSDATE)+level), 
              'Mon-yy')
FROM dual
CONNECT BY level <= 12;

This will output the following (SYSDATE at the time of writing is 03/07/13 “mm/dd/yy”)

Jun-12
Jul-12
Aug-12
Sep-12
Oct-12
Nov-12
Dec-12
Jan-13
Feb-13
Mar-13
Apr-13
May-13

 

Scheduling jobs on Oracle Apex

So I’m working with apex to get some things done and I think it’s a nice tool, it already has everything in it so you can create quick reports and other fancy web tools so I designed a report on PL/SQL and I had the need to have it run daily, after finding out how I thought you might find useful this snippets of code.

We use the dbms_scheduler.create_job() API to easily add jobs to APEX’s scheduler:

BEGIN
dbms_scheduler.create_job(
     job_name => 'JOB_NAME',
     job_type => 'STORED_PROCEDURE',
     job_action => 'procedureName',
     start_date => '04-JUL-12 07.00.00.000000 AM -05:00',
     repeat_interval => 'FREQ=DAILY',
     enabled => TRUE,
     comments => 'My super report, dont delete.');
END;

To check for existing jobs on the scheduler we can query the user_scheduler_jobs table;

SELECT * FROM user_scheduler_jobs;

And lastly and just as useful, to delete a job from the scheduler we use the dbms_scheduler.drop_job() API call:

BEGIN
dbms_scheduler.drop_job(
     job_name => 'JOB_NAME');
END;

Hope you guys on the internetz find this useful.

How to add an index on Doctrine 2 using YAML

I know this post is kind of small but this is something not so easy to find on google. The easiest way to add an index to a column on a YAML mapping is using the @indexes contraint.

 

Entity\Post:
    type: entity
    table: posts
    indexes:
        # index name
        title_slug_idx:
            # one or multiple columns separated by comma
            columns: [ slug ]
    id:
        id:
            type: integer
            generator: { strategy: AUTO }

    fields:
        name:
            type: string
        slug:
            type: string

Data types for Latitude/Longitude on Doctrine 2 with YAML

NameI’m a devote Doctrine 1.2 user but times are changing and now I’m faced with the challenge of learning and updating all of my applications to use the brand new Doctrine 2.2 framework.

Doctrine 2.2 has been completely renewed and a lot of cool stuff from Doctrine 1.2 has dissapeared, one that will be missed the most I’m sure is the auto-magic the behaviours provided, this said some new challeneges arise, for example, what type of data to use to store basic data like latitud and longitud since the Geographical behaviour is now gone.

A solution I’ve find is to use decimal type of data with a size of 18,12, so if you are defining your models with YAML like I do you can do the following:

 

 

Entities\City:
  type: entity
  fields:
    id:
      type: integer
      id: true
      generator:
        strategy: AUTO      
    name:
      type: string(255)
    latitude:
      type: decimal(18)
      scale: 12
      precision: 18
      nullable: true
    longitude:
      type: decimal(18)
      scale: 12
      precision: 18
      nullable: true

With this type of data I fixed my need of storing latitude and longitud data.

Domains from How I Met Your Mother that actually exist

I know this post is off-topic about everything else on this blog but I thought it’d be funny to gather all those funny domain names that are used on the How I Met Your Mother TV show.

So far the domains I’ve found that work are:

So if you know any other domains from this serie, please post it on the comments and I’ll add it to the listing.

Using split on PHP 5.3.0

It’s been a while since it started coding again in PHP specially in PHP 5.3.0 and I’ve come across some interesting finding, for example some functions such as ereg, eregi and split are deprecated now in favor of a new library call Perl-Compatible Regular Expressions. For old coders (like me) we need to start updating our code to keep with the up to date standards.

A function I use a lot (for good or for bad) is split but as a matter of fact is one of the new deprecated functions on php so instead of calling it as usual (delimiter, string) now we have to call it using a perl-compatible regular expression (regex,string) as follows:

$email = “something@domain.com”;

$parts = preg_split(‘/@/’,$email);

Result:

Array ( [0] => something [1] => domain.com )

You can see it’s the same result as the old split() function.

Hope this saves you some time.

How to convert a .cer certificate to .pem on Linux/Unix and OS X

While trying to update a certificate on a produciton enviroment I ran into the following issue, Apache only accepts certificates in PEM format, since my client provided me with his new certificate on a .cer file I had to find a way to convert it.

For x509 certificates this can be easily achieved using OpenSSL on Linux/Unix and OS X. First make sure you have OpenSSL (comes by default with OS X), open a terminal and issue the following command:

openssl x509 -inform pem -in certificate.cer -outform der -out certificate.pem

Where certificate.cer is the source certificate file you want to convert and certificate.pem is the name of the converted certificate.

How to know the size of multiple folders on Linux/Unix

Folder IconOften while I’m administrating a Linux/Unix box I come across the tediousus task of freeing up space on the server, usually this task is easily accomplished by issuing a simple “ls -lh” command, you get a nice listing of the files in the current directly along with some nifty details like last modification date and size (the -h parameter for ls allows us to get the size in a human-readable way).

The downsize of doing it this way is that you don’t get to know for real the size of the folders within the current directy, you get a nice total on top of the “ls” listing. A nice command to get the size of a certain folder is issuing a ds

du -sh folder/

This way you’ll get the following result:

pepper:~ pepper$ du -sh perrohunter.com/
694M    perrohunter.com/

You can see that the folder perrohunter.com weights a total of 694 MB. (yeah, that much).

But what if you’d like to know the size of all the folders within the current folder? Piece of cake, just use the * wildcard and that’d do the trick:

du -sh *

And you should get a result similar to the following:

pepper:~ pepper$ du -sh *
628K    application
8.0K    cache
40K    codeigniter
3.6M    database
156K    fonts
180K    helpers
4.0K    index.html
68K    language
536K    libraries
8.0K    logs
36K    plugins
76K    scaffolding

You can see the folders now have the total size of them in MB. Hope this is helpful for you.