Well, you gotta write something. Why not write the recipe I used to make Chana Saag or Chickpea Spinach Curry tonite.
- 1/2 tsp of mustard seeds
- 1/2 tsp of cumin seeds
- 5-6 curry leaves
- 1 inch cinnamon stick
- 1 onion – thinly sliced or chopped
- 1 tbsp ginger garlic paste
- Alternately 1 inch of grated ginger and 5 cloves of minced garlic
- 1 can of diced or pureed tomatoes
- 1/2 tsp of turmeric powder
- 1/2 tsp of chilli powder
- 1/2 tsp of garam masala
- 1 tsp of salt or to taste
- 2 15oz cans of chickpeas
- 1 pack of frozen spinach or 1 lb fresh baby spinach
- a pinch of chilli powder (cayenne)
Let’s start cooking. Make sure you have your favorite apron on – it’s important.
- Start with some oil in a saucepan on medium heat.
- Once the pan is hot, add the mustard seeds, cumin seeds, cinnamon stick and curry leaves.
- When the mustard seeds start popping, increase the heat to high and add the onions. Saute them until they’re golden.
- Reduce heat to medium and add turmeric powder, chilli powder, garam masala and salt.
- Add the ginger garlic paste or the grated ginger and minced garlic. Stir and mix everything well.
- Add the tomatoes and cook for 3-4 minutes until everything is mixed well. Ensure there are not chunky tomato pieces.
- Add the chickpeas next and mix everything well. Stir regularly and let it cook for 3-4 minutes.
- Add a pinch of cayenne chilli powder – for extra spice. You can skip it if you don’t want the dish hot.
- Add the spinach and let it simmer for 10 minutes with the lid on.
And that should be it. Serve with some warm roti, naan or basmatic rice. It’s gonna be yummy!
It’s a new year and new things to come, built on old ideas and thoughts that have been lost and forgotten.
This year, I intend to:
- be more confident
- be very specific
- plan vacations
- save to buy a house
- take time to think
- but decide quickly
- be open to possibilities
- paint more
- write more
- read more
- be healthy
And finally a quote by Ai Weiwei:
“A small act is worth a million thoughts.”
I’ve been building a docker image for Heketi and noticed that the image size was more than 3 times the size of a base Centos 7 image. Searching on google, I came across this page on optimizing docker images. Now, I understand why the Dockerfiles spread across github have multi-line RUN commands.
My docker image started with a size of around 698.2 MB. Now it’s just 198.5MB.
$ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE heketi/heketi centos7 eda2e47811c6 15 seconds ago 198.5 MB docker.io/centos latest ce20c473cd8a 5 days ago 172.3 MB
You can take a look at the Dockerfile I created.
I’ve used Vagrant previously for testing something and forgot about it. Now, I need a Fedora server to test something. So, I thought, why not use Vagrant to do what I want. And as I’m wont to do, I wanted to document it. So here goes nothing and everything.
I’m using a Mac, so I’m obviously going to use Homebrew to install everything I need. Before we proceed, let’s first install cask, cause we’ll need that to install our packages.
$ brew install caskroom/cask/brew-cask
That’s done. Let’s install vagrant and virtualbox next.
$ brew cask install virtualbox $ brew cask install vagrant
Next, let’s get the Fedora images. Make sure you get the image for vagrant. Here’s the one I downloaded:
~/Downloads $ du -h *.box 209M Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-virtualbox.box ~/Downloads $ shasum -a 256 Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-virtualbox.box 2513342f70c00310e161a110e34973a133691fedd866859e65904fa056ae7a0c Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-virtualbox.box
To be able to use our downloaded image, we’ll need to add it to Vagrant.
~/Cave/Fedora22 $ vagrant box add ~/Downloads/Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-virtualbox.box --name fedora-22 ==> box: Box file was not detected as metadata. Adding it directly... ==> box: Adding box 'fedora-22' (v0) for provider: box: Unpacking necessary files from: file:///Users/sidcarter/Downloads/Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-virtualbox.box ==> box: Successfully added box 'fedora-22' (v0) for 'virtualbox'!
After adding the image to vagrant, create a Vagrantfile that’ll use this image.
$ cat Vagrantfile Vagrant.configure(2) do |config| config.vm.box = "fedora-22" end
Let’s start them engines now, shall we? In the directory with the
Vagrantfile, you can do a
vagrant up and you should see this:
~/Cave/Fedora22 $ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'fedora-22'... ==> default: Matching MAC address for NAT networking... ==> default: Setting the name of the VM: Fedora22_default_1444702096982_14160 ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 22 => 2222 (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: Warning: Connection timeout. Retrying... default: default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: default: Inserting generated public key within guest... default: Removing insecure key from the guest if it's present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: No guest additions were detected on the base box for this VM! Guest default: additions are required for forwarded ports, shared folders, host only default: networking, and more. If SSH fails on this machine, please install default: the guest additions and repackage the box to continue. default: default: This is not an error message; everything may continue to work properly, default: in which case you may ignore this message. ==> default: Installing rsync to the VM... ==> default: Rsyncing folder: /Users/sidcarter/Cave/Fedora22/ => /vagrant
That’s looking good so far. Let’s login to the box now and look at what we got, shall we?
~/Cave/Fedora22 $ vagrant ssh Last login: Tue Oct 13 02:10:25 2015 from 10.0.2.2 [vagrant@ip-10-0-2-15 ~]$ [vagrant@ip-10-0-2-15 ~]$ cat /etc/fedora-release Fedora release 22 (Twenty Two)
Fantastic! We’re done here. I hope you find this useful.
Python has had awesome string formatters for many years but the documentation on them is far too theoretic and technical. With this site we try to show you the most common use-cases covered by the old and new style string formatting API with practical examples.