Maxit Capital is always looking for attractive large-scale businesses to acquire. If, after reviewing this site, you believe you have an opportunity that would be of interest to us we welcome your inquiry.


Our partners
Stride helps people to access banking services using only their mobile phone. Financial institutions rely on Stride to make their eligibility assessments. Stride includes an e-wallet service and is accessible through any device.
No paper. People can apply for a loan using any kind of mobile phone. Smartphone users can download the mobile app and cellphone users can text 4012.
Fast process. If you are eligible for a loan, you will receive a response very quickly. If not, we can help you to become eligible.
Simple exchanges. Your e-wallet will be credited directly. We will clearly explain the terms for paying back your loan.
Benefit from a dedicated dashboard with comprehensive client activity monitoring, live updates and a portfolio overview.
Looking bright
Stride participates to the financial inclusion in South Africa, giving unbanked individuals access to a loan. This social initiative permits banks to enhance their participation to the South African economy while helping people to develop their financial responsibilities. The default rate calculated by Stride is similar to what banks obtain using traditional scoring methods.
We actively participate in improving financial inclusion around the world. Please don't hesitate to contact us to find out how we can help you.


14 Module attributes
Module attributes in Elixir serve three purposes:
- They serve to annotate the module, often with information to be used by the user or the VM.
- They work as constants.
- They work as a temporary module storage to be used during compilation.
Let's check each case, one by one.
14.1 As annotations
Elixir brings the concept of module attributes from Erlang. For example:
defmodule MyServer do
@vsn 2
end
In the example above, we are explicitly setting the version attribute for that module. @vsn
is used by the code reloading mechanism in the Erlang VM to check if a module has been updated or not. If no version is specified, the version is set to the MD5 checksum of the module functions.
Elixir has a handful of reserved attributes. Here are just a few of them, the most commonly used ones:
@moduledoc
- provides documentation for the current module.@doc
- provides documentation for the function or macro that follows the attribute.@behaviour
- (notice the British spelling) used for specifying an OTP or user-defined behaviour.@before_compile
- provides a hook that will be invoked before the module is compiled. This makes it possible to inject functions inside the module exactly before compilation.
@moduledoc
and @doc
are by far the most used attributes, and we expect you to use them a lot. Elixir treats documentation as first-class and provides many functions to access documentation.
Let's go back to the Math
module defined in the previous chapters, add some documentation and save it to the math.ex
file:
defmodule Math do
@moduledoc """
Provides math-related functions.
## Examples
iex> Math.sum(1, 2)
3
"""
@doc """
Calculates the sum of two numbers.
"""
def sum(a, b), do: a + b
end
Elixir promotes the use of markdown with heredocs to write readable documentation. Heredocs are multiline strings, they start and end with triple quotes, keeping the formatting of the inner text. We can access the documentation of any compiled module directly from IEx:
$ elixirc math.ex
$ iex
iex> h Math # Access the docs for the module Math
...
iex> h Math.sum # Access the docs for the sum function
...
We also provide a tool called ExDoc which is used to generate HTML pages from the documentation.
You can take a look at the docs for Module for a complete list of supported attributes. Elixir also uses attributes to define typespecs, via:
@spec
- provides a specification for a function.@callback
- provides a specification for the behaviour callback.@type
- defines a type to be used in@spec
.@typep
- defines a private type to be used in@spec
.@opaque
- defines an opaque type to be used in@spec
.
This section covers built-in attributes. However, attributes can also be used by developers or extended by libraries to support custom behaviour.
14.2 As constants
Elixir developers will often use module attributes to be used as constants:
defmodule MyServer do
@initial_state %{host: "<IP_ADDRESS>", port: 3456}
IO.inspect @initial_state
end
Note: Unlike Erlang, user defined attributes are not stored in the module by default. The value exists only during compilation time. A developer can configure an attribute to behave closer to Erlang by calling
Module.register_attribute/3
.
Trying to access an attribute that was not defined will print a warning:
defmodule MyServer do
@unknown
end
warning: undefined module attribute @unknown, please remove access to @unknown or explicitly set it to nil before access
Finally, attributes can also be read inside functions:
defmodule MyServer do
@my_data 14
def first_data, do: @my_data
@my_data 13
def second_data, do: @my_data
end
MyServer.first_data #=> 14
MyServer.second_data #=> 13
Notice that reading an attribute inside a function takes a snapshot of its current value. In other words, the value is read at compilation time and not at runtime. As we are going to see, this makes attributes useful to be used as storage during module compilation.
14.3 As temporary storage
One of the projects in the Elixir organization is the Plug
project, which is meant to be a common foundation for building web libraries and frameworks in Elixir.
The Plug library also allows developers to define their own plugs which can be run in a web server:
defmodule MyPlug do
use Plug.Builder
plug :set_header
plug :send_ok
def set_header(conn, _opts) do
put_resp_header(conn, "x-header", "set")
end
def send_ok(conn, _opts) do
send(conn, 200, "ok")
end
end
IO.puts "Running MyPlug with Cowboy on http://localhost:4000"
Plug.Adapters.Cowboy.http MyPlug, []
In the example above, we have used the plug/1
macro to connect functions that will be invoked when there is a web request. Internally, every time you call plug/1
, the Plug library stores the given argument in a @plugs
attribute. Just before the module is compiled, Plug runs a callback that defines a method (call/2
) which handles http requests. This method will run all plugs inside @plugs
in order.
In order to understand the underlying code, we'd need macros, so we will revisit this pattern in the meta-programming guide. However the focus here is exactly on how using module attributes as storage allow developers to create DSLs.
Another example comes from the ExUnit framework which uses module attributes as annotation and storage:
defmodule MyTest do
use ExUnit.Case
@tag :external
test "contacts external service" do
# ...
end
end
Tags in ExUnit are used to annotate tests. Tags can be later used to filter tests. For example, you can avoid running external tests on your machine because they are slow and dependent on other services, while they can still be enabled in your build system.
We hope this section shines some light on how Elixir supports meta-programming and how module attributes play an important role when doing so.
In the next chapters we'll explore structs and protocols before moving to exception handling and other constructs like sigils and comprehensions.


Rank or Die
A Startup Story and a real life survival chronicled in pseudo real-time
a more detailed explanation is forthcoming, and inevitable, and is in fact the purpose of the project(s). Its about 2 people, Americans, 1 a business owner with a trackrecord of success following a particularly bad year getting away for a bit to a vacation gone horribly awry. Nothing though like what is yet to come. They will need to pool their resources and use all their wits to survive and thrive or die on the streets of a foreign land.
- it is with a minimal of pretention
- it is all true
- one or more characters may not survive the story
- no f**** ads
- hopelessly impossible scenarios included
- no rules


make.bettermistak.es
- Fix the Cucumber thing that you started and got side-tracked on.
Review Resources
I’m currently reading:
Resources
- The Cucumber Book
- The RSpec Book recommended by @mathiasx
- Learning Rails 3
- Rails Recipes: Rails 3 - Skimmed over section headings, need a decent refresher before using most material.
- Javascript the Good Parts
- bash Cookbook
- Programming Ruby
- Seven Languages in Seven Weeks
- Agile Web Development with Rails
- Patterns of Enterprise Application Architecture - recommended by @steveklabnik, do not yet own a copy.
Specific topics
- “Cryptic variables” in Ruby (like dollar zero).
Possible projects
Rubini.us ???
Rubini.us / RubySpec improvement (docs?) — Requires install of rubini.us. Is RubySpec directly related? See also: http://www.codelord.net/2011/10/11/submitting-your-first-patch-to-rubinius/
Gender/Sexuality Selectors
Updated Gender/Sexuality Selectors:
http://rarlindseysmash.com/projects/triangleselectors/v2/ Looking for feedback.
Nautical2
if i had all the time in the world, i’d turn http://github.com/catshirt/nautical2 into a full DAW
Rails_Admin
I’d love some help getting https://github.com/sferik/rails_admin ready for the first gem release, if you’re interested in the project.
Oauth support for node.js
better oauth support for node.js. Really, anything that they have in Ruby, but not in node yet.


Those were the days in my 1-2 semister where we were eagerly waiting for our annual day celebrations,for which we hade been participating in sports competitions. As a part of sports competitions,we particpated in cricket matches and in those matches we shouted as a hell and got to each other well.


CANTOR Disaster Management App
About
Profile
Change View
Select information to send
Your Name:
Your Phone Number:
Geolocation
Send


Of Events
Of Events
Of Events
Delay
hrs
hrs
hrs
hrs
hrs
Delay
hrs
hrs
hrs
hrs
hrs
Delay
hrs
hrs
hrs
hrs
hrs
Bottom 5 agents I Sep '14
Agent -
Time (in days) -
Citibank
1.43
ING Romania
2.85
DNB
3.98
Deutsche Bank
4.12
HSBC UK
5.35
Time
Bottom 5 agents I Sep '14
Agent -
Time (in days) -
Citibank
1.43
ING Romania
2.85
DNB
3.98
Deutsche Bank
4.12
HSBC UK
5.35
Time
Bottom 5 agents I Sep '14
Agent -
Time (in days) -
Citibank
1.43
ING Romania
2.85
DNB
3.98
Deutsche Bank
4.12
HSBC UK
5.35
Time
760 Claims
Benchmark
>
>
16.0%
14.0%
12.0%
10.0%
8.0%
6.0%
4.0%
2.0%
0.0%
>
>
>
>
>
>
>
>
Allocation Processed Manually
>
>
Allocation Processed Manually
>
>
Allocation Processed Manually
>
>
>
>
>
Average Workload
Top 5 Agents
>
>
>
Average Workload
Top 5 Agents
>
>
Average Workload
Top 5 Agents
>
>
>
>
>
>
>
>
>
>
>
>
>


I have been a professional tailor since the mid 1970’s, owning a tailor shop in Lincoln Nebraska for 12 years. In 2011, I was priest ordained in the Soto Zen Buddhist tradition in Katagiri’s linage. I have had the privilege of studying with many different zen sewers, and I am trying to keep the traditional garments alive, the Nyoho-e way of sewing. I now view my sewing practice as my way of sharing the Dharma, and as a form of working meditation. All items are custom made to your measurements, traditions, and fabric choices.
I am currently head teacher at Just Sit, Soto Zen in Grand Rapids, in Grand Rapids Michigan. I enjoy spending as much time as I can at Ryumonji Monastery in Northeastern Iowa and Shasta Abbey in Northern California.
Deep Gassho
Shuji Valdene Mintzmye


|
|
oz |
|
|
% |
| USD |
ppb
ppb stands for “price per booze”. Think of it as a unified unit price for all alcoholic beverages. A low ppb means you’re getting a good deal!
We are currently working on a benchmark database which will allow you to easily compare your ppb to other similar drinks. Until then, here are some examples to compare to:
| 24-pack of bud light for $20 | $1.61ppb |
|---|---|
| 6-pack of Dale's Pale ale for $12 | $2.56ppb |
| Bottle of apothic red for $10 | $3.01ppb |
| 750mL of Bulleit Bourbon for $20 | $1.75ppb |


UK pay settlements hit more than 10-year high in October: XpertHR
by ReutersLONDON — British employers offered the largest annual pay rises to staff in more than 10 years during the three months to October, though industry data provider XpertHR warned against drawing broad conclusions due to the small number of deals in the period.
Median annual pay settlements in the three months to October – a period when just 43 pay reviews were reported – jumped to 2.8% from 2.5% in the three months to September, their highest since December 2008.
“A handful of higher-level deals have inflated the median,” XpertHR said.
The 12-month average for pay rises remained at 2.5%, and many employers said they expected this to remain a benchmark for their next pay rises.
Official measures of wage growth, which tend to exceed the XpertHR measure due to promotions and job changes, hit an 11-year high of 3.9% in the three months to July but have fallen back a bit since then.
The Bank of England has warned that pay growth is likely to slow, despite the lowest unemployment rate since 1975, as there are signs that the labor market is softening, such as falls in job vacancies and new hiring. (Reporting by David Milliken Editing by William Schomberg)


For teams that love Agile, CI/CD, DevOps, or fast builds that devs can run on their workstations too.
The name: SERvice VIRTualiztion IUM (inspired by Selenium)
Servirtium is primarily a markdown syntax for recorded and played back HTTP conversations with implementation in a number of languages. You would use Servirtium libraries with automated test scenarios.


Create new OCSP request
Parse loaded/created OCSP request
Select OCSP request file:
Requests:
Requestor name:
Extensions:


There are a number of ways that the user can intervene in the processing of GRIB Collections, all of them controlled by <gribConfig> elements inside the <featureCollection> elements of the TDS configuration catalogs or inside NcML. Its important to understand when these elements are applied and when index files need to be regenerated.
As of version 4.5, there are two stages of processing.
The first stage creates GribCollections, which are collections of GRIB records stored in one or more files. Grib Collections try to make all of the records in the collection available to the user by creating a dataset with two time dimensions, a reference time and a forecast time. At this stage, errors in encoding the GDS (Grid Definition Section, which defines the horizontal coordinate system) can be fixed with gdsHash. Since distinct GDS will generate separate Groups in the CDM object model, fixing errors here will prevent spurious extra groups from being created. One can also control how GRIB records are collected into Variables with pdsHash, how time intervals are handled with intvFilter, and a few other options described below.
If you make changes to any gribConfig parameters that affect stage one processing, you need to delete the CDM index files (*.ncx3) to force them to be recreated. You do not need to delete the gbx9 index files.
The second stage happens when the GribCollection is turned into a NetcdfFile by the GRIB IOSP. At this point, the correct GRIB tables must be identified, and decisions on how to name Groups and Variables are made. Changes to these settings may happen at any time, without having to recreate the collection indices. They will take affect the next time the TDS starts.
These instructions are tailored for TDS users. To work with Grib Collections in client software using the CDM stack, see CDM Grib Files.
<xsd:element name="gdsHash" minOccurs="0"> <xsd:complexType> <xsd:attribute name="from" type="xsd:int" use="required"/> <xsd:attribute name="to" type="xsd:int" use="required"/> </xsd:complexType> </xsd:element>The CDM creates a different group for each different GDS (Grid Definition Section) used in the GRIB collection. It identifies the GDS by creating a hashcode for it, and then creates a separate group for each unique hashcode. Unfortunately, in some cases, GRIB records have GDSs that differ in minor ways, such as the fifth decimal place in the starting x and/or y coordinate. Its clear that these are minor defects in the writing of the GRIB records. If desired, the user can fix these problems through NcML or in the TDS gribConfig element.
First, one must find the GDS hashcodes by using ToolsUI. In the IOSP/GRIB1(2)/GribCollection tab, enter the GRIB file name, which then shows the records in the file. Select the GDS (at the bottom) right click for the context menu and choose: compare GDS. This will show the differences in the GDS and the corresponding hashcodes. If you confirm that they are, in fact, the same GDS, then you can fix this problem, by merging the two groups, for example:
<gribConfig> <gdsHash from="1450218978" to="1450192070"/> </gribConfig>This changes those variables using GDS hashcode ="1450218978" to use "1450192070", which essentially merges the two groups and eliminates the spurious group in the resulting CDM index file.
Sometimes you want to remove spurious records altogether. To do so, set the gdsHash to 0:
<gribConfig> <gdsHash from="1450218978" to="0"/> </gribConfig>will ignore any records with GDS hashcode<PHONE_NUMBER>.
<xsd:element name="pdsHash" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="useGenType" minOccurs="0" maxOccurs="1"/> <xsd:element name="useTableVersion" minOccurs="0" maxOccurs="1"/> <xsd:element name="mergeIntv" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> </xsd:element>
Information from the GRIB record, in particular the PDS (Product Definition Section) is used to group GRIB records into CDM Variables containing multidimensional arrays. This is done by creating a "CDM hashcode" of each record, and then combining all records with the same hashcode into one variable. The CDM makes certain choices on how to do this, that may need to be overriden for a partitcular dataset. Currently most of these setting ar per dataset, and cannot be applied at a finer granularity, with the exception of intvFilter, which applies to specific Variables.
useGenType: GRIB-2 only. Control whether generating type (octet 12) is used in the CDM hashcode. If true, records with different generating types will create different variables. Default is false. Set this to true if, in the same dataset, you have records with the same discipline-category-parameter but with different generating types that should be made into diffeerent variables. By default, different generating types will be ignored.
<gribConfig> <pdsHash> <useGenType>true</useGenType> </pdsHash> </gribConfig>useTableVersion: GRIB-1 only. Control whether table version (octet 4) is used in the CDM hashcode. If true, records with different table versions will create different variables. Default is false. Set this to true if, in the same dataset, you have records with the same parameter number but with different table versions that should be made into different variables. By default, different table versions will be ignored.
<pdsHash> <useTableVersion>true</useTableVersion> </pdsHash>intvMerge: GRIB-1 and GRIB-2. Control whether time intervals are merged. If false, seperate variables are created for each time interval length. Default is true, which will generate "mixed interval variables" if a variable has records of different interval lengths.
<pdsHash> <intvMerge>false</intvMerge> </pdsHash>useCenter: GRIB-1 only. Control whether center (octet 5) and subcenter (octet 26, if > 0) is used in the CDM hashcode when the parameter number > 127. Default is false. Set this to true if, in the same dataset, you have records with the same parameter from different centers that should be made into different variables. By default, different centers will be ignored.
<pdsHash> <useCenter>true</useCenter> </pdsHash>
<xsd:element name="intvFilter" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="variable" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:attribute name="id" type="xsd:string" use="required"/> <xsd:attribute name="prob" type="xsd:string" use="optional"/> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="excludeZero" type="xsd:boolean" use="optional"/> <xsd:attribute name="intvLength" type="xsd:int" use="optional"/> </xsd:complexType> </xsd:element>
GRIB makes extensive use of time intervals as coordinates. In CF, time interval coordinates use an auxiliary coordinate to describe the intervals, for example a coordinate named time1(30) will have an auxiliary coordinate time1_bounds(30,2) containing the lower and upper bounds of the time interval for each coordinate. Currently, the CDM places all intervals in the same variable (rather than create seperate variables for each interval size), unless intvMerge is set to false. When all intervals have the same size, the interval size is added to the variable name. Otherwise the phrase "mixed_intervals" is added to the variable name.
Generally, the CDM places the coordinate value at the end of the interval, for example the time interval (0,6) will have a coordinate value 6. The CDM looks for unique intervals in constructing the variable. This implies that the coordinate values are not always unique, but the coordinate bounds pair are always unique. Application code needs to understand this to handle this situation correctly, by checking CoordinateAxis1D.isInterval() or CoordinateAxis2D.isInterval()
NCEP GRIB2 model output, at least, has some issues that we are slowing learning how best to deal with. Currently there are two situations which the user can fix:
- excludeZero:
- GRIB-1: By default, intervals of length 0 are included. You can choose to ignore zero length intervals by setting excludeZero="false".
- GRIB-2: By default, intervals of length 0 are excluded. You can choose to include zero length intervals by setting excludeZero="true".
- intvLength: By default, intervals of all lengths (except 0 for GRIB-2) are used. You can choose that certain parameters use only selected intervals. This is helpful when the parameter has redundant mixed levels, which can be derived from the set of intervals of a fixed size . For example, the 3 hour intervals (0,3), (3, 6), (6,9), (9,12) intervals are all present, and so other intervals (0,6), (0, 9), (0,12) can be ignored.
Here are examples using NcML:
<gribConfig>
1) <intvFilter excludeZero="false"/>
2) <intvFilter intvLength="3">
<variable id="0-1-8"/>
<variable id="0-1-10"/>
</intvFilter>
</gribConfig>
- Do not ignore 0 length time intervals.
- For variables 0-1-8 and 0-1-10, only include records with time interval length = 3. This will simplify those variables so that they only contain 3 hour intervals, instead of a mixture of intervals.
- GRIB-1 uses ids of center-subcenter-version-param, eg "7-4-2-132".
- GRIB-2 uses ids of discipline-category-number, eg "0-1-8".
Also see CDM docs.
option: set miscellaneous values
Miscellaneous values that control how the GribCollection is made can be set with option elements. All option elements are key / value pairs.
timeUnit
The unit of the time coordinates is taken from the first GRIB record in the collection. Occasionally you may want to override this. The value must be a valid string for ucar.nc2.time.CalendarPeriod.of( timeUnit)
<gribConfig> <option name="timeUnit" value="1 minute" /> </gribConfig>unionRuntimeCoord
When multiple reference times are in the same dataset, but they differ for different variables, by default unique runtime coordinates are created. These can proliferate in a large collection, differing only by a few missing records. By setting the runtimeCoordinate option to "union", you can force all variables to use the same runtime coordinates, at the cost of some extra missing values. This happens only at the leaf collections (eg. a file or directory).
<gribConfig> <option name="runtimeCoordinate" value="union" /> </gribConfig>
Stage Two: NetcdfFile Creation
gdsName: Rename groups
When a dataset has multiple groups, the groups are automatically named by the projection used and the horizontal dimension size, eg LatLon-360x720.
A user can set group names manually in the TDS configuration catalog. To do so, find the group hash as in the gdsHash example above. Then use the gdsName element like this:
<gribConfig> <gdsName hash='-1960629519' groupName='KTUA Arkansas-Red River RFC'/> <gdsName hash='-1819879011' groupName='KFWR West Gulf RFC'/> <gdsName hash='-1571856555' groupName='KORN Lower Mississippi RFC'/> ... </gribConfig>The groupName is used in URLs, so dont use any special characters, like ":".
ToolsUI will generate the XML of the GDS in a collection. Open the collection in IOSP/GRIB1(2)/GribCollection tab, and click on the "Show GDS use" button on the top right. This will create a template you can then modify:
<gdsName hash='1450192070' groupName='Gaussian latitude/longitude-576X1152'/>TDS only
datasetTypes: Define which datasets are available in the TDS catalog. By default, all are enabled.
- TwoD: the full dataset with two time coordinates: runtime and forecast time
- Best: the "best timeseries" of the collection dataset, one time coordinate (forecasst time)
- Latest: add latest resolver dataset to catalog
- Files: show component files, allow them to be downloaded via HTTP. (For File partitions which have a single file in each partition, this functionality is enabled by including an HTTPServer in the services.)
<gribConfig datasetTypes="TwoD Best Latest" />latestNamer: Rename the latest file dataset
Change the name of the latest file dataset in the collection, as listed under the Files entry (the default name is "Latest File"). The datasetTypes options LatestFile and Files, must be enabled. Note that this does not affect dataset urlPath, which is always latest.xml.
<gribConfig> <latestNamer name="My Latest Name"/> </gribConfig>bestNamer: Rename the Best dataset
Change the name of the Best dataset in the collection (the default name is "Best Timeseries"). The datasetTypes Best option must be selected. Note that this does not affect dataset urlPath.
<gribConfig> <bestNamer name="My Best Name" /> </gribConfig>filesSort: Sort the dataset listings under the Files dataset
Sort the files lexigraphically, either increasing or decreasing (default GRIB Feature Collection behavior is the same as increasing = True).
<gribConfig> <filesSort increasing="false" /> </gribConfig>
gribConfig XML Schema
The gribConfig schema definition, version 1.07
see: https://schemas.unidata.ucar.edu/thredds/InvCatalog.1.0.7.xsd
<xsd:complexType name="gribConfigType"> <xsd:sequence> 1)<xsd:element name="gdsHash" minOccurs="0"> <xsd:complexType> <xsd:attribute name="from" type="xsd:int" use="required"/> <xsd:attribute name="to" type="xsd:int" use="required"/> </xsd:complexType> </xsd:element> 2)<xsd:element name="gdsName" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:attribute name="hash" type="xsd:int"/> <xsd:attribute name="groupName" type="xsd:string"/> </xsd:complexType> </xsd:element> 3)<xsd:element name="pdsHash" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="useGenType" minOccurs="0" maxOccurs="1"/> <xsd:element name="useTableVersion" minOccurs="0" maxOccurs="1"/> <xsd:element name="mergeIntv" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> </xsd:element> 4)<xsd:element name="intvFilter" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="variable" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:attribute name="id" type="xsd:string" use="required"/> <xsd:attribute name="prob" type="xsd:string" use="optional"/> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="excludeZero" type="xsd:boolean" use="optional"/> <xsd:attribute name="intvLength" type="xsd:int" use="optional"/> </xsd:complexType> </xsd:element> 5)<xsd:element name="timeUnitConvert" minOccurs="0"> <xsd:complexType> <xsd:attribute name="from" type="xsd:int" use="required"/> <xsd:attribute name="to" type="xsd:int" use="required"/> </xsd:complexType> </xsd:element> 6)<xsd:element name="parameter" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="value" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element> 7)<xsd:element name="latestNamer" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:complexType> </xsd:element> 8)<xsd:element name="bestNamer" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:complexType> </xsd:element> 9)<xsd:element name="filesSort" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:choice> <xsd:element name="lexigraphicByName"> <xsd:complexType> <xsd:attribute name="increasing" type="xsd:boolean"/> </xsd:complexType> </xsd:element> </xsd:choice> <xsd:attribute name="orderBy" type="xsd:string" use="required"/>
<xsd:attribute name="increasing" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> </xsd:sequence> 10) <xsd:attribute name="datasetTypes" type="gribDatasetTypes"/> </xsd:complexType><xsd:simpleType name="gribDatasetTypes"> <xsd:union memberTypes="xsd:token"> <xsd:simpleType> <xsd:restriction base="xsd:token"> <xsd:enumeration value="TwoD"/> <xsd:enumeration value="Best"/> <xsd:enumeration value="Files"/> <xsd:enumeration value="Latest"/> </xsd:restriction> </xsd:simpleType> </xsd:union> </xsd:simpleType>
- gdsHash: Fix errors in GDS encoding
- gdsName: Set group names
- pdsHash: Control how GRIB records are grouped into variables
- intvFilter: control how time intervals are handled
- timeUnitConvert: do not use
- parameter: set miscellaneous values
- latestName: Rename the latest file dataset
- bestNamer: Rename the best file dataset
- filesSort: sort order of files in the TDS catalog
- datasetTypes: which datasets appear in the TDS catalog:
- TwoD: the full dataset with two time dimensions, reference time and forecast time.
- Best: the "best timeseries" of the collection dataset
- Files: each physical file is exposed as a dataset that can be downloaded.
- Latest: add latest resolver dataset to Files catalog (Files must also be selected)
This document was last updated April 2015


MassDOT ready to take on winter months thanks to new technology
by Scott McDonnellBOSTON - We're getting our firsts tastes of winter and the Massachusetts Department of Transportation has some new tools and technology they will be using to try to tackle rough roads.
It was during the heart of summer when planning for winter first started. Technology will be big this year, like taking the temperature of the roads, then using GPS on trucks and equipment to get crews out to treat the roads that need it the most.
Related Headlines
MassDOT has up to 4,300 pieces of equipment it can unleash to tackle tough roads if a major snowstorm hits. To handle ice, the salt sheds across Mass. are at 78% with more deliveries en route this year.
Another focus this year from MassDOT is cleaning up bike lanes and sidewalks, which is always a challenge because the snow has to physically be removed and can't just be pushed to the side.
>> MBTA investigating derailment of new Orange Line train car


{{author}}
Name
Author's Name
Language
ISBN
Genre
Edition
Copies
Issued Copies
{{book.name}}
{{book.author.name}}
{{book.lang}}
{{book.isbn}}
{{book.genre}}
{{book.edition}}
{{book.copies}}
{{book.icopies}}
Back to Home Page
Logout


pop
pop()
NodeBox is a so-called state-machine. For example, once rotate(45) is called, all subsequent shapes, paths, text and images are rotated 45 degrees. The rotation state is 45 degrees. The push() and pop() commands allow for a state within a state. All transformations, such as rotate() and skew(), defined between a push() and pop() call last only until pop() is called. Thereafter the previous state is used. For example, a rotate(-30) within a rotate(45) means a rotation state of 15 degrees until pop() is called and the rotation state becomes 45 degrees again.
|
rotate(45)
text("45 degrees", 50, 80)
push()
rotate(-30)
text("15", 50, 50)
pop()
text("45 degrees...", 50, 60) |


Beta This is a test version of the layout of this page. Take the survey to help us improve it
Guidance
Find a leadership coach using the Women Leading in Education coach directory.
Leadership coaching pledge is one of the measures announced by government to support women in teaching.
Coaching is at no cost to participants.
This directory lists the details of coaches that have volunteered. Please use it to identify a coach. You can search by locality and school phase. We’ll update the directory regularly.
All coaches have volunteered their time and have specified their availability in the directory.
If you’re interested in becoming a coach read Women Leading in Education: become a coach .
If you would like to find out more about receiving coaching read Women Leading in Education: get leadership coaching .


If you were to just take the average of all the voxels in the cortical thickness image, you would be including a lot of extra non-cortical voxels that will GREATLY skew your data!
In order to deal with this issue, if you use the gray matter segmentation as a mask, then when you acquire the average thickness, it will be for the cortical regions only. Remember the the human cortex ranges from about 1 to 4mm in thickness with an average around 2.5 to 3mm.
Generate Data
In order to extract the average cortical thickness in a single participant:
Let’s compare the output if we didn’t run this code, but ran the code to just get the average intensity of ALL the voxels:
Obvious a cortical thickness of 0.271343 is not valid. With the correct code you can see that the average thickness is actually 4.09824 \( \pm \) 1.42453.
If you want to try and run this specifically with our course dataset:
Regular Expressions
The file is not perfectly formatted so that it can be easily imported into R or even useful in Excel. Some editing of the file needs to happen and we can use the power of Regular Expressions in Terminal to edit the file. Just make sure to change the username in the first line of the code.
Note this code works for the SOBIK dataset. If you have different subject IDs, you’ll need to edit the regular expression in line #5. If you need more help figuring out regular expressions visit this website here:


While staying in America working for this company I in charge of various sites. My duties consisted of ensuring that the job did not go overtime. It was also my responsibility to ensure the relevant tasks where carried out. While employed by GOC Construction I partook in carpentery, plumbing,tiling and painting.
While working at the anglers rest I had a variety of duties , foremost among serving and waiting on the customers. I was also in charge of closing the bar, ensuring the cash count matched the tills, and actually locking the bar up
I am currently still employed at tesco and am charge of various elements in tesco daily routine. It is my responsibility to bring in the delivery and ensure it is then transfered to the shelves in order to keep the store stocked for customers.


This project is using Angular Framework. We use angular-cli for both scaffolding and building our project. This seems to be the best and most efficient way of reaching our goal.
bash
yarn install
bash
yarn client
This will run a continuous build and browsersync session for the frontend. Use this if you are developing the client. This starts up a small development server on localhost:4200, with a proxy to the backend so all api calls will work seamlessly.
You can debug this project using VsCode. There's a launch configuration Client
attached which will pull up a detached Chrome instance, and breakpoints can be set directly in VsCode.
You can also debug the unit tests using a launch configuration called Client Test
.
The project contains unit tests for every component, directive, pipe and service. We run the unit tests on every github push, so we don't break anything before a deploy - which is also triggered by a github push. In order to run them manually:
yarn test
We've also added end to end integration tests served using protractor and a separate database structure. The following will setup a docker container with a clean mysql database setup with default data. It will start up a server with a minimum of logging, so as not to clutter test output, and finally it will run the selenium driven protractor tests in a chrome instance.
yarn e2e
The database will be dropped when the tests complete. If it for any reason should still persist (you can check using docker ps
), you can clean up using
yarn poste2e


CodeBank is a permanent repository for every codified version of an online code. Each time the online code is updated, the previous version is archived in the CodeBank repository.
If you only see the current version, CodeBank has just been turned on for this publication. Rest assured that after the next update to the code, the drop down will begin to show archived versions.
If you are a municipal government user and would like to populate CodeBank with prior code versions instead of waiting for your next update, please contact our Sales Department at 1-800-262-2633 or<EMAIL_ADDRESS>for more information.


Big Data for Dead People notes
Notes from Tim Hitchock blog post http://historyonics.blogspot.ca/2013/12/big-data-for-dead-people-digital.html
Do format shifts of data also shift our thinking? How?
Distant reading - text analysis
Dialogue analysis. Period representation e.g Mad Men vs contemporary literature, overstated language disconnect. e.g outside world (early); emotions (later) = "evolution of masculinity" as a way of highlighting change. Normative analysis via Ngram & Google books.
(Ben Schmidt)
Our inquiry is bound by our technology; limiting the extent at which we can ask good questions.
Inclusion of other texts beyond "text" from other sources beyond the common patriarchal dominant writers
combine close & distant reading;
Sarah Durrant - imprisonment photo & trial text, using xml to mark up "speech acts" cross referencing demographic data about Sarah, maps, census data, allowing a "new kind of close reading"
use Voyant tools to turn historical reading into a linguistic one; compare trial text to newspaper text. compare to contemporary google books brings fuller context; police & court, plea bargaining, difficult to navigate for poor and elderly
odd use of "vanilla sex" as an analogy for how heavily relied upon text is for context
use of the word "haptic" (sense of touch, manipulation of objects) immersive simulation (cow birth) / 3d text / aural (John Donne's sermons in 1620s)
Katy Börner's notion of a Macroscope (large and small)
"conundrums of positivism" - technology is still defining the questions we ask
pushing towards social science
code as metaphor (plus lots of deep digging into geospatial google earth recreations of time and place through GIS that I am not fully grasping the aha importance of yet.
left my first hypothesis note (there are no other hypothesis notes here, why?) Is he saying something about inductive vs deductive methods? Where typically historians have a model or a hypothesis but now they are allowing the data to tell the story?
Letting your data tell a story is dangerous c.f. climate change and pirates
I wonder about the emergence of non-historical thinkers who like code who encroach on the discipline
Joys of Abundance
The Historian's Macroscope: Big Digital History,. "The Joys Of Abundance: The Era Of Big Data". N. p., 2016. Web. 17 Jan. 2016
http://www.themacroscope.org/?page_id=17
Franco Moretti in his Graphs, Maps, Trees
Margaret Cohen
disciplinal mosaic: oral historians, GIS historians, community-based historians, digital historians
Seams and Edges
title: Research notes for Seams And Edges author: Giulia Forsythe date: January 19, 2016 bibliography: project.bib csl: mla.csl
pandoc way: [@sherratt_seams_2015]
old fashioned way: Sherratt, Tim. "Seams And Edges: Dreams Of Aggregation, Access & Discovery In A Broken World".discontents (2015):. Web. 19 Jan. 2016. http://discontents.com.au/seams-and-edges-dreams-of-aggregation-access-discovery-in-a-broken-world/
collapse of time and space (historically not new) using collections of metadata to search the web
existential questions within Google search [black box search]
or reinforce existing prejudices within our "cultural record"
seam as metaphor for construction between collection data and online representation
"they have been created by many acts of selection, neglect, vision, accident and planning"
http://trove.nla.gov.au/
5,273,600 (at time of writing Feb 15) now 6,523,415 has:corrections one year later
http://dhistory.org/querypic/ language comparison?
dangers of the platform metaphor for trove
need a better term than user for online collaborators/engagers in social platforms
seams as speed bumps - sites of collaboration, negotiation and repair


|
Files | |
| file | MSNP-driver.h |
Mindsensors Numeric Keypad Sensor driver. | |
Defines | |
| #define | MSNP_I2C_ADDR 0xB4 |
| #define | MSNP_DATA_REG 0x00 |
| #define | KEY_STATUS_REG 0x00 |
Functions | |
| bool | _MSNPinit (tSensors link) |
| bool | MSNPscanKeys (tSensors link, int &pressedKeys, unsigned byte &key, int &number) |
| int | MSNPscanKeys (tSensors link) |
Variables | |
| tByteArray | MSNP_I2CRequest |
| tByteArray | MSNP_I2CReply |
| const unsigned byte | MSNP_KeyMap [] = { '#', '9', '6', '3', '0', '8', '2', '5', '*', '7', '1', '4' } |
| const byte | MSNP_NumMap [] = { -1, 9, 6, 3, 0, 8, 2, 5, -2, 7, 1, 4} |
| const unsigned byte | MSNP_ConfigGroup1 [] = {10, MSNP_I2C_ADDR, 0x2B, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0xFF, 0x02} |
| const unsigned byte | MSNP_ConfigGroup2 [] = {16, MSNP_I2C_ADDR, 0x41, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A} |
| const unsigned byte | MSNP_ConfigGroup3 [] = {14, MSNP_I2C_ADDR, 0x4F, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A} |
| const unsigned byte | MSNP_ConfigGroup4 [] = { 5, MSNP_I2C_ADDR, 0x5C, 0x0B, 0x20, 0x0C} |
| const unsigned byte | MSNP_ConfigGroup5 [] = { 3, MSNP_I2C_ADDR, 0x7B, 0x0B} |
| const unsigned byte | MSNP_ConfigGroup6 [] = { 5, MSNP_I2C_ADDR, 0x7D, 0x9C, 0x65, 0x8C} |
| bool | _MSNPinitialised [] = {false, false, false, false} |
Numeric Keypad Numeric Keypad Sensor
| #define KEY_STATUS_REG 0x00 |
Definition at line 47 of file MSNP-driver.h.
| #define MSNP_DATA_REG 0x00 |
Data registers start at 0x00
Definition at line 41 of file MSNP-driver.h.
| #define MSNP_I2C_ADDR 0xB4 |
Numeric Pad I2C device address
Definition at line 40 of file MSNP-driver.h.
| bool _MSNPinit | ( | tSensors | link ) |
Initialise the numeric pad sensor chip. This must be done at the beginning of every power cycle
Note: this is an internal function and should not be called directly.
| link | the MSNP port number |
Definition at line 69 of file MSNP-driver.h.
| int MSNPscanKeys | ( | tSensors | link ) |
Scan the keypad for pressed keys. This returns immediately.
| link | the MSNP port number |
Definition at line 149 of file MSNP-driver.h.
| bool MSNPscanKeys | ( | tSensors | link, |
| int & | pressedKeys, | ||
| unsigned byte & | key, | ||
| int & | number | ||
| ) |
Scan the keypad for pressed keys. This returns immediately.
| link | the MSNP port number |
| pressedKeys | a binary representation of all keys pressed |
| key | character representation of the first key pressed, X if no key was pressed |
| number | the numeric equivalent, 0-9 for digits, -1 for # and -2 for *, -255 when nothing is pressed |
Definition at line 108 of file MSNP-driver.h.
| bool _MSNPinitialised[] = {false, false, false, false} |
Definition at line 59 of file MSNP-driver.h.
| const unsigned byte MSNP_ConfigGroup1[] = {10, MSNP_I2C_ADDR, 0x2B, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0xFF, 0x02} |
Definition at line 52 of file MSNP-driver.h.
| const unsigned byte MSNP_ConfigGroup2[] = {16, MSNP_I2C_ADDR, 0x41, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A} |
Definition at line 53 of file MSNP-driver.h.
| const unsigned byte MSNP_ConfigGroup3[] = {14, MSNP_I2C_ADDR, 0x4F, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A, 0x0F, 0x0A} |
Definition at line 54 of file MSNP-driver.h.
| const unsigned byte MSNP_ConfigGroup4[] = { 5, MSNP_I2C_ADDR, 0x5C, 0x0B, 0x20, 0x0C} |
Definition at line 55 of file MSNP-driver.h.
| const unsigned byte MSNP_ConfigGroup5[] = { 3, MSNP_I2C_ADDR, 0x7B, 0x0B} |
Definition at line 56 of file MSNP-driver.h.
| const unsigned byte MSNP_ConfigGroup6[] = { 5, MSNP_I2C_ADDR, 0x7D, 0x9C, 0x65, 0x8C} |
Definition at line 57 of file MSNP-driver.h.
Array to hold I2C reply data
Definition at line 44 of file MSNP-driver.h.
Array to hold I2C command data
Definition at line 43 of file MSNP-driver.h.
| const unsigned byte MSNP_KeyMap[] = { '#', '9', '6', '3', '0', '8', '2', '5', '*', '7', '1', '4' } |
Definition at line 49 of file MSNP-driver.h.
| const byte MSNP_NumMap[] = { -1, 9, 6, 3, 0, 8, 2, 5, -2, 7, 1, 4} |
Definition at line 50 of file MSNP-driver.h.


We are a group of Converge students who carry out evaluations of mental health and
community projects. Our mission is to listen to people with mental health issues to
influence service provision through research and evaluation.
CERT members have a huge range of experience from absolute beginners to people with
PhDs. We are keen to offer comprehensive training to new members to allow students to be
fully involved in projects they are interested in.
Developing and using inventive approaches such as artwork, photography and creative
writing, we specialise in finding ways to support people who find it hard to express
themselves to take part in evaluations and research.
If you are interested in joining CERT, please contact the Converge office:
Email -<EMAIL_ADDRESS>Mobile - 07764 337116
Facebook - facebook.com/converge.york
Twitter - @ConvergeYork
Instagram - @convergeyork
Our Tuesday meetings and project management process
The Converge Evaluation and Research Team meet every Tuesday between 11 and 12.30.
In these meetings, we collectively discuss the projects we are currently working on. We
usually have several projects running simultaneously. In addition, we often use this time to
discuss new methodologies and ideas we can use in our work. We are always open to new
ideas from members.
We have a project management process, where more experienced members of CERT
become project managers. They take the lead on co-ordinating the work arising from that
specific project. Project managers organise any project work which is done outside of the
Tuesday morning meetings, and it’s their role to help any CERT members who want to be
involved in that project to participate in it.
CERT members are welcome to be involved in specific projects as much or as little as they
want, they can focus on the bits which interest them.
CERT members do not have to engage in specific projects if they don’t want to. If they
prefer, they can just contribute at the Tuesday meeting.
Emotional support
In the course of CERT’s work, it is possible that you come across things which may cause you
emotional distress. To prepare for it, CERT always discuss before a project begins what is
likely to come up for members, and how to manage this. This may include planning and
putting in place support CERT members might need to participate.
CERT is a very emotionally aware group and no pressure will be put on members to do
things they are not comfortable with. Members can not engage in, or withdraw from
research projects as they need to, without needing to explain why.
Should you need it, further emotional support can be arranged through Converge.
Training and development opportunities and benefits
CERT strongly believe in the importance of members receiving training and development in
research related skills.
As a group, we regularly look for new ideas for research methods we can try out.
Occasionally, more formal training courses are on offer. If you have an interest in such
training, you should discuss it with Nick.
Some CERT members are engaged in more academic work, including publishing papers,
presenting posters at conferences and leading workshops. If they are interested, new
members are encouraged to get involved in this sort of work with full support from more
experienced members.


Home
(current)
News
About
Publications
Research
Projects
Teaching
Connect
Let's Connect
Want to join my lab!
Send me your resume or CV


Language Survey Suggester
Will you pursue a career in design?
Yes
No
Will you suggest yout friends to learn coding?
Yes
No
Do you have any doubts in studying?
Yes
No
Will try a different languages?
Yes
No
Do you have strong intrest in learning new skills?
Yes
No
Suggest
We suggest
seems like a good option for you!


three databases: events, schedule names, schedule times
Read recv params, do a bunch of date math to get a time range of events to fetch, then query the database for the events and schedules as necessar.
the fetched data, or false if no data is availible or invalid parameters are revieved
Take the data from the cloud and "decompress" it (convert it from an array to an object). Used to save a few characters when sending the data over the internet.
the compressed data arrays
the event data objects
Delete any events that are cancelled, remove events that end before today, then add and replace events based on data.
the data from the cloud
if the data got updated or not
Generated using TypeDoc
Class which parses and stores calendar events and school schedules.
This is almost certainly the most complicated peice of code in this project. I built it that way because I learned early on that the fewer database operations you do, the faster your storage mechanism will run. As such, parameters from individual UIUtil.UIItem classes are first combined and then the database is queried, which results in a lot of date and time math and hinky booleans to cut a few operations here and there. Data from the cloud is "compressed" into an array instead of an object, and will need to be decoded before it can be used with the CalDataManage.inflateCalCloudData function. I also split schedules into two parts (times and period names), which means in order to determine the schedule you need to query the events, then the period names, then the time associated with that. In hindsight, this was very dumb and there should at least be some sort of caching involved, but I'll let you figure that out.
Data returned from this class is structured as shown in the interface EventDataRet.


11/14/2012
AI in Videogames
This is a talk given by a professionnal video game developer and former robotics
researcher at Carnegie Mellon University on the benefits of video games in the field
of AI. This specific excerpt is an overview of the benefits of programming AI in the
context of a virtual environment rather than a real environment.


Purchasing Hextrapolate
Purchase Hextrapolate and you will receive a license code via email as soon as the transaction is complete.
To purchase a Hextrapolate license:
- From the Hextrapolate menu select “Buy now…”
- Choose the appropriate license type (single-user, multi-user) and proceed to the checkout
- An automated system will issue you with a license code via email
Once you have received your license code you may use it to register Hextrapolate.


folder_shared
Documents
video_call
Video Conference
show_chart
Vitals
Stethoscope
Medical Video
ECG
notes
Notes
chat_bubble_outline
Chat
Station:
Exam Room 1
Organization:
AMD Global Telemedicine
folder_shared
Documents
chevron_right
help_outline
Selected
Save to EMR
Export to PDF
Delete
Action:
File
Select All
Vitals
Exam Camera High
ExamCameraHigh1
GeneralPatientForm
Vitals
Vitals
video_call
Video Conference
close
help_outline
settings
Settings!
Settings pt 2
More Settings
arrow_drop_down
Call
Dr. one
Dr. two
Dr. three
Hang Up
Hold
Self View
Microphone:
Audio:
Video:
Audio Only:
phone
Call
expand_less
chevron_left
stop
chevron_right
expand_more
add
remove


1. Find PI to the Nth Digit -
Enter a number and have the program generate PI up to that many decimal places.
Keep a limit to how far the program will go.
Decimals?:
Answer:
2. Find e to the Nth Digit -
Just like the previous problem, but with e instead of PI.
Enter a number and have the program generate e up to that many decimal places.
Keep a limit to how far the program will go.
Decimals?:
Answer:
3. Enter a number and have the program generate the
Fibonacci sequence to that number or to the Nth number (next number in the sequence
is the sum of the two previous numbers).
Calculate the Fibonacci Sequence up to times.
Answer:
4. Prime Factorization - Have the user enter a number
and find all Prime Factors (if there are any) and display them.
Calculate Prime Factors for:
Answer:
5. Next Prime Number -
Have the program find prime numbers until the user chooses
to stop asking for the next one.


Select the manage users page:
To approve a user: Click or tap the approve button on the user to approve.
To delete a user: Click or tap the delete button on the pending user to delete.
To add a new user:
Fill out the desired details and press the submit button on the add new user section. Once this is done the page will update automatically and display this new user in the pending users section.


I am a very interesting person... sort of. I have done a little bit of work with HTML and Python, but my programming experience is fairly limited. This is my first complete website, and I am very excited to see what I can do with it. I am an avid linux user, and my choice OS would be either Debian or Ubuntu. I also openly and completely support the Open Sourced Initiative. I enjoy mid-2000's games, and certain other times too.


Whatever the forum, whatever the audience, it’s always the first question I hear when I talk to people about sustainability and personal impact. We all want to make a difference on climate change, but many of us don’t know how we can or where to begin. It can seem overwhelming. The good news is that even on a challenge as huge as global climate change, everyday people can make a real difference in their everyday lives.
Do you ever think about how many decisions you make on a daily basis?
Research shows that the average person makes around 35,000 decisions every single day. For all of us, these decisions are opportunities to have a powerful impact on our climate. Some may be inconsequential (like which shoe to put on first or what to listen to on your way to work). However, the majority can have a tremendous positive impact if we’re intentional about them.
Decisions like:
What you can do to help reduce your carbon footprint depends on where you live, the resources you have, and how much time you can give. If you want to do something about global warming, however, then simple changes can have a big impact. Here are some straightforward solutions that you can implement right away:
Alternative or renewable energy sources aren’t based on resources that are in limited supply on Earth; instead, they’re captured from processes (such as wind, waves, and sunshine) that are continually being driven by energy from the sun or created using materials (such as water) that are naturally renewed through Earth’s processes.
Most of the energy fueling today’s industrial societies and the developing world comes from burning fossil fuels, such as coal, oil, and natural gas. Fossil fuel and nuclear energy sources rely on finding and then destroying geologic resources, such as coal, plutonium, and uranium.
These resources are in limited supply on the planet, and over the last century, coal, oil, and natural gas in particular have become more difficult to access. At some point, the cost of extracting and processing fossil fuels will be more than the returns in energy they provide.
And while nuclear energy is a powerful alternative, it also relies on stores of the geologic resource uranium, which is in abundant but still limited supplies.
The diagram shows some alternative energy resources.
4 easy ways to make your holiday season kind to the planetSustainable season's greetings!
Learn more about how to have a sustainable Christmas: https://wef.ch/2P55Lx4
Posted by World Economic Forum on Tuesday, 10 December 2019
4 countries that are making clean energy a way of lifeThe future is green.
📕 Read more: https://wef.ch/2EkLUnu
Posted by World Economic Forum on Monday, 16 December 2019
This extraordinary vertical farm uses 95% less water than traditional farmsInnovations like this give us #ClimateHope. (via World Economic Forum)
Posted by Climate Reality on Wednesday, 27 November 2019
This UK student has created a bioplastic that breaks down in just 6 weeksHere’s a little #ClimateHope to end your week! (via. World Economic Forum)
Posted by Climate Reality on Friday, 22 November 2019
Who Is Responsible for the Climate Crisis?We need to hold big polluters accountable. (via The Years Project)
Posted by Climate Reality on Wednesday, 27 November 2019
Italy is making studying climate change in schools compulsoryHere’s a little #ClimateHope to end your work week! (via World Economic Forum) ✏📓
Posted by Climate Reality on Friday, 8 November 2019


Alejandro Garcia-Ochoa
Objective Statement
My goal in attending Code Fellows is to become a Web Developer.
To build things that people will use and enjoy.
Employment History
- Certified Interpreter
- Various Jobs
Education
- University of Washington Tacoma
- Bachelor of Science in Information Technology
Things I Like
- Football
- Beer, Pizza
- Coding!
Things I Don't Like
- Warm Beer or Soda
- Traffic
Top Six Facts About Me
- Star Wars Fan
- Climate Change Believer
- I want to travel across Europe
- I am done with Politics!
- I have lived in Seattle for the last 10 years
- Coffee Lover


|
App Engine Python SDK
v1.6.9 rev.445
The Python runtime is available as an experimental Preview feature.
|
Public Member Functions | |
| def | __init__ |
| def | next |
| def | to_json |
| def | __str__ |
| def | from_json |
| def | validate |
| def | split_input |
| Public Member Functions inherited from google.appengine.ext.mapreduce.input_readers.InputReader | |
| def | __iter__ |
| def | next |
| def | from_json |
| def | to_json |
| def | split_input |
| def | validate |
| Public Member Functions inherited from google.appengine.ext.mapreduce.json_util.JsonMixin | |
| def | to_json_str |
| def | from_json_str |
Static Public Attributes | |
| string | BLOB_KEYS_PARAM = "blob_keys" |
| string | INITIAL_POSITION_PARAM = "initial_position" |
| string | END_POSITION_PARAM = "end_position" |
| string | BLOB_KEY_PARAM = "blob_key" |
| Static Public Attributes inherited from google.appengine.ext.mapreduce.input_readers.InputReader | |
| expand_parameters = False | |
| string | NAMESPACE_PARAM = "namespace" |
| string | NAMESPACES_PARAM = "namespaces" |
Input reader for a newline delimited blob in Blobstore.
| def google.appengine.ext.mapreduce.input_readers.BlobstoreLineInputReader.__init__ | ( | self, | |
| blob_key, | |||
| start_position, | |||
| end_position | |||
| ) |
Initializes this instance with the given blob key and character range. This BlobstoreInputReader will read from the first record starting after strictly after start_position until the first record ending at or after end_position (exclusive). As an exception, if start_position is 0, then this InputReader starts reading at the first record. Args: blob_key: the BlobKey that this input reader is processing. start_position: the position to start reading at. end_position: a position in the last record to read.
| def google.appengine.ext.mapreduce.input_readers.BlobstoreLineInputReader.__str__ | ( | self | ) |
Returns the string representation of this BlobstoreLineInputReader.
| def google.appengine.ext.mapreduce.input_readers.BlobstoreLineInputReader.from_json | ( | cls, | |
| json | |||
| ) |
Instantiates an instance of this InputReader for the given shard spec.
| def google.appengine.ext.mapreduce.input_readers.BlobstoreLineInputReader.next | ( | self | ) |
Returns the next input from as an (offset, line) tuple.
| def google.appengine.ext.mapreduce.input_readers.BlobstoreLineInputReader.split_input | ( | cls, | |
| mapper_spec | |||
| ) |
Returns a list of shard_count input_spec_shards for input_spec. Args: mapper_spec: The mapper specification to split from. Must contain 'blob_keys' parameter with one or more blob keys. Returns: A list of BlobstoreInputReaders corresponding to the specified shards.
| def google.appengine.ext.mapreduce.input_readers.BlobstoreLineInputReader.to_json | ( | self | ) |
Returns an json-compatible input shard spec for remaining inputs.
| def google.appengine.ext.mapreduce.input_readers.BlobstoreLineInputReader.validate | ( | cls, | |
| mapper_spec | |||
| ) |
Validates mapper spec and all mapper parameters. Args: mapper_spec: The MapperSpec for this InputReader. Raises: BadReaderParamsError: required parameters are missing or invalid.


{{output}}
run
function will be executed.context
parameter is an object providing a log
method as
a replacement for the standard println
function.run
is printed, too.Golo Web Console. Copyright © 2013 Julien Ponge.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Statistics
Total:
-
, Processed:
-
, Will be saved:
-
Deep Search (
0
)
Level
File Size
Min
bytes
Max
bytes
If unknown
Skip
Save
Dimensions (pixels)
Min width
Max width
Min height
Max height
If unknown
Skip
Save
Image Types
All images
Selection
JPG/JPEG images
PNG images
GIF images
BMP images
If no extension, save as JPG
Regular Expressions
Regular expression based on images URL (only matching images will be saved)
Only save images from the same domain/server as the selected tab's URL
Save in
Open save dialog


|
Couchbase Lite C
Couchbase Lite C API
|
An FLEncoder generates encoded Fleece or JSON data. More...
Setup and configuration | |
| enum | FLEncoderFormat { kFLEncodeFleece, kFLEncodeJSON, kFLEncodeJSON5 } |
| Output formats a FLEncoder can generate. More... | |
| FLEncoder | FLEncoder_New (void) |
| Creates a new encoder, for generating Fleece data. More... | |
| FLEncoder | FLEncoder_NewWithOptions (FLEncoderFormat format, size_t reserveSize, bool uniqueStrings) |
| Creates a new encoder, allowing some options to be customized. More... | |
| FLEncoder | FLEncoder_NewWritingToFile (FILE *, bool uniqueStrings) |
| Creates a new Fleece encoder that writes to a file, not to memory. More... | |
| void | FLEncoder_Free (FLEncoder) |
| Frees the space used by an encoder. More... | |
| void | FLEncoder_SetSharedKeys (FLEncoder, FLSharedKeys) |
| Tells the encoder to use a shared-keys mapping when encoding dictionary keys. More... | |
| void | FLEncoder_SetExtraInfo (FLEncoder, void *info) |
| Associates an arbitrary user-defined value with the encoder. More... | |
| void * | FLEncoder_GetExtraInfo (FLEncoder) |
| Returns the user-defined value associated with the encoder; NULL by default. More... | |
| void | FLEncoder_Amend (FLEncoder e, FLSlice base, bool reuseStrings, bool externPointers) |
| Tells the encoder to logically append to the given Fleece document, rather than making a standalone document. More... | |
| FLSlice | FLEncoder_GetBase (FLEncoder) |
Returns the base value passed to FLEncoder_Amend. More... | |
| void | FLEncoder_SuppressTrailer (FLEncoder) |
| Tells the encoder not to write the two-byte Fleece trailer at the end of the data. More... | |
| void | FLEncoder_Reset (FLEncoder) |
| Resets the state of an encoder without freeing it. More... | |
| size_t | FLEncoder_BytesWritten (FLEncoder) |
| Returns the number of bytes encoded so far. More... | |
| size_t | FLEncoder_GetNextWritePos (FLEncoder) |
| Returns the byte offset in the encoded data where the next value will be written. More... | |
Writing to the encoder | |
After an error occurs, the encoder will ignore all subsequent writes. | |
| bool | FLEncoder_WriteNull (FLEncoder) |
Writes a null value to an encoder. More... | |
| bool | FLEncoder_WriteUndefined (FLEncoder) |
Writes an undefined value to an encoder. More... | |
| bool | FLEncoder_WriteBool (FLEncoder, bool) |
| Writes a boolean value (true or false) to an encoder. More... | |
| bool | FLEncoder_WriteInt (FLEncoder, int64_t) |
| Writes an integer to an encoder. More... | |
| bool | FLEncoder_WriteUInt (FLEncoder, uint64_t) |
| Writes an unsigned integer to an encoder. More... | |
| bool | FLEncoder_WriteFloat (FLEncoder, float) |
| Writes a 32-bit floating point number to an encoder. More... | |
| bool | FLEncoder_WriteDouble (FLEncoder, double) |
| Writes a 64-bit floating point number to an encoder. More... | |
| bool | FLEncoder_WriteString (FLEncoder, FLString) |
| Writes a string to an encoder. More... | |
| bool | FLEncoder_WriteDateString (FLEncoder encoder, FLTimestamp ts, bool asUTC) |
| Writes a timestamp to an encoder, as an ISO-8601 date string. More... | |
| bool | FLEncoder_WriteData (FLEncoder, FLSlice) |
| Writes a binary data value (a blob) to an encoder. More... | |
| bool | FLEncoder_WriteRaw (FLEncoder, FLSlice) |
| Writes raw data directly to the encoded output. More... | |
| bool | FLEncoder_BeginArray (FLEncoder, size_t reserveCount) |
| Begins writing an array value to an encoder. More... | |
| bool | FLEncoder_EndArray (FLEncoder) |
| Ends writing an array value; pops back the previous encoding state. More... | |
| bool | FLEncoder_BeginDict (FLEncoder, size_t reserveCount) |
| Begins writing a dictionary value to an encoder. More... | |
| bool | FLEncoder_WriteKey (FLEncoder, FLString) |
| Specifies the key for the next value to be written to the current dictionary. More... | |
| bool | FLEncoder_WriteKeyValue (FLEncoder, FLValue) |
| Specifies the key for the next value to be written to the current dictionary. More... | |
| bool | FLEncoder_EndDict (FLEncoder) |
| Ends writing a dictionary value; pops back the previous encoding state. More... | |
| bool | FLEncoder_WriteValue (FLEncoder, FLValue) |
| Writes a Fleece Value to an Encoder. More... | |
| intptr_t | FLEncoder_LastValueWritten (FLEncoder e) |
| Returns an opaque reference to the last complete value written to the encoder, if possible. More... | |
| void | FLEncoder_WriteValueAgain (FLEncoder e, intptr_t preWrittenValue) |
| Writes another reference (a "pointer") to an already-written value, given a reference previously returned from FLEncoder_LastValueWritten. More... | |
| FLSliceResult | FLEncoder_Snip (FLEncoder e) |
| Returns the data written so far as a standalone Fleece document, whose root is the last value written. More... | |
| bool | FLEncoder_ConvertJSON (FLEncoder, FLSlice json) |
| Parses JSON data and writes the object(s) to the encoder. More... | |
Finishing up | |
| size_t | FLEncoder_FinishItem (FLEncoder) |
| Finishes encoding the current item, and returns its offset in the output data. More... | |
| FLDoc | FLEncoder_FinishDoc (FLEncoder, FLError *) |
| Ends encoding; if there has been no error, it returns the encoded Fleece data packaged in an FLDoc. More... | |
| FLSliceResult | FLEncoder_Finish (FLEncoder e, FLError *outError) |
| Ends encoding; if there has been no error, it returns the encoded data, else null. More... | |
Error handling | |
| FLError | FLEncoder_GetError (FLEncoder) |
| Returns the error code of an encoder, or NoError (0) if there's no error. More... | |
| const char * | FLEncoder_GetErrorMessage (FLEncoder) |
| Returns the error message of an encoder, or NULL if there's no error. More... | |
An FLEncoder generates encoded Fleece or JSON data.
It's sort of a structured output stream, with nesting. There are functions for writing every type of scalar value, and for beginning and ending collections. To write a collection you begin it, write its values, then end it. (Of course a value in a collection can itself be another collection.) When writing a dictionary, you have to call writeKey before writing each value.
| enum FLEncoderFormat |
Output formats a FLEncoder can generate.
| Enumerator | |
|---|---|
| kFLEncodeFleece | Fleece encoding. |
| kFLEncodeJSON | JSON encoding. |
| kFLEncodeJSON5 | JSON5, an extension of JSON with a more readable syntax |
Tells the encoder to logically append to the given Fleece document, rather than making a standalone document.
Any calls to FLEncoder_WriteValue() where the value points inside the base data will write a pointer back to the original value. The resulting data returned by FLEncoder_FinishDoc() will NOT be standalone; it can only be used by first appending it to the base data.
| e | The FLEncoder affected. |
| base | The base document to create an amendment of. |
| reuseStrings | If true, then writing a string that already exists in the base will just create a pointer back to the original. But the encoder has to scan the base for strings first. |
| externPointers | If true, pointers into the base will be marked with the extern flag. This allows them to be resolved using the FLResolver_Begin function, so that when the delta is used the base document can be anywhere in memory, not just immediately preceding the delta document. |
| bool FLEncoder_BeginArray | ( | FLEncoder | , |
| size_t | reserveCount | ||
| ) |
Begins writing an array value to an encoder.
This pushes a new state where each subsequent value written becomes an array item, until FLEncoder_EndArray is called.
| reserveCount | Number of array elements to reserve space for. If you know the size of the array, providing it here speeds up encoding slightly. If you don't know, just use zero. |
| bool FLEncoder_BeginDict | ( | FLEncoder | , |
| size_t | reserveCount | ||
| ) |
Begins writing a dictionary value to an encoder.
This pushes a new state where each subsequent key and value written are added to the dictionary, until FLEncoder_EndDict is called. Before adding each value, you must call FLEncoder_WriteKey (not FLEncoder_WriteString!), to write the dictionary key.
| reserveCount | Number of dictionary items to reserve space for. If you know the size of the dictionary, providing it here speeds up encoding slightly. If you don't know, just use zero. |
| size_t FLEncoder_BytesWritten | ( | FLEncoder | ) |
Returns the number of bytes encoded so far.
Parses JSON data and writes the object(s) to the encoder.
(This acts as a single write, like WriteInt; it's just that the value written is likely to be an entire dictionary of array.)
| bool FLEncoder_EndArray | ( | FLEncoder | ) |
Ends writing an array value; pops back the previous encoding state.
| bool FLEncoder_EndDict | ( | FLEncoder | ) |
Ends writing a dictionary value; pops back the previous encoding state.
| FLSliceResult FLEncoder_Finish | ( | FLEncoder | e, |
| FLError * | outError | ||
| ) |
Ends encoding; if there has been no error, it returns the encoded data, else null.
This does not free the FLEncoder; call FLEncoder_Free (or FLEncoder_Reset) next.
Ends encoding; if there has been no error, it returns the encoded Fleece data packaged in an FLDoc.
(This function does not support JSON encoding.) This does not free the FLEncoder; call FLEncoder_Free (or FLEncoder_Reset) next.
| size_t FLEncoder_FinishItem | ( | FLEncoder | ) |
Finishes encoding the current item, and returns its offset in the output data.
| void FLEncoder_Free | ( | FLEncoder | ) |
Frees the space used by an encoder.
Returns the error code of an encoder, or NoError (0) if there's no error.
| const char* FLEncoder_GetErrorMessage | ( | FLEncoder | ) |
Returns the error message of an encoder, or NULL if there's no error.
| void* FLEncoder_GetExtraInfo | ( | FLEncoder | ) |
Returns the user-defined value associated with the encoder; NULL by default.
| size_t FLEncoder_GetNextWritePos | ( | FLEncoder | ) |
Returns the byte offset in the encoded data where the next value will be written.
(Due to internal buffering, this is not the same as FLEncoder_BytesWritten.)
| intptr_t FLEncoder_LastValueWritten | ( | FLEncoder | e | ) |
Returns an opaque reference to the last complete value written to the encoder, if possible.
Fails (returning 0) if nothing has been written, or if the value is inline and can't be referenced this way – that only happens with small scalars or empty collections.
| FLEncoder FLEncoder_New | ( | void | ) |
Creates a new encoder, for generating Fleece data.
Call FLEncoder_Free when done.
| FLEncoder FLEncoder_NewWithOptions | ( | FLEncoderFormat | format, |
| size_t | reserveSize, | ||
| bool | uniqueStrings | ||
| ) |
Creates a new encoder, allowing some options to be customized.
| format | The output format to generate (Fleece, JSON, or JSON5.) |
| reserveSize | The number of bytes to preallocate for the output. (Default is 256) |
| uniqueStrings | (Fleece only) If true, string values that appear multiple times will be written as a single shared value. This saves space but makes encoding slightly slower.  (Default is true) |
| FLEncoder FLEncoder_NewWritingToFile | ( | FILE * | , |
| bool | uniqueStrings | ||
| ) |
Creates a new Fleece encoder that writes to a file, not to memory.
| void FLEncoder_Reset | ( | FLEncoder | ) |
Resets the state of an encoder without freeing it.
It can then be reused to encode another value.
| void FLEncoder_SetExtraInfo | ( | FLEncoder | , |
| void * | info | ||
| ) |
Associates an arbitrary user-defined value with the encoder.
| void FLEncoder_SetSharedKeys | ( | FLEncoder | , |
| FLSharedKeys | |||
| ) |
Tells the encoder to use a shared-keys mapping when encoding dictionary keys.
| FLSliceResult FLEncoder_Snip | ( | FLEncoder | e | ) |
Returns the data written so far as a standalone Fleece document, whose root is the last value written.
You can continue writing, and the final output returned by FLEncoder_Finish will consist of everything after this point. That second part can be used in the future by loading it as an FLDoc
with the first part as its extern
reference.
| void FLEncoder_SuppressTrailer | ( | FLEncoder | ) |
Tells the encoder not to write the two-byte Fleece trailer at the end of the data.
This is only useful for certain special purposes.
| bool FLEncoder_WriteBool | ( | FLEncoder | , |
| bool | |||
| ) |
Writes a boolean value (true or false) to an encoder.
Writes a binary data value (a blob) to an encoder.
This can contain absolutely anything including null bytes. If the encoder is generating JSON, the blob will be written as a base64-encoded string.
| bool FLEncoder_WriteDateString | ( | FLEncoder | encoder, |
| FLTimestamp | ts, | ||
| bool | asUTC | ||
| ) |
Writes a timestamp to an encoder, as an ISO-8601 date string.
| encoder | The encoder to write to. |
| ts | The timestamp (milliseconds since Unix epoch 1-1-1970). |
| asUTC | If true, date is written in UTC (GMT); if false, with the local timezone. |
| bool FLEncoder_WriteDouble | ( | FLEncoder | , |
| double | |||
| ) |
Writes a 64-bit floating point number to an encoder.
| bool FLEncoder_WriteFloat | ( | FLEncoder | , |
| float | |||
| ) |
Writes a 32-bit floating point number to an encoder.
| bool FLEncoder_WriteInt | ( | FLEncoder | , |
| int64_t | |||
| ) |
Writes an integer to an encoder.
The parameter is typed as int64_t
but you can pass any integral type (signed or unsigned) except for huge uint64_t
s. The number will be written in a compact form that uses only as many bytes as necessary.
Specifies the key for the next value to be written to the current dictionary.
Specifies the key for the next value to be written to the current dictionary.
The key is given as a Value, which must be a string or integer.
| bool FLEncoder_WriteNull | ( | FLEncoder | ) |
Writes a null
value to an encoder.
(This is an explicitly-stored null, like the JSON null
, not the "undefined" value represented by a NULL FLValue pointer.)
Writes raw data directly to the encoded output.
(This is not the same as FLEncoder_WriteData, which safely encodes a blob.)
Writes a string to an encoder.
The string must be UTF-8-encoded and must not contain any zero bytes.
| bool FLEncoder_WriteUInt | ( | FLEncoder | , |
| uint64_t | |||
| ) |
Writes an unsigned integer to an encoder.
| bool FLEncoder_WriteUndefined | ( | FLEncoder | ) |
Writes an undefined
value to an encoder.
(Its value when read will not be a NULL
pointer, but it can be recognized by FLValue_GetType
returning kFLUndefined
.)
| void FLEncoder_WriteValueAgain | ( | FLEncoder | e, |
| intptr_t | preWrittenValue | ||
| ) |
Writes another reference (a "pointer") to an already-written value, given a reference previously returned from FLEncoder_LastValueWritten.
The effect is exactly the same as if you wrote the entire value again, except that the size of the encoded data only grows by 4 bytes.


{{#each alerts}}
{{>alert}}
{{/each}}
{{#if viewEditing}}
Editing
{{else}}

{{/if}}
{{name}}
{{#unless viewEditing}}
{{/unless}}
Notify:
{{contactsPlainText}}
Groups:
{{groupsPlainText}}
Rule:
{{getTypeNiceName}}
Fences:
{{fencesPlainText}}
{{#if viewEditing}}
{{/if}}
{{_id}}


| DOSE: T+ 0:00 |
1 hit |
oral |
LSD |
(cookie / food) |
| T+ 1:00 |
1 hit |
oral |
LSD |
(cookie / food) |
| T+ 0:00 |
10 mg |
oral |
Pharms - Escitalopram |
(daily) |
Over my spring break this year, some friends and I decided to do acid together.  All I turned up was that my Lexapro was probably going to lessen the effects of acid or shrooms, so I figured it wasn't too dangerous and I'd go ahead.
I took two hits on sugar cubes, about an hour apart. I was with three other people, one of whom was planning not to take any but wound up joining us, and later my partner came home and had some as well. We ranged from one hit to three (though one of the sugar cubes had two drops on it, and we never figured out which one). It took me a while to come up, which I attribute to the SSRI because I noticed the same thing with 2cb recently. I started out just seeing the shadows move, colors in the corners of my eyes, and such. Eventually I started seeing the ceiling move, trailers of my hand, and the kinds of visuals I'd been expecting. It wasn't very colorful for me, and I think the only one of us seeing colors was the guy who'd bought it, who took three hits.
I got really warm, which happens when I drink also, and pretty uncoordinated at times. When I looked in the mirror, I thought my pupils were moving in and out, and I saw the same on some other people. One of the friends I was with said that when she looked in the mirror she saw herself aging and her flesh melting off her bones, but I didn't get anything near so interesting, just my pupils. Most of the visuals I got were in the patterns on the stucco ceiling. It seemed to be moving, and I saw lots of different images, a lot of them sort of in a woodcut style.
We dropped a little after noon, and sure enough we were up very late. I came down before everyone else, which I'm pretty sure was the effect of the Lexapro. It was still hard for me to sleep, but most of the visuals and the weirdness of mind had gone while everyone else was still giggling about the ceiling. I don't think I had much of a headtrip, based on what my friends have talked about. The visuals were plenty fun for me though.
Overall, I really enjoyed my acid trip, and I'd love to do it again, probably three hits in hopes of some colors. It really wiped me out, being awake and 'on high' for twelve or fourteen hours, but it was over break so I could afford to be a slug the next day. I've since tried pot, and it seems like it would be great for the day after, since it sends me into a cozy little pile on the couch and I nap.
I haven't found anything else online about escitalopram, though the info on other SSRIs has been really helpful, so if you're on it, I'd love to see your experiences.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


--- layout: beatrice_page home: true cards: - title: Designing with variable fonts description: Learn about the variable font format, how it works, and how to design with this flexible new technology url: /about-variable-fonts media: /assets/img/home-card-designing.svg - title: Implementing variable fonts description: Learn how to incorporate variable fonts into your project, either by using the Google Fonts platform or by hosting them yourself url: /implementing-variable-fonts media: /assets/img/home-card-implementing.svg - title: 'Variable font resources' url: /variable-font-resources description: Links to articles, videos, demos, and sources media: /assets/img/home-card-resources.svg heroAxes: - label: Weight name: wght min: 100 max: 1000 - label: Casual name: CASL min: 0 max: 1 step: 0.01 - label: Monospaced name: MONO min: 0 max: 1 step: 0.01 default: 1 - label: Slant name: slnt min: -15 max: 0 default: 0 ---
Welcome to the most radical change in type since Gutenberg. Variable fonts let you add nuance and artistry to your web typography without bogging down your site. Now you can accomplish what used to require several files with a single file and some CSS!
The goal of this site is to show you how variable fonts tick. Discover how they can benefit user interface (UI) design, accessibility, and long-form reading, and how they push the boundaries of skillful typographic expression on the web.


AdSeekr is a platform for historical ad search, giving a unique perspective into what works in the marketing world. This is a brainchild of @alinacbenny and @aswin_7, so shoutout to them first!
This project gave me a rare opportunity to build a product from scratch with the goal of being fast and reliable without the need for a heavy backend. The core data was served from an external API, and AdSeekr served as an access point to this data along with user management, authentication, etc. The requirements of the app were simple enough, and as such I decided this was a good opportunity for utilizing two services I had been eyeing for a while: the Nebular Angular library and the Serverless Application Framework.
Architecture:
Choosing Angular for the frontend was easy, especially since I wanted to try out Nebular, an Angular library with powerful components based on the Eva design system and in-built Auth & Security management. Angular 8 is now a stable release as well, so it was perfect for a production-ready website consuming a REST API.
The serverless application framework was what excited me the most, since it allows the development of a fully-functional REST API utilizing cloud services without provisioning any dedicated resources. Choosing AWS was pretty straighforward as well, since it is the most famous and reliable among the available options. AWS provides a robust framework for the same, and I chose the following services for the system:
- API Gateway for API endpoint management
- AWS Lambda for on-demand function execution
- Cognito for user auth & management
- S3 for static website hosting
- AWS CodePipeline for CI/CD
API Gateway + Lambda is a much hyped solution to REST API development, but I feel it has not been embraced as much as advertised. The setup was relatively easy - route API Gateway traffic to Lambda as a proxy, configure Cognito as an authenticator (so every request is authenticated first before routed to Lambda, albeit at some runtime cost), and configure Lambda to return data in the specific format understood by the API Gateway.
Obsevations:
- There is a cold-start problem when using AWS Lambdas with API Gateways which can negatively affect performance, however the system seems to works well for most cases. Turnaround time in the high 800 ms was the worst observed, but this is also affected by using Cognito.
- Cognito was surprisingly powerful, but the official AWS docs is lacking at worst and confusing at best. Setting up admin authentication flow for user creation & mgmt is ridiculously complicated requiring mutliple steps to be followed in a specific sequence, and I ended up using a separate wrapper (shoutout to Warrant) to make it easier.
- S3 static website hosting is surprisingly easy, and setting up AWS CloudFront as the CDN with custom domain using Route53 was also pretty straightforward. The only delay was with configuring DNS servers at the domain service.
- CodePipeline was also set up for automatic build and deployment. The pipeline was setup in such a way that a build (a PROD build of Angular) is initiated whenever the master branch of the GitHub repository is updated, with the built files uploaded to S3 automatically. The process was efficient, smooth, and cheap as well.
Final thoughts:
AdSeekr is still a work in progress with a lot more features in the pipeline. Using AWS as the infrastructure was the right decision for quick turnaround and efficient deployment without much overhead. The API Gateway + Lambda architecture meant I can add new feature to the REST API without any dependency towards the existing codebase, and this works well in this case. Overall, this was a fun learning experience, and also shows just how easy it is to deploy a production-ready web application to the cloud nowadays with the advent of cloud technologies.


Student Name
{{application?.stu_name}} {{application?.surname}}
Application No.
{{application?.enrollment_no}}
Category
{{application?.student_category}}
Applied Course
{{application?.specialization}}
({{application?.course}})
Eligibility Letter
Action
College allocation
:Pending
{{ application?.collegename }}


DAuth is a simple protocol for authenticating users via a third-party, a public key server or organization. DAuth is inspired the Kerberos authentication system.
DAuth provides an answer to "Why do I need so many different passwords to use the web?" The answer now is: you don't. Use DAuth and share the same password among many DAuth-enabled sites, without providing your "secret" password to any site except the key server.
DAuth works by having you and the web site you visit both use a common "trusted key server". When you begin your daily session, you contact the key server and get a "ticket", much like a daily ticket to many city's mass transit systems. Whenever you want to connect to a site that needs your "password", you give them the ticket instead. The site then contacts the key server to verify that the ticket they received from you is a valid ticket. The more sites that share common key servers, the fewer passwords you will need.
DAuth can be implemented alongside an existing password system for backward compatibility. Users who use an existing, site-local password system can continue to do so while other users begin using a DAuth password. Sites can choose to trust as many or as few key servers as they desire.
There are two basic operations in DAuth: the user logging in to the key server to get a ticket and a site checking a user's ticket with the key server. To get a ticket is a very simple and can be done through a web page or applet. You provide your email address and password to the key server (via a web form or applet) and your ticket is returned to you so you can paste it in password forms. In the future, this will get built into web client software directly.
In DAuth, "login names" are your email address or a URI. A ticket is a string of the form "ticket_value@key_server" where ticket_value is a unique string that key_server can use to verify the ticket. key_server is the server that generated the ticket.
For security purposes, to keep your passwords and tickets from being snooped on the Internet, DAuth requires passwords and tickets to be public-key encrypted with the public-key of the site you are sending the password or ticket to. [FIXME refer to public key-server docs] For backward compatibility, tickets sent in password fields are passed in the clear unless HTTP-level encryption is used.
Whether you log in through a web form on the key server or via an applet, the web form or applet is going to use this API call on the key server (and you can too, directly):
Servers call checkTicket() to verify a ticket:
Notes:


Create an LCARS sweep; the 'S' or reverse-'S' shape comprised of two LCARS elbows pointing in opposite directions. The sweep is effectively two adjacent LCARS boxes separated by an input column and some specific styling to achieve the sweep display.
lcarsSweep( column_inputs = NULL, left_inputs = NULL, right_inputs = NULL, title = NULL, subtitle = NULL, color = "atomic-tangerine", reverse = FALSE, expand = c(0, 0), column_width = 150, left_width = 0.5, width = "100%" )
| column_inputs | optional input column for right side, for example a
column of buttons made with |
|---|---|
| left_inputs | content on the left side of the sweep. |
| right_inputs | content on the right side of the sweep. |
| title | character, title for box with header. |
| subtitle | character, subtitle for box with footer. |
| color | sweep elbow colors. Any hex color or a named LCARS color. |
| reverse | logical, create a reverse sweep. |
| expand | integer, length-2 vector, the number of pixels to expand the left and right content containers above or below the implicit border; the top or bottom border where no sweep is present. See example. |
| column_width | integer, width of the sweep column section in pixels. Must be in pixels, 150 maximum. Smaller is permitted but will not conform as well to LCARS style. |
| left_width | numeric, number between 0 and 1 giving the proportional
width of the left content section.
The right section is 1 - |
| width | a valid CSS unit, the width of the entire sweep. Fixed pixel width recommended. See details. |
an HTML widget
There are limitations to the container responsiveness of the LCARS box and
sweep. In some cases, using percentage width, e.g., width = "100%"
will work, but it may respond sluggishly or may not work at all.
Fixed pixel width is recommended for lcarsBox
and lcarsSweep
.
Regardless of responsiveness, these widgets are also not intended to fit
very small displays.
## Only run examples in interactive R sessions if (interactive()) { library(ggplot2) d <- data.frame(x = rnorm(500)) g <- ggplot(d, aes(x)) + theme_lcars_dark() g1 <- g + geom_histogram(color = "black", fill = "#9999FF", bins = 20) + ggtitle("Plot 1") left <- div(h4("Some text"), p("The fine print.")) ui <- lcarsPage( lcarsHeader("LCARS sweep"), h4("Change colors and relative widths of content sections"), h4("Add title and subtitle, input column padding, and content"), lcarsSweep( inputColumn( lcarsButton("x1", "Button"), lcarsRect(color = "hopbush", height = 80) ), left, plotOutput("plot1", height = 650), # plot taller than sweep box title = "Title", subtitle = "Subtitle", color = "pale-canary", left_width = 0.3, width = 900, expand = c(0, 350) # negative bottom margin added to right side div ), lcarsSweep( # content from sweep box above extends into sweep box below inputColumn( lcarsButton("x2", "Button A"), lcarsButton("x3", "Button B"), lcarsRect(color = "lilac") ), left, title = "Title 2", subtitle = "Subtitle 2", color = "anakiwa", reverse = TRUE, left_width = 0.3, width = 900 ) ) server <- function(input, output) { output$plot1 <- renderPlot(g1) } shinyApp(ui, server) }


2.0.1 / 2016-06-22
2.0.0 / 2016-04-11
- rewritten, license change BSD-3 to MIT. #13
- stream support #13
1.0.1 / 2015-05-05
1.0.0 / 2015-01-14
- updated dev deps
- added more test fixtures
- updated readme with usage, testing, etc
- moved from https://github.com/cryptocoinjs/ripemd160 to https://github.com/crypto-browserify/ripemd160
0.2.1 / 2014-12-31
- made license clear in
package.json
- deleted
Makefile
, moved targets to package.json
- removed
terst
for assert
0.2.0 / 2014-03-09
- removed bower.json and component.json
- changed 4 spacing to 2
- returns
Buffer
type now, input must be Array, Uint8Array, Buffer, or string
- remove deps:
convert-hex
and convert-string
0.1.0 / 2013-11-20
- changed package name
- removed AMD support
0.0.2 / 2013-11-06
- fixed component.json file
0.0.1 / 2013-11-03