Friday, October 16, 2015

The Atom Text Editor

The Atom Web Editor Free at https://atom.io/


The Atom editor originally started life back in 2008, as a side project from one of GitHub’s founders, Chris Wanstrath. Atom was born from his desire to create an editor that was flexible, easy to customise and built on top of web technologies. It wasn’t until a few years later though, in 2011, when Atom was picked back up by GitHub and subsequently taken on as an official project, and that’s when work on it really started to progress.
Work went on behind the scenes and whilst that happened, web technology in general improved to the point where it was viable to release the project publicly as a beta version in early 2014. A year and a few months later, in June 2015, version 1.0 was released.
The editor is built upon a range of familiar web technologies. At the heart of GitHub’s Atom is Electron, which uses Chromium as a base (the open source core of Google’s Chrome browser) and provides rendering of HTML, CSS and JavaScript as a stand-alone desktop application. The JavaScript is much more powerful than the JavaScript that can be found in web browsers, as it takes advantage of the Node.js project to provide a powerful API for accessing the filesystem, networking and much more. This also includes the possibility of using over 170,000 (at the time of writing) modules that are provided through Node's 'npm'.
All of their effort has created a cross-platform editor, which at this point includes all of the normal features that you’d expect to find such as syntax highlighting, autocomplete, searching files, multiple view panels, multiple cursors, project support and much, much more. The appearance of the editor is very flexible as well, with the overall look and the syntax highlighting both supporting themes, of which there are almost 800 that are already available to use. There is also support for packages, with over 2,500 available for expanding the editor in a multitude of ways.

Extending the Atom editor's functionality with Packages

Package installation: With the package count for Atom exceeding 2,500, there is no shortage of interesting additions you can add to your editor.
Under the menu File>Settings, you’ll find a Packages item. This provides a list of all the packages you have installed and ones that were included with Atom by default (core packages). Here you can access any settings a package may have or disable/uninstall them. For installation, proceed to the Install section which provides a search input box. Type the name of the package you wish to install or keywords for something you would like to do. You’ll then be presented with a list providing a description, download count, version, link to the webpage of that package and an installation button.

Which languages are supported when combined with additional packages?

JavaScript: With Atom being built on top of JavaScript, you’d expect it to be well supported. Packages such as linter and linter-jscs can add code analysis tools (linters) to catch common issues or mistakes. Turbo-javascript provides a raft of commands and snippets to make writing ES6 JavaScript quicker.
PHP: PHP doesn’t miss out on further support through packages. To complement the built-in syntax highlighting, php-cs-fixer can be installed to maintain your coding standards. For Atom’s autocomplete feature, install autocomplete-php and standard PHP functions will list as you type.
CSS: CSS gets the standard level of support from Atom with interesting packages from the community. ‘Pigments’ detects colour declarations and displays it as a background to the text and linter-css checks for common mistakes. Support is also available for preprocessors like Less.
HTML: Emmet wraps a popular tool to enable writing HTML as CSS selectors, being expanded into actual HTML by simply tabbing after typing your selector. Html-entities will handle encoding and decoding of special characters, autoclose-html helps with closing your tags as you type and various linters can check the HTML correctness.
Go: As a language developed by Google in 2007, Go has received some decent attention recently. Go-plus provides access to the powerful toolset that Go provides from within the editor: gocode to power the autocomplete, gofmt to tidy up your code, goimports to add and remove imports automatically and golint to check for common code issues and even building or testing code.
Node.js: While Node.js uses JavaScript, which has already been detailed, there are additional packages available that provide even deeper support. For example, Node-debugger hooks into the debug support that Node has with Atom and displays the active line and allows execution control.

Access the packages: While this primarily depends upon the way the package was written to work, there are a few places that a package will present itself. The menu at the top of the Atom editor contains a Packages item that packages can provide actions under. They will also usually add themselves to the Command Palette, so just use Cmd/Ctrl+Shift+P to bring up the palette and then type the name of the package to filter the list and display the commands for it. Finally, keyboard shortcuts are usually created, but these will be unique to each package and best found by reading the documentation for it.
Discovering packages: Going back to the Install area for packages within Atom, you should see an area listed for Featured Packages. This is a list featuring some of the favourite packages from the Atom community. If you check out the Atom website (atom.io/packages) you will find lists of packages that have been trending over the past day, week and month. This is a fantastic place to find out which packages are suddenly becoming popular with other developers.
Finally, the Atom website also has a blog which contains posts doing a new package roundup. They pick several new packages that have interesting features and showcase them with fuller descriptions and screenshots.
Package performance: If Atom is starting to feel sluggish or takes a long time to open, it’s worth considering the packages that you have installed recently.
A package that Atom includes by default is called Timecop and accessed via the Packages menu. It displays the loading and activation time of each installed package.

5 Must-have extensions

Minimap: Adds a thin additional column to the editor windowthatprovidesapreviewofthefullfile contents.Thiscanthenmakeiteasiertoscrollto specificcode.
Git-plus: Source control is important and this package provides access to Git for that purpose, all from within Atom so you don’t have to leave the editor.
File-icons: Improves the filetree view and other areas within Atom by assigning colourful icons to different file types, making it easier to see the type at a glance.
Merge-conflicts: When merging branches in Git, conflicts can occur with the changes. This package provides an in-editor: a simpler way to resolve those conflicts.
iMDone: Looks throughout your project’s code for comments marked TODO, FIXME and others. It then takes this information and provides a kanban-style board.

Sunday, February 1, 2015

Za'tar Spice Mix Recipe

Feel free to suggest more variations in the comment section, as with most spice mixes Za'tar does vary according to region and personal family tastes. Take the following as only a guidepost and by all means.

Background

Za'atar (Arabic: زَعْتَر‎ za‘tar, also romanized zaatar, za'tar, zatar, zatr, zattr, zahatar, zaktar, satar or zather) is a generic name for a family of related Middle Eastern herbs from the genera Origanum (oregano), Calamintha (basil thyme), Thymus (typically Thymus vulgaris, i.e., thyme), and Satureja (savory). The name za'atar alone most properly applies to Origanum syriacum. It is also the name for a condiment made from the dried herb(s), mixed with sesame seeds, dried sumac, and often salt, as well as other spices. Used in Arab cuisine, both the herb and spice mixture are popular throughout the Middle East.

Ingredients:

  • sumac 60 grams (1/4 cup)
  • thyme 10 grams (2 tablespoons)
  • roasted sesame seeds 5 grams (1 tablespoon)
  • marjoram 10 grams (2 tablespoons)
  • oregano 10 grams (2 tablespoons)
  • coarse salt 5 grams (1 teaspoon)
Grind the leaves, seeds and salt into a fine powder in a mortar. Grinding the roasted sesame seeds are optional, some enjoy them whole for texture.

Tuesday, January 27, 2015

Mishmash (Stamppot) recipes from Holland's cold season.

Stamppot or Mishmash, Hodgepodge, Hash, et cetera (English, literally: 'Mash Pot') is a traditional Dutch dish made from a combination of potatoes mashed with one or several other vegetables, sometimes also with pork. Most often actually. It was the staple answer to, "What do we do with all these potatoes, gourds and winter crops?"

Note that the Dutch preparation instructions can be found on the enlargeable image file, below the image you'll find the English. These are fairly standard Dutch approaches, although they are a dynamic culture, unlike the complaints of Virginia Wolf about English. If I fry anything, I normally do not waste my olive oil. The Dutch also have a strong aversion to anything chard, while a few black spots don't bother me. They also like it fatty foods; butter, non-lean meat, diary products. That last comment will probably be met with the classic argument that hamburgers are fatty, but not our food.

Endives & Blue cheese Mash
(Witlofstamppot met blauwe kaas)

~ Endive is also a common name for some types of chicory (Cichorium intybus). Now the Dutch will laugh at that, because the word Andijve is reserved for another plant.

Ingredients
1200 grams of starchy/soft potatoes, peeled and cut into even pieces.
600 grams of endives
200 grams of Gorgonzola cheese in blocks
200 grams of walnuts
100 milliliters of whipping cream (note, if you think of this as a sweet U.S. version, you need Crème fraîche or even Sour Creme instead).
75 milliliters of water.
25 grams of butter
3 shallots, peeled and finely sliced
1 staff of thyme
1/2 block of vegetable bouillon
2 tablespoons of dry white wine or white basilica vinegar
3 tablespoons of liquid honey
salt

Place the potatoes in a large pan of salted water and bring to a boil for total of 20 minutes.

Meanwhile fry the shallots slowly in the butter until browned. Add to the shallots, your bouillon cube, about 75 milliliters of water, vinegar or wine, and thyme. While cooking this for about 5 minutes stir your honey in.

Fry the walnuts in a dry pan, dicing them when roasted. Halve the endives, removing the hard core and cut into strips. Drain access water from the potatoes, keeping some in a bowl for later mixing. Reserving about a modest handful of your endives. Mix the rest of the endives and whipping cream into the potatoes and cover it to cook about 1 minute. Stir it again until it's a creamy mash.

Add the cheese, walnuts, that small handful of reserved endives. Serve with the honey sauce aside.


Kale, Chorizo & Bell Pepper Mash 
(Boerenkool met Chorizo en Paprika recept)

Ingredients
2 red bell peppers
1 bulb of garlic wrapped in foil
4 tablespoons of olive oil
1 chorizo sausage in cuts (medallions)
1200 grams of potatoes
500 grams of chopped kale
salt

Place your oven on the highest level. Grill the Bell Peppers and garlic for about 20 minutes in the oven. Place the peppers in a covered container to cool before peeling them and cutting into strips. Simply press the garlic cloves out from their skins add two tablespoons of olive oil with a pinch of salt.
Fry the chorizo slices the remaining 2 tablespoons of olive oil until they are a bit crunchy. Remove them from the pan and try to keep them warm.
Place the potatoes in a large pan of water and bring to a boil for total of 20 minutes. Remove the cover 10 minutes in to toss your raw kale atop the potatoes and let it steam. Finally drain off any extra water, keeping some in a bowl for later mixing.
The residual oils from the chorizo pan with your peppers can now be added to the potatoes and kale before mashing the contents. For final presentation, pour your heated garlic and olive oil over the top and garnish it with your chorizo cuts.

Wednesday, January 21, 2015

Black Eyed Pea Curry

Units:
1 tsp. (teaspoon) = 5 grams = 0.832674 Imperial tsp, because those lads loved Rome.
1 tbsp. (tablespoon) = 15 grams = 2.49802 Imperial tablespoons because Pioneers didn't use tables.
    Ingredients:
  • 2 jalapeno peppers
  • 2 ginger bulbs (about the size of the thumb tip) diced
  • 1 tablespoon of olive oil
  • 2 tbsp (30gm) mustard seeds dry
  • 2 medium sized tomatoes
  • 1 tsp. (5gm) powdered coriander
  • 1/2 tsp. (2.5gm) powdered cumin
  • 1/4 tsp. (1.25gm) turmeric powder
  • 1/2 tsp. (2.5gm) salt
  • 1 bay leaf
  • 1 bunch of fresh cilantro (bushel of coriander leaves)
  • 1 tsp (5gm) dried paprika ("Spanse pepper" if you're thinking like the Dutch)



..
Methodical process:
Remember to follow your heart and taste-buds always. It's similar to the expression "salt to taste":

Bring your wok or pot to a mild heat with oil coating the bottom. Now we begin with the jalapeno peppers, ginger and mustard seeds. Essentially, all other condiments should be prepared, as we are waiting for the moment that the mustard seeds will jump like 'Mexican Jumping Beans'. The should pop a bit like corn (maize) due to the steam condensing on the inside of their shells, causing an expansion and the subsequent popping of their shells, but that is when we want to stop this process, just as you don't want charcoal on your popcorn.
While cooking the aforementioned you can quickly quarter the tomatoes, chop the cilantro (fresh coriander leaves) and if you prefer, instead of using a whole bay leaf (laurel) you can also cut into strips; however not too thin as these are not palatable and should be removed before or during eating (similar to unshelled cardamon seeds would be).
When the mustard seeds begin to jump from the oil, it is time to lower the heat and combine our tomatoes, cilantro, turmeric, salt, paprika and our bay leaf.
When the tomatoes are soft, then we add our beans (black-eyed peas in this case) and we provide just enough water to cover the beans. When the beans have become soft enough to be mashed, then we are done and can add the cilantro.