**PROTIP:** Search this page for subjects you'd be interested in watching live, like JavaScript, DataViz, IoT, Rust, and so on. You'll get an index of streamers relevant to your interests–be sure to follow them! ❤️

First, you'll have to get the dependencies. Make sure to install the header
files for the libraries (on Debian and derivatives, headers are in `-dev`
packages, e.g. `libsqlite3-dev`.) After that, compiling and installing newsboat
is as simple as:

I made this because changing your MAC address in Mac OS X is harder than it
should be. The biggest annoyance is that the Wi-Fi card (Airport) needs to be
*manually* disassociated from any connected networks in order for the change
to be applied correctly. Doing this manually every time is tedious and lame.

Instead of doing that, just run this Python script and change your MAC address
in one command. *Now for Windows and Linux, too!*

**Note for Windows 10:** While it may appear that this script does not work anymore, it does. The reason for this is that the change only appears in the Network Adapter properties in the Control Panel. Commands such as getmac or ipconfig will still show the original MAC address even though it has been changed. (**Note:** this actually appears to depend on the NIC (Network Interface Card). I tested it with my desktop and ipconfig showed the change, however it does not show the change on my laptop)

To see this for yourself, follow the below steps:

1. Open Control Panel
2. Click 'Network and Internet'
3. Click 'Network and Sharing Center'
4. On the panel to the left, click 'Change adapter settings'
5. A new window will appear showing all of the network adapters. Right-click the one that is currently active/enabled, and click 'Properties'
6. Near the top, click the button that says 'Configure'
7. Another window will open. At the top, click the 'Advanced' tab.
8. In the list to the left, select either 'Network Address' or 'Locally Administered Address'. This will depend on your system. You should see your MAC address in the text box to the right. This MAC address should change when you run this script on Windows 10. If the text box is empty and 'Not Present' is selected, run the script once to generate a new MAC address and follow the above steps. The 'Value' checkbox should now be selected and there should be a new MAC address in the text box.

OpenComponents is an open-source framework that allows fast-moving teams to easily build and deploy front-end components. It abstracts away complicated infrastructure and leaves developers with very simple, but powerful building blocks that handle scale transparently.

#### How does it work?

First, **you create your component**. It can contain logic to get some data (using node.js) and then the view, including css and js. It can be what you want, including *React* or *Angular* components or whatever you like.

Then, **you publish it** to the OpenComponents registry and you wait a couple of seconds while the registry prepares your stuff to be production-ready.

Now, every web app in your private or public network can **consume the component** via its own HTTP endpoint during server-side rendering or just in the browser.

Disclaimer: This project is still under heavy development and the API is likely to change at any time. In case you would find any issues, check the [troubleshooting page](CONTRIBUTING.md#troubleshooting).

## For Developers
The Ultimate Workflow
Focus on fixing bugs, not typos. No matter if you're building for VR, web, or mobile app, access your content anywhere with our GraphQL or REST API. Manage your content in our dashboard or with our API.

## For Agencies
Deliver Faster
Setup a Tipe account for your clients and allow them to manage their content while you focus on building their apps. Deliver faster all without being blocked by content. Have your own custom CMS? Integrate with Tipe and let us be your content engine.

## For Enterprise
Better Efficiency, Less Money
Tipe is future proof, we deliver content everywhere. Don't waste time setting up infrastructure for your content. Tipe uses a global CDN with a serverless architecture that scales to meet your needs. Developers can focus on projects, allowing them to go to market faster.

---

# Features
> More reasons to use Tipe

## Role Based Workflows
Robust role system giving you granular control over who can manage your content.

## Localization
Tipe supports i18n so you can create content for any language you need. Access the content through our API for your localized apps.

## What is Tipe
[Tipe](https://tipe.io), pronounced *type*, is a content backend for all your apps. If you have any non-user generated content in your apps, you should use Tipe to manage it. You and content creators can use our web app to create and publish content, then consume that same content with our **REST** and **GraphQL** API's.

## What is this repo
This repo is a solid starting point for anyone looking to build a Universal, SPA, or Static site with React and Tipe. The repo consists of a simple blog application that consumes content from Tipe via GraphQL.

## Getting started
* Clone this repo
* Install dependences
* `yarn` or `npm install`
* Create a `.env` file on the **root** of this repo. Copy over the contents from `.sample.env`.
* Replace the env values with your API Key and Org ID from the Tipe dashboard.
* Run `yarn dev` or `npm run dev`'
* this will start Next dev Universal mode

## Things to notice
Apollo will fetch the content from your `tutorial` folder on your Tipe account. Because Next is running in Universal mode, the content is rendered with the App and then cached and transferred to the client side.

Most of the content you see on the app is from Tipe. Take a look at the `/apollo/query/` folder. Notice the queries and how they relate to your content on the Tipe dashboard in the `tutorial` folder. There's no reason why all the content on this starter app couldn't be stored in Tipe. It's non-user generated, and as a developer, you should never hard code content.

Statecharts are a great way to organize your web application and make it more robust and increase code reuse.

## Versions

`Stativus` comes in three versions:

+ **Debug Mode**: This is the file named `stativus.debug.js` and it is more readable and you get the following
+ All `enterState` are documented with 'ENTER: *state_name*'
+ All `exitState` are documented with 'EXIT: *state_name*
+ All events are documented with 'EVENT: *state_name* fired [*event_name*] with *n* argument(s)'
+ Any time your application is configured in such a way that it will break, you will get a console or exception
+ All Async starts and stops will be outputted to the console.
+ Will warn you if you forgot to return true when using willEnterState()
+ **Full**: this is the file named `stativus.js` and is a normal version for production use
+ **Minified**: this is the file named `stativus.min.js` and is a minified version for production use (gzipped: ~3.9k)

Bootstrap a React Native application on AWS. This starter automatically provisions a Serverless infrastructure with authentication, authorization, image storage, API access and database operations. It also includes user registration and MFA support. The sample use case is a "Pet Tracker" where after a user registers and logs in they can upload pictures of their pet to the system along with information like the birthday or breed.

1. On a phone or emulator/simulator, open the application
2. Select the **SIGN UP** tab in the lower right to register a new user. You will be prompted to enter a valid email and phone number to confirm your registration.
3. Click **Sign Up** and you will recieve a code via SMS. Enter this into the prompt and press **OK**.
3. From the **Sign In** tab of the application enter the _Username_ and _Password_ of the user you just registered and select **SIGN...

GraphQL Shield helps you create permission layer for your application. The idea behind it is to separate the permission logic, such as authorization, from your application logic. This way you can you can make sure no request will ever be resolved if it wasn't meant to be.

# CTFR
Do you miss AXFR technique? This tool allows to get the subdomains from a HTTP**S** website in a few seconds.
How it works? CTFR does not use neither dictionary attack nor brute-force, it just abuses of Certificate Transparency logs.
For more information about CT logs, check www.certificate-transparency.org.

## Getting Started
Please, follow the instructions below for installing and run CTFR.

Bootstrap a React application on AWS. This sample automatically provisions a Serverless infrastructure with authentication, authorization, website hosting, API access and database operations. It also includes user registration and MFA support. The sample use case is a "Restaurant" ordering system where after a user registers and logs in they can view different restaurant menus, select items and place orders.

You will be building a React application with User Registration & Sign-in that allows you to perform CRUD operations against a DynamoDB table by using an [Express](https://expressjs.com) application running in AWS Lambda. Lambda will be invoked by API Gateway using Proxy Integration with greedy paths that only authenticated users can access. The Express server is running with the [AWS Serverless Express framework](https://github.com/awslabs/aws-serverless-express).

When the response is still "fresh" in the client's cache `true` is
returned, otherwise `false` is returned to indicate that the client
cache is now stale and the full response should be sent.

When a client sends the `Cache-Control: no-cache` request header to
indicate an end-to-end reload request, this module will return `false`
to make handling these requests transparent.

## Known Issues

This module is designed to only follow the HTTP specifications, not
to work-around all kinda of client bugs (especially since this module
typically does not receive enough information to understand what the
client actually is).

There is a known issue that in certain versions of Safari, Safari
will incorrectly make a request that allows this module to validate
freshness of the resource even when Safari does not have a
representation of the resource in the cache. The module
[jumanji](https://www.npmjs.com/package/jumanji) can be used in
an Express application to work-around this issue and also provides
links to further reading on this Safari bug.

The demos and engine in this repo are free to use and modify for non-commercial use only.
For commercial licensing and support, please [contact us](mailto:subform@generalreactives.com).

This repo contains a Web Assembly version of the Subform engine.
The core engine knows nothing about the DOM, JavaScript, etc.
Its internal API is a byte array, and the engine can be run incrementally, "off the main thread", and does not require a garbage collector.

If you'd like to use API directly, or try the engine on a different platform (iOS, Android, C, etc.), please [contact us](mailto:subform@generalreactives.com).

## Plain JS Example

The [render_to_canvas.js](examples/render_to_canvas.js) creates the layout seen above, which is defined via a tree of plain JavaScript objects:

🏁 Final Form works on subscriptions to perform updates based on the
[Observer pattern](https://en.wikipedia.org/wiki/Observer_pattern). Both form
and field subscribers must specify exactly which parts of the form state they
want to receive updates about.