Fuzzycomplete can be called with no options, simply with the data to be searched via jQuery.
In this case it will search all fields supplied within the JSON data, displaying and outputting the first key.
var companies = [ {"companyName":"Aperture Science"}, {"companyName":"MomCorp"}, {"companyName":"Wayne Enterprises"}, {"companyName":"Umbrella Corp"}, {"companyName":"Gringotts"}, {"companyName":"Globex"} ]; $(document).ready(function(){ $("#companyPicker").fuzzyComplete(companies); });
You might have a set of data which has two (or more) ways of referring to a particular item.
An example might be airports:
To help users, you can allow them to search by either type.
Airports:
var airports = [ {"airportCode":"MEL","cityName":"Melbourne, Australia"}, {"airportCode":"LAX","cityName":"Los Angeles, USA"}, {"airportCode":"LHR","cityName":"Heathrow, London"}, {"airportCode":"HKG","cityName":"Hong Kong"}, {"airportCode":"NRT","cityName":"Narita, Tokyo, Japan"}, {"airportCode":"FRA","cityName":"Frankfurt, Germany"} ]; var fuseOptions = { keys: ["airportCode", "cityName"] }; var options = { display: "cityName", key: "airportCode", fuseOptions: fuseOptions }; $(document).ready(function(){ $("#airportPicker").fuzzyComplete(airports, options); }
You might use an internal value to track items (a database key, for example), but you don't wish for this value to be searchable. Only fields in the "keys" section of fuseOptions will be searched, so simply omit fields you don't wish to be searched.
Shop:
var items = [ {"itemCode":"item3442","itemName":"Bag of doorknobs"}, {"itemCode":"item3446","itemName":"Blinker fluid"}, {"itemCode":"item3479","itemName":"Widgets"}, {"itemCode":"item3495","itemName":"Firefly class transport ship"}, {"itemCode":"item3400","itemName":"Perpetual motion machine"}, {"itemCode":"item3454","itemName":"Penrose triangle"} ]; var fuseOptions = { keys: ["itemName"] }; var options = { display: "itemName", key: "itemCode", fuseOptions: fuseOptions }; $(document).ready(function(){ $("#itemPicker").fuzzyComplete(items, options); });


Part 2: Creating a Consistent Visual Language
Part 1: Interaction and Ideation
TCAT | Design Lead | Spring 2017Part 2: Creating a Consistent Visual Language
Part 1: Interaction and Ideation
TCAT | Design Lead | Spring 2017The next step in this project was to rework the high fidelity work and design a proper style guide. The main goal in this step was to come up with a consistent pattern that could be utilized throughout the entire application and convey our intentions for the application.
When we first started ideating for this application, we focused on designing around the concept of trust and familiarity. Since bus schedules are not always correct and users voiced explicit frustration with the inconsistency of busses, our intention was to build an interface that was transparent and familiar.
Here, the main focus was to build around efficiency of planning a route. There was no need to design for marketability or build brand loyalty.
In creating a brand that did this and was transparent and familiar, I looked at how to make the interface look as ‘light’ as possible. By maintaining a mostly white theme, the experience did not feel like a completely different application and was focused more on the process of finding a bus rather than the content of each step. In a way, we emulated a ‘vanilla’/stock iOS theme to make the experience feel transparent.
Examples like Facebook and Snapchat look to build a brand through a ‘Facebook blue’ or ‘Snapchat yellow’, but my main focus was efficiency rather than brand loyalty.
In coming up with a page structure, I wanted to remain consistent with the rest of the application. Specifically, the route detail view was different from the rest of the application as it centered on a map view rather than cell view. (Screen C below)
Originally, we utilized a full view with the idea that user research indicated a tendency to look at the map view in order to gauge their distance from the location.
However, In generating more feedback, users expressed that knowing how many stops remaining there were was more important than where they were exactly on that route. Screen A was able to solve this as the attention was shifted to the list view rather than the map.
Additionally, in sticking with the idea of familiarity, the focus shifted to the cell content and looked like the rest of the application rather than a different ‘navigation mode’.
For example, Google Maps emphasizes a ‘navigation mode’ as different from the rest of the app. This makes sense if the user is driving and unfamiliar with the area. Because the TCAT bus is a standardized route, and users do not frequently look back at the information there was no reason to build out a completely different mode or experience.
Rather, in our user research, we found that users thought a map might be useful as to verify their location and status on the route rather than deal with location confusion. An example would be: David will frequently check Google Maps while on the bus in order to determine that he is going in the right direction and how far away he is from his stop.
This relates back to the concept of trust and users not trusting that they get on the rig ht bus or are too reluctant to ask/verify
Our use of color was mainly used to differentiate types of content. Specifically, the blue was used to indicate TCAT affiliated stops in relationship to Google Places or recent searches. As shown in the figure below, the color blue is used to differentiate location type in the bus stop glyph and in the route progress line.
The next step was finding a way to visualize journey progress/summary that could be used in the Route Selection and Route Detail view.
In going with the concept of color depicting content type, I also worked to design a language for journey progress that could be used across Route Summary (Screen A), the Full Map View (Screen B), and Route Selection (Screen C). The line with dots in between stay consistent throughout all these examples with each dot representing a stop.
For this part of the application, I allocated the creative direction to a new member of the team, Mihir Chauhan. In managing this part of project, I wanted to emphasize the important of information hierarchy as well as improving visual design on the team. I felt this feature helped do this and was a great way to learn more about interaction and visual design.
You can read Mihir’s full case study on the cell portion of the Route Option page here.
Our team has since shipped these high fidelity mockups and prototypes to the developers and we are working to ship the final product by mid April. A large part of my role as design manager on this project is to maintain communication between the iOS developers and backend team.
This process involved created accurate style guides, red lining documents, and creating Zeplin files for the iOS developers.
Moving forward, we want to continue to develop on the idea of trust. As it stands, there is no way to track the buses, so the design challenge is to find a way to indicate bus status without this data from TCAT. This may involve designing a method to crowd source or location tracking and poses an interesting non-visual challenge.


The next best thing on TV, coming soon!!!
In this first season aspiring young chefs ages 8 to 12 years test their skills against each other slicing and dicing their way hopefully to the end of the competition with the hope of being Jamaica’s first “Young Chef”.


Creating HPX projects¶
Using HPX with pkg-config¶
How to build HPX applications with pkg-config¶
After you are done installing HPX, you should be able to build the following
program. It prints Hello World!
on the locality you run it on.
Copy the text of this program into a file called hello_world.cpp.
Now, in the directory where you put hello_world.cpp, issue the following
commands (where $HPX_LOCATION
is the build directory or
CMAKE_INSTALL_PREFIX
you used while building HPX):
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HPX_LOCATION/lib/pkgconfig
c++ -o hello_world hello_world.cpp \
`pkg-config --cflags --libs hpx_application`\
-lhpx_iostreams -DHPX_APPLICATION_NAME=hello_world
Important
When using pkg-config with HPX, the pkg-config flags must go after the
-o
flag.
Note
HPX libraries have different names in debug and release mode. If you want
to link against a debug HPX library, you need to use the _debug
suffix
for the pkg-config name. That means instead of hpx_application
or
hpx_component
you will have to use hpx_application_debug
or
hpx_component_debug
Moreover, all referenced HPX components need to
have a appended d
suffix, e.g. instead of -lhpx_iostreams
you will
need to specify -lhpx_iostreamsd
.
Important
If the HPX libraries are in a path that is not found by the dynamic
linker. You need to add the path $HPX_LOCATION/lib
to your linker search
path (for example LD_LIBRARY_PATH
on Linux).
To test the program, type:
./hello_world
which should print Hello World!
and exit.
How to build HPX components with pkg-config¶
Let’s try a more complex example involving an HPX component. An HPX component is a class which exposes HPX actions. HPX components are compiled into dynamically loaded modules called component libraries. Here’s the source code:
hello_world_component.cpp
#include "hello_world_component.hpp"
#include <hpx/include/iostreams.hpp>
#include <iostream>
namespace examples { namespace server
{
void hello_world::invoke()
{
hpx::cout << "Hello HPX World!" << std::endl;
}
}}
HPX_REGISTER_COMPONENT_MODULE();
typedef hpx::components::component<
examples::server::hello_world
> hello_world_type;
HPX_REGISTER_COMPONENT(hello_world_type, hello_world);
HPX_REGISTER_ACTION(
examples::server::hello_world::invoke_action, hello_world_invoke_action);
hello_world_component.hpp
#if !defined(HELLO_WORLD_COMPONENT_HPP)
#define HELLO_WORLD_COMPONENT_HPP
#include <hpx/hpx.hpp>
#include <hpx/include/actions.hpp>
#include <hpx/include/lcos.hpp>
#include <hpx/include/components.hpp>
#include <hpx/include/serialization.hpp>
#include <utility>
namespace examples { namespace server
{
struct HPX_COMPONENT_EXPORT hello_world
: hpx::components::component_base<hello_world>
{
void invoke();
HPX_DEFINE_COMPONENT_ACTION(hello_world, invoke);
};
}}
HPX_REGISTER_ACTION_DECLARATION(
examples::server::hello_world::invoke_action, hello_world_invoke_action);
namespace examples
{
struct hello_world
: hpx::components::client_base<hello_world, server::hello_world>
{
typedef hpx::components::client_base<hello_world, server::hello_world>
base_type;
hello_world(hpx::future<hpx::naming::id_type> && f)
: base_type(std::move(f))
{}
hello_world(hpx::naming::id_type && f)
: base_type(std::move(f))
{}
void invoke()
{
hpx::async<server::hello_world::invoke_action>(this->get_id()).get();
}
};
}
#endif // HELLO_WORLD_COMPONENT_HPP
hello_world_client.cpp
// Copyright (c) 2012 Bryce Lelbach
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//[hello_world_client_getting_started
#include "hello_world_component.hpp"
#include <hpx/hpx_init.hpp>
int hpx_main(hpx::program_options::variables_map&)
{
{
// Create a single instance of the component on this locality.
examples::hello_world client =
hpx::new_<examples::hello_world>(hpx::find_here());
// Invoke the component's action, which will print "Hello World!".
client.invoke();
}
return hpx::finalize(); // Initiate shutdown of the runtime system.
}
int main(int argc, char* argv[])
{
return hpx::init(argc, argv); // Initialize and run HPX.
}
//]
Copy the three source files above into three files (called
hello_world_component.cpp
, hello_world_component.hpp
and
hello_world_client.cpp
respectively).
Now, in the directory where you put the files, run the following command to
build the component library. (where $HPX_LOCATION
is the build directory or
CMAKE_INSTALL_PREFIX
you used while building HPX):
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HPX_LOCATION/lib/pkgconfig
c++ -o libhpx_hello_world.so hello_world_component.cpp \
`pkg-config --cflags --libs hpx_component` \
-lhpx_iostreams -DHPX_COMPONENT_NAME=hpx_hello_world
Now pick a directory in which to install your HPX component libraries. For
this example, we’ll choose a directory named my_hpx_libs
:
mkdir ~/my_hpx_libs
mv libhpx_hello_world.so ~/my_hpx_libs
Note
HPX libraries have different names in debug and release mode. If you want
to link against a debug HPX library, you need to use the _debug
suffix
for the pkg-config name. That means instead of hpx_application
or
hpx_component
you will have to use hpx_application_debug
or
hpx_component_debug
. Moreover, all referenced HPX components need to
have a appended d
suffix, e.g. instead of -lhpx_iostreams
you will
need to specify -lhpx_iostreamsd
.
Important
If the HPX libraries are in a path that is not found by the dynamic linker.
You need to add the path $HPX_LOCATION/lib
to your linker search path
(for example LD_LIBRARY_PATH
on Linux).
Now, to build the application that uses this component (hello_world_client.cpp
),
we do:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HPX_LOCATION/lib/pkgconfig
c++ -o hello_world_client hello_world_client.cpp \
``pkg-config --cflags --libs hpx_application``\
-L${HOME}/my_hpx_libs -lhpx_hello_world -lhpx_iostreams
Important
When using pkg-config with HPX, the pkg-config flags must go after the
-o
flag.
Finally, you’ll need to set your LD_LIBRARY_PATH before you can run the program. To run the program, type:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME/my_hpx_libs"
./hello_world_client
which should print Hello HPX World!
and exit.
Using HPX with CMake-based projects¶
In Addition to the pkg-config support discussed on the previous pages, HPX comes with full CMake support. In order to integrate HPX into your existing, or new CMakeLists.txt you can leverage the find_package command integrated into CMake. Following is a Hello World component example using CMake.
Let’s revisit what we have. We have three files which compose our example application:
hello_world_component.hpp
hello_world_component.cpp
hello_world_client.hpp
The basic structure to include HPX into your CMakeLists.txt is shown here:
# Require a recent version of cmake
cmake_minimum_required(VERSION 3.3.2 FATAL_ERROR)
# This project is C++ based.
project(your_app CXX)
# Instruct cmake to find the HPX settings
find_package(HPX)
In order to have CMake find HPX, it needs to be told where to look for the
HPXConfig.cmake
file that is generated when HPX is built or installed, it is
used by find_package(HPX)
to set up all the necessary macros needed to use
HPX in your project. The ways to achieve this are:
set the
HPX_DIR
cmake variable to point to the directory containing theHPXConfig.cmake
script on the command line when you invoke cmake:cmake -DHPX_DIR=$HPX_LOCATION/lib/cmake/HPX ...
where
$HPX_LOCATION
is the build directory orCMAKE_INSTALL_PREFIX
you used when building/configuring HPX.set the
CMAKE_PREFIX_PATH
variable to the root directory of your HPX build or install location on the command line when you invoke cmake:cmake -DCMAKE_PREFIX_PATH=$HPX_LOCATION ...
the difference between
CMAKE_PREFIX_PATH
andHPX_DIR
is that cmake will add common postfixes such aslib/cmake/<project
to theMAKE_PREFIX_PATH
and search in these locations too. Note that if your project uses HPX as well as other cmake managed projects, the paths to the locations of these multiple projects may be concatenated in theCMAKE_PREFIX_PATH
.The variables above may be set in the CMake GUI or curses ccmake interface instead of the command line.
Additionally, if you wish to require HPX for your project, replace the
find_package(HPX)
line with find_package(HPX REQUIRED)
.
You can check if HPX was successfully found with the HPX_FOUND
CMake variable.
The simplest way to add the HPX component is to use the add_hpx_component
macro and add it to the CMakeLists.txt
file:
# build your application using HPX
add_hpx_component(hello_world
SOURCES hello_world_component.cpp
HEADERS hello_world_component.hpp
COMPONENT_DEPENDENCIES iostreams)
Note
add_hpx_component
adds a _component
suffix to the target name. In the
example above a hello_world_component
target will be created.
The available options to add_hpx_component
are:
SOURCES
: The source files for that componentHEADERS
: The header files for that componentDEPENDENCIES
: Other libraries or targets this component depends onCOMPONENT_DEPENDENCIES
: The components this component depends onPLUGIN
: Treat this component as a plugin-able libraryCOMPILE_FLAGS
: Additional compiler flagsLINK_FLAGS
: Additional linker flagsFOLDER
: Add the headers and source files to this Source Group folder
EXCLUDE_FROM_ALL
: Do not build this component as part of theall
target
After adding the component, the way you add the executable is as follows:
# build your application using HPX
add_hpx_executable(hello_world
ESSENTIAL
SOURCES hello_world_client.cpp
COMPONENT_DEPENDENCIES hello_world)
Note
add_hpx_executable
automatically adds a _component
suffix to dependencies
specified in COMPONENT_DEPENDENCIES
, meaning you can directly use the name given
when adding a component using add_hpx_component
.
When you configure your application, all you need to do is set the HPX_DIR
variable to point to the installation of HPX!
Note
All library targets built with HPX are exported and readily available to be
used as arguments to target_link_libraries
in your targets. The HPX include directories are available with the
HPX_INCLUDE_DIRS
CMake variable.
CMake macros to integrate HPX into existing applications¶
In addition to the add_hpx_component
and add_hpx_executable
you can use
the hpx_setup_target
macro to have an already existing target to be used
with the HPX libraries:
hpx_setup_target(target)
Optional parameters are:
EXPORT
: Adds it to the CMake export list HPXTargetsINSTALL
: Generates a install rule for the targetPLUGIN
: Treat this component as a plugin-able libraryTYPE
: The type can be: EXECUTABLE, LIBRARY or COMPONENTDEPENDENCIES
: Other libraries or targets this component depends onCOMPONENT_DEPENDENCIES
: The components this component depends onCOMPILE_FLAGS
: Additional compiler flagsLINK_FLAGS
: Additional linker flags
If you do not use CMake, you can still build against HPX but you should refer to the section on How to build HPX components with pkg-config.
Note
Since HPX relies on dynamic libraries, the dynamic linker needs to know
where to look for them. If HPX isn’t installed into a path which is
configured as a linker search path, external projects need to either set
RPATH
or adapt LD_LIBRARY_PATH
to point to where the hpx libraries
reside. In order to set RPATH
s, you can include HPX_SetFullRPATH
in
your project after all libraries you want to link against have been added.
Please also consult the CMake documentation here.
Using HPX with Makefile¶
A basic project building with HPX is through creating makefiles. The process
of creating one can get complex depending upon the use of cmake parameter
HPX_WITH_HPX_MAIN
(which defaults to ON).
How to build HPX applications with makefile¶
If HPX is installed correctly, you should be able to build and run a simple
hello world program. It prints Hello World!
on the locality you
run it on.
Copy the content of this program into a file called hello_world.cpp.
Now in the directory where you put hello_world.cpp, create a Makefile. Add the following code:
CXX=(CXX) # Add your favourite compiler here or let makefile choose default.
CXXFLAGS=-O3 -std=c++17
BOOST_ROOT=/path/to/boost
HWLOC_ROOT=/path/to/hwloc
TCMALLOC_ROOT=/path/to/tcmalloc
HPX_ROOT=/path/to/hpx
INCLUDE_DIRECTIVES=$(HPX_ROOT)/include $(BOOST_ROOT)/include $(HWLOC_ROOT)/include
LIBRARY_DIRECTIVES=-L$(HPX_ROOT)/lib $(HPX_ROOT)/lib/libhpx_init.a $(HPX_ROOT)/lib/libhpx.so $(BOOST_ROOT)/lib/libboost_atomic-mt.so $(BOOST_ROOT)/lib/libboost_filesystem-mt.so $(BOOST_ROOT)/lib/libboost_program_options-mt.so $(BOOST_ROOT)/lib/libboost_regex-mt.so $(BOOST_ROOT)/lib/libboost_system-mt.so -lpthread $(TCMALLOC_ROOT)/libtcmalloc_minimal.so $(HWLOC_ROOT)/libhwloc.so -ldl -lrt
LINK_FLAGS=$(HPX_ROOT)/lib/libhpx_wrap.a -Wl,-wrap=main # should be left empty for HPX_WITH_HPX_MAIN=OFF
hello_world: hello_world.o
$(CXX) $(CXXFLAGS) -o hello_world hello_world.o $(LIBRARY_DIRECTIVES) $(LINK_FLAGS)
hello_world.o:
$(CXX) $(CXXFLAGS) -c -o hello_world.o hello_world.cpp $(INCLUDE_DIRECTIVES)
Important
LINK_FLAGS
should be left empty if HPX_WITH_HPX_MAIN is set to OFF.
Boost in the above example is build with --layout=tagged
. Actual boost
flags may vary on your build of boost.
To build the program, type:
make
A successfull build should result in hello_world binary. To test, type:
./hello_world
How to build HPX components with makefile¶
Let’s try a more complex example involving an HPX component. An HPX component is a class which exposes HPX actions. HPX components are compiled into dynamically loaded modules called component libraries. Here’s the source code:
hello_world_component.cpp
#include "hello_world_component.hpp"
#include <hpx/include/iostreams.hpp>
#include <iostream>
namespace examples { namespace server
{
void hello_world::invoke()
{
hpx::cout << "Hello HPX World!" << std::endl;
}
}}
HPX_REGISTER_COMPONENT_MODULE();
typedef hpx::components::component<
examples::server::hello_world
> hello_world_type;
HPX_REGISTER_COMPONENT(hello_world_type, hello_world);
HPX_REGISTER_ACTION(
examples::server::hello_world::invoke_action, hello_world_invoke_action);
hello_world_component.hpp
#if !defined(HELLO_WORLD_COMPONENT_HPP)
#define HELLO_WORLD_COMPONENT_HPP
#include <hpx/hpx.hpp>
#include <hpx/include/actions.hpp>
#include <hpx/include/lcos.hpp>
#include <hpx/include/components.hpp>
#include <hpx/include/serialization.hpp>
#include <utility>
namespace examples { namespace server
{
struct HPX_COMPONENT_EXPORT hello_world
: hpx::components::component_base<hello_world>
{
void invoke();
HPX_DEFINE_COMPONENT_ACTION(hello_world, invoke);
};
}}
HPX_REGISTER_ACTION_DECLARATION(
examples::server::hello_world::invoke_action, hello_world_invoke_action);
namespace examples
{
struct hello_world
: hpx::components::client_base<hello_world, server::hello_world>
{
typedef hpx::components::client_base<hello_world, server::hello_world>
base_type;
hello_world(hpx::future<hpx::naming::id_type> && f)
: base_type(std::move(f))
{}
hello_world(hpx::naming::id_type && f)
: base_type(std::move(f))
{}
void invoke()
{
hpx::async<server::hello_world::invoke_action>(this->get_id()).get();
}
};
}
#endif // HELLO_WORLD_COMPONENT_HPP
hello_world_client.cpp
// Copyright (c) 2012 Bryce Lelbach
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//[hello_world_client_getting_started
#include "hello_world_component.hpp"
#include <hpx/hpx_init.hpp>
int hpx_main(hpx::program_options::variables_map&)
{
{
// Create a single instance of the component on this locality.
examples::hello_world client =
hpx::new_<examples::hello_world>(hpx::find_here());
// Invoke the component's action, which will print "Hello World!".
client.invoke();
}
return hpx::finalize(); // Initiate shutdown of the runtime system.
}
int main(int argc, char* argv[])
{
return hpx::init(argc, argv); // Initialize and run HPX.
}
//]
Now in the directory, create a Makefile. Add the following code:
CXX=(CXX) # Add your favourite compiler here or let makefile choose default.
CXXFLAGS=-O3 -std=c++17
BOOST_ROOT=/path/to/boost
HWLOC_ROOT=/path/to/hwloc
TCMALLOC_ROOT=/path/to/tcmalloc
HPX_ROOT=/path/to/hpx
INCLUDE_DIRECTIVES=$(HPX_ROOT)/include $(BOOST_ROOT)/include $(HWLOC_ROOT)/include
LIBRARY_DIRECTIVES=-L$(HPX_ROOT)/lib $(HPX_ROOT)/lib/libhpx_init.a $(HPX_ROOT)/lib/libhpx.so $(BOOST_ROOT)/lib/libboost_atomic-mt.so $(BOOST_ROOT)/lib/libboost_filesystem-mt.so $(BOOST_ROOT)/lib/libboost_program_options-mt.so $(BOOST_ROOT)/lib/libboost_regex-mt.so $(BOOST_ROOT)/lib/libboost_system-mt.so -lpthread $(TCMALLOC_ROOT)/libtcmalloc_minimal.so $(HWLOC_ROOT)/libhwloc.so -ldl -lrt
LINK_FLAGS=$(HPX_ROOT)/lib/libhpx_wrap.a -Wl,-wrap=main # should be left empty for HPX_WITH_HPX_MAIN=OFF
hello_world_client: libhpx_hello_world hello_world_client.o
$(CXX) $(CXXFLAGS) -o hello_world_client $(LIBRARY_DIRECTIVES) libhpx_hello_world $(LINK_FLAGS)
hello_world_client.o: hello_world_client.cpp
$(CXX) $(CXXFLAGS) -o hello_world_client.o hello_world_client.cpp $(INCLUDE_DIRECTIVES)
libhpx_hello_world: hello_world_component.o
$(CXX) $(CXXFLAGS) -o libhpx_hello_world hello_world_component.o $(LIBRARY_DIRECTIVES)
hello_world_component.o: hello_world_component.cpp
$(CXX) $(CXXFLAGS) -c -o hello_world_component.o hello_world_component.cpp $(INCLUDE_DIRECTIVES)
To build the program, type:
make
A successfull build should result in hello_world binary. To test, type:
./hello_world
Note
Due to high variations in CMake flags and library dependencies, it is recommended to build HPX applications and components with pkg-config or CMakeLists.txt. Writing Makefile may result in broken builds if due care is not taken. pkg-config files and CMake systems are configured with CMake build of HPX. Hence, they are stable and provides with better support overall.


layout: true
--- class: center, middle # WhatsNewNet6 => ( press > ) https://ignatandrei.github.io/Presentations/WhatsNewNet6prez.html Code at https://ignatandrei.github.io/Presentations/WhatsNewNet6.zip --- # Agenda 0. About me 1. What's new VS2022? 2. What's new C# 10 3. What's new ASP.NET C# 10 4. What's new EFCore 6 5. Links 7. Discussion / Questions ? --- class: center, top # About me ![:img ignat, 10%](ignat.jpg) Andrei Ignat http://msprogrammer.serviciipeweb.ro/ www.ASP.NET forum moderator YouTube 5 minutes .NET and tools : http://bit.ly/5MinTools Book Making Open Source Component : http://bit.ly/NetOpenSourceComponent Book Copy Paste from StackOverflow : https://amzn.to/2PQ8EDc Roslyn Source Code Generators with examples : Amazon: https://amzn.to/3f6gll3 Free: https://ignatandrei.github.io/RSCG_Examples/ Monthly meetings: https://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/ --- class: center, top # What's new VS2022? 64 Bit Intellicode - AI powered like Github Copilot Conditional Breakpoint + Force Run to Cursor Not tried yet: committing across many repos: https://devblogs.microsoft.com/visualstudio/multi-repo-support-in-visual-studio/ Razor editor: https://devblogs.microsoft.com/visualstudio/introducing-the-new-razor-editor-in-visual-studio-2022/ More details at : https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes-preview --- class: top # What's new C# 10 DotNet: https://devblogs.microsoft.com/dotnet/file-io-improvements-in-dotnet-6/ 1. Demo :Minimal program , Implicit usings ,global usings, ```csharp WriteLine("Hello Worldx"); CsharpVsPython(); ``` 2. //Demo: file scoped namespaces 3. Demo: CallerArgumentExpression 4. Demo: Source generator for System.Text.Json (and logging) 5. DateOnly, TimeOnly : https://devblogs.microsoft.com/dotnet/date-time-and-time-zone-enhancements-in-net-6/ --- class: top # What's new ASP.NET C# 10 https://docs.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-6.0?view=aspnetcore-6.0 1. Demo: Minimal API ; then Razor , Blazor , IAsyncDisposable 2. HttpLoggingMiddleware 3. Demo: AsyncEnumerable ```csharp [HttpGet] public async IAsyncEnumerable
GetValues(){ for (int i = 0; i < 10; i++) { await Task.Delay(2000); yield return i; } } ``` 4. Linq API : //Demo: MaxBy , //Demo: Chunk : example with threads 6. Value Type Records ( equality not by reflection) 7. Interpolated string : https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/tutorials/interpolated-string-handler (see latest example) --- class: top # What's new EFCore 6
1. Minimal API + Speed 2. Compiled Models : https://devblogs.microsoft.com/dotnet/announcing-entity-framework-core-6-0-preview-5-compiled-models/ dotnet ef dbcontext optimize ```csharp var iddepartment = runtimeEntityType.AddProperty( "Iddepartment", typeof(long), propertyInfo: typeof(Department).GetProperty("Iddepartment", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly), fieldInfo: typeof(Department).GetField("
k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly), valueGenerated: ValueGenerated.OnAdd, afterSaveBehavior: PropertySaveBehavior.Throw); ``` 3. Conventions - varchar(200) for all string columns https://devblogs.microsoft.com/dotnet/announcing-entity-framework-core-6-0-preview-6-configure-conventions/ ```csharp configurationBuilder.Properties
() .AreUnicode(false).HaveMaxLength(1024); ``` 4. Support Temporal Tables 5. Migrations, Cosmos DB, SavePoints, and others :https://docs.microsoft.com/ro-ro/ef/core/what-is-new/ef-core-6.0/whatsnew
--- class: center, top # Links to get started https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-6 https://devblogs.microsoft.com/dotnet/file-io-improvements-in-dotnet-6/ https://devblogs.microsoft.com/dotnet/announcing-net-6/ https://devblogs.microsoft.com/dotnet/welcome-to-csharp-10/ https://devblogs.microsoft.com/dotnet/try-the-new-system-text-json-source-generator/ https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/whatsnew https://docs.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-6.0?view=aspnetcore-6.0 http://dontcodetired.com/blog/?tag=cs10newseries https://devblogs.microsoft.com/dotnet/get-to-know-ef-core-6/ https://docs.microsoft.com/ro-ro/ef/core/what-is-new/ef-core-6.0/whatsnew https://blog.ndepend.com/modern-c-hello-world/ https://devblogs.microsoft.com/visualstudio/visual-studio-2022/ https://devblogs.microsoft.com/visualstudio/multi-repo-support-in-visual-studio/ https://devblogs.microsoft.com/visualstudio/introducing-the-new-razor-editor-in-visual-studio-2022/ https://visualstudiomagazine.com/articles/2021/11/08/vs-2022-ga.aspx https://kymphillpotts.com/dotnetconf-recap.html --- class: left, top # Questions? Andrei Ignat http://msprogrammer.serviciipeweb.ro/ www.ASP.NET forum moderator YouTube 5 minutes .NET and tools : http://bit.ly/5MinTools Book Making Open Source Component : http://bit.ly/NetOpenSourceComponent Book Copy Paste from StackOverflow : https://amzn.to/2PQ8EDc Roslyn Source Code Generators with examples : Amazon: https://amzn.to/3f6gll3 Free: https://ignatandrei.github.io/RSCG_Examples/ Monthly meetings: https://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/


jitsi(1) jitsi(1) NAME jitsi - the Java VoIP and Instant Messaging client SYNOPSIS jitsi [options] [uri-to-call] DESCRIPTION Jitsi is an audio/video Internet phone and instant messenger that sup‐ ports some of the most popular instant messaging and telephony protocols such as SIP, Jabber, AIM/ICQ, MSN, Yahoo! Messenger, Bonjour, IRC and soon others like IAX. An optional uri-to-call expression can be specified to start a call from the command-line. If Jitsi is already running then the call is handled by the running application, except when it is explicitly told to allow mul‐ tiple instance launch. OPTIONS -c, --config=DIR Use DIR for configuration files. -d, --debug Print debugging messages to stdout. -h, --help Print a help message containing usage instructions and descrip‐ tions of all options currently supported. -m, --multiple Allow multiple instance launch. -6, --ipv6 Force use of IPv6 addresses where possible. -4, --ipv4 Force non-support for IPv6 and use of IPv4 only. -v, --version Display the current version and exit. FILES ~/.jitsi/contactlist.xml The IM contact-list. ~/.jitsi/sip-communicator.xml The main configuration file. AUTHOR Jitsi was written by Emil Ivov<EMAIL_ADDRESS>This manual page was written by Martin Andre<EMAIL_ADDRESS>for the Debian project (but may be used by others). October 10, 2008 jitsi(1)


--- layout: post title: Cari date: 2018-01-17 12:40:00 categories: posts tags: [cari] gambar: https://pa1.narvii.com/6405/8fa9ec9cab167ec0e6d9049c5e681b3eb4ccbaf6_hq.gif ---
result(s) found for “”.


While at Waza this year, I had a chance to talk to my friend Guillaume Roques. In addition to talking about SalesForce, we took advantage of our mutual .NET backgrounds to discuss Microsoft. We did the typically uncompromising praise of The Gu and how far Azure has come along in the last 18 months… and of course we had to talk databases. Below is my quick little list of reasons I gave him as to why I’m favoring Postgres over SQL Server from a technical/business aspect.
SQL Server still to this day deploys pessimistic concurrency out of the box. Anyone not aware of this “feature” starts out very disadvantaged on performance. This person will soon get an internet history filled with locking/blocking/deadlocking links. Postgres defaults to optimistic concurrency via its MVCC feature and is a joy to work with.
Compression out of the box. With SQL Server, compression is an “Enterprise Edition and Up” feature which means you are spending the cost of at least 1 dev in order to get the ability to use compression. Once you have paid for that ability, you still have to figure out how to implement it. Postgres does this for you out of the box, automatically and for free.
Concurrent Index Creation. You are going to find a recurring theme there…this is yet another feature that SQL Server is capable of doing, but only if you are able to afford the elite and affluent company of Enterprise Edition. Postgres has your back on this even if you left your wallet at home.
Partitioning out of the box. Our data is growing and we need to do something about it, but perhaps we don’t want to take on the drama of sharding yet. Partitioning can be a pretty good fix for this and with Postgres, unsurprisingly, you get it out of the box. As for SQL Server, basic table partitioning is only available in Enterprise Elite edition. Yep, you’re writing huge checks to pull this off.
Indexable functions – In Postgres, you can actually index certain functions and maintain sargability. With SQL Server, you’re stuck in the cruel world of table scans when this happens.
Modules/Extensions – Tech moves fast. The fact that Postgres has an extensions system means that your DB platform can now match the innovations on your web stack. SQL Server has releases every 3 years… It quickly becomes your grandparents’ database.
Works everywhere – Linux, Mac, BSD, Windows… Postgres comes to you on the platform you want to code on. SQL Server is flexible in that it works on all 50 versions of Windows Vista, Windows 7, Windows 8.
Arrays – Everyone loves arrays and they are a core part of programming…except in SQL Server, where they don’t exist.
JSON / V8 support – You can write/use JSON and Javascript on the client, server and even your database if you are using Postgres. SQL Server? I believe they are still fully invested in thinking that XML is the future.
Unicode by default – No longer do you have to play the nvarchar / varchar implicit conversion game or have horrible string datatype mapping like you do in SQL Server. Postgres is UTF-8/varchar out of the box and wants nothing more than to give your app gigantic, unconditional data hugs.


--- layout: documentation title: TaskActionListType ---
The TaskActionListType type specifies a list of task actions.
| Field Name | Type | Description |
|---|---|---|
| Action1..n | TaskActionType |
The work items performed by a task are called actions. See also: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383549(v=vs.85).aspx. |


{% extends 'wagtailadmin/notifications/base.html' %} {% load wagtailadmin_tags i18n %} {% base_url_setting as base_url %} {% block content %} {% if requested_by %}
{% blocktrans trimmed with workflow=workflow.name title=page.get_admin_display_title requester=requested_by|user_display_name %}The page "{{ title }}" has been submitted for moderation to workflow "{{ workflow }}" by {{ requester }}.{% endblocktrans %}
{% else %}{% blocktrans trimmed with workflow=workflow.name title=page.get_admin_display_title %}The page "{{ title }}" has been submitted for moderation to workflow "{{ workflow }}".{% endblocktrans %}
{% endif %}{% trans "You can edit the page here:" %} {{ base_url }}{% url 'wagtailadmin_pages:edit' page.id %}
{% endblock %}


--- layout: post permalink: arcadeboutique.html Tags: Array NameOfCoupon: ARCADE Boutique Cash Back Summary: See our ARCADE Boutique Coupon Code, ARCADE Boutique Rebate, ARCADE Boutique Promo Code, ARCADE Boutique Discount, ARCADE Boutique Coupon Cash Back Rebate here. MetaKeywords: ARCADE Boutique Coupon Code, ARCADE Boutique Rebate, ARCADE Boutique Promo Code, ARCADE Boutique Cash Back Rebate, ARCADE Boutique Discount, ARCADE Boutique Coupon Image: LinkURL: http://gan.doubleclick.net/gan_click?lid=41000000032318097&pubid=21000000000306703 affiliate_url_link: http://www.icouponblog.com/jane.php?id=5174 thesis_readmore: See the ARCADE Boutique Coupon thesis_thumb: http://www.icouponblog.com/tn.php?merchantURL=arcadeboutique.com/scripts/ecommerce Title: Save 2.5% - ARCADE Boutique Coupon Code for arcadeboutique.com/scripts/ecommerce. ARCADE Boutique Rebate & Discount thesis_description: Our ARCADE Boutique Discount Coupon Code for arcadeboutique.com/scripts/ecommerce. We have the best ARCADE Boutique Rebate anywhere. thesis_keywords: ARCADE Boutique , ARCADE Boutique Coupon Code, ARCADE Boutique Discount, ARCADE Boutique Rebate product_name: ARCADE Boutique hop_url: http://www.icouponblog.com/hop.php?id=5174 ---
Rediscover glamour, fun, elegance, comfort and much more when you shop at www.arcadeboutique.com. It is your window into high-end fashion. ARCADE Boutique carries an array of designs from fun casual wear to sophisticated, chic, trendy and sexy. ARCADE Boutique carries the work and designs of hard to find fashion designers from Preen, Barbara Bui and Doo Ri and many others. These apparel are complimented with a great selection of accessories, swimwear and costume jewelry from Dannijo, Lee Angel and many more. Use our discount coupons to get great deals on a great product.
ARCADE Boutique is one of the best places to shop online for high end fashion products at affordable prices. You can buy beautiful, unique tops, pants, dresses, intimate apparel, bags and other accessories. ARCADE Boutique carries a great selection of clothes designed by over fifty designers that are hard to find. You will fall in love with ARCADE Boutique products. Check it out online at .arcadeboutique.com. you will find beauty, class and affordability in one place at .arcadeboutique.com.
Arcade Boutique is a great affordable place to buy high end fashion products from. You can find beautiful, attractive, very comfortable, stylish and trendy clothes at low affordable price. You can find smart, cool, highly beautiful clothes and apparel. You can also buy low priced accessories like shoes, boots, scarves, belts and jewelry, hats and much more. Check it out online and use their user friendly website to get a great deal. Save money by using our coupons.


{{#unless ../post_tips_flag}} {{#unless ../post_tips}}
{{_ 'Companies are having a hard time finding your profile.'}}
{{{_ 'By clicking yes, this post will be removed from searches and your profile.'}}}
{{_ "Don't have resume yet?"}}


Please provide your suggestions to improve our site
Rate your experience:
Suggestions/Comments:
Submit


We mentor students for completing real projects, for real clients. Come learn with us, build up your skillset, and most importantly have fun!
Apply Now
Learn real life skills outside of the classroom.


--- title: "v1.31.0 - 2023-07-18" linkTitle: "v1.31.0 - 2023-07-18" weight: -114 ---
# of Merged PRs reviewed
# of words written in merged PRs
# of Review Comments in merged PRs
# of Pull Requests Merged
Lines of code (delta)
Average PR size (added+changed)
# of comments
# of words (excludes authored)
# of issues closed (excludes authored)


{% extends "get_together/base.html" %} {% block content %}
{% include "events/profile_form.html" %}
Continue


curs_inch 3x
curs_inch(3x) curs_inch(3x)
NAME
inch, winch, mvinch, mvwinch - get a character and
attributes from a curses window
SYNOPSIS
#include <curses.h>
chtype inch(void);
chtype winch(WINDOW *win);
chtype mvinch(int y, int x);
chtype mvwinch(WINDOW *win, int y, int x);
DESCRIPTION
These routines return the character, of type chtype, at
the current position in the named window. If any
attributes are set for that position, their values are
OR'ed into the value returned. Constants defined in
<curses.h> can be used with the & (logical AND) operator
to extract the character or attributes alone.
Attributes
The following bit-masks may be AND-ed with characters
returned by winch.
A_CHARTEXT Bit-mask to extract character
A_ATTRIBUTES Bit-mask to extract attributes
A_COLOR Bit-mask to extract color-pair field information
NOTES
Note that all of these routines may be macros.
PORTABILITY
These functions are described in the XSI Curses standard,
Issue 4.
SEE ALSO
curses(3x).
curs_inch(3x)
Man(1) output converted with
man2html


hReader works in conjunction with the RESTful Health Exchange project (RHEx) Patient Data Server to provide patients with their data. RHEx interfaces with a variety of different EHR systems and acts as a secure repository for patient data. RHEx also provides a single RESTful API, which hReader uses to access the data.
Once the patient's data is downloaded to hReader in greenCDA JSON format, it is encrypted (if the pass code has been set) and stored on the iPad so that it can be accessed even without a network connection. Local iPad storage allows the patient to control their own data, bring it to their provider, and ask more informed questions about their health.
If a network connection is available, real-time updates are possible between RHEx and hReader.
Back to tophReader is released under the Apache 2.0 license.
Back to topThe most prominent and active activities are always published on the project website. We have attempted to include enough high level information on our project site and our installation instructions available in the source code to setup the development environment for hReader. Whenever possible, please make use of our FAQ and software documentation before exploring other communication channels.
There are three email distribution lists which may also be used to request information about the project's plans and activities. These lists are:
Anyone can subscribe to this list. Messages to this list are limited to the hReader governing organizations.
Like the announcement list, anyone can subscribe to this list. Additionally, anyone is free to submit questions about the project to this list. To prevent spam, all message are first reviewed by the project team before being forwarded to the distribution list.
This list is exclusively used for software development questions. Membership to this list is also open to anyone. However, we encourage individuals to limit participation to those that are active software engineers. Likewise, anyone is free to submit questions about the project to this list. Similarly, to prevent spam, all messages are first reviewed by the project team before being forwarded to the distribution list.
Yes. Code contributions, bug fixes, ideas for new features, are all welcome for hReader. A requirement for contributing software is that any and all software contributed to hReader is released under an Apache 2.0 open source distribution license, and that you transfer copyright of any code or patches you submit to the project. Source code contributions, as well as dialog/discussions for feature requests and enhancements will be publicly reviewed and vetted by the hReader project's governing organizations.
To submit a new feature for consideration into the hReader repository, setup an account on GitHub. Fork the hReader code, and create a branch of hReader on your repository. Send the link to your hReader branch to the hReader developer email list, and cite either an existing bug or feature from the hReader project tracker to specify the changes that you are contributing.
If you have suggestions on new features, or want to report a bug that has not yet been tracked, send an email to the developer email list with either the details to reproduce a bug, or detailed description about a suggested feature that you would like to see added to hReader.
Back to tophReader is funded by the MITRE Corporation
*All health data and information in the screen shots is synthetic.


The rules for self-isolating
Self-isolation is when you do not leave your home because you have or might have coronavirus (COVID-19). This helps stop the virus spreading to other people.
Don't
-
do not go to work, school or public places
-
do not go out to get food and medicine
-
do not have visitors in your home, including friends and family - except for people providing essential care
-
do not go out to exercise
-
do not go on public transport or use taxis
Do
-
do work from home if you can
-
do order food and medicine online or by phone, or ask someone to bring it to your home
-
do exercise at home or in your garden if you have one
The difference between Self-isolation, lockdown rules and shielding
Self-isolation is different to:
- lockdown - do not leave home except when necessary
- social distancing - general advice for everyone to avoid close contact with other people
- shielding - advice for people at high risk from coronavirus
Page last reviewed: 21 December 2020
Next review due: 21 December 2020


A release message :
#release:test a title
A release message with attributes :
#release:test #attr:EU #attr:CA a title
A release message with a forced date and attributes :
#release:test #attr:EU #attr:CA #date:2015-12-24 a title
And replies to complete informations about release :
#fix: a fix here
#feat: a new feature
First tag of reply will become a section (#feat, #fix, #whatever)
The screenshot above was created with these messages.
# Insert Release Title
tatcli msg add /Private/yesnault/Release "#release:2.0.0" -v
# get IDMessage from previous command
ID_MSG="58032b202683911aacaa23d0"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Major A message belongs to one topic only now."
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Major A GET on /Private/username/Tasks returns message in this topic and all message with label doing:username"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Major the field "topics" is kept for backwards compatibility"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Major new mongo index for more efficiency, with new field topic"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Chore logs/iot key"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Chore update deps"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Feat add async for /countEmptyTopic"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Feat add prod logger"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Feat allow http:// in tag"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Feat check date on list"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Feat list presences, get without topic name"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Feat remove condition on move msg"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Fix 401 if wrong auth"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Fix err on find topic"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Fix get msg in unknown topic"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Fix remove admin user"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Fix remove log fatal"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Fix remove unused log / return on unknown topic"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Refactor remove action bookmark"
tatcli msg reply /Private/yesnault/Release $ID_MSG "#Refactor task: add label doing and doing:username"
In plugin.tpl.json file, add this line :
"tatwebui-plugin-releaseview": "git+https://github.com/ovh/tatwebui-plugin-releaseview.git"
Add in config.json (client side) of tatwebui this attribute :
"releaseview": {
"tracker": "RELEASEVIEW_TRACKER",
"keyword": "RELEASEVIEW_KEYWORD"
},
Set tracker with your issue tracker system.
Set keyword to your issue tracker.
Example : if you write a message like “feat: a big feature #RELEASE_KEYWORD:AAA-1”, an url will be generated on tatwebui : $RELEASE_TRACKER/AAA-1


About Me
- BA Visual Communication Design, Eastern Washington University
- 2016 Cheney, WA
- AA in general studies, Bellevue College
- 2013 Bellevue, WA
- Fish Window Cleaner
- 2015 Spokane, WA
- Ballet Teacher
- 2014-present Spokane, WA
- Nanny-One year experience as a nanny for two families 2013-14
- Burien, WA
- Spokane Scholar in Fine Arts
- 2011 Spokane, WA
- Volunteer for Evergreen City Ballet
- 2013-2014 Renton, WA
- Regular Church Volunteer
- 2013-2014 Bellevue, WA
- Spokane Valley Partners Fundraiser
- 2007-2012 Otis Orchards, WA
- ai
- indd
- ps
- brackets
- codepen
- github
- Illustration
- Print Making
- Branding
- Hand Lettering
- Editing
- Coding


{% extends 'base.html' %} {% load static %} {% block title %}Email Sent{% endblock %} {% block indexhtml %}
We've emailed you instructions for setting your password. You should receive the email shortly!


Refreshes toolbar button that allows to show/hide columns.
initColumnOnOff()
Returns undefined.
Description
Every time you add or remove columns to the grid, the drop down menu on the toolbar that allows to show/hide columns should be rebuilt. This
menu is built when grid is rendered, but not rebuilt when grid is refreshed. If you use
.addColumn() or .removeColumn() it will
rebuild toolbar show/hide column button. However, if you do change .columns array directly, you will
need to call .initColumnOnOff() method in addition to .refresh()
method.
If you have grid defined in the following way:
And if you change columns directly, you will need to:


2016 - 2022 (expected)
Yale University (GPA: 4/4)Advisor: Prof. Xuhui Lee
2013 - 2015
Indian Institute of Technology, Kanpur (GPA: 9.5/10)Advisor: Prof. Sachchidanand Tripathi
2009 - 2013
West Bengal University of Technology (GPA: 9.17/10)January 2019 - May 2019
Yale UniversityGraduate level
August 2018 - Dec 2018
Yale UniversityGraduate level
January 2018 - May 2018
Yale UniversityGraduate level
August 2017 - Dec 2017
Yale UniversityGraduate level
Jan 2015 - May 2015
Indian Institute of Technology, KanpurGraduate level
July 2014 - Dec 2014
Indian Institute of Technology, KanpurGraduate level
Jan 2014 - May 2014
Indian Institute of Technology, KanpurUndergraduate level


I'm graduated in Design and I love to learn about web development, so I at the moment I'm a web designer always looking to improve my skills
A little bit about what I can do at the moment
Thanks for visitng! Get in touch with me here


Version 1.4
Guide on how to add the Manatee Works Barcode Scanner Phonegap plugin to your project(s)
For more in-depth info, visit our website at www.manateeworks.com
(supposed you have already created the app by using CLI interface and added desired platforms)
phonegap local plugin add https://github.com/manateeworks/phonegap-mwbarcodescanner.git
or
phonegap local plugin add LOCAL_PATH_TO_THE_FOLDER_WITH_PLUGIN (if you are adding from local folder)
Perform initial build for each platform (repeat the command twice if not working after first time, seems there's a bug in phonegap 3.3)
phonegap local build ios
phonegap local build android
phonegap local build wp8
Add a button to index.html which will call the scanner:
<form style="width: 100%; text-align: center;">
<input type="button" value="Scan Barcode" onclick="scanner.startScanning()" style="font-size: 40px; width: 300px; height: 50px; margin-top: 100px;"/>
</form>
Users now can put decoder initialization and callback in separate Javascript file, so that they don't lose their changes when they update the plugin. Sample file is js/MWBConfig.js.
To use the custom script, user need to include it in the index file like so:
<script type="text/javascript" src="js/MWBConfig.js"></script>
and start the scanner with:
scanner.startScanning(MWBSInitSpace.init,MWBSInitSpace.callback);
All init and callback function can still be declared inside MWBScanner.js file, but will be overwritten on plugin update.
WP8 Note
It's seems there's a bug in Phonegap 3.0 so you have to add html '<script type="text/javascript" src="cordova.js"></script>'
in index.html (or other html files) manually
Create a Phonegap Android app;
Copy the folder 'Android/src/com/manateeworks' to your project's 'src/com/' folder;
Copy the file 'Android/res/layout/scanner.xml' to your project's 'res/layout' folder;
Copy the file 'Android/res/drawable/overlay.png' to your project's 'res/drawable' folder. Do the same for the file in 'drawable-hdpi' folder;
Copy the files 'Android/libs/armeabi/libBarcodeScannerLib.so' and 'Android/libs/armeabi-v7a/libBarcodeScannerLib.so' to your project's 'libs/' folder, all the while preserving the same folder structure
Copy the file 'www/MSBScanner.js' to the 'assets/www/js' folder;
Insert the Scanner activity definition into AndroidManifest.xml:
<activity android:name="com.manateeworks.ScannerActivity"
android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
</activity>
Insert the MWBScanner.js script into index.html:
<script type="text/javascript" src="js/MWBScanner.js"></script>
<form style="width: 100%; text-align: center;">
<input type="button" value="Scan Barcode" onclick="startScanning()" style="font-size: 20px; width: 300px; height: 30px; margin-top: 50px;"/>
</form>
For Phonegap 2.x
<plugins>
...
<plugin name="MWBarcodeScanner" value="com.manateeworks.BarcodeScannerPlugin"/>
...
</plugins>
For Phonegap 3 *
<feature name="MWBarcodeScanner">
<param name="android-package" value="com.manateeworks.BarcodeScannerPlugin" />
</feature>
Import .R file of your project (import YOUR_APP_PACKAGE_NAME.R;) to the 'src/com/manateeworks/ScannerActivity.java';
Upon license purchase, replace the username/key pairs for the corresponding barcode types in the file 'src/com/manateeworks/BarcodeScannerPlugin.java';
Run the app and test the scanner by pressing the previously added button;
(Optional): You can also replace our default overlay.png for the camera screen with your own customized image;
(For Phonegap 3) If notification plugin is not present in project, add it by following instructions from this url:
<!-- --> http://docs.phonegap.com/en/3.0.0/cordova_notification_notification.md.html
<!-- --> <uses-permission android:name="android.permission.CAMERA" />
(For Phonegap 2.x) In BarcodeScannerPlugin.java replace org.apache.cordova reference to org.apache.cordova.api :
Instead:
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
Use this:
import org.apache.cordova.api.CallbackContext;
import org.apache.cordova.api.CordovaPlugin;
Create a Phonegap iOS app;
Copy all files from our 'iOS/src' folder to your project's 'Plugins' folder and add them to the project;
Copy the file 'www/MSBScanner.js' to the folder 'www/js' . NOTE: You cannot drag & drop directly into the Xcode project... use Finder instead;
Insert MWBScanner.js script into index.html:
<script type="text/javascript" src="js/MWBScanner.js"></script>
Add a test button for calling the scanner to index.html:
<form style="width: 100%; text-align: center;">
<input type="button" value="Scan Barcode" onclick="startScanning()" style="font-size: 20px; width: 300px; height: 30px; margin-top: 50px;"/>
</form>
Add the plugin to config.xml (from project root, not the one from www folder):
For Phonegap 2.x
<plugins>
...
<plugin name="MWBarcodeScanner" value="CDVMWBarcodeScanner"/>
...
</plugins>
For Phonegap 3
<feature name="MWBarcodeScanner">
<param name="ios-package" value="CDVMWBarcodeScanner" />
</feature>
Confirm you have the following frameworks added to your project: CoreVideo, CoreGraphics;
Upon license purchase, replace the username/key pairs for the corresponding barcode types in the file Plugins/MWBarcodeScanner/MWScannerViewController.m;
Add (drag & drop) MWBarcodeScanner folder into the project folder named 'plugins'. If needed, create Plugins folder in project previously;
Copy (this time from Windows Explorer, not by way of drag & drop) to the project BarcodeLib.winmd and BarcodeLib.dll to project root;
Add (drag & drop) www/MWBScanner.js to www/js/ project folder;
Insert MWBScanner.js script into index.html:
<script type="text/javascript" src="js/MWBScanner.js"></script>
Add a button for calling the scanner to index.html:
<form style="width: 100%; text-align: center;">
<input type="button" value="Scan Barcode" onclick="scanner.startScanning()" style="font-size: 40px; width: 300px;height: 50px; margin-top: 100px;"/>
</form>
Add BarcodeLib.winmd to project references: right click on 'References', 'Add Reference', 'Browse' and choose the file;
Add the plugin to config.xml:
For Phonegap 2.x
<plugins>
...
<plugin name="MWBarcodeScanner" value="MWBarcodeScanner"/>
...
</plugins>
For Phonegap 3
<feature name="MWBarcodeScanner">
<param name="wp-package" value="MWBarcodeScanner" />
</feature>
Add a notification plugin (if not already present):
<plugin name="Notification" value="Notification"/>
(For Phonegap 2.9) Sometimes a bug occurs in Phonegap 2.9.0 with notification dialogs, making them crash on closing. It may be necessary to make a change in the Plugins/Notification.cs file:
inside function: void btnOK_Click
replace the following block:
NotifBoxData notifBoxData = notifBoxParent.Tag as NotifBoxData;
notifyBox = notifBoxData.previous as NotificationBox;
callbackId = notifBoxData.callbackId as string;
if (notifyBox == null)
{
page.BackKeyPress -= page_BackKeyPress;
}
with the one below:
NotifBoxData notifBoxData = notifBoxParent.Tag as NotifBoxData;
if (notifBoxData != null)
{
notifyBox = notifBoxData.previous as NotificationBox;
callbackId = notifBoxData.callbackId as string;
if (notifyBox == null)
{
page.BackKeyPress -= page_BackKeyPress;
}
}
Add ID_CAP_ISV_CAMERA capability into WMAppManifest.xml
Added support for custom init and callback functions. All init and callback function can still be declared here, but users can now use an outside Javascript file that they can maintain during updates, so that they don't lose their changes when they update. To use the custom script, they only need to include it in the index file like so:
<script type="text/javascript" src="js/MWBConfig.js"></script>
To call the scanner with the custom init and callback you use
scanner.startScanning(MWBSInitSpace.init,MWBSInitSpace.callback);
Zoom feature added for iOS and Android. It's not supported on WP8 due to API limitation.
Added function to turn Flash ON by default
Fixed 'frameworks was not added to the references' on WP8
Fixed freezing if missing org.apache.cordova.device plugin
Added x86 lib for Android
CameraManager.java rework
It now contains complete camera handling functionality, other files from camera folder are not necessary
Registering calls moved from native code to MWBScanner.js
You can now enter your licensing info without changing the native code of plugin;
Import package_name.R manually after adding Android plugin is not necessary anymore
Decoding library updated to 2.9.31
Advanced Overlay (MWBsetOverlayMode: function(overlayMode)
You can now choose between Simple Image Overlay and MW Dynamic Overlay, which shows the actual viewfinder, depending on selected barcode types and their respective scanning rectangles;
Orientation parameter (MWBsetInterfaceOrientation: function(interfaceOrientation))
Now there's only a single function for supplying orientation parameters which makes tweaking the controller for changing scanner orientation no longer needed;
Enable or disable high resolution scanning (MWBenableHiRes: function(enableHiRes))
Added option to choose between high or normal resolution scanning to better match user application requirements;
Flash handling (MWBenableFlash: function(enableFlash))
Added option to enable or disable the flash toggle button;


Pau Torres wanted by Arsenal
by BeSoccerAccording to the newspaper 'The Sun', Pau Torres is in Arsenal's plans. They are following his performances at Villareal and his recent jump to the Spanish national team.
He is 22 and a big club like Arsenal are after him. We are speaking about Pau Torres, a player that has established himself in the Villarreal defence.
This is what 'The Sun' indicates, who also signal that the Gunners could have to spend between 48 and 50 million to get him.
Featured links
- Ballon d'Or winner already been decided
- The latest football transfers news and rumours
- Possible 'Clasico' in the Spanish Supercup final
- Who has the most free-kicks goals: Messi or Cristiano?
So far, the CB has played 14 matches (in all competitions), scoring 2 goals and getting 1 assist.
He is playing at a high level at Villarreal and he recently made the step up to the Spanish national team. In fact, Pau Torres made his Spain debut against Malta and scored.


help.start()
12 Loading and Analyzing Data
This tutorial, based on a 2022 presentation for the National Institute for Computer Assisted Reporting (NICAR), will show you the essential workflow for any data analysis project in R. You will learn to import data, explore it, use basic commands to sort and filter and build summary tables. You will build a basic data visualization from your work – all in R code.
You will be executing commands in this document that are contained in “chunks,” which are separate from the text and contain live R code. Click the green arrow at the right on line 6 and run the help.start() command
In the bottom right window of R Studio, you will see a Help window that displays basic help commands for the program.
12.0.1 Install software to grab data
Tidyverse: Eight separate software packages to perform
data import, tidying, manipulation, visualisation, and programming
Rio: Easy importing features
Janitor: Data cleaning
You should have installed tidyverse already. If not, then delete the hashtag in front of install.packages(“tidyverse”) and run the code chunk at line 22.
#install.packages("tidyverse")
install.packages("rio")
install.packages("janitor")
Remember, package installation usually is a one-time thing on your hard drive. But when you need to load the software libraries each time you start a script. Libraries are bits of software you will have to load each time into R to make things run.
library(tidyverse)
library(rio)
library(janitor)
Check to see what’s installed by clicking on “Packages” tab in File Manager, lower right pane
12.0.2 Data
We will work with a dataset of MediaSalaries that I cleaned and modified slightly in March 2022 for this tutorial. Some of the detail has been removed so we can make calculations. This MediaSalaries sheet was a crowdsourced project involving reporters worldwide to share information about salaries and benefits. Open this file in Google Sheets
1) Select Salaries tab
IRE Old School: Four Corners Test!
13 Columns
1658 Rows
Numberic data in Salary, Years Experience
Mixed string data in Gender Identity / Ethnicity, Job duties
12.0.3 Import Data
We'll now load this data into R. You can load spreadsheets from the Internet as follows:
<- rio::import("https://docs.google.com/spreadsheets/d/1jkbQFwIdaWv8K00Ad6Wq7ZxFTUPFQA-g/edit#gid=1655992481", which = "RealMediaSalaries2") MediaBucks
What happened? Look at the table
View(MediaBucks)
What happened?
R grabbed the spreadsheet from the folder
We told R to grab the first sheet, RealMediaSalaries2
R created a dataframe called MediaBucks
basics of R: <- is known as an “assignment operator.”
It means: “Make the object named to the left equal to the output of the code to the right.”
12.0.4 Explore Data
Click the green arrow code chunk to get the answers below.
How many rows?
nrow(MediaBucks)
[1] 1658
How many columns?
ncol(MediaBucks)
[1] 13
Dimensions: Gives number rows, then columns
dim(MediaBucks)
[1] 1658 13
Names of your columns
colnames(MediaBucks)
[1] "TITLE" "COMPANY"
[3] "Salary" "Salary_Details"
[5] "Salary_Details2" "Race"
[7] "Gender" "YEARS_EXPERIENCE"
[9] "LOCATION" "JOB_DUTIES"
[11] "PREV_SALARIES_TITLES" "SALARY_original"
[13] "Gender_Ethnicity_Original"
OR
names(MediaBucks)
[1] "TITLE" "COMPANY"
[3] "Salary" "Salary_Details"
[5] "Salary_Details2" "Race"
[7] "Gender" "YEARS_EXPERIENCE"
[9] "LOCATION" "JOB_DUTIES"
[11] "PREV_SALARIES_TITLES" "SALARY_original"
[13] "Gender_Ethnicity_Original"
Check data types
str(MediaBucks)
'data.frame': 1658 obs. of 13 variables:
$ TITLE : chr "Photojournalist" "Staff Writer" "Staff reporter" "Reporter" ...
$ COMPANY : chr "College Student Newspaper" "Paxton Media" "Schurz Communications Inc." "Hearst Newspapers" ...
$ Salary : num 0 12 12 13.2 14.9 ...
$ Salary_Details : chr "" "hour" "hour" "hour" ...
$ Salary_Details2 : chr "" "anhour" "-2012" "~32,000/year" ...
$ Race : chr "asian" "white" "white" "white" ...
$ Gender : chr "male" "female" "female" "female" ...
$ YEARS_EXPERIENCE : chr "3" "8" "2" "3" ...
$ LOCATION : chr "" "Georgia" "Central Kentucky" "Houston" ...
$ JOB_DUTIES : chr "Photo" "Write and cover news stories, photograph news, write monthly health magazine, social media director" "Reported on anything and everything: local government, breaking news, features, op/eds, columns. Took pictures,"| __truncated__ "Report on communities outside of the Houston metro area, take photos, produce online and print content, pitch s"| __truncated__ ...
$ PREV_SALARIES_TITLES : chr "" "" "" "" ...
$ SALARY_original : chr "0" "$12 an hour" "$12/hour (2012)" "13.25/hour ~ 32,000/year " ...
$ Gender_Ethnicity_Original: chr "Cis male asian" "White female" "cis white female" "Cis white female" ...
Let’s look at the first six rows
head(MediaBucks)
TITLE COMPANY Salary Salary_Details
1 Photojournalist College Student Newspaper 0.00
2 Staff Writer Paxton Media 12.00 hour
3 Staff reporter Schurz Communications Inc. 12.00 hour
4 Reporter Hearst Newspapers 13.25 hour
5 Staff Reporter Ogden Newspapers 14.91 hour
6 Desk Assitant KTLA 15.00 hour
Salary_Details2 Race Gender YEARS_EXPERIENCE LOCATION
1 asian male 3
2 anhour white female 8 Georgia
3 -2012 white female 2 Central Kentucky
4 ~32,000/year white female 3 Houston
5 perhour white male 3+ years experience Utah
6 noanswer female 2 Los Angeles
JOB_DUTIES
1 Photo
2 Write and cover news stories, photograph news, write monthly health magazine, social media director
3 Reported on anything and everything: local government, breaking news, features, op/eds, columns. Took pictures, managed web uploads and social media accounts, produced short videos.
4 Report on communities outside of the Houston metro area, take photos, produce online and print content, pitch story ideas, etc.
5 daily beat reporting, photos, social media
6 Organize daily field drives and retrieves file videos\nUse FTP system to send/receive video files from the field\nMakes beat checks of police and fire departments\nLog/transcribe daily video feeds\nAnswers viewer phone calls, taking stories from viewers\nChecks for possible stories via all social media channels\nChecks email for possible stories and upcoming news events\nListens to viewers complaints; accepts criticism in an even handed manner; and offers suggestions or answers as appropriate\nWatch and log daily competition newscasts
PREV_SALARIES_TITLES SALARY_original Gender_Ethnicity_Original
1 0 Cis male asian
2 $12 an hour White female
3 $12/hour (2012) cis white female
4 13.25/hour ~ 32,000/year Cis white female
5 $14.91 per hour cis white male
6 $15/hour cis female
Here is a quick way to view the range of your data
summary(MediaBucks$Salary)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0 42000 60000 64194 78000 770000 4
Size and scope
sum(MediaBucks$Salary, na.rm=TRUE)
[1] 106177432
$106 million! for 1,658 journalists
Context: NYT earnings in 2020 = $100 m Facebook profit for one day: $114 million (Q42021=$10.3B)
average
mean(MediaBucks$Salary, na.rm=TRUE)
[1] 64194.34
Distribution
quantile(MediaBucks$Salary, c(0.1, 0.2, 0.3, 0.4,0.5, 0.6, 0.7, 0.8, 0.9), na.rm=TRUE)
10% 20% 30% 40% 50% 60% 70% 80% 90%
28720 39000 45000 52000 60000 65000 75000 84000 101700
quantile(MediaBucks$Salary, c(0.25, 0.50, 0.75, 0.9, 0.99), na.rm=TRUE)
25% 50% 75% 90% 99%
42000 60000 78000<PHONE_NUMBER>00
12.0.6 Dplyr
dplyr has many tools for data analysis
select Choose which columns to include
filter Filter the data
arrange Sort the data, by size for continuous variables, by date, or alphabetically
group_by Group the data by a categorical variable
Build a simple summary table by Gender
%>%
MediaBucks select(Gender, Salary) %>%
group_by(Gender) %>%
summarize(Total = sum(Salary, na.rm=TRUE))
# A tibble: 4 × 2
Gender Total
<chr> <dbl>
1 female 63198034.
2 male 35201242.
3 na 3061718.
4 noanswer 4716438.
What is the sample size?
%>%
MediaBucks count(Gender) %>%
arrange(desc(n))
Gender n
1 female 1025
2 male 503
3 noanswer 71
4 na 59
Better idea: Check Averages!
Build a simple summary table by Gender
%>%
MediaBucks select(Gender, Salary) %>%
group_by(Gender) %>%
summarize(Avg_Salary = mean(Salary, na.rm=TRUE))
# A tibble: 4 × 2
Gender Avg_Salary
<chr> <dbl>
1 female 61717.
2 male 69983.
3 na 52788.
4 noanswer 68354.
Quick filter out hourly workers
<- MediaBucks %>%
MediaSalary filter(Salary >= 1000)
Just give me a list of the top 10 salaries and companies: use slice_max. slice_max and slice_min are features in the Dplyr library (part of Tidyverse) that produce quick summary tables. See what else you can do with the slice commands.
%>%
MediaBucks select(COMPANY, Salary) %>%
slice_max(Salary, n = 10)
COMPANY Salary
1 Tribune Publishing 770000
2 The Onion 550008
3 G/O Media (The Onion) 500000
4 G/O Media (The Onion) 500000
5 VoxMedia 400000
6 ProPublica 395000
7 Digital_First_Media 375000
8 The Intercept 368249
9 NewYorkTimes 350000
10 LBI Media 291200
Questions:
1: View the range of your data
2: Number of rows
3: Number of rows cut with filter
12.0.7 Find Your News Organization
Filter
<- subset(MediaBucks, COMPANY=="WallStreetJournal") WSJ
summary(WSJ$Salary)
Min. 1st Qu.  Median Mean 3rd Qu. Max.
12 35000 50625 57077 67250 230504
Questions:
1: Who is making $230,504 as a reporter???
2: Make a table for editors, figure out medians.
3: Find highest paid editor. Resent them.
4: Make a table for any position involving data
Table with Black reporters at Wall Street Journal
<- MediaBucks %>% filter(Race =="black", COMPANY == "WallStreetJournal") WSJ_Black
Build a simple summary table by Race
<- MediaBucks %>%
Race select(Race, Salary) %>%
group_by(Race) %>%
summarize(Avg_Salary = mean(Salary, na.rm=TRUE)) %>%
arrange(desc(Avg_Salary))
Race
# A tibble: 13 × 2
Race Avg_Salary
<chr> <dbl>
1 chinese 76167.
2 australian 75000
3 african 73485.
4 hispanic 70481.
5 black 69371.
6 poc 68061.
7 asian 66427.
8 noanswer 64925.
9 latina 64806.
10 white 63025.
11 mixed 55756.
12 mideastern 51833.
13 native 50000
Wait! What are the totals by race?
%>%
MediaBucks count(Race) %>%
arrange(desc(n))
Race n
1 white 1094
2 noanswer 192
3 poc 115
4 asian 77
5 black 57
6 hispanic 53
7 latina 23
8 mixed 22
9 african 13
10 mideastern 7
11 chinese 3
12 australian 1
13 native 1
Advanced: Build a summary table and count by race
%>%
MediaBucks select(Race, Salary) %>%
group_by(Race) %>%
summarize(Total=n(),
Avg = mean(Salary, na.rm=TRUE)) %>%
arrange(desc(Total))
# A tibble: 13 × 3
Race Total Avg
<chr> <int> <dbl>
1 white 1094 63025.
2 noanswer 192 64925.
3 poc 115 68061.
4 asian 77 66427.
5 black 57 69371.
6 hispanic 53 70481.
7 latina 23 64806.
8 mixed 22 55756.
9 african 13 73485.
10 mideastern 7 51833.
11 chinese 3 76167.
12 australian 1 75000
13 native 1 50000
#details: https://stackoverflow.com/questions/36183601/average-and-count-with-aggregation-in-r-with-dplyr
12.0.8 Visualize
Let’s make a simple chart of our salaries by race.
%>%
Race ggplot(aes(x = Race, y = Avg_Salary, fill = Avg_Salary)) +
geom_col(position = "dodge") +
theme(legend.position = "none") +
labs(title = "Sample chart of race and salary using MediaSalaries",
caption = "1658 records, sample data. Graphic by Rob Wells, 8/11/2022",
y="Average Salary",
x="Race / Ethnicity")
This is a basic chart using ggplot. To break down the code: - These lines: Race %>% ggplot(aes(x = Race, y = Avg_Salary, fill = Avg_Salary)) + – Uses the Race table, calls the ggplot program, assigns the x axis to Race, y axis to Avg_Salary and fills the color according to Avg_Salary - These lines: geom_col(position = “dodge”) + theme(legend.position = “none”) + – creates a chart of columns, and removes a legend box. - These lines: labs(title = Assign the headline and captions.
12.0.9 What You Have Learned So Far
How to navigate in R studio
How to install libraries and packages
How to import a .xlsx file into R
How to obtain summary statistics (summary)
How to build basic tables from a dataset
How to conduct filter queries from a dataset
12.0.10 Questions
1: Build a table for NewYorkTimes employees, and determine median salary of NewYorkTimes employees
#your answer here
2: Identify title, gender and race of the highest paid position at NYT
#your answer here
3: Search for Bloomberg, check median salary, compare to NYT results above.
#your answer here
12.0.11 Tutorials
Excellent book by Sharon Machlis https://www.routledge.com/Practical-R-for-Mass-Communication-and-Journalism/Machlis/p/book/9781138726918
First five chapters are free on her website. My recommendation: buy the book. https://www.machlis.com/R4Journalists/
All Cheat Sheets https://www.rstudio.com/resources/cheatsheets/
MaryJo Webster tutorials http://mjwebster.github.io/DataJ/R_tutorials/opiate_deaths.nb.html https://github.com/mjwebster/R_tutorials/blob/master/Using_R.Rmd
Aldhous’ R tutorial http://paldhous.github.io/NICAR/2018/r-analysis.html
Ron Campbell Lecture https://github.com/roncampbell/NICAR2018/blob/master/Intro%20to%20R.md
Excellent Tutorial Spelling out Excel and Comparable Commands in R https://trendct.org/2015/06/12/r-for-beginners-how-to-transition-from-excel-to-r/ https://docs.google.com/presentation/d/1O0eFLypJLP-PAC63Ghq2QURAnhFo6Dxc7nGt4y_l90s/edit#slide=id.g1bc441664e_0_59
Andrew Ba Tran first Data Analysis Steps Using R https://docs.google.com/presentation/d/1O0eFLypJLP-PAC63Ghq2QURAnhFo6Dxc7nGt4y_l90s/edit#slide=id.p
Charts https://www.rdocumentation.org/packages/ggplot2/versions/1.0.1/topics/geom_bar http://www.cookbook-r.com/Graphs/Bar_and_line_graphs_(ggplot2)/
Base R Cheat Sheet https://www.povertyactionlab.org/sites/default/files/r-cheat-sheet.pdf


public Position
Created by Shynixn 2018.
java.lang.String getWorldName()
worldName
which world the location is.
worldName
void setWorldName(java.lang.String p)
worldName
which world the location is.
worldName
Position subtract(Position position)
Subtracts the given position
from this position
and returns this position.
position
Position add(double x, double y, double z, double yaw, double pitch)
Adds the parameters to this position.
void add(Position position)
Adds the parameters to this position.
Position relativePosition(double forward, double up, double left)
Returns the relative position given by this position rotation and offset parameters.
double distance(Position o)
Calculates the distance to the other location.
double distanceSquared(Position o)
Calculates the square distance to the other location.
Position getDirection()
Gets the direction of the yaw and pitch.
Position multiply(double multiplier)
Multiply position.


Home
(current)
TerryChat
(current)
Logout
(current)
(current)
My Chatrooms
Public Chatrooms
Private Chatrooms
Instant Messages
Friends
Delete Server
About
Edit
Change Server Title
×
Change Server Title:
Server Info
Members
Blocked Members
Server Name:
Remove User
Block User
Unblock User
Promote User
Demote User
Friends
User
User
User
User
User
Remove Blocked User from
test
×
User:
Add user to block list
×
User:
Remove User from
×
User:
Promote user in
×
User:
Demote User from
×
User:
Are you sure you want to delete this server?


| Invoice Number | 2013-INV-0046 |
|---|---|
| Created | 03/11/2013 |
| Payment Due | 17/11/2013 |
Definitive Edge Studios Ltd.
Martin Toomey
63 Bayview
Tramore
WaterfordIreland
Tax ID: IE9000301
+353 51 381363
<EMAIL_ADDRESS>Bill To:
Brightworks
17 Corrig Road
Sandyford Industrial Estate
Dublin 18
Tax ID: IE76984621
| Description | Quantity | Unit Price | Amount |
|---|---|---|---|
| Web Development | 12hr | €40 | €480 |
| Logo Deisgn | 8hr | €45 | €360 |
| Sub | €840 | ||
| Discount | - | ||
| Tax (23%) | €193.20 | ||
| Total | €1033.20 |


RL-Bin
2.0.0
Robust Low-overhead Binary Rewriter
platform.h File Reference
Include dependency graph for platform.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
core
include
Capstone
platform.h
Generated by
1.8.15


Home
Pictures
FAQ
Dream. Think. Learn. Explore. Teach. Collaborate. Innovate. Advocate. Code. Build. Hack. WSU.
Top
{{content}}


Scarcity and IP
A response to "IP in a World Without Scarcity": Mark Lemley defends the necessity of protecting Intellectual Property (IP) by arguing that maintaining the scarcity of »
Since starting the long and arduous search for Summer 2015 opportunities back in September of last year, I've made the decision to go to to Khan »
A response to "IP in a World Without Scarcity": Mark Lemley defends the necessity of protecting Intellectual Property (IP) by arguing that maintaining the scarcity of »
A classmate of mine recently asked about using my personal portfolio as a template to build his own portfolio. He asked me an interesting question: "How »
After learning about cURL requests from a javascript course I took last year, I wanted to automate some track scraping with a bash script so I »
As part of an excercise for DYL: "Designing your Life", I'm maintaining a "block journal" to describe when I get blocked during this week, what type »


e-commerce Store
Cart
Settings
Logout
Item Name
Quantity
Price
Product name
Status:
In Stock
Rs 0.00
Remove
Product name
Status:
Only a few left
Rs 0.00
Remove
Total
Rs 0/-
Confirm Order


Games played: 0
Games won: 0
Alpha packs won: 0
Packs/game: 0
Average amount of wins for pack: 0
Average amount of games for pack: 0
Min streak for pack: 0
Max streak for pack: 0
Hours played: 0h
Hours of ranked for a pack: 0h
Hours of ranked for a legendary: 0h
Win probability: 50%
Interval: 1000 (it gets faster :)


|
SMSLib 3.5.3 | |||||||||
| PREV NEXT | FRAMES NO FRAMES |
See:
Description
| Packages | |
|---|---|
| org.smslib | Main SMSLib classes. |
| org.smslib.balancing | SMSLib loadbalancing classes. |
| org.smslib.crypto | SMSLib cryprographic classes. |
| org.smslib.helper | SMSLib helper classes. |
| org.smslib.http | Classes related to bulk operators' HTTP interfaces. |
| org.smslib.modem | Classes related to serial and IP GSM modems. |
| org.smslib.modem.athandler | Classes for the handling of 3GPP AT commands. |
| org.smslib.queues | Classes related to the background queues and delayed sending. |
| org.smslib.routing | SMSLib routing classes. |
| org.smslib.smpp | |
| org.smslib.smpp.jsmpp | |
| org.smslib.smsserver | SMSServer Application. |
| org.smslib.smsserver.gateways | SMSServer Gateways. |
| org.smslib.smsserver.interfaces | SMSServer Interfaces. |
| org.smslib.threading | Abstract class acting as base for the majority of SMSLib threads. |
Welcome to SMSLib for Java documentation pages.
|
SMSLib 3.5.3 | |||||||||
| PREV NEXT | FRAMES NO FRAMES |


This website lets you encode and decode messages with 5 different ciphers. The first three are Substitution Ciphers: ciphers which replace each unit of a message with a unit of ciphertext. Along with these substitution ciphers than can be easily implemented with pen and paper, we've included binary XOR, a simple cipher usually implemented with a computer.
Since substitution ciphers and binary XOR are easily broken, we've also provided you the option to encrypt your messages with AES Crypto, a much more secure encryption method.
Once you've encoded a message, you can opt to generate a QR Code of your ciphertext that you can scan with any QR reader.
If you want to learn more about any of these ciphers, you can check out the links above for explanations and demos. Happy encrypting!


Previous: Acknowledgements, Up: Acknowledgements [Contents][Index]
We feared that these acknowledgements would become an exhibition of our negligence and ingratitude, and at least to some degree this has turned out to be the case. There were plans for things to be better. We took care to thank those who helped us in Marpa’s IRC channel, thinking that we could use the channel’s backlog as a source for these notices.
The European Union (EU) had other ideas. In 2018, the EU passed the General Data Protection Regulation (GDPR), which suddenly brought our plans to nought. Under the GDPR, logs like that for Marpa’s IRC channel could not possibly be made conformant in a way that kept their administrators safe from legal action. In theory this applied to similar, highly-profitable databases maintained by large corporations, as much as it did to the volunteers generously maintaining the backlog for our IRC channel. In practice large corporations have been able to largely neutralize the GDPR, deftly parrying most enforcement, with their worst possible outcome being a cost-of-doing-business fine. For the typical volunteer, however, even winning a legal action is ruinous, given the costs.
Whether or not some were aware of GDPR’s highly discriminatory effects when it was being drafted, the realization of the GDPR’s practical implications for volunteer-driven open source effort came to our community very abruptly, and after it was already in effect. Our backlogging was done in EU jurisdiction, and no measure to save our IRC backlogs could be taken without exposing innocent and generous volunteers to almost certainly disastrous legal action. My notes for these acknkowledgements needed to be cobbled together from other sources.
Previous: Acknowledgements, Up: Acknowledgements [Contents][Index]


{% extends 'base.html' %} {% load staticfiles %} {% block content %}
{{ neighborhood.name }}
30 character maximum
100 character maximum
12 character maximum
Delete


Setting Default News Caching
How to set the default cache time for all news items within the News Feeds (RSS) module.
-
- Select the News Module Settings tab.
- In the Default Cache Time text box, enter the default cache time for all news items. This setting is overridden by the cache time set for each news feed. The default setting is 30.
-
Click the Update button.


bjhgfhusiusnvusbfudbfu8sduffyfdw
ehberuiefiusnvudsvniunuirnuiinninvuidr
Some quick example text to build on the card title and make up the bulk of the card's content.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellat fugiat, laboriosam, voluptatem, optio vero odio nam sit officia accusamus minus error nisi architecto nulla ipsum dignissimos. Odit sed qui, dolorum!.
View projectSome quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellat fugiat, laboriosam, voluptatem, optio vero odio nam sit officia accusamus minus error nisi architecto nulla ipsum dignissimos. Odit sed qui, dolorum!
View projectthis is a modified jumbotron that occupies
Sed ut perspiciatis unde omnis iste natus sit voluptatem accusantium doloremque laudantium, totam rem aperiam.
Powerful
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fuga aliquid dolorem ea distinctio exercitationem delectus qui, quas eum architecto, amet quasi accusantium, fugit consequatur ducimus obcaecati numquam molestias hic itaque accusantium doloremque laudantium, totam rem aperiam.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Pariatur obcaecati vero aliquid libero doloribus ad, unde tempora maiores, ullam, modi qui quidem minima debitis perferendis vitae cumque et quo impedit.
view projectSed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur.
by Carine Fox, 19/08/2016
Read morePowerful and free Material Design UI KIT
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fuga aliquid dolorem ea distinctio exercitationem delectus qui, quas eum architecto, amet quasi accusantium, fugit consequatur ducimus obcaecati numquam molestias hic itaque accusantium doloremque laudantium, totam rem aperiam.
Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.
Donec id elit non mi porta.Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.
Donec id elit non mi porta.Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.
Donec id elit non mi porta.lfdhfjaudgfdbfbusifbdufidnffuisfhfhf
With supporting text below as a natural lead-in to additional content.
Go somewhereWith supporting text below as a natural lead-in to additional content.
Go somewhereWith supporting text below as a natural lead-in to additional content.
Go somewhereWith supporting text below as a natural lead-in to additional content.
Go somewhereWith supporting text below as a natural lead-in to additional content.
Go somewhereWith supporting text below as a natural lead-in to additional content.
Go somewhereWith supporting text below as a natural lead-in to additional content.
Go somewhereWith supporting text below as a natural lead-in to additional content.
Go somewhereWith supporting text below as a natural lead-in to additional content.
Go somewhereSome quick example text to build on the panel title and make up the bulk of the panel's content.
Some quick example text to build on the panel title and make up the bulk of the panel's content.
Some quick example text to build on the panel title and make up the bulk of the panel's content.
Some quick example text to build on the panel title and make up the bulk of the panel's content.
This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.
This card has supporting text below as a natural lead-in to additional content.
Last updated 3 mins ago
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat.


The Internet is the defining technology of our time And historic revolution in communications for the human race that is changing the world. The Internet enables millions of people with personal computers to communicate and connect. It is also the world's largest marketplace and shopping mall and it’s a link to websites the world over with information for every aspect of life and even the life after.catchphrases to discover significant outcomes. At whatever point a user entered a search term, search engines, for example, AltaVista and Lycos would contrast the inquiry term with their information bases of terms. The pages that had text generally like the hunt term were viewed as more important and were highlighted higher in the rundown of searched items. This didn't generally demonstrate helpful outcomes and improved search engines for example Yahoo and Google were found in 1994 and 1998 individually.
The Internet is a global network of computer-based communication. Millions of people around the world are now using the Internet every day to exchange messages, conduct business, meet people, and find information.
he Internet is practically indispensable yet it’s origin states back only to the 1950s. The idea behind the Internet was envisioned by a psychologist named JCR Licklider, A professor at the Massachusetts Institute of technology in the 1950s. His vision was that computers would allow you to communicate better and that would allow you to connect all the computers together so that they might be more useful in the sharing of information among people
The first computers were monstrously large and expensive devices that were never intended to communicate. Well America gave birth to a space program that grew from a call to run by presidential edict, computer communication was in the embryonic stage but it was making progress.
At MIT a graduate student named Leonard Kleinrock began applying queuing theory to data transmission. It is a tool for evaluating computer and communication systems. He also implemented the two techniques called demand access and distributed control.
His theory proved that computer communication could one day be a reality and it also marked a revolutionary departure from the telephone systems use of a technology called circuit switching. This was a benefit for the American national security, as they hired Paul Baran to figure out a way to work through the networks and use data to track calls. In the Late 1960’s the new big idea was something called time sharing.
In 1966, Bob Taylor from ARPA (Advanced Research Project Agency), Needed a separate terminal to log into each of several shared computers that research centers across the Country. Taylor recruited Larry Roberts for the job, in which Roberts had built the world's first experimental connection between two computers. In 1971 Raymond Tomlinson Invented the electronic mail system By putting two programs together, modifying the code and the first email program was created.
He also gave the world a new icon for the information age which is known as the “@“. In June 1992, Congress passed a bill taking the Internet out of the exclusive hands of the government and into the public. The following November President Bush signed it into law. By the late 90s the Internet had grown in simplicity of use, complexity of Performance, and multiplicity of information. It has completely redefined the use of personal computers.


[1]
i have no complaints all around a good investment for me.; i have no cons
[2]
Great colors and compatibility with Netflix/Pandora; Serious issues with disc compatibility


Integer remainder of the division of two Real numbers
rem(x, y)
Returns the integer remainder of x/y
, such that
div(x,y) * y + rem(x, y) = x
. Result and arguments
shall have type Real or Integer. If either of the arguments is Real
the result is Real otherwise Integer. [Note, outside of a when
clause state events are triggered when the return value changes
discontinuously.]
rem(3,1.4) = 0.2 rem(-3,1.4) = -0.2 rem(3,-1.4) = 0.2


--- layout: layout title: "Not Found" --- Constructing ... Sorry! This Pages is Under Construction. Go Back to Home?
Sorry! This Pages is Under Construction.


OptionalParser Class
Definition
Line
227
of
scmpg/Parser.cm
Inheritance
Constructors & Destructor
public
OptionalParser
(
Parser
* child_)
Member Functions
public
override
void
Accept
(
Visitor
& visitor)
public
override
Parser
*
Clone
()
const
Constructor& Destructor Details
OptionalParser Constructor
public
OptionalParser(
Parser
* child_)
Definition
Line
229
of
scmpg/Parser.cm
Member Function Details
Accept Member Function
public
override
void
Accept(
Visitor
& visitor)
Definition
Line
237
of
scmpg/Parser.cm
Clone Member Function
public
override
Parser
* Clone()
Definition
Line
233
of
scmpg/Parser.cm


Take a look inside the museum dedicated to death
by Euronews"Death is always interesting for people because this is something that is incomprehensible." That's according to the Art Director of The Death Museum in the city of Novosibirsk, Russia.
The museum houses some 30,000 artefacts collected from all over the world, which tell the story of death and mourning in different human cultures.
There are several display areas dedicated to exploring funeral and grieving rites, including the Victorian-era practice of "post-mortem photography - the tradition of making photographs of dead relatives.


First name
Last name
Email Address
Contact #
Add User
First Name:
Last Name:
Email Address:
Contact No:


If you are using online translator like Google translate or similar.
helper.html
and
assets/js/translator_helper/helper.js
and replace strings in var
plain
inside of function
plain_translation
( language )
in helper.js
with your own strings.
helper.html
to suit your needs. Default to default + default to every other language!
helper.html
and
helper.js
to get an idea, what you will be creating now!
var
plain
inside of function
plain_translation
( language )
in
helper.js
helper.js
for example.
var
plain
as with your default language as you go.
Make sure that order of the strings stays the same, and that you don't
loose any string in the process !
helper.html
to suit your needs. 'en'
, then you would store it in path_to_language_files
variable
in
settings.js


| Education Level | Institute Name | Location | CGPA | Duration |
| Secondary | DAV PUBLIC SCHOOL | DVC,MTPS,West Bengal | 8.4 | April 2010 - April 2016 |
|---|---|---|---|---|
| Higher Secondary | DAV PUBLIC SCHOOL | DVC,MTPS,West Bengal | 8.95 | April 2016 - April 2018 |
| B.Tech | Government College of Engineering And Ceramic Technology | Beliaghata,Kolkata,West Bengal | 9.57 | April 2019 - Present |


[% " Disabling or Deprioritizing your IPv6 address " | i18n %]
[% "
To disable IPv6 entirely, until your ISP offers IPv6 to you: see Microsoft's
\"fixit\" site that gives clear instructions. We advocate considering
\"Use IPv4 instead of IPv6 in prefix policies\", instead of completely
disabling IPv6. Specific Windows features depend on IPv6 being enabled.
" | i18n %]
[% " To completely disable IPv6 (Windows 7, Vista; XP should be similiar): " | i18n %]
- [% " Go to the start menu " | i18n %]
- [% " Go to the control panel " | i18n %]
- [% " Go to \"Network and Internet\" " | i18n %]
- [% " Go to \"View network status and tasks\" " | i18n %]
- [% " Go to \"Change adapter settings\". " | i18n %]
- [% " Go to your main Internet connection, double click " | i18n %]
- [% " Go to \"Properties\" " | i18n %]
- [% " Uncheck \"Internet Protocol Version 6\" " | i18n %]
- [% " Hit \"ok\" " | i18n %]
- [% " Shutdown/reboot. " | i18n %]
[% " To disable IPv6 in Windows XP: " | i18n %]
- [% "Taken from: " | i18n %] http://support.microsoft.com/kb/2478747
- [% "Make sure you are logged in as an Administrator. " | i18n %]
- [% "Click Start, click All Programs, click Accessories, and then click Command Prompt. " | i18n %]
- [% "At the command prompt, type: netsh int ipv6 uninstall and press the Enter key on your keyboard. " | i18n %]
- [% "Close the Command Prompt window and restart the computer. " | i18n %]
[% " Other Windows based OS's: Send<EMAIL_ADDRESS>detailed instructions; and I'll add them to the site. " | i18n %]
[% " OS X users " | i18n %]
[% " Before disabling IPv6, please be sure you are running the latest OS version. In particular, OS X 10.6.7 has several workarounds for being \"Broken\". This may solve your problems without resorting to completely disabling IPv6. " | i18n %]
- [% " How to disable IPv6 " | i18n %]
-
- [% " Go to the \"Apple\" menu (top left corner) " | i18n %]
- [% " Go to System Preferences " | i18n %]
- [% " Go to Network " | i18n %]
- [% " Click on your primary network (green icon) if you have more than one work. " | i18n %]
- [% " Go to \"Advanced\" " | i18n %]
- [% " Disable IPv6 " | i18n %]
- [% " Apply changes " | i18n %]
[% " iPhone and iPad users " | i18n %]
[% " IPv6 is not configurable on the iPhone or iPad. Your only option is to switch to another network. " | i18n %]
[% " Linux users: " | i18n %]
- [% " How to disable IPv6 " | i18n %]
-
- [% " This is very distribution-specific. Do a web search using your favorite search engine. " | i18n %]
- [% " Example web search:
disable ipv6 on centos
" | i18n %]
[% " Generic unix instructions, to temporarily remove your IPv6 address. " | i18n %]
ifconfig eth0 inet6 [% " IP_ADDRESS " | i18n %] remove
- [% " Be aware that if the router re-advertises it, you will relearn the default route. " | i18n %]
- [% " You can do a web search for your particular OS distribution. Example search would be
disable ipv6 on freebsd
. " | i18n %]


LOAD_POLICY
Section: NSA (8)Updated: May 2003
Index Return to Main Contents
NAME
load_policy - load a new SELinux policy into the kernelSYNOPSIS
load_policy [-qi]DESCRIPTION
load_policy loads the installed policy file into the kernel. The existing policy boolean values are automatically preserved across policy reloads rather than being reset to the default values in the policy file.
OPTIONS
- -q
- suppress warning messages.
- -i
-
inital policy load. Only use this if this is the first time policy is being loaded since boot (usually called from initramfs).
EXIT STATUS
- 0
- Success
- 1
- Invalid option
- 2
- Policy load failed
- 3
- Initial policy load failed and enforcing mode requested
SEE ALSO
booleans (8),AUTHORS
This manual page was written by Dan Walsh<EMAIL_ADDRESS>The program was written by Stephen Smalley<EMAIL_ADDRESS>Index
This document was created by man2html, using the manual pages.
Time: 05:34:27 GMT, December 24, 2015


{% load static %}
Journaling is like whispering to one's soul
Wanna go Back?
What happened Today ?
{% csrf_token %}
Title
Content
Submit


‘Study Events, Events, ‘Weight .