Photoshop Could Not Complete Your Request Because an Unknown or Invalid JPEG Marker Type Is Found

I review a lot of photos for marketing. I use Photoshop often.

And one day…

Why you hate me Photoshop

I could explain the technical details why this file is not opening. But I am sure you want the solution right now.

  1. Open the file using Skitch
  2. Export the file as JPG with Quality of 100%
  3. Open the file in Photoshop

It should work now.

You are welcome.

Startup Burn Rate Lessons From Metallica

Some of you know Metallica pre “Load”.

While the rest of you know Metallica since “Death Magnetic”

What happened between Load and Death Magnetic?

That concept is known as Speed Metal Net Burn.

Net burn is simply explained by one of my heroes Mark Suster in his blog here. The amount of money you are losing per month.

“Losing per month” sounds like a bad thing. But depending on the right variables it could be good. As explained by Mark, your burn rate could be increased to grow your business faster than your competitors.

Danielle Morrill wrote a post on the heated topic of “responsible spending in the startup ecosystem”.

If you search twitter for “startup burn rate” you will get a lot of discussion about responsible and irresponsible spending at seed and Series A startups. This makes you think of the dot com bubble.

Maybe they should call this the dot com cloud.

How does this compare with Metallica?

During high school I was Metallica’s number 1 fan.

I had them all in vinyl and cassette tape.

Metallica’s Discography - Pre (Unnecessary) Pivot

Kill Em All

Metallica Kill Em All

Ride the Lightning

Metallica Ride the Lightning

Master of Puppets

Metallica Master of Puppets

And Justice for All

This is a tape, it looks like a rectangle with 2 holes

Black Album

I got this one in CD aka Compact Disc, a disc the size of your hand

Around this time I decided to sell my Metallica collection for about USD$500 so I could open my first business while in college.

Metallica’s Discography - Pivoting into Disaster

Load

Why Metallica Why??

After this album they finally went to Colombia.

Metallica 1999 in Bogota

Then came Reload, St Anger and Death Magnetic.

Metallica’s Sales

Metallica's Sales Pre Pivot and Burn Rate

Metallica’s Burn Rate

Metallica’s first album Kill Em All has one of the band’s anthems, Seek and Destroy.

They doubled sales with their 2nd album, Ride the Lightning and two of the most popular songs in their history: For Whom the Bell Tolls and Fade to Black.

They proved they could mix melodic and rythmic songs with powerful metal riffs.

They didn’t grow much during Master of Puppets. They kept on proving this MVP. Melodic meets Speed Metal.

Tragedy came to the group with the death of the bassist. But they increased sales lightly with And Justice for All. Inspiration through tragedy welcomed one of their most famous songs One.

They won their first Grammy Award.

Their MVP reached a market fit.

It was time for growth.

They pumped burn rate with Bob Rock.

The Black Album brought them $16 Million in sales.

They produced some of the most famous songs in the history of rock: Enter Sandman, The Unforgiven and Nothing Else Matters.

The formula for success: Melodic lyrics, short metal riffs, rythmic verses.

Do not Pivot When You Reach Market Fit

Metallica toured heavily with the Black Album.

For their next album they decided to explore into blues and country.

Why would you pivot when you have the formula for success?

Load came and they went from $16 million down to $5 million.

To make it even worse.

Reload came and they kept on diving. They tried to resuscitate the formula with Unforgiven II but it was not welcomed.

Metallica then decided to spend more.

So they did S&M aka Let’s see if Metal and Classical Music is a market fit.

The album only made $5 million.

And they kept on spending even more.

They hired a therapist for $40K a month.

St Anger came and they made $2 million. There were no guitar solos on any of their songs.

Burn Rate Stability

Metallica scrambled to get back to their pre-pivot era.

Death Magnetic came with The day that never comes aka One Part II.

Build something that people like.

Metallica started using the market fit formula of success. And it started to work again. But at slow pace.

They increased their burn rate.

But they were stubborn.

In 2011 they collaborated with Lou Reed on an album called Lulu. Experimenting again. Another pivot. The album received negative reviews.

Burn Rate Framework

As I read in Mark’s article How to Make Sense of Conflicting Startup Advice there are a few lessons to learn from Metallica.

Follow the process of successful startups that grew into companies. (You are not a startup forever).

Customer Development > Build MVP > Iterate > Pivot > Market Fit > Grow

You don’t reach market fit and decide to pivot.

I see startups out there iterating in the Metallica way.

raise money > experiment > burn money > raise money > experiment > burn more money > loop

Still. I have seen Metallica in concert about 6 times.

Exporting Data From Firebird Database to CSV File

Setup:

  • Max OS X 10.9

Warning

Ideally your firebird installation version is the same as the firebird database you want to open. Otherwise you will have issues connecting to it.

In this case I have a database that was created in version 1.5 so I installed that version of the database.

Choose file FirebirdCS-1.5.6-5026-i386.pkg.zip “Classic for MacOSX 10.4 + (x86)”

As I read the docs of Firebird you use 2 tools gsec and isql. You need to add path to bash_profile as shown here.

There is also a bash script if you want to remove a newer version of firebird. See here

Now go to where the database file is located using your Terminal. To connect to it use:

isql YourDatabaseName.fdb -user yourusername -password yourpassword

Once you connect it will show:

SQL>

You need to end your statements with a semicolon ;.

If you type enter without a semicolon it will show you:

CON>

To continue enter statements until you hit it with a ;.

SQL commands

To show all tables use:

SQL> SHOW TABLES;

Find Primary Key

Let’s say your table name is called ‘COMPANIES’.

select RDB$FIELD_POSITION,RDB$FIELD_NAME
from rdb$index_segments
where RDB$INDEX_NAME = (
select RDB$INDEX_NAME
from RDB$RELATION_CONSTRAINTS
where rdb$relation_name = 'COMPANIES'
and RDB$CONSTRAINT_TYPE = 'PRIMARY KEY'
)
order by RDB$FIELD_POSITION;

Pending attribution to above code. I found it either on stackexchange or the net, in the middle of the night. I cannot remember the source. If you know who is the original author of this code please let me know so I can put their link here.

Find field names

Same example as ‘COMPANIES’

SELECT RDB$FIELD_NAME
FROM RDB$RELATION_FIELDS
WHERE RDB$RELATION_NAME='COMPANIES';

Output to a file

SQL> OUTPUT tables.txt;
SQL> SHOW TABLES;
SQL> shell;
$ cat tables.txt
$ exit
SQL>

The first line OUTPUT everything you give to SQL to tables.txt instead of the stdout.

Then you open the TABLES of the database you connected to.

You can go into the shell without exiting SQL.

Use cat to output the tables.txt to the stdout.

Then exit to go back to SQL.

You can also do any SQL statement after the OUTPUT statement such as:

SQL> OUTPUT emails.csv;
SQL> SELECT EMAILS FROM COMPANIES;

etc…

Command Line LS, ADD and APPEND

Warning

These commands work on a Mac or a Linux. If you want to try them on Windows you could install Cygwin.

Command Line Magic

You will use the commands ls, > and >>.

The command ls

It gives you a list.

(From here on I assume you are already in a terminal ready to type in commands).

If you are in a directory and you type in ls you will get a list of all directories and files.

You can type ls -l and you will get the “long” version. You will get details of each file and directory.

You can also use the ls with parameters.

For example:

$ls ~/Documents/

It will output a list of all directories and files in your home folder under Documents.

The command >

You can use the > command to add an input to an output.

Example

You are at the supermarket. You get an empty basket. You go shopping around.

If you use the > command it will be like:

You get something from the shelf and you put it into the basket.

If you use the > command again it will be like:

Empty the basket and put in the new item.

The > command, adds but it doesn’t append. It adds to the basket but replaces what was in the basket.

The command >>

Use the >> to append an input to an output.

You can have a basket and every time you use the >> append command you add to the basket but do not replace what was in the basket. Therefore, appends.

Using it for real now

Create a directory called groceries. Let’s say you are in your home folder Documents

$mkdir groceries
$cd groceries

Inside the groceries directory add these files:

$touch pears-are-green.jpg

$touch apples-are-red.jpg

$touch pineapples-are-yellow.jpg

With the command touch you can create files without having to open them.

Go back to the Command Line

Now it is time to use the magic.

$cd ..
$ls groceries/ > list_of_groceries.txt

This will go over the directory groceries get the name of every file and add it to the file list_of_groceries.txt

Now open that file to see if it worked.

Replace or Append?

Let’s say you create another directory called clothes

$mkdir clothes 
$cd clothes

(Keep in mind where you are. Use the command pwd to “print the working directory” otherwise you will get confused finding the files)

And you add some files to it

$touch tshirt.html
$touch pants.mp4
$touch socks.markdown

You want to add this list of names to your list_of_groceries.txt.

Let’s change the name of the file first.

$cd .. 
$mv list_of_groceries.txt list_of_things_to_buy.txt

If you use the > add (replace) command you will replace the current list:

$ls clothes/ > list_of_things_to_buy.txt

If you open such file you will see only clothes, while the food is gone.

If you wanted to append and not replace you should do instead this.

Again, remember where you are with pwd.

Your working directory should be Documents and you should have 2 directories (groceries, clothes) and 1 file (list_of_things_to_buy.txt)

$ls groceries/ > list_of_things_to_buy.txt
$ls clothes/ >> list_of_things_to_buy.txt

Now you will have a list of all file names inside list_of_things_to_buy.txt.

Applications

You can apply these concepts for:

  • Adding or appending data to a database
  • Cleaning data
  • Cleaning ginarmous excel files

Create a Twitter List With People You Follow That Do Not Follow You Back

WARNING

In this tutorial you must use the command line. If you don’t know what that is, please stop reading.

Requirements

  • Ruby 1.9.3 or 2.0.0 or 2.1.0
  • Twitter CLI Ruby gem
  • An application registerd on Twitter Developer

WARNING No 2

In this tutorial you can create a twitter list with people you follow that don’t follow you back…in 60 seconds.

If you still don’t know anything about the command line. Here are a few tutorials:

If you have Ubuntu. Install Ruby.

Follow some of this tutorial to install Ruby in Windows.

Why

Why would you create a list for people that you follow and don’t follow you back?

  • You want to connect with them
  • You want to delete some of them
  • You wonder why they don’t like you.

Here is a reason why they don’t like you. And here is another one.

in 60 Seconds

Once you have Ruby up and running. Go here and install the Twitter CLI gem.

Do a count of the number of people that you follow that don’t follow you back:

$t leaders | wc -l

In my case the result was 1096.

Now create a list:

$t list create NameoftheList

Add those people to the list. Keep in mind that it gets stuck up to 500 users. Just wait a few minutes and try it again. Go on twitter and check that the list was created, refresh the page until you see all your users added to the list.

$t leaders | xargs t list add NameoftheList

Boom Done!

If you got stuck somewhere put a comment down here or send me a tweet to @tomordonez