# Soulver: For all your random calculations

I often find myself doing random calculations and I used to do so part manually and part using Alfred's calculator until Alistair pointed me at Soulver, a desktop/iPhone/iPad app, which is even better.

I thought I'd write some examples of calculations I use it for, partly so I'll remember the syntax in future!

*Calculating how much memory Neo4j memory mapping will take up*

```
800 mb + 2660mb + 6600mb + 9500mb + 40mb in GB = 19.6 GB
```

*How long would it take to cover 20,000 km at 100 km / day?*

```
20,000 km / 100 km/day in months = 6.57097681677241832481 months
```

*How long did an import of some data using the Neo4j shell take?*

```
4550855 ms in minutes = 75.84758333333333333333 minutes
```

*Bit shift 1 by 32 places*

```
1 << 32 = 4,294,967,296
```

*Translating into easier to digest units*

```
32381KB / second in MB per minute = 1,942.86 MB/minute
500,000 / 3 years in per hour = 19.01324310408685857874 per hour^2
```

*How long would it take to process a chunk of data?*

```
100 GB / (32381KB / second in MB per minute) = 51.47051254336390681778 minutes
```

*Hexadecimal to base 10*

```
0x1111 = 4,369
1 + 16 + 16^2 + 16^3 = 4,369
```

I'm sure there's much more that you can do that I haven't figured out yet but even for these simple examples it saves me a bunch of time.

##### About the author

Mark Needham is a Developer Relations Engineer for Neo4j, the world's leading graph database.