Ramin Hossaini's Blog

25Apr/15

Addictive games: Random Heroes

It's been a long time since I've found games as addictive as these two 8bit-side-scrollers for iOS.

Random-heroes-2

Random Heroes 1: https://itunes.apple.com/us/app/random-heroes/id540353158

Random Heroes 2: https://itunes.apple.com/us/app/random-heroes-2/id581496229

Tagged as: , No Comments
28Jun/13

Open JPEGs in Adobe Camera Raw

If you're looking to edit your JPG files with Adobe's Camera Raw app, here's what you need to do:

In Photoshop, select the File menu, then Open as...

2013-06-28_224753

 

Make sure you select the Camera Raw file type and then browse for the file:

2013-06-28_224935

 

You should get the Camera Raw dialog box from there

Filed under: Photography No Comments
25Feb/13

Finding large, old emails in Google Apps/Gmail

I have a consolidated inbox (or universal inbox) and love that I only have to check one email address for both work and personal emails. However, this also means that my account is filling up fast. Lately, I've been using the query below to find large emails that are older than a specific date so that I can download the attachments and move them into Dropbox for safekeeping.

SIZE:SIZE_IN_BYTES BEFORE:YYYY/MM/DD

For example, to find all emails larger than 1 MB and older than a year

SIZE:1048576 BEFORE:2012/02/25
Filed under: How-to No Comments
24Jun/12

Advanced Title Formatting in Winamp

To change the way Winamp displays songs in your playlist, go to Winamp's preferences, then select "Titles" in the list on the left. You'll notice the section titled "Advanced Title Formatting".

I personally like using this (which also handles songs with no Metadata reasonably well):

1
$if(%albumartist% - , %albumartist% - , [%artist% - ])$if(%title%,['['%album%[ #$num(%tracknumber%,2)]'] ']%title%,$filepart(%filename%).$fileext(%filename%))

Which displays like this:

Or go over to the full Advanced Title Formatting reference and make your own.

Tagged as: No Comments
1Jan/12

If this, then that (ifttt)

Ifttt is a really handy tool for creating simple triggers that set off actions or tasks. It works off of what ifttt calls "channels" (a particular date & time, Foursquare, Facebook, Flickr, and Evernote are a few examples)

You might find that the "if this, then that" is a bit too simple for certain things you would like to do - I would have loved to see a little more complexity involved. For example, "if this and this, then that".

Here are a couple of examples:

Ifttt is in beta at the moment, and it's free to sign up - but I don't suspect it will stay that way for very long.

Anyways, you might as well try it yourself and start making your own recipes: ifttt

Filed under: Tools No Comments
15Mar/11

Extracting attachments from .EML files

Note: If you're only interested in the download, scroll down to the bottom of the post.

An inconsiderate friend sent me a couple of .eml files with attachments that I had to look through. I downloaded the files and found that I had no associated application to open them. So instead of finding an application to open them, I thought I'd take a closer look at the files:

The top portion had a whole bunch of stuff I had no interest in whatsoever:

After all the HTML, I found the code for the attachment:

So I figured I just had to decode the Base64-encoded data and save it as the filename (in this case, a PDF)

The most logical thing at this point was to write my own application to do it. Just made a simple C# form with a textbox for the Base64-encoded data, a textbox for the filename to write to and a Decode button to get things going:

The Decode function is pretty simple:

1
2
3
4
5
public byte[] decode(string data)
{
    byte[] output = Convert.FromBase64String( data );
    return output;
}

So feed the function the Base64 part and it spits out the good stuff that you just write to a file:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
FileStream fs = new FileStream(txtFilename.Text, FileMode.Create, FileAccess.Write);
BinaryWriter writer = new BinaryWriter(fs);
try
{
    for (int i = 0; i < decodedData.Length; i++)
    {
        writer.Write(decodedData[i]);
    }
}
finally
{
    writer.Close();
    fs.Close();
}

You can also just download the latest version of the app here: Base64 Decoder

The open file function is a bit experimental and does some .EML file clean-up.

It requires the .NET framework and no, it doesn't come supported, and I can't promise that I'll continue working on it.

1Jan/11

An introduction to Yahoo! Pipes

Yahoo! isn't exactly one of my favourite companies out there, and it isn't hard to figure out why when you see how they've acquired and maintained technologies like Delicious and Flickr.

That being said, I have to say I'm a big fan of Yahoo! Pipes, and I haven't been able to find an alternative that's as good.

The name is derived from the Unix pipe where simple commands can be combined together to create output that meets your needs.

Example

So here's a very simple example: let's say you have a specific RSS feed (in this example, the Guardian football RSS feed) you like - but you're only interested in very specific news (in this example, we only want content relating to Liverpool FC).

Go to Yahoo! Pipes and create a new pipe. Then add the RSS feed as input:

Click on the input-box and you should be able to see a preview of what the input is like:

Under the 'Operators' menu on the left, drag a 'filter' module into your pipe, add some rules and then connect the boxes together:

Click on the 'pipe output' box to see a preview of the new output:

Once you've saved your pipe, click on 'Run pipe' and get the output's RSS feed address:

I'm curious to see how others use Yahoo! Pipes - leave a comment if you think of something.

Page 1 of 2412345Last »