converting from CSV, XLS(X), and JSON to CSV, csv to json, XML2JSON

Option1: CSVKIT: https://csvkit.readthedocs.org/en/0.9.1/ Option2: dataconverter `Messed up my date Use the command like tool dataconvert from OKFN labs. http://okfnlabs.org/dataconverters/#source-data-formats-supported Installation: pip install dataconverters ###XML2JSON: https://github.com/parmentf/xml2json

Converting Shapefiles to GeoJSON

1.ogr2ogr can convert shapefiles to GeoJson format. 2. to install this on mac, brew install gdal 3. unzip the shapefile.zip and run the below commandogr2ogr -f GeoJSON -t_srs crs:84 shapefile.json shapefile.shp this line converts the shapefile to geojson. -t_srs crs:84 ensures its encoded with the right projection when it hits github. - use this script if you have to convert multiple shapefiles to geojson. https://gist.github.com/benbalter/5858851

Backbonejs -1

Models - represent the domain-specific knowledge and data in an app. eg: User, Photo or Todo. Models can notify observers when their state changes. Controllers - Handle input(eg: Clicks, user actions) and update models. Views - typically constitue the user interface in an application. they observer models, but don’t directly communicate with them. In an MVC app, user input is acted upon by controllers which update models. Views observe Models and update the user interface when change occurs.

Arcgis

GEODatabase: A geodb is an alternative way to store GIS information in one large file, which can contain multiple point, polygon or polyline layers. less messy compared to multiple shapefiles. often appear in single files .gdb or .mdb file extension in .gdb shape files are reffered to as “Feature Classes” geographic datasets of various types held in SQL, postgresql A key geodatabase concept is the dataset 3 Primary dataset types:

Functional programming

Pure functions, no side effects like reassigning a variable modifying a data structure in place Setting a field on an object throwing an exception or halting with an error printing to the console or reading user input reading from or writing to a file drawing on the screen eg: addition + on 2 integers is a pure function Referential Transparency: An expression e is referential transparent if for all programs p, all occurneces of e in p can be replaced by the result of evaluating e, without affecting the observable behaviour of p.

Python Package Managers

This is the old way of doing things: PIP is the python’s package manager of choice. Virtualenv allows creating isolated per-project environments virtualenvwrapper adds a various command line extras to help manage virtualenvproject workflows. From 2014 with Python 3 things changed: pyenv, lets you easily switch between multiple versions of python. On top of this use pyenv-virtualenv which adds virtualenv like abilities and some of the project management features of virtualenvwrapper.

Updating Entity Framework after updating the corresponding tables

After updating the columns in a Database you will have to update the entity model .edmx file by righ clicking on and selecting “Update Model From Database”. Updating the data model will update the corresponding tables codes(eg: ns_table_name under both Model1.Context.tt as well and Model1.tt). The complex types generated from the stored procedures may not get updated[Busted bug in Entity Framework]. Follow the below steps, for a workaround,

Scala Actors - Concurrency

Actors in Abstract: An actors is an object that receives a message and takes action on those messages. The order is which the message arrives is unimportant to an Actor, though some Actor implementations(such as Scala’s) queue messages in order. An actor might handle the message internally or it might send a message to another Actor or it might create another Actor to take action based on the message. Akka - simple and high-level abstractions of concurrency and parallelism.

Functional Scala

Tail calls and tail-call optimizations: A recursion is called tail call recursion which occurs when a function calls itself as its final operation. Easiest way to optimize by conversion into a loop. Loops eliminates the potential of stack overflow. The tail-call optimization won’t be applied when a method that calls itself might be overridden in a derived type. The method must be private or final defined in an object or nested in another method(like fact).