IndyWatch Education Feed Archiver

Go Back:30 Days | 7 Days | 2 Days | 1 Day

IndyWatch Education Feed Today.

Go Forward:1 Day | 2 Days | 7 Days | 30 Days

IndyWatch Education Feed was generated at Community Resources IndyWatch.

Monday, 22 January


Make Your Vim Smarter Using Ctrlp and Ctags freeCodeCamp - Medium

I absolutely love Vim, and I use Vim for all my coding and writing from year to year. Although more are more people, especially for those are working with JavaScript, prefer modern code editors such as Sublime Text or VSCode, Id rather spend a little time trying to make my toy more intelligent.


If you are a Sublime Text, Atom, or VSCode guy, you must use ctrl + p thousands of times to improve productivity. Well, dont be jealous if you are a Vim guy because this fancy Vim plugin CtrlP will give you all you need.
Check this official doc for installation and setup.


Ctags is a tool that will sift through your code, indexing methods, classes, variables, and other identifiers, storing the index in a tags file. The tags file contains a single tag per line. Depending on command line arguments and the language ctags is run against, a lot of information can be obtained from this index.

Ctags currently supports 41 programming languages, and its relatively easy to add definitions for more.

Ctags makes it much easier to navigate a larger project, particularly if the code youre working with is unfamiliar. If youre unsure of what a method does or how its supposed to be called, you can jump straight to its definition. If youre in the downward spiral of a 500+ line Perl script and want to know where a variable was defined three hours ago, you can jump right back to it. And afterward, you can jump right back to where you were working.

You can install Ctags using Homebrew in OSX:

brew install ctags

Please note that OS X comes with a Ctags executable, but its not exuberant-Ctags and is missing most of the useful features. If you see an error like Invalid Parameter when you run ctags, it means that the system is not using the one you installed with Homebrew. To solve this:

$ alias ctags="`brew --prefix`/bin/ctags"

When youre sitting in the directory you want to index, just run:

ctags -R.

Ctags will walk through the directory recursively, tagging all source files it encounters. For very large projects, this might take a while, but normally its pretty fast.

You may also need some extra config for Ctags, below is the ~/.ctags I'm using:
--regex-javascript=/^[ \t]*(var|let|const)[ \t]+([A-Za-z0-9_$]+)[ \t]*=[ \t]*\[/\2/A,Array,Arrays/
--regex-javascript=/^[ \t]*(var|let|const)[ \t]+([A-Z][A-Za-z0-9_$]+)[ \t]*=[ \t]*function/\2/C,Class,Classes/
--regex-javascript=/^[ \t]*class[ \t]+([A-Za-z0-9_$]+)/\1/C,Class,Classes/

Go Back:30 Days | 7 Days | 2 Days | 1 Day

IndyWatch Education Feed Today.

Go Forward:1 Day | 2 Days | 7 Days | 30 Days

Sunday, 21 January


Youth Policy: Then and Now conference 9/10 February, Leeds still places left IN DEFENCE OF YOUTH WORK



The Youth and Policy conference Youth Policy: Then and Now will take place at Hinsley Hall, Leeds, 9th-10th February 2018.

This event is in place of our bi-annual History of Youth and Community Work conference and will include presentations on contemporary as well as historical issues.

Tickets can be purchased via Eventbrite here (190 plus Eventbrite fee)

As with the earlier gatherings, it will include a mix of plenary sessions, workshops and surprise events. We hope that this conference will be once again a relaxed gathering of enthusiasts keen to talk to and learn from each other.

Confirmed speakers so far include:

Michael Whelan (Coventry University) Digital Youth Work

Tony Taylor (In Defence of Youth Work) The rise and fall of local authority youth work

Rys Farthing (Oxford University) Inter-generational Poverty

John Goodwin (Leicester University) The life and work of Pearl Jephcott

Matt Scott (Community Development Journal) Community Development: Then and Now

Presenting a workshop
At the heart of our conferences are the workshops. The breadth is always impressive covering an enorm...


An Intro to Color Theory: How to combine colors and set the mood of your designs freeCodeCamp - Medium

Were able to see different colors because of our retinas innate ability to differentiate frequencies of light waves.

Certain colors or shades evoke different sentiments in people. In this post, I want to give a quick introduction to color theory, ways to combine colors, and tools for designing with colorthat you as a designer can benefit from to make your designs delightful.

Lets start!

Different moods are attributed to different colors and you can use these different colors to achieve different ends.

  1. Red has been traditionally associated with Love, Energy, and Intensity. So a lot of car ads, or anything related to love are some shade of red.
  2. Yellow tends to be used for things to convey Joy, Attention, Intellect. Yellow is an incredibly attention-grabbing colour. However, yellow is not a good choice for the background of your app or as the main interface. Yellow can cause attention fatigue. Its an excellent choice for app icon design or app screenshot design.
  3. Green has been associated with Freshness, Safety, and Growth. This is why youll see most nature, healthy food, related companies use green for their branding.
  4. BlueStability. Trust. Serenity. No surprise why both Facebook and Twitter are blue.
  5. Purple stands for royalty. Wealth. Feminity. Purple tends to be used for women-targeted products. And luxury products.

To see these theories in action, start analyzing advertisements. After all, ads are really well thought-out experiments in persuasion and manipulating human psychology.

Next time you see an ad, try to see what techniques or design principles theyre using to make their design look beautiful and what emotion theyre trying to evoke.

Choosing a color palette is not all about advertising and attention-grabbing, though. Its also about selling your product and appealing to certain instincts or desires that people have.

So the next time youre designing an app/website, the first thing to think about is what emotions you want to evoke and ideas youre trying to convey to the user and pick a colour palette accordingly.

Read this to learn more.

How to combine colors to create color palettes

Now, of course youre not going to use the same color everywhere in your app. Youre going to need combinations of color that go well with each other and are pleasant to look at.

To combine colors, artists and designers often use a tool called color wheel.

A color wheel.

There are a few ways you can use t...


Designing a font from scratch and submitting it to Google Fonts in 24 hours freeCodeCamp - Medium

One Day Builds

Im a huge fan of Adam Savages One Day Builds. At the beginning of the day he starts with a pile of materials, and ends up holding something that he once coveted (this one is my favourite).

So with this in mind (and a day off from work), I set myself a challenge

Create an entirely new font, from scratch, and submit it to Google Fonts in under 24 hours.

I had a couple of letters already sketched out in an old notebook. I wanted to create a tall, sans-serif, display font that could be used in posters, or large scale artwork. In my early days at Mens Health, I would have to use fonts like Tungsten or Heron, which were terrible for chunks of body copy, but amazing when used in headlines, or for promotional material (which was my main job there). This was the style I set out to create.

(Very) rough sketches. Ugh.

1pm, Wednesday

I went straight to Adobe Illustrator with the two or three letter styles I had sketched out. I set up five grid lines on my artboard, one each for the descender line, baseline, x-height, cap height and ascender line. I then decided on a width for the capital letters, and from there, the thickness of the stem (e.g. the width of the letter I).

I did a lot of research on letter proportions and ratios, and actually measured some existing fonts, working out how the lowercase letters should relate to the caps. From here, I made some rules:

  • X-height = 2 height of ascender/descender.
  • Stem width = 1/4 capital letter width
  • Lowercase width = 3/4 capital letter width
The rules, illustrated.

From here I created the letters O and B first. I made a decision that any letters that would usually have curves, would have a rounded corner instead. Most letters would be a tall block shape, but with letters like O, B and D, the edges with curves would have rounded corners.

The outside corner would have a 12mm radius, and the inside had 6mm. With these rules agreed, plus a height for my crossbar (across the letter H) I started churning out my capital letters.

My font was very simple, but with one defining f...


How to design a successful e-commerce app: UX lessons learned from Wish freeCodeCamp - Medium

It doesnt exactly come as a surprise that shopping apps are a rising star on the modern mobile market. Money rules the world and the ability to spend wisely is a big advantage. This is exactly what the apps provide.

Lets start by discussing the buyers behavior when they use a mobile app. Here are some stats:

  • About 30% of the potential customers get frustrated and abandon the app because of the unsatisfying mobile experiencethats a massive figure that shows how important it is to not only develop and launch an app, but also to maintain it.
  • 90+% of all the purchases are made with multiple devices which means that customers switch devices and go from screen to screen while making a purchase in an online shop.
  • Even a slight delay may decrease the chance of a successful purchase. It is hard to believe, but the statistics show that every 0.1 second delay equals roughly a 1% decrease in sales. This proves that the app should be polished, and there is no excuse for faulty performance.

At the moment the share of mobile commerce in the US markets sits just under the 50% mark at about 4547%. This means that new companies have a chance to promote their goods and services in the market. At the same time this means that developers have more responsibility because they have to meet high standards if they want their app to be a successful project.

How did Wish prosper?

In the era of Amazon, eBay and Alibaba being dominant in the market, you need to come up with something absolutely new or perfectly refined in order to gain some popularity and to be able to fight for your own place under the sun. Thats exactly what Wish marketplace has done. The team that developed this app managed to combine these two factors.

Their idea was to launch an interactive wish list that at the same time would allow it to monetize itself by selling the real goods to real people for real money.

Wish currently occupies 5th place on the list of the most popular shopping apps in the USA, just behind two Amazon apps, eBay and OfferUp; it is already ahead of such giants as Walmart and Groupon. Thats a prominent achievement, and we can definitely learn a lesson from their story of success. Lets take a closer look at what exactly the Wish app is.

The concept is not really groundbreaking, but its the refined user experience that makes it shine. The app connects the customers and the merchants all around the world. Currently theres more than 100 million active customers and around 100,000 merchants. Wish positions itself as a bargain auction, thats exactly why they offer a wide variety of items with a 5070% decrease compared to average market prices.

You will also find a lot of rare or unusu...


How you can build your own VR headset for $100 freeCodeCamp - Medium

My name is Maxime Coutt. Im 16 and I built my own VR headset with my best friends, Jonas Ceccon and Gabriel Combe. And it ended up costing us $100.

I started programming when I was 13, thanks to my math teacher. Every Monday and Tuesday, my friends and I used to go to his classroom to learn and practice instead of having a meal at the cafeteria.

I spent one year building a very basic 8-bit OS from scratch and competing in robotics contests with my friends.

I then got interested in VR and with my friends we agreed that it would be really cool to create our own world in VR where we could spend time after school. But facing the fact that an Oculus was $700 at the time, we decided to build our own headset.

3D printed parts of the headset

Making VR accessible to everyone?


It was because of an anime called Sword Art Online where the main character is in a virtual reality RPG that I fell in love with VR. I wanted to understand every aspect of it.

I bought the cheapest components I could and we started by learning the very basics of the physics and math behind VR (proper acceleration, antiderivatives, quaternions). And then we re-invented VR. I wrote WRMHL, and then FastVR with Gabriel. Putting all of this together, we ended up with a $100 VR headset.

A fully hackable VR headset and development kit

To speed up VR development time, we built FastVR, an open-source SDK for developers that is easy to understand and customize. It works like this:

  • The core headset computes the position of the headset in space;
  • The position is sent from the headset to WRMHL, and part of the CPUs power is dedicated to reading those messages;
  • Then FastVR retrieves the data and uses them to render the VR game.

Everything you need to build the headset has been open-sourced and can be hacked.

Why open source?



How to make your data transformations more efficient using transducers freeCodeCamp - Medium

Efficient Data Transformations Using Transducers

Transforming large collections of data can be expensive, especially when youre using higher order functions like map and filter.

This article will show the power of transducers to create efficient data transformation functions, which do not create temporary collections. Temporary collections are created when map and filter functions are chained together. This is because these functions return a new collection and will pass the result to the next function.

Imagine having records of 1,000,000 people and wanting to create a subset of names of women above the age of 18 that live in The Netherlands. There are different ways to solve this, but lets start with the chaining approach.

If this approach is new to you, or you want to learn more about it, Ive written a blog post on using higher order functions.

const ageAbove18 = (person) => person.age > 18;
const isFemale = (person) => person.gender === female;
const livesInTheNetherlands = (person) => === NL;
const pickFullName = (person) => person.fullName;
const output = bigCollectionOfData

Below is the visualisation of using the chained approach that creates temporary arrays. Imagine the expense of looping over 1,000,000 records 3 times!

Of course, the filtered collections will be reduced by some amount, but its still quite expensive.

A key insight, however, is that map and filter can be defined using reduce. Lets implement the above code in terms of reduce.

const mapReducer = (mapper) => (result, input) => {
return result.concat(mapper(input));
const filterReducer (predicate) => (result, input) => {
return predicate(input) ? result.concat(input) : result;
const personRequirements = (person) => ageAbove18(person)
&& isFemale(person)
&& livesInTheNetherlands(person);
const output = bigCollectionOfData
.reduce(filterReducer(personRequirements), [])
.reduce(mapReducer(pickFullName), []);

We can further simplify the filterReducer by using function composition....

Saturday, 20 January


I Built A Jupyter Notebook That Will Analyze Cryptocurrency Portfolios For You freeCodeCamp - Medium

The amount of engagement in the crypto investment space needs no introduction. With market caps, volumes, and public awareness on the rise, I thought Id put together a simple Jupyter notebook to get a clearer and broader viewpoint into the investment activities within my own crypto portfolio.

TL;DR heres the code ;)

Why Should We Analyze Our Portfolios?

Because were definitely missing important details about our investments by only looking at the total value of our (potentially fat) walletseven though I enjoy looking at Blockfolio from time to time. Because seeing our Ripple go to the moon and overshadow the rest of our investments is likely increasing our financial risk substantially. Because we all want our money to grow, but achieving this by picking a diverse set of cryptos is easier and safer than picking a moonshot that could end up a dud (and make us broke).

And lets face it, the market gains are just too big for us to be left in the dark on the true characteristics of our investment portfolios.

Important Portfolio Characteristics

Now there are several characteristics of our portfolio that we should take a good look at, including return and risk. But a lot of the time were fixated on one and not the other.

We can look at return in several ways: the amount of money weve made from the beginning to the current date, the average rate of money weve made over specific time periods (e.g., annual returns), how much better our investments did when compared to several characteristics of a benchmark (e.g., alpha), and even the annual compound rate it would have taken to get to our current investment based on our starting point (i.e., CAGR).

As important, if not more, is how we look at risk and its effect on return. I dont know about you, but I want to make sure Im making a good return based on an amount of risk I feel comfortable with. If we take on a huge amount of risk to make one particular return when we could have taken much less risk to make that very same return, the path to take for a more efficient investment is clear.

This is where understanding volatility, correlations, and risk-adjusted returns come into play by computing statistics such as standard deviation of returns (or volatility), beta, the Sharpe ratio, and the Sortino ratio.

And while we can compute all the s...


What exactly is Node.js and why should you use it? freeCodeCamp - Medium

JavaScript as programming language and data format (JSON) has changed web development drastically. Integrating Node.js with it to do things on the server as well as in browser is a trend lately. These two sentences, we feel, have to be illuminated and explained for everyone to grasp. So in this article, we are going to talk about why use Node.js, what is Node.js used for and top examples of Node.js in use.

Surely, this is technological stuff for programmers/coders, and some might find the language not quite apprehendable. With this in mind, we will try to make it as light-some as possible and speak in more human terms. We just want to explain what makes Node.js great and what is all the hype about.

First off, the praise is well deserved, as Node decisively eased the work of anyone building web applications. After decades of web request/response paradigm, having real-time 2-way communication is a bliss. That is a communication between the server and the client. And that, in turn, is a model to distribute workloads among service providers (server) and service requests (clients).

On board so far? Great, now some statistical info about the demand for Node.js. It is by far the fastest growing language in use, and it ranks in Top-10 most wanted developer skills. The use of Node.js is mainly for full stack, front-end, and back-end.

What is Node.js?

As weve previously touched on this in Best Node.js examples, Node.js is a JavaScript runtime environment. But what is that, one might ask. By run-time environment, the infrastructure to build and run software applications is meant. To build applications in JavaScript, in this case. Lets see what are the Node.js definition versions.

The company itself describes Node.js as a JavaScript runtime built on Chrome V8 engine. Wikipedia states, that Node.js is an open-source and cross-platform environment to execute code. According to TechTarget, it is
a development platform aimed at building server-side applications. And PCMag tells us that Node.js is a platform with its own web server for better control. That is certainly enough to grasp the main idea.

A brief summary would be as goes:

  • Node.js is a server framework, and is free
  • It runs on Windows, Linux, Mac OS, and so on
  • Node.js utilizes JavaScript on the server

How does Node.js work? Taking a simple task of opening a file on a server, the sequence would be:

  • A task goes to the file system
  • The system is ready fo...

IndyWatch Education Feed Archiver

Go Back:30 Days | 7 Days | 2 Days | 1 Day

IndyWatch Education Feed Today.

Go Forward:1 Day | 2 Days | 7 Days | 30 Days

IndyWatch Education Feed was generated at Community Resources IndyWatch.

Resource generated at IndyWatch using aliasfeed and rawdog