This stuff is pretty amazing
I'd like to tell you a little bit about classes with the example written below: class Person.
A class in ruby is a blue print that specifies :
1. What the object can keep as data. This is also known as the properties or instance variables or state of the object.
2. What the object can do to interact with other objects or itself. This is also known as the objects methods or behavior or instance methods.
Other concepts are inheritance and composition. Inheritence occurs when a class inherits properties and behavior of another class. Inheritance is known as an is-a relationship because a child class is a type of a parent class. Composition occurs when a class is composed of other classes. Composition is also described as a has-a relationship, because a class can have another class composed within it.
The class Name has instance variables first middle and last. The class Date has instance variables day month and year. The class Person has instance variables birth_date and name. These are all examples of the properties or state of each object that is instantiated with the classes.
The read/write properties of the attributes are given by the line:
attr_accessor :birth_date, :name
attr_accessor simply means that we have given the property methods to read the value and write the value. This is also known as getter and setter methods.
def initialize(first_name, middle_name, last_name) @name = Name.new(first_name, middle_name, last_name) @birth_date = Date.new() end def to_s @name.to_s + " Born on " + @birth_date.to_s end def what_do_you_do puts "I'm a typical person. I eat, sleep and I love to code Ruby on Rails." end
The classes Name, Date, Person have an instance method called initialize this method initializes instance variables in those classes. All 3 classes also have a to_s method that outputs information about the object in a string format. The Person class also has another method what_do_you_do which prints a string. These are all very basic examples of the behavior of these objects.
class Dev_boot_camp_student < Person
The class Dev_boot_camp_student is inherited from the class Person. This means that a Dev_boot_camp_student object is a type of Person object.
class Person attr_accessor :birth_date, :name def initialize(first_name, middle_name, last_name) @name = Name.new(first_name, middle_name, last_name) @birth_date = Date.new() end
In the example below the class Person makes use of the principle of composition. Person is actually composed of 2 objects which are instances of class Date and class Name.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | class Person attr_accessor :birth_date, :name def initialize(first_name, middle_name, last_name) @name = Name.new(first_name, middle_name, last_name) @birth_date = Date.new() end def to_s @name.to_s + " Born on " + @birth_date.to_s end def what_do_you_do puts "I'm a typical person. I eat, sleep and I love to code Ruby on Rails." end end class Dev_boot_camp_student < Person end class Date attr_accessor :day, :month, :year def initialize(day=0, month=0, year=0) @day = day @month = month @year = year end def to_s "Date: " + @month.to_s + "/" + @day.to_s + "/" + @year.to_s end end class Name attr_accessor :first, :middle, :last def initialize(first, middle, last) @first = first @middle = middle @last = last end def to_s "Name: " + @first + " " + @middle + " " + @last end end |
We have the following driver code for the class written above:
puts #Instantiating a new object with a type of class Dev_boot_student. We instantiate with arguments first name, middle name, last name, which are specifications of the Dev_boot_student#initialize method puts "The calvin object created" p calvin = Dev_boot_camp_student.new("Calvin", "Cal", "Settachatgul") puts #We see that the birth_date of this object is 0 0 0 puts "Right now the birthdate is set to 0 0 0 values" p calvin.birth_date puts #We can set the individual properties for the birth_date by calling the Date setter methods .day = .month = .year = puts "We now set the birthdate to 12/20/1978" calvin.birth_date.day = 20 calvin.birth_date.month = 12 calvin.birth_date.year = 1978 puts #We can call the getter method .name and .birth_date and output it with the to_s method. puts "ouput the name and birthdate of calvin" puts calvin.name puts calvin.birth_date puts # We can call what_do_you_do which outputs a string puts "They ouput of what_do_you_do" calvin.what_do_you_do
And we get the following ouput
:> ruby person.rb The calvin object created #<Dev_boot_camp_student:0x007ff0a3190a50 @name=#<Name:0x007ff0a3190a28 @first="Calvin", @middle="Cal", @last="Settachatgul">, @birth_date=#<Date:0x007ff0a3190a00 @day=0, @month=0, @year=0>> Right now the birthdate is set to 0 0 0 values #<Date:0x007ff0a3190a00 @day=0, @month=0, @year=0> We now set the birthdate to 12/20/1978 ouput the name and birthdate of calvin Name: Calvin Cal Settachatgul Date: 12/20/1978 They ouput of what_do_you_do I'm a typical person. I eat, sleep and I love to code Ruby on Rails.


{% extends "Pylot/Login/login-layout.html" %} {% import "Pylot/macros/base.html" as m with context %} {% import "Pylot/macros/forms.html" as f with context %} {% block login_content %}


Tenant
Add a new employee
First Name:
Last Name:
Email:
Phone:
Department:
Office:
Submit
Employees List
First Name
Last Name
Email
Phone
Department
Office
Version


{{{furniture[2].copy}}}
Will Franklin, Troy Griggs and George Arnett
Friday 20 February 2015 16.00 GMT
Source: IMDb, as of 10 February 2015
{{{furniture[4].copy}}}
{{{copy}}}
{{{furniture[6].copy}}} Explore


--- layout: page title: Talks permalink: /talks # Specify the permalink because this file is not in the root. ---


Waechter Architecture builds ring of cabins on old school campus to create The Society Hotel Bingen
by Paul JebaraA converted schoolhouse surrounded by a series of detached cabins forms this boutique hotel in Washington State.
Nestled in the scenic Columbia River Gorge, the Society Hotel Bingen is sited 100 kilometres from the hotel brand's debut property in Portland, Oregon.
"One of our primary goals was to design a hotel that not only felt connected to the Gorge, but amplified people's experience of it," principal architect Ben Waechter. "It's exciting to stand within the hotel and cabins today and feel the complementary dialogue between the two."
Portland firms Waechter Architecture and Blossom Design renovated the schoolhouse to include modern amenities, while retaining relics from its academic past. These include the students' old green lockers in the main guest hall, original maple floors, and existing lighting from the schoolhouse cafeteria repurposed in the new cafe.
The hotel's reception area recalls a traditional school office aesthetic with an oak reception desk and slate backdrop, the latter reclaimed from the classroom blackboards. The lounge features a wall of vintage books, tufted green leather sofas and library lamps.
Inside the schoolhouse are 10 private guest rooms themed by class subjects, and two hostel-style rooms with custom triple bunks totalling 24 beds.
Waechter constructed a hexagonal ring of cedar cabins to encircle the schoolhouse. A shared roof cantilevers out to double as a covered walkway, creating porches and a shared courtyard accessible to guests and locals.
The perimeter of cabins is intended to loosely delineates between the hotel and residential neighbourhood without having a "monolithic barrier between communities."
The original deep blue colour found throughout the schoolhouse's interior was introduced into the new cabin bedrooms as navy grounding walls. Built-in furnishings are added to optimise the cabins' compact size, and custom plywood casework appears in the locker room, guestrooms, and cabins and spa. All original school cast iron bathroom sinks were freshly coated with porcelain.
In the schoolhouse, the spa and bathhouse feature a similar material palette to the cabin ring with openings on each side to avoid having a singular entry point. Four large piers shape the dramatic space, which expands upward to a large skylight above the indoor pools.
Old radiators were installed in the lounge as an under-bar kick, and existing fir tongue and groove paneling was repurposed as wainscoting throughout the property.
"The Columbia River Gorge National Scenic Area is one of the country's natural gems, and we created [the hotel] to be both a basecamp for exploring the region, plus a relaxing escape for those who want to rest, relax and recharge without leaving the property," said property owner Jessie Burke.
The Society Hotel Bingen joins a number of properties in the US that have been given new life as boutique hotels.
Examples of other recently completed projects are Hotel Kinsley in Upstate New York, Maison de la Luz in New Orleans and the Revival hotel in Baltimore.
Photography is by Micah Cruver, unless stated otherwise.


--- title: Lior Azi --- Mobile solutions Building innovative mobile solutions for your needs. Latest technology, greatest performance We build our products with the most up to date technology. This ensures your app is fast, efficient and reliable for a long period.
Building innovative mobile solutions for your needs.
We build our products with the most up to date technology. This ensures your app is fast, efficient and reliable for a long period.


Grocery Store
Grocery Store
Please select the items you wish to purchase:
Apples: $0.99
Oranges: $1.99
Brocoli: $2.99
Brussel Sprouts: $3.99
Fish: $4.99
Premium Steak: $599.99
Please select done when you have completed your purchase
Done
Total?


Result-Tree with all Alternatives, Aggregation
method: Weighted multiplication
Results: Weighted sum
None of the considered
alternatives have achieved acceptable values - all of them exhibit an
unacceptable performance for at least one aspect of the requirements
tree. However, to create a preservation plan, a feasible course of
action is needed. You may want to reconsider your acceptable
threshold settings in the Transformation step. You can do so by
returning to that step and changing your settings, and then continue
with the workflow.
Result-Tree with all alternatives, Aggregation method: Weighted sum
Result-Tree with alternatives without knock-out evaluation criteria, Aggregation method: Weighted sum
Show all alternatives


{{define "about"}} {{template "header"}}
The BSU codelab project aims to deliver custom, temporary programming environments for students, research staff, and faculty. The environments are defined by docker containers derived (typically) from one of the jupyter notebooks docker images found here or similar containers. These provide programming environments for Python 2, Python 3, R, Julia, and possibly other environments. For more information, contact BSU research computing.


Available Lectures
M-I
Applied Mathematics-I
Phy
Applied Physics
BE
Basic Electronics
C
C Programming
English
English Comm Skills
WS
Engg Workshop
M-II
Mathematics-II
Chem
Applied Chemistry
BEE
Basic Electrical Engg
BME
Basic Mechanical Engg
DS
Data Structure
ED
Engg Drawing
STLD
Digital Electronics
Java
Programming using JAVA
C++
Programming using C++
SP
System Programming
SE
Software Engg
DS
Discrete Mathematics
EE
Engg Economics
M-III
Mathematics-III
COA
Computer Architecture
DAA
Algorithm
DBMS
Database Managemant System
FLAT
Theory Of Computation
OB
Organisational Behaviour
OS
Operating System
CG
Computer Graphics
ACA
Advanced Computer Architecture
Advanced Java
Adavanced JAVA
CC
Cloud Computing
DMDW
Data Mining Data Warehousing
CN
Computer Networks
CD
Compiler Design
WSN
Wireless Sensor Network
ML
Machine Learning
EVS
Environmental Science
CNS
Cryptography and Network Security
SC
Soft Computing
IoT
Internet of Things
EC & ERP
E-Commerce
GT
Green Technology
ET
Entrepreneurship Training


Trashketball
Directions:
WASD to Move. SHIFT to run. SPACE to jump. J to kick. K to head. ESCAPE to pause. Get the ball in the trash can!
Advanced: J+W: Kick up, J+A: Kick left, J+S: Kick down, J+D: Kick right, H+W: Head up, H+A: Head left, H+S: Head down, H+D: Head right.


Adds a more touch friendly interface to the spotify web player.
Can be brough up by pressing the button in the green bar at the bottom. It can be closed again by pressing the same button or swiping down on the title information of the song.
Swiping left and right will go to the previous and next song.


Template Class Matrix¶
Defined in File Types.hpp
Class Documentation¶
-
template<class
T
>
classMatrix
¶ This class is a generic matrix datastructure used to hold point data It can own the data or it may not. It can also take ownserhip of a memory buffer. Over time I have become concerned with this datastructure because of this flexibility which can bring bugs if one is not careful…
Public Functions
-
Matrix
(T *ptr_, size_t rows_, size_t cols_)¶ Construct a new Matrix< T> object.
- Parameters
ptr_
: Raw pointer to underlying data that Matrix DOES NOT ownrows_
:cols_
:
-
Matrix
(size_t rows_, size_t cols_)¶ Construct a new Matrix< T> object, with memory allocated and owned for rows*cols.
-
Matrix
()¶ Construct a new Matrix< T> object, everything is empty but it is owned.
-
Matrix
(std::vector<T> &&old_vector, size_t rows_, size_t cols_)¶ Construct a new Matrix< T> object. We will take ownership of this data buffer.
- Parameters
old_vector
: Old vector that will moved and managed by this new Matrix Objectrows_
:cols_
:
-
~Matrix
()¶
-
Matrix
(Matrix<T> &a)¶ Construct a new Matrix< T> object, Copy Constructor. Will take an existing matrix and will perform a copy. If the data is owned it will be copied, if not it wont be copied.
- Parameters
a
:
-
Matrix
(const Matrix<T> &a)¶ Construct a new Matrix< T> object, Copy Constructor. Will take an existing matrix and will perform a copy. If the data is owned it will be copied, if not it wont be copied.
- Parameters
a
:
-
Matrix
(Matrix<T> &&other)¶ Default move constructor, take ownership of all the data of
other
- Parameters
other
:
-
Matrix<T> &
operator=
(const Matrix<T> &a)¶ Copy assignment operator This one is a little tricky. We make a copy of every element in the data. However if we own the data we reassign
ptr
to belong to our new copied buffer.- Return
Matrix<T>&
- Parameters
a
:
-
void
UpdatePtrFromData
()¶ Simple helper function to change our
ptr
to point to our own buffer.
-
void
UpdatePtrFromData
(const size_t rows_, const size_t cols_)¶ Simply updates our rows and columns and data.
- Parameters
rows_
:cols_
:
-
T &
operator()
(size_t i, size_t j) const¶ Acces an element of the Matrix using 2D indices.
- Return
const T&
- Parameters
i
:j
:
-
T &
operator()
(size_t index) const¶ Access an element in the matrix using its underlying buffer 1D index.
- Return
const T&
- Parameters
index
:
Public Members
-
bool
own_data
¶ Does the matrix own the data pointed to by
ptr
. If yes then ptr == data.data().
-
std::vector<T>
data
¶ Buffer of memory that may/may-not be used based upon own_data flag
-
T *
ptr
¶ This is raw pointer that never needs to be freed. It either point to memory in
data
which will be automatically freed during object destruction (own_data
= true). Or it points some other managed memory controlled by the user (own_data
= false)
-
size_t
rows
¶ Rows in the matrix
-
size_t
cols
¶ Columns in the matrix
Public Static Functions
-
template<class
G
>
static Matrix<T>CopyFromDifferentType
(G *ptr_from, size_t rows, size_t cols)¶ This actually performs a memory copy from an unknown buffer of one type (G) to our buffer of a different type (T). We own this new copied data.
- Return
Matrix<T>
- Template Parameters
G
:
- Parameters
ptr_from
:rows
:cols
:
-


Protecting your XPages Application
One of the hallmarks and success factors of IBM Notes was the openness of the design of all Notes applications. Since lots of people put blood, sweat and tears into their applications, Lotus added the possibility to hide the design of an application to protect it from spying eyes. While I don't like hidden designs I can understand the rationale.
Others keep their design open, but compile the LotusScript libraries with references to lss files outside, so the core business logic is protected.
Hiding the design doesn't work for XPages, you can poke around and get back to the source. So what are your options?
So how would a typical workflow look like? There seem to be quite some moving parts involved:
As usual YMMV
Others keep their design open, but compile the LotusScript libraries with references to lss files outside, so the core business logic is protected.
Hiding the design doesn't work for XPages, you can poke around and get back to the source. So what are your options?
- Keep your business logic in Java classes (Pojo, Beans, Managed Beans) and develop them outside of the NSF and transfer them as jar file only
- Deliver your custom controls as Extension Library (which can be deployed using an NSF) - which obviously requires advanced Skills
- Keep your XPages lean and handle the delicate parts in custom controls that you hide (see below)
So how would a typical workflow look like? There seem to be quite some moving parts involved:
- Develop and test your application as per normal. Keep items you want to protect in custom controls and Java classes
- Make sure you have your project build before doing the next steps
- Link your database to an On Disk Project for version control (but you do that anyway don't you?). Let's call that project "OnDisk Open"
- Have your target database (the one that you will deliver to your customer) setup in a similar way. Let's call that project "OnDisk Closed"
- Copy all elements you want to keep open (Forms, Views, XPages, CSS etc.) from OnDisk Open to OnDisk Closed
- Copy your Java source files and the generated Java source files for your custom controls (found in the Local directory, actually outside the NSF) in OnDisk Open to a src structure. Custom controls live in the xsp package. Your code lives in your packages
- Compile your Java
- Put all the compiled classes into a jar
- Copy that jar into the
/WebContent/WEB-INF/lib
folder of the OnDisk Closed project. At the first time: add this jar to the classpath of your closed.nsf after sync with the OnDisk Closed project - Copy the
.xsp-config
files of the custom controls you processed in the previous 4 steps into the/WebContent/WEB-INF/
directory (the same directory yourfaces-config.xml
is living in) - Sync the OnDisk Closed project with closed.nsf
- Build your closed.nsf - done
- ANT is unaware of the EFS (Eclipse Virtual File System), it acts on regular files only, so your operations need to run against the OnDisk projects rather the NSF directly
- The Java compile command is unaware of Eclipse and its classpath too. You need to specify that. Is is easier than it looks. Use the Navigator view to locate the
build.properties
file, right click on it, select PDETools - Create ANT build file. It will create a build.xml you can use for starters. The piece you are interested in is<path id="Plug-in Dependencies.libraryclasspath">
. You need to add that to your compile classpath together with your bin directory in a statement like this:<path id="YourBeans.classpath"><pathelement location="bin" /><path refid="Plug-in Dependencies.libraryclasspath" /></path>
- Configure your Domino Designer to automatically pick up changes from the file system. File - Preferences - Workspace - Refresh automatically
- While you are on it, generate your JavaDocs too
<?xml version="1.0"?>
<project name="Protect XPages" default="main" basedir=".">
<!-- Sets variables which can later be used. -->
<!-- The value of a property is accessed via ${} -->
<property name="src.dir" location="src" />
<property name="build.dir" location="bin" />
<property name="docs.dir" location="doc" />
<property name="closed.project.dir" location="C:\ondisk\closed" />
<path id="Plug-in Dependencies.libraryclasspath">
...
</path>
<path id="YourBeans.classpath">
<pathelement location="bin" />
<path refid="Plug-in Dependencies.libraryclasspath" />
</path>
<path id="JavaDoc.classpath">
<pathelement location="bin" />
<path refid="Plug-in Dependencies.libraryclasspath" />
</path>
<!-- Compiles the java code (including the usage of library for JUnit) -->
<target name="compile">
<javac srcdir="${src.dir}" destdir="${build.dir}">
<classpath refid="YourBeans.classpath" />
</javac>
</target>
<!-- Creates Javadoc -->
<target name="docs" depends="compile">
<javadoc packagenames="src" sourcepath="${src.dir}" destdir="${docs.dir}">
<classpath refid="JavaDoc.classpath" />
<!-- Define which files / directory should get included, we include all Java -->
<fileset dir="${src.dir}">
<include name="**/*.java"/>
</fileset>
</javadoc>
</target>
<!--Creates the deployable jar file -->
<target name="jar" depends="compile">
<jar destfile="${closed.project.dir}/WebContent/WEB-INF/lib/YourBeans.jar">
<fileset dir="${build.dir}" />
<manifest>
<attribute name="Main-Class" value="com.notessensei.Test" />
</manifest>
</jar>
</target>
<!-- Copies the java and .xsp-config files, careful with the selections here
use individual copy statements or file sets -->
<target name="copy">
<copy todir="${src.dir}">
<fileset dir="Local">
<!-- presuming all your custom controls start with cc -->
<include name="**/cc*.java"/>
</fileset>
</copy>
<copy todir="${closed.project.dir}/WebContent/WEB-INF">
<fileset dir="CustomControls">
<include name="**/*.xsp-config"/>
</fileset>
</copy>
<!-- 1:1 copy of forms/views and other stuff omitted here -->
...
</target>
<target name="main" depends="copy, compile, docs, jar">
<description>Do it all </description>
</target>
</project>
You can run this ANT file, by right clicking on in in Domino Designer selecting "Run as ANT file".
<project name="Protect XPages" default="main" basedir=".">
<!-- Sets variables which can later be used. -->
<!-- The value of a property is accessed via ${} -->
<property name="src.dir" location="src" />
<property name="build.dir" location="bin" />
<property name="docs.dir" location="doc" />
<property name="closed.project.dir" location="C:\ondisk\closed" />
<path id="Plug-in Dependencies.libraryclasspath">
...
</path>
<path id="YourBeans.classpath">
<pathelement location="bin" />
<path refid="Plug-in Dependencies.libraryclasspath" />
</path>
<path id="JavaDoc.classpath">
<pathelement location="bin" />
<path refid="Plug-in Dependencies.libraryclasspath" />
</path>
<!-- Compiles the java code (including the usage of library for JUnit) -->
<target name="compile">
<javac srcdir="${src.dir}" destdir="${build.dir}">
<classpath refid="YourBeans.classpath" />
</javac>
</target>
<!-- Creates Javadoc -->
<target name="docs" depends="compile">
<javadoc packagenames="src" sourcepath="${src.dir}" destdir="${docs.dir}">
<classpath refid="JavaDoc.classpath" />
<!-- Define which files / directory should get included, we include all Java -->
<fileset dir="${src.dir}">
<include name="**/*.java"/>
</fileset>
</javadoc>
</target>
<!--Creates the deployable jar file -->
<target name="jar" depends="compile">
<jar destfile="${closed.project.dir}/WebContent/WEB-INF/lib/YourBeans.jar">
<fileset dir="${build.dir}" />
<manifest>
<attribute name="Main-Class" value="com.notessensei.Test" />
</manifest>
</jar>
</target>
<!-- Copies the java and .xsp-config files, careful with the selections here
use individual copy statements or file sets -->
<target name="copy">
<copy todir="${src.dir}">
<fileset dir="Local">
<!-- presuming all your custom controls start with cc -->
<include name="**/cc*.java"/>
</fileset>
</copy>
<copy todir="${closed.project.dir}/WebContent/WEB-INF">
<fileset dir="CustomControls">
<include name="**/*.xsp-config"/>
</fileset>
</copy>
<!-- 1:1 copy of forms/views and other stuff omitted here -->
...
</target>
<target name="main" depends="copy, compile, docs, jar">
<description>Do it all </description>
</target>
</project>
As usual YMMV
Posted by Stephan H Wissel on 24 July 2013 | Comments (4) | categories: XPages


It implies defining a public swap member function:
void Foo::swap(Foo& other)
{
// For argument-dependent-lookup (Foo’s data members may have
// their own swap functions, else std::swap is used)
using std::swap;
swap(a.memberA, b.memberA);
swap(a.memberB, b.memberB);
// swap other members
}
and a non-member swap function that calls the public member one:
friend void swap(Foo& a, Foo& b)
{
a.swap(b);
}
And then calling that swap method in the copy-assignment operator:
Foo& operator=(Foo foo) // note the copying
{
swap(*this, foo);
return *this
}
Moreover, if Foo is not a template class, you should totally template specialize std::swap:
namespace std
{
template<>
void swap<Foo>(Foo& a, Foo& b)
{
a.swap(b);
}
};


Using confd and Nginx for edge services
Concept Description
confd
Confd is a lightweight configuration management tool, source code: [https://github.com/kelseyhightower/confd] (https://github.com/kelseyhightower/confd), which stores configuration information in etcd, Consul, dynamodb, redis, and zookeeper. Confd periodically pulls the latest configuration from these storage nodes, then reloads the service and completes the configuration file update.
Nginx
Nginx (engine x) is a high-performance HTTP and reverse proxy server with load balancing capabilities. For details, please refer to [http://www.nginx.cn/doc/] (http://www.nginx.cn/doc/). The services introduced in this section mainly use the Nginx http proxy function.
Scene Description
The technology introduced in this section is to use nginx+confd as the edge service. At the same time, you can dock the service center in the Java Chassis microservices framework, and pull the service information from the service center to dynamically update the nginx configuration through confd.
The implementation steps of using nginx+confd dynamic reverse proxy can be found in the article [http://www.cnblogs.com/Anker/p/6112022.html] (http://www.cnblogs.com/Anker/p/6112022. Html), this section mainly introduces how confd docks the service center of the Java Chassis framework.
Docking Service Center
The core of the technology introduced in this section is how to make confd get the service information of the service center. The service center opens the following interfaces for external calls:
Method one: http call
The service provider open http interface needs to add the tenant header information: "X-Tenant-Name:tenantName", and the tenameName is the tenant name. The default is default, for example, "X-Tenant-Name: default".
- Check the health status of the service center
GET <IP_ADDRESS>:30100/health
- Get all micro service information
GET <IP_ADDRESS>:30100/registry/v3/microservices
- Get the microservice information of the specified id
- First get the serviceId based on the microservice information
GET <IP_ADDRESS>:30100/registry/v3/existence?type=microservice&appId={appId}&serviceName={serviceName}&version={version}
- Obtain the microservice complete information according to the serviceId returned by the above interface.
GET <IP_ADDRESS>:30100/registry/v3/microservices/{serviceId}
- Get all instance information for the specified microservice
``` GET <IP_ADDRESS>:30100/registry/v3/microservices/{serviceId}/instances
Need to add in the header: "X-ConsumerId: {serviceId}". ```
- Find micro service instance information
``` GET <IP_ADDRESS>:30100/registry/v3/instances?appId={appId}&serviceName={serviceName}&version={version}
Need to add in the header: "X-ConsumerId: {serviceId}". ```
Note: In actual development, please visit the actual service-center access address, and replace the variable of {} in the above url with a specific value. The data returned by http is in json format.
Method 2: Use servicecomb open source code interface
In the development of microservices applications, you only need to call the interface provided in the tool class RegistryUtil.java in the servicecomb framework code to get the information of the service center. The interface description is as follows:
- Get all micro service information
java
List<Microservice> getAllMicroservices();
- Get the microservice unique identifier
java
String getMicroserviceId(String appId, String microserviceName, String versionRule);
- Query microservice static information based on microservice unique identifier
java
Microservice getMicroservice(String microserviceId);
- Query all micro service instance information based on multiple microservice unique identifiers
java
List<MicroserviceInstance> getMicroserviceInstance(String consumerId, String providerId);
- Query instance endpoints information by app+interface+version
java
List<MicroserviceInstance> findServiceInstance(String consumerId, String appId, String serviceName, String versionRule);
Through the above http interface, information about the microservices of the service center and its instances can be obtained, thereby dynamically updating the nginx configuration through confd.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.biu.scapi.primitives.prf.PrpFromPrfVarying edu.biu.scapi.primitives.prf.LubyRackoffPrpFromPrfVarying
public final class LubyRackoffPrpFromPrfVarying
The class LubyRackoffPrpFromPrfVarying is one implementation that has a varying input and output length. LubyRackoffPrpFromPrfVarying is a pseudorandom permutation with varying input/output lengths, based on any PRF with a variable input/output length (as long as input length = output length). We take the interpretation that there is essentially a different random permutation for every input/output length.
| Constructor Summary | |
|---|---|
LubyRackoffPrpFromPrfVarying()
|
|
LubyRackoffPrpFromPrfVarying(PrfVaryingIOLength prfVaryingIOLength)
Constructor that accepts a prfVaryingIOLength to be the underlying PRF. |
|
LubyRackoffPrpFromPrfVarying(java.lang.String prfVaryingIOLengthName)
Constructor that accepts a name of a prfVaryingIOLength to be the underlying PRF. |
| Method Summary | |
|---|---|
void |
computeBlock(byte[] inBytes,
int inOff,
int inLen,
byte[] outBytes,
int outOff)
Computes the LubyRackoff permutation. |
java.lang.String |
getAlgorithmName()
|
int |
getBlockSize()
This object has varying input/output lengths, so this function shouldn't be called. |
void |
invertBlock(byte[] inBytes,
int inOff,
byte[] outBytes,
int outOff,
int len)
Inverts LubyRackoff permutation using the given key. |
| Methods inherited from class edu.biu.scapi.primitives.prf.PrpFromPrfVarying |
|---|
computeBlock, computeBlock, generateKey, generateKey, invertBlock, isKeySet, setKey |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public LubyRackoffPrpFromPrfVarying() throws FactoriesException
FactoriesException
public LubyRackoffPrpFromPrfVarying(java.lang.String prfVaryingIOLengthName) throws FactoriesException
prfVaryingIOLengthName
- the underlying PRF name
FactoriesException
public LubyRackoffPrpFromPrfVarying(PrfVaryingIOLength prfVaryingIOLength)
prfVaryingIOLength
- the underlying PRF varying.| Method Detail |
|---|
public void computeBlock(byte[] inBytes, int inOff, int inLen, byte[] outBytes, int outOff) throws javax.crypto.IllegalBlockSizeException
inBytes
- input bytes to computeinOff
- input offset in the inBytes arrayinLen
- the length of the input array and the output array. Since this is a prp, the input and output lengths should be equal.outBytes
- output bytes. The resulted bytes of computeoutOff
- output offset in the outBytes array to put the result from
javax.crypto.IllegalBlockSizeException
public void invertBlock(byte[] inBytes, int inOff, byte[] outBytes, int outOff, int len) throws javax.crypto.IllegalBlockSizeException
Since LubyRackoff permutation can also have varying input and output length
(although the input and the output should be the same length), the common parameter len
of the input and the output is needed.
LubyRackoff has a feistel structure and thus invert is possible even though the underlying PRF is not invertible.
The pseudocode for inverting such a structure is the following
FOR i = 4 to 1
SET Ri-1 = Li
COMPUTE Li-1 = Ri XOR PRF_VARY_INOUT(k,(Ri-1 (or Li),i),L)
[key=k, data=(Ri-1,i), outlen = L]
OUTPUT (L0,R0)
inBytes
- input bytes to invert.inOff
- input offset in the inBytes arrayoutBytes
- output bytes. The resulted bytes of invertoutOff
- output offset in the outBytes array to put the result fromlen
- the length of the input and the output
javax.crypto.IllegalBlockSizeException
public java.lang.String getAlgorithmName()
public int getBlockSize() throws NoMaxException
NoMaxException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Punishing Action-Platformer Blasphemous Gets A Limited Run Physical Release
Pre-orders open next week
by Liam DoolanThe beautifully-crafted Souls-like/Metroidvania action-platform game Blasphemous is receiving a Limited Run Games physical release for Switch. The title was originally published on the Switch eShop and multiple other digital platforms by Team17.
Two-week pre-orders for the standard and collectors versions open next week, on 15th November. The Collectors Edition will be priced at US$79.99.
A foul curse has fallen upon the land of Cvstodia and all its inhabitants, and it's down to you to free the world from this terrible fate.
@Team17Ltd's punishing action-platformer Blasphemous opens for a two-week pre-order on PS4 & Switch on Friday, November 15 at 10am ET.
In our review, we gave Blasphemous nine out of ten stars and said it was one of the most visually arresting and solidly enjoyable action titles currently available on Nintendo's hybrid device.
Will you be adding this one to your Switch library? Post a comment below.
[via twitter.com]


2 Timothy 2:9
Wherein I suffer trouble, as an evil doer, even unto bonds; but the word of God is not bound.


Reproducible Scalable Pipeline For Amplicon-based Metagenomics (RSP4ABM)¶
RSP4ABM is a bioinformatic pipeline designed for convenient, reproducible and scalable amplicon-based metagenomics. RSP4ABM is a compilation of command-line tools and R packages that processes next-generation sequencing (NGS) reads into taxonomic profiles. Scripts launching these tools are embedded in a Snakemake pipeline for reproducible, scalable and easy “one-command-line” execution of all steps, from QC to basic plotting. Tools and packages are made available into Singularity containers and Conda environments for easy, reproducible management of dependencies. RST4ABM processes is capable of processing local fastq or web-stored sequences from the Sequence Reads Archive (SRA). Complementary workflows enables preprocessing of reference taxonomic databases as in silico validation of amplicon amplification and taxonomic assignment based on reference genomes.
Please note that RSP4ABM compiles number of published tools. We would be very grateful that you acknowledge our work but also the contribution of the developers of these tools in your publications using RSP4ABM.


Anti-Mage
Tips
- Blink into the trees! If you're getting ganked, always assume that there is someone behind you, waiting
for you to blink back into the lane/jungle to retreat.  Blink
into the trees, watch four heroes suddenly materialize from the fog struggling to find you, then quietly
blink along the treeline until you're sure you're safe.
- Left click on an enemy hero to check their mana pool before Mana Voiding them. You may even be able to
get a kill without doing any right clicking if you show up at the right time.
- Mana Void comes with a free ministun that penetrates spell immunity. Don't keep slicing at people if you
see them channeling something, just cancel it.
- Even if the primary target is spell immune, Mana Void area damage still works. If Storm Spirit burns
himself dry and then BKBs to walk out, he's still a good target if he walks near his team.
Counters
- Shadow Demon is a notable counter against AM since the illusions created by Disruption will mana burn
him.
- Try not to stack disables when ganking AM. Stuns and silences are invaluable when you're trying to kill
him, but you need to stagger them appropriately otherwise he'll blink out.


This is a weight of 100
This is a weight of 200
This is a weight of 300
This is a weight of 400
This is a weight of 500
This is a weight of 600
This is a weight of 700
This is a weight of 800
This is a weight of 900


Top Scholar Migration: Global Benefits or Global Inequality?
Top Scholar Career Trajectory 1978-2015
Where do global top 10,000 scholars go?
What is the migration pattern of the world leading 10,000 scholars? Which countries are positioned to attract the best of the best? Using institution affiliations on the publications, we analyze and intuitively visualize the scholar trajectory and regional distribution for an entire 37 years.
The link between talent and competitiveness is now well-established. In all regions of the world, countries are reforming education systems, reducing gender and other inequalities to increase their ‘homegrown’ talent pool, and trying to find ways to attract top scholars from abroad. Talent has become the key resource of the global economy — and one that decision-makers need to understand in depth.
Global Inequality: Relatively Lower, Absolutely Higher!
Top scholar distribution is highly skewed among continents. The United States has historically hosted more than 60% of top talents worldwide, and this pattern does not change much in the past 40 years.
The relative inequality reduced: For example, Asia - North America top talent capacity ratio changed from approximate 1/10 to 1/5. Yet this change is largely driven by several emerging countries, and the absolute gap between OECD (especially US) with the majority of developing countries is increasing.
The future of global talent inequality is likely to be shaped by both convergence forces (rapid growth in emerging countries) and divergence forces (rising inequality across countries).
Similar Pattern If We Zoom In To Institution Level
Year:
Indeed, capacity of top scholars is closely related to university ranking. The globalization of talent ties is leading to a rise in shorter-term and circular migration patterns for top scholars. Instead of attracting and holding talents, we see a clear trend of top institutions sending well-educated scholars to different areas across the globe.


Hello! I am Omkar Dhomane. I am currently working as a Cloud Support Engineer at Amazon Web Services (AWS). I graduated with a Master of Science (MS) in Telecommunications from University of Maryland, College Park in May 2018.
This is my personal portfolio which contains information about my academic and professional background, my core skills and some of my interesting projects. If you share the same passion for technology as I do, Let us connect!
One of Amazon.com’s fastest growing businesses supporting millions of customers in over 100 countries that use AWS to run their infrastructure. Provide world class technical support and customer service to a wide range of external customers as they build mission-critical applications on top of AWS. Within the Cloud Support Engineering team, I am at the forefront of this transformational technology assisting a global list of companies that are taking advantage of a growing set of services and features to run their mission-critical applications. I get my hands dirty through troubleshooting application, network, database, and architectural challenges using a suite of internal AWS tools as well as existing knowledge and toolkits.
My responsibilities included extracting and processing raw data sets in HTML and CSS, writing modular shell scripts, web scraping using Python libraries and calling associated REST APIs. Also coordinated between teams for code collaboration, development and testing using Git version control.
As a part of the network security engineering team, I implemented FIPS 140-2 and Common Criteria based security testing including Gap Analysis, Physical Testing, Functional Testing, Source Code Review, Algorithm Testing, Compliance Audits and drafting Technical Documents. Additionally, performed operational testing and troubleshooting of Routers, Switches, Servers & Firewalls along with documenting the results to test a wide range of network hardware, software and firmware products of diverse vendors like Cisco, Juniper, Oracle etc.
Deployed, maintained and supported the IT, network and security infrastructure including servers, desktops, routers, switches and firewalls. Monitored the operational status of the systems using tools for alerts and notifications and responded accordingly through service tickets. Provided support via phone and email to diagnose and resolve network problems and provided end user assistance for IT issue
Planned, configured and supported different customer network environments for remote and on-site network management, server administration, directory services, network security, VPN, virtualization, wireless and VoIP. Collaborated in the installation, configuration and troubleshooting of Cisco 2800, 3600, 7200 series routers, Cisco 2960, 3750, 6500 series switches and Cisco ASA 5500-X series firewalls with FirePOWER IDS and IPS. Administered real-time network and security monitoring using various enterprise tools, constructed network diagrams in Visio and performed penetration testing and vulnerability scans on customer networks. Handled NOC escalation calls, tracked work orders and trouble tickets in SpiceWorks Helpdesk and directly interacted with clients to provide high-level technical support and resolve LAN/WAN issues.
GPA: 3.92
GPA: 3.90
Apart from being an engineer, I enjoy most of my time being outdoors to explore different places. During the warmer months here in Virginia, I enjoy biking, free climbing, and kayaking.
When forced indoors, I follow a number of sci-fi and fantasy genre movies and television shows, I am an aspiring chef, and I spend a large amount of my free time exploring the latest technology advancements in the cloud computing world.


Copyright 2007 Applied Research in Patacriticism and the University of Virginia
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
# File app/controllers/admin/default_controller.rb, line 149 def add_badge badge = PeerReview.create({}) err = ImageFull.save_image(params['image'], badge) case err[:status] when :error then logger.error(err[:log_error]) flash = err[:user_error] when :saved then flash = "OK:Badge updated" when :no_image then flash = "No image uploaded" end # image = params['image'] # if image && image # image = ImageFull.new({ :uploaded_data => image }) # end # begin # badge.image_full = image # if badge.save # badge.image_full.save! if badge.image_full # flash = "OK:Badge updated" # else # flash = "Error updating badge" # end # rescue # flash = "ERROR: The image you have uploaded is too large or of the wrong type.
The file name must end in .jpg, .png or .gif, and cannot exceed 1MB in size." # end render :text => respond_to_file_upload("stopAddBadgeUpload", flash) # This is loaded in the iframe and tells the dialog that the upload is complete. end
# File app/controllers/admin/default_controller.rb, line 179 def add_publication_image publication_image = PublicationImage.create({}) err = ImageFull.save_image(params['image'], publication_image) case err[:status] when :error then logger.error(err[:log_error]) flash = err[:user_error] when :saved then flash = "OK:Publication image updated" when :no_image then flash = "No image uploaded" end # image = params['image'] # if image && image # image = ImageFull.new({ :uploaded_data => image }) # end # begin # publication_image.image_full = image # if publication_image.save # publication_image.image_full.save! if publication_image.image_full # flash = "OK:Publication image updated" # else # flash = "Error updating publication image" # end # rescue Exception => msg # flash = "ERROR: The image you have uploaded is too large or of the wrong type.
The file name must end in .jpg, .png or .gif, and cannot exceed 1MB in size." # end render :text => respond_to_file_upload("stopAddPublicationImageUpload", flash) # This is loaded in the iframe and tells the dialog that the upload is complete. end
def change_category
exhibit_id = params[:exhibit_id] category = params[:category_id] badge = params[:badge_id] exhibit = Exhibit.find(exhibit_id) old_category = exhibit.category exhibit.update_attribute('category', category) exhibit.update_attribute('badge_id', badge) if category == 'peer-reviewed' index_exhibit(exhibit_id) elsif old_category == 'peer-reviewed' unindex_exhibit(exhibit_id) end render :partial => 'exhibit_tr', :locals => { :exhibit => exhibit }
end
# File app/controllers/admin/default_controller.rb, line 52 def change_group_type group_id = params[:group_id] group_type = params[:group_type] badge = params[:badge_id] header_text_color = params[:header_text_color] header_background_color = params[:header_background_color] link_color = params[:link_color] publication_image = params[:publication_image_id] group = Group.find(group_id) old_type = group.group_type group.update_attribute('group_type', group_type) group.update_attribute('badge_id', badge) group.update_attribute('publication_image_id', publication_image) group.update_attribute('header_color', header_text_color) group.update_attribute('header_background_color', header_background_color) group.update_attribute('link_color', link_color) if group_type == 'peer-reviewed' Exhibit.adjust_indexing_all(group_id, :group_becomes_peer_reviewed) elsif old_type == 'peer-reviewed' Exhibit.adjust_indexing_all(group_id, :group_leaves_peer_reviewed) end render :partial => 'group_tr', :locals => {:group => group} end
Delete a comment that has been flagged as abusive and notify all reporters and the original commenter of the action
# File app/controllers/admin/default_controller.rb, line 79 def delete_comment id = params[:comment] comment = DiscussionComment.find(id) commenter = User.find(comment.user_id) reporters = comment.get_reporters DiscussionComment.delete_comment(id, current_user, is_admin?) begin reporters.each do | reporter | body = "Thanks for reporting the comment by #{commenter.fullname}. It has been removed.\n\n" GenericMailer.generic(Setup.site_name(), Setup.return_email(), reporter.fullname, reporter.email, "Abusive Comment Report Accepted", body, url_for(:controller => '/home', :action => 'index', :only_path => false), "").deliver end body = "Your comment on #{comment.created_at } was considered inappropriate and has been removed by the administrator. The text of your comment was:\n\n" body += "#{self.class.helpers.strip_tags(comment.comment)}\n\n" GenericMailer.generic(Setup.site_name(), Setup.return_email(), commenter.fullname, commenter.email, "Abusive Comment Deleted", body, url_for(:controller => '/home', :action => 'index', :only_path => false), "").deliver rescue Exception => msg logger.error("**** ERROR: Can't send email: " + msg.message) end redirect_to :action => 'forum_pending_reports' end
# File app/controllers/admin/default_controller.rb, line 209 def get_user_list ret = [] users = User.all() # On IE, there are lots of characters that cause # the json to be illegal. We'll just replace most weird characters just in case. users.each do |user| ret.push({:value => user.id, :text => user.fullname.gsub(/[^-'a-zA-Z0-9_. ]/, "*")}) end render :text => ret.to_json() end
# File app/controllers/admin/default_controller.rb, line 223 def impersonate_user user_id = params[:user_id] puts "*** ADMIN IS IMPERSONATING: #{user_id}" if user_id.to_i > 0 logged_in_user = User.get_user(user_id) if logged_in_user set_current_user(logged_in_user) LoginInfo.record_login(logged_in_user) end end redirect_to "/" end
def index_exhibit(exhibit_id)
exhibit = Exhibit.find(exhibit_id) exhibit.index_exhibit(true)
end
# File app/controllers/admin/default_controller.rb, line 121 def index @use_test_index = session[:use_test_index] end
# File app/controllers/admin/default_controller.rb, line 19 def refresh_cached_objects # This reads all the items in the cached_resources table, and recreates the cached_properties table by retrieving the object from solr. # TODO: If an object was collected but is no longer available, this will just ignore it. Instead, it should create a list for an administator to straighten out. # TODO: If a user was deleted, all the user's collected objects and tags will still be in the system. We might want to weed out the cached_resources table # based on the collected_items table. # TODO: The tagassigns table has collected_item_ids. If we weed out collected_items, then we need to update that table, too. # TODO: The cached_properties table may contain properties that are orphaned and don't have a valid cached resource id cached_resources = CachedResource.all() cached_resources.each do |cr| cr.recache_properties() end redirect_to :controller => 'admin/default', :action => 'index' end
# File app/controllers/admin/default_controller.rb, line 144 def reload_facet_tree() refill_session_cache() redirect_to :back end
Remove a specific abuse report from a comment. Notify reporter that their report was canceled
# File app/controllers/admin/default_controller.rb, line 104 def remove_abuse_report comment_id = params[:comment] report_id = params[:report] DiscussionComment.remove_abuse_report(comment_id, report_id, url_for(:controller => '/home', :action => 'index', :only_path => false)) redirect_to :action => 'forum_pending_reports' end
# File app/controllers/admin/default_controller.rb, line 125 def stats @show_all = session[:show_all_stats] @login_stats = LoginInfo.get_stats() @object_stats = ObjectActivity.get_stats() @archive_stats = ObjectActivity.get_archive_stats() @objects = ObjectActivity.all().sort { |a,b| b.updated_at <=> a.updated_at } end
# File app/controllers/admin/default_controller.rb, line 133 def stats_show_all session[:show_all_stats] = session[:show_all_stats] == 'true' ? 'false' : 'true' redirect_to :action => 'stats' end
# File app/controllers/admin/default_controller.rb, line 138 def use_test_index use_test = params[:test] session[:use_test_index] = use_test redirect_to :controller => 'admin/default', :action => 'index' end


Address Finding an address
This is an HMRC pattern
This pattern is used in the Personal tax account
When to use this pattern
Use this pattern to allow user to look up their address.
Find your address
How to use this pattern
When finding an address for users:
- allow them to enter their postcode with spaces
- allow them to enter their postcode in upper cxase or lowercase
- don't require them to know the number of the house or building
Error states
Message to alert the user to a problem goes here
Optional description of the errors and how to correct them


|
libbtc
bitcoinclibrary
|
Go to the source code of this file.
Macros | |
| #define | LITTLE_ENDIAN 1234 |
| #define | BIG_ENDIAN 4321 |
| #define | BYTE_ORDER LITTLE_ENDIAN |
| #define | SHA256_SHORT_BLOCK_LENGTH (SHA256_BLOCK_LENGTH - 8) |
| #define | SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16) |
| #define | REVERSE32(w, x) |
| #define | REVERSE64(w, x) |
| #define | ADDINC128(w, n) |
| #define | MEMSET_BZERO(p, l) memset((p), 0, (l)) |
| #define | MEMCPY_BCOPY(d, s, l) memcpy((d), (s), (l)) |
| #define | R(b, x) ((x) >> (b)) |
| #define | S32(b, x) (((x) >> (b)) | ((x) << (32 - (b)))) |
| #define | S64(b, x) (((x) >> (b)) | ((x) << (64 - (b)))) |
| #define | Ch(x, y, z) (((x) & (y)) ^ ((~(x)) & (z))) |
| #define | Maj(x, y, z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z))) |
| #define | Sigma0_256(x) (S32(2, (x)) ^ S32(13, (x)) ^ S32(22, (x))) |
| #define | Sigma1_256(x) (S32(6, (x)) ^ S32(11, (x)) ^ S32(25, (x))) |
| #define | sigma0_256(x) (S32(7, (x)) ^ S32(18, (x)) ^ R(3, (x))) |
| #define | sigma1_256(x) (S32(17, (x)) ^ S32(19, (x)) ^ R(10, (x))) |
| #define | Sigma0_512(x) (S64(28, (x)) ^ S64(34, (x)) ^ S64(39, (x))) |
| #define | Sigma1_512(x) (S64(14, (x)) ^ S64(18, (x)) ^ S64(41, (x))) |
| #define | sigma0_512(x) (S64(1, (x)) ^ S64(8, (x)) ^ R(7, (x))) |
| #define | sigma1_512(x) (S64(19, (x)) ^ S64(61, (x)) ^ R(6, (x))) |
Typedefs | |
| typedef uint8_t | sha2_byte |
| typedef uint32_t | sha2_word32 |
| typedef uint64_t | sha2_word64 |
Functions | |
| void | sha512_Last (SHA512_CTX *) |
| void | sha256_Transform (SHA256_CTX *, const sha2_word32 *) |
| void | sha512_Transform (SHA512_CTX *, const sha2_word64 *) |
| void | sha256_Init (SHA256_CTX *context) |
| void | sha256_Update (SHA256_CTX *context, const sha2_byte *data, size_t len) |
| void | sha256_Final (sha2_byte digest[], SHA256_CTX *context) |
| void | sha256_Raw (const sha2_byte *data, size_t len, uint8_t digest[SHA256_DIGEST_LENGTH]) |
| void | sha512_Init (SHA512_CTX *context) |
| void | sha512_Update (SHA512_CTX *context, const sha2_byte *data, size_t len) |
| void | sha512_Final (sha2_byte digest[], SHA512_CTX *context) |
| void | sha512_Raw (const sha2_byte *data, size_t len, uint8_t digest[SHA512_DIGEST_LENGTH]) |
| void | hmac_sha256 (const uint8_t *key, const uint32_t keylen, const uint8_t *msg, const uint32_t msglen, uint8_t *hmac) |
| void | hmac_sha512 (const uint8_t *key, const uint32_t keylen, const uint8_t *msg, const uint32_t msglen, uint8_t *hmac) |
| void | btc_hash (const unsigned char *datain, size_t length, uint256 hashout) |
| void | btc_hash_sngl_sha256 (const unsigned char *datain, size_t length, uint256 hashout) |
Variables | |
| static const sha2_word32 | K256 [64] |
| static const sha2_word32 | sha256_initial_hash_value [8] |
| static const sha2_word64 | K512 [80] |
| static const sha2_word64 | sha512_initial_hash_value [8] |
| #define ADDINC128 | ( | w, | |
| n | |||
| ) |
Definition at line 132 of file sha2.c.
Referenced by sha512_Update().
| #define BYTE_ORDER LITTLE_ENDIAN |
Definition at line 93 of file sha2.c.
Referenced by sha256_Transform(), and sha512_Transform().
| #define Ch | ( | x, | |
| y, | |||
| z | |||
| ) | (((x) & (y)) ^ ((~(x)) & (z))) |
Definition at line 160 of file sha2.c.
Referenced by sha256_Transform(), and sha512_Transform().
| #define LITTLE_ENDIAN 1234 |
Copyright (c) 2000-2001 Aaron D. Gifford Copyright (c) 2013 Pavol Rusnak Copyright (c) 2015 Jonas Schnelli All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
Definition at line 88 of file sha2.c.
Referenced by sha256_Transform(), and sha512_Transform().
| #define Maj | ( | x, | |
| y, | |||
| z | |||
| ) | (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z))) |
Definition at line 161 of file sha2.c.
Referenced by sha256_Transform(), and sha512_Transform().
| #define MEMCPY_BCOPY | ( | d, | |
| s, | |||
| l | |||
| ) | memcpy((d), (s), (l)) |
Definition at line 141 of file sha2.c.
Referenced by sha256_Final(), sha256_Init(), sha256_Update(), sha512_Final(), sha512_Init(), and sha512_Update().
| #define MEMSET_BZERO | ( | p, | |
| l | |||
| ) | memset((p), 0, (l)) |
Definition at line 140 of file sha2.c.
Referenced by sha256_Final(), sha256_Init(), sha512_Final(), sha512_Init(), and sha512_Last().
| #define REVERSE32 | ( | w, | |
| x | |||
| ) |
Definition at line 112 of file sha2.c.
Referenced by sha256_Final(), and sha256_Transform().
| #define REVERSE64 | ( | w, | |
| x | |||
| ) |
Definition at line 118 of file sha2.c.
Referenced by sha256_Final(), sha512_Final(), sha512_Last(), and sha512_Transform().
| #define SHA256_SHORT_BLOCK_LENGTH (SHA256_BLOCK_LENGTH - 8) |
Definition at line 106 of file sha2.c.
Referenced by sha256_Final().
| #define SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16) |
Definition at line 107 of file sha2.c.
Referenced by sha512_Last().
Definition at line 164 of file sha2.c.
Referenced by sha256_Transform().
Definition at line 170 of file sha2.c.
Referenced by sha512_Transform().
Definition at line 165 of file sha2.c.
Referenced by sha256_Transform().
Definition at line 171 of file sha2.c.
Referenced by sha512_Transform().
| typedef uint32_t sha2_word32 |
| typedef uint64_t sha2_word64 |
| void btc_hash | ( | const unsigned char * | datain, |
| size_t | length, | ||
| uint256 | hashout | ||
| ) |
Definition at line 1026 of file sha2.c.
References sha256_Raw().
Referenced by btc_privkey_verify_pubkey().
| void btc_hash_sngl_sha256 | ( | const unsigned char * | datain, |
| size_t | length, | ||
| uint256 | hashout | ||
| ) |
Definition at line 1033 of file sha2.c.
References sha256_Raw().
| void hmac_sha256 | ( | const uint8_t * | key, |
| const uint32_t | keylen, | ||
| const uint8_t * | msg, | ||
| const uint32_t | msglen, | ||
| uint8_t * | hmac | ||
| ) |
Definition at line 966 of file sha2.c.
References SHA256_BLOCK_LENGTH, SHA256_DIGEST_LENGTH, sha256_Final(), sha256_Init(), sha256_Raw(), and sha256_Update().
| void hmac_sha512 | ( | const uint8_t * | key, |
| const uint32_t | keylen, | ||
| const uint8_t * | msg, | ||
| const uint32_t | msglen, | ||
| uint8_t * | hmac | ||
| ) |
Definition at line 996 of file sha2.c.
References SHA512_BLOCK_LENGTH, SHA512_DIGEST_LENGTH, sha512_Final(), sha512_Init(), sha512_Raw(), and sha512_Update().
Referenced by btc_hdnode_from_seed(), btc_hdnode_private_ckd(), and btc_hdnode_public_ckd().
| void sha256_Final | ( | sha2_byte | digest[], |
| SHA256_CTX * | context | ||
| ) |
Definition at line 590 of file sha2.c.
References _SHA256_CTX::bitcount, _SHA256_CTX::buffer, MEMCPY_BCOPY, MEMSET_BZERO, REVERSE32, REVERSE64, SHA256_BLOCK_LENGTH, SHA256_DIGEST_LENGTH, SHA256_SHORT_BLOCK_LENGTH, sha256_Transform(), and _SHA256_CTX::state.
Referenced by hmac_sha256(), and sha256_Raw().
| void sha256_Init | ( | SHA256_CTX * | context | ) |
Definition at line 360 of file sha2.c.
References _SHA256_CTX::bitcount, _SHA256_CTX::buffer, MEMCPY_BCOPY, MEMSET_BZERO, SHA256_BLOCK_LENGTH, SHA256_DIGEST_LENGTH, sha256_initial_hash_value, and _SHA256_CTX::state.
Referenced by hmac_sha256(), and sha256_Raw().
| void sha256_Raw | ( | const sha2_byte * | data, |
| size_t | len, | ||
| uint8_t | digest[SHA256_DIGEST_LENGTH] | ||
| ) |
Definition at line 652 of file sha2.c.
References sha256_Final(), sha256_Init(), and sha256_Update().
Referenced by btc_b58check(), btc_base58_encode_check(), btc_hash(), btc_hash_sngl_sha256(), btc_hdnode_private_ckd(), btc_hdnode_public_ckd(), btc_tx_hash(), btc_tx_sighash(), and hmac_sha256().
| void sha256_Transform | ( | SHA256_CTX * | context, |
| const sha2_word32 * | data | ||
| ) |
Definition at line 463 of file sha2.c.
References _SHA256_CTX::buffer, BYTE_ORDER, Ch, K256, LITTLE_ENDIAN, Maj, REVERSE32, Sigma0_256, Sigma1_256, and _SHA256_CTX::state.
Referenced by sha256_Final(), and sha256_Update().
| void sha256_Update | ( | SHA256_CTX * | context, |
| const sha2_byte * | data, | ||
| size_t | len | ||
| ) |
Definition at line 544 of file sha2.c.
References _SHA256_CTX::bitcount, _SHA256_CTX::buffer, MEMCPY_BCOPY, SHA256_BLOCK_LENGTH, and sha256_Transform().
Referenced by hmac_sha256(), and sha256_Raw().
| void sha512_Final | ( | sha2_byte | digest[], |
| SHA512_CTX * | context | ||
| ) |
Definition at line 931 of file sha2.c.
References MEMCPY_BCOPY, MEMSET_BZERO, REVERSE64, SHA512_DIGEST_LENGTH, sha512_Last(), and _SHA512_CTX::state.
Referenced by hmac_sha512(), and sha512_Raw().
| void sha512_Init | ( | SHA512_CTX * | context | ) |
Definition at line 662 of file sha2.c.
References _SHA512_CTX::bitcount, _SHA512_CTX::buffer, MEMCPY_BCOPY, MEMSET_BZERO, SHA512_BLOCK_LENGTH, SHA512_DIGEST_LENGTH, sha512_initial_hash_value, and _SHA512_CTX::state.
Referenced by hmac_sha512(), and sha512_Raw().
| void sha512_Last | ( | SHA512_CTX * | context | ) |
Definition at line 886 of file sha2.c.
References _SHA512_CTX::bitcount, _SHA512_CTX::buffer, MEMSET_BZERO, REVERSE64, SHA512_BLOCK_LENGTH, SHA512_SHORT_BLOCK_LENGTH, and sha512_Transform().
Referenced by sha512_Final().
| void sha512_Raw | ( | const sha2_byte * | data, |
| size_t | len, | ||
| uint8_t | digest[SHA512_DIGEST_LENGTH] | ||
| ) |
Definition at line 958 of file sha2.c.
References sha512_Final(), sha512_Init(), and sha512_Update().
Referenced by hmac_sha512().
| void sha512_Transform | ( | SHA512_CTX * | context, |
| const sha2_word64 * | data | ||
| ) |
Definition at line 761 of file sha2.c.
References _SHA512_CTX::buffer, BYTE_ORDER, Ch, K512, LITTLE_ENDIAN, Maj, REVERSE64, Sigma0_512, Sigma1_512, and _SHA512_CTX::state.
Referenced by sha512_Last(), and sha512_Update().
| void sha512_Update | ( | SHA512_CTX * | context, |
| const sha2_byte * | data, | ||
| size_t | len | ||
| ) |
Definition at line 840 of file sha2.c.
References ADDINC128, _SHA512_CTX::bitcount, _SHA512_CTX::buffer, MEMCPY_BCOPY, SHA512_BLOCK_LENGTH, and sha512_Transform().
Referenced by hmac_sha512(), and sha512_Raw().
|
static |
Definition at line 187 of file sha2.c.
Referenced by sha256_Transform().
|
static |
Definition at line 265 of file sha2.c.
Referenced by sha512_Transform().
|
static |
Definition at line 254 of file sha2.c.
Referenced by sha256_Init().
|
static |
Definition at line 348 of file sha2.c.
Referenced by sha512_Init().


Counter
{{ counter }} times. (You actually visit {{ visits }} times!)
Add 2 times
Times:
Add Times times
Reset


1 Samuel 15:29
And also the Strength of Israel will not lie nor repent: for he is not a man, that he should repent.


About Me
My name is Saksham Jhawar. I am a student at Arizona State University pursuing a Master's of Science in Computer Software Engineering.  I moved to Tempe, Arizona in 2019. I like to code and shoot videos. My typical Friday Night involves playing Tennis and cracking open some cold ones!
My Academic Projects
-
NumberNinja
A web application designed to
help studnets learn mathematics -
Machine Learning in
Edge Devicessmart device for
- Fire detetction
- Water supply -
Web Development
InternshipA static website developed for
Bharat Rohan Airborne Innovations Pvt. Ltd. -
Expertise
SystemCentralized repository
for departmental
information


--- layout: default title: "404: Page not found" permalink: 404.html ---
Sorry, we've looked through time and space this page, but it's pointing to something that doesn't exist. Head back home


Why I Purchased an iPhone
When the iPhone first launched, I posted about three reasons I would NOT be buying an iPhone…yesterday, I broke down and bought a 4GB iPhone. So what changed?
1) Price
I have a 5th generation iPod – so I don’t need an 8/16GB+ player – so 4GB is just fine with me. Apple decided to discontinue the 4GB model, so the price dropped to $299 from $499. If you look at other smartphones out there, $300 isn’t a bad price at all.
2) Seeing is Believing (i.e. why the on-screen keyboard works)
One of my original concerns was the fact that the keyboard has no feedback at all. After playing with the phone for a bit, it’s pretty obvious the keyboard is just fine. There is a large keyboard for use with Safari for web browsing and that keyboard is great. Then there is a small keyboard for SMS, e-mail, etc. The small keyboard is usable, but it isn’t quite as good. But when I thought about it, even the small keyboard is vastly superior to the other non- querty keyboards and it’s really not much worse than the hardware qwerty keyboards I’ve used on a Treo.
3) Did I really need GPS? No.
I originally thought I really needed GPS in the phone – and I admit, I think it would still be a great feature with the built-in Google Maps. But after thinking about this for a while, I came to the conclusion that I would most likely use the maps to figure out what streets to take, finding where to connect to the interstate, etc and really didn’t need my position or real-time navigation. I also have a Garmin GPS unit for times when I really do want a true GPS and I have a feeling it would work much better than anything they can cram into a cellphone anyway.
The one thing I’m still worried about from my original post is 3rd party application support. The included applications are decent overall and I can certainly get the job done, but it would be nice to have the option to extend the functionality easily (e.g. adding a Pocket Quicken application). I know it’s possible to do a hack on the phone to make this work (or was possible at one point), but this is still something Apple needs to address.


Can Kindness Survive in a Mean and Hostile World? (Part I) Tweet
Growing up I’ve had issues with excessive guilt or worrying about if I’m a bad person. So this question of being good has been quite interesting to me for some time. I’ve had a friend who never believed in the idea of REAL altruism. For him, all form of cooperation is just people using one another for their survival. So he was quite machiavellian and he was proud of it. I was on the other side of the spectrum though maybe slightly shifted towards the center.
I am not sure where this excessive guilt comes from. Is it from a religious upbringing? I’m still trying to figure it out. It may be that it’s because I’m a massive people pleaser who cares about what people think or feel about me more than I’d like to admit.  As an act of self-preservation, sometimes the idea is to dismiss the other person you hurt as overly sensitive. That’s wrong. No one should do that. No one should minimize what the other person felt. I feel like the only way I can move forward is for one to also internalize that hurt that the other feels. One can’t always make an excuse of external stress.
Letting excessive guilt linger is not healthy. I know that for a fact. It’s testing my emotional regulation skills to the limit.
In a spat, or when you hear people tell mean things about you or to you, people react differently. There are people who are more emotionally astute that I am learning from. They communicate their feelings, say things calmly and walk away when things escalate to the point of mutual destruction. They have a healthy way of releasing their frustrations. Then there are those who are very pushy, demanding and unfortunately mean. Then there are those who let themselves be pushed to the point of breaking and being equally mean. Not good. If these people are made to interact with one another and you watch them, the possible outcomes are interesting. I wonder if there is a framework in which I could view these interactions. Do you let yourself be the nice guy all the time, or do you have to fight a little bit more to win in the long run? Is there a tactic to deal with meanies such that you reach a mutually beneficial interaction?
I came across two podcasts from Radiolab that blew my mind. They’re called Tit for Tat and What’s left when you’re right?. They’re in my favorites list now! It talks about the “prisoners dilemma” — a two- player game with outcomes that are described in the payoff matrix below. The numbers there are the number of years they have to serve in prison. If you assume you are player A, silence has two outcomes for you.  That depends if player B cooperates or betrays you respectively. If you decide to betray or defect then you will ALWAYS get a better outcome for each possible response of player B. You will be set free if player B plays nice or you will only serve 2 years instead of three if you both rat out each other.
To sum up, if you’re always a nice person, you are more than likely to always end up as a loser in the game unless the other player does not rat you out. So if the game is tipped such that more people are incentivized to be “defectors” or “betrayers” then how the hell do good people survive in this world? That is such an interesting question!
s
I don’t quite remember the details but one guy decided to make a contest where computer programs with different “personalities” or “strategies” were made to play against each other. There was the “massive retaliatory strike” program- the one that plays nice and then if you play bad will never forgive you. There was also the “tester”. Plays mean first and then if you retaliate will back off and play nice. Then there are the extremes. The “Jesus” program is the one that plays nice forever. There is also the “Lucifer” program, the one that’s always mean. Finally, there is the “Tit for Tat”, which has a very simple code which says “Be nice first”, and copy whatever the other one does. What happens when you let these programs play prisoner’s dilemma against one another? Who will win in the long run?
I think it’s a lot better to listen to the podcasts themselves. It’s deeply amazing how from an evolutionary standpoint, how being nice, and how being cooperative and yet not being a sucker can survive and even dominate the world. You have to be strategic but not exactly Tit for tat.
If the world is mean, find the good ones. Pick nice friends, kind people in your life. It’s ok to be picky. It’s ok to screen and filter. If this was a world filled with Lucifers, I hope the “good Tit for Tats” can find each other.
Simulating the iterated prisoner’s dilemma and Baby Morals
I found a github repo that will allow people to reproduce the basic results of the iterated prisoner’s dilemma. You can follow this link. I’d probably spend some time playing with it when I get some considerable physics work done this week. I also found an experiment that tested if babies have some sort of idea of what “good” is. It’s pretty cool!


soil feedback moisture precipitation models spatial SMP positive temporal observations climate data {border-style px;} #ffffff;} metrics rainfall afternoon different feedbacks model metric negative Atmospheric Taylor, heterogeneity land observational event models. moisture‐precipitation surface combination estimates morning time CMIP Climate Jeu, Research global scheme GLEAM Model a.m. atmospheric convection events persistence sets using variability Climate, Mass North grid models, observations. px; used {font-family GCMs Geophysical Guillod Seneviratne, Soil analysis appears daily dominantly flux font-size local observations, resolution samples simulations studies Figure Global Precipitation based calculated combinations control convective coupled coupling double; fraction indicates larger metrics. occurrence period regions use (C. (Figure ./GL Guillod, Land South addition, assess available border-color border-width boxes cells compared drier effects information multiple nonsignificant occurs precipitation, previous section sensitivity shows solid; study supporting terms values van {font-style {font-weight (negative) (tiled, ./JCLI. ./JHM. AMSR‐E America Earth Eltahir, Hydrometeor., Letters, Lmax Meteorological Miralles, Models Orlowsky, Sahel Science Zurich anomaly areas bold capture characteristics combined commonly condition courier; defined determined development differences does dry em; estimated feedback. high https://orcid.org/--- indicate influence large‐scale lead localized locations mainly microwave number opposed output parameterization parameterized possible pt;} results row) scales set sign significantly strength thank version western wetter


Software Engineer. Music and Photography Hobbyist.
I am a pre-med student turned software engineer with a boundless passion for all things technology. Bioinformatics research introduced me to writing software and I haven't stopped coding since.
I'm always looking for a difficult problem to solve and I'm always eager to learn a new technology to add to my toolset. Currently fascinated with scalability and the collection, processing, aggregation, and serving of big data.
Shoot me an email if you'd like to talk about software, technology, job opportunities, or music.
• Wrote Spark jobs that process terabytes of data daily. Areas of focus included ingesting and enhancing movement data and building maps using point-of-interest and polygon data.
• Architected and built out the majority of the first customer-facing UI, including the front-end in Vue.js and API in Play Framework.
• Designed and built an API with Akka for ingesting payloads from mobile SDKs.
• Upon joining, refactored Spark jobs out of Databricks notebooks and into git projects for better version control.
• Set up CI/CD with Jenkins and Artifactory for automating the build process of our projects.
• Created a DC/OS cluster and dockerized our internal applications for easier deployment and infrastructure management.
• Introduced Git Flow to the engineering team, established a release process for libraries and services, and focused on improving unit test coverage.
• Extensive work in AWS with VPCs, EC2, EBS, EFS, Lambdas, API Gateway, and more.
• Full-stack engineer on the data platform team, working primarily in Java, Scala, and Python (Flask).
• Primarily tasked with writing Spark batch & streaming jobs, scheduling jobs in Azkaban, setting up and maintaining Kafka infrastructure, building out data processing pipelines, building out and maintaining our Cassandra cluster, and writing the API to serve our data.
• Often tasked to work in other components of our stack, including JavaScript UI frameworks (supporting legacy Backbone.js framework and building new features in our React framework), JavaScript API services (Node.js and Express), and Ruby (Chef configuration management).
• Consolidated two separate collection and Kafka storage pipelines into a single pipeline, saving approximately 40% on monthly costs in AWS EC2 and EBS for the two tiers.
• Redesigned and implemented Apteligent's integration with Zuora.
• Assisting the SDK Agent team with work on Crittercism's iOS and Unity SDKs.
• Led the development effort in moving deployment of internal services to Docker.
• Manage deployments of services in production and pre-production environments. Responsible for setting up infrastructure in AWS and configuration management in Chef, as well as Consul for service discovery.
• Worked primarily on the front-end customer portal and user interface.
• Involved in the design and implementation of features and solutions for the portal, platform APIs, and other systems to support a large scale multi-tenant SaaS application.
• Collaborated with product owners to develop both private and public APIs.
• Designed and developed front-end architectures and implemented business logic to support critical customer use cases including account management, usage monitoring, and billing.
• Partnered with platform teams to ensure the maintenance of optimal customer portal and platform API strategies, standards, and best practices.
• Promoted in July 2015 after 11 months.
Dean's List - Fall 2009.
Pre-Medical track, with original intention to go to medical school.


7.12.17
One Year Anniversary:
Treasure Island
This was our very first anniversay and boy did a lot happen in one year. Despite that rollarcoaster ride of ups and downs we are still together. I feel very fortunate to be in love with my best friend.
For our first anniversary Cesar drove us to Treasure Island. We rested by the water sitting on some rocks and drove around the island doing a bit of sightseeing. After taking photos and exchanging gifts we went to a chicken and waffle restaurant for lunch.


While on a university trip in Peru, I had the opportunity of partaking in three different Ayahuasca ceremonies with three different shamans. The first two sessions took place in villages a short boat ride from Iquitos. The third took place in Manu National Park.
Each session was very different from one another. All were bizarre and healing experiences. I was the only gringo present at the first, while at the second I was with my best friend and two other gringos.
It is the third Ayahuasca session that I wish to discuss. This was by far the most powerful experience of the three. It was just me and my best friend. I wanted to drink the brew one last time before leaving Peru and my friend felt that he had been called back by the previous session. My interest had been roused when the shaman from the second session had told me things about my spirit and a past life that were similar to things my mum had heard many years before.
The shaman was a warm and friendly guy, who went to England every so often to teach Ayahuasca shamans there. We both felt very comfortable with him. He encouraged us to go into the session with questions we wanted answers to. He conducted his ceremony slightly differently from previous times, using many objects laid out in front of him and a ceremonial cloak. Icaros were sung during the ceremony like in previous sessions, however this time no leaf rattle was used.
The ceremony took place in a large open room with me and my friend I sitting opposite the shaman. Coca leaves were chewed for a while before drinking the brew. We drank a large cup of the brew (relative to previous sessions) around 9 PM. It was very bitter, but went down fairly easily. A puff on a cigarette eliminated the bitter aftertaste.
After drinking we sat and waited, meditating and breathing deeply. In a very short space of time it was a like a switch had been turned on-me and my friend both felt this. It is hard to say but it canít have been more than 15/20 minutes. This was unusual in that effects took a lot longer to manifest in previous sessions.
Lights and colors start to move, there is some familiarity with mushroom visuals. Long distance memories begin to surge on me. I begin to be confronted with darker areas of my mind, things I must confront and see. I am pulled in to another dimension. I see a pair of feminine eyes, which will reappear throughout the entire trip. Ayahuasca, like other psychedelics, is a paradoxical substance. The dimension I enter feels alien, yet at the same time very much part of me. My thoughts were racing, yet I felt very calm and centered.
The Ayahuasca universe is very earthy and fluid. I wasnít so much aware of the dizziness this time, but a blissful, earthy high. I hadnít been aware of this feeling from the previous sessions. It was an orgasmic, electric feeling centered in my head. I could feel the Ayahuasca working away in my head and body, making subtle tweaks and changes, massaging my being.
Ayahuasca is the most spiritual substance Iíve yet encountered. Itís more like having communion with some bizarre alien entity that is perfectly compatible with my being.
The nausea was there at times, but subtle and controllable. My friend did purge once. He described, in great detail, some very profound, other worldly visions that sounded incredible.
During the blissful Ayahuasca state, I would be occasionally confronted with dark areas of my mind throughout the session. I was made to look at various parts of my life as they were now, and how they might turn out to be. Some of these appeared to be a bit ridiculous, others a lot more possible.
My friend sad he went into the session with several questions he didnít really want answering. He said the Ayahuasca knew this and answered much more important things hidden within the depths of his mind. I have to agree with this.
On this trip, my thoughts on psychedelics were high lighted. I see them as a way of realizing part of my potential as an organism. I needed to carry this lesson over into my normal life, and work a lot harder to fulfill more of my potential.
Ayahuasca also puts other drugs in perspective. It highlighted my mistrust of the more toxic, synthetic drugs, and has made me want to cut down things I use at the moment. Another drug revelation which was repeated on the trip was ďWhile LSD has some recreational effects, it is not a recreational drug.Ē This was a curious revelation for me when my use of this substance may have been slightly excessive at times.
Several hours into the session, me and my friend decided to have a little more Ayahuasca. His went down fine, as he had purged earlier. I failed to purge at all, but my stomach felt a bit unhappy. Interestingly the shaman gagged once during the session but forced the brew back down. He chewed coca leaves for much of the session. As soon as I drank the second lot my stomach voided it, but not the rest I tried to force myself to throw up a bit later, but to no avail-my body seemed to want to hang on to it.
Eventually the shaman retired for the night and me and my friend retired to our tent outside under the stars with a smoldering camp fire. There was a thunderstorm nearby and fire flies all around. The setting was so alive and earthy. The peak of the intoxication was very much over, but I was still intoxicated. Despite feeling a bit dazed still, I felt invigorated and strong. Movement of my hands left incredible trails, more impressive than Iíve ever encountered previously. I still felt outside my body and felt incredibly calm and content. The afterglow was noticeable for several days, and I may have been altered for the better.
Ayahuasca stays with me afterwards, speaking to me in dreams, and it alters some of my thought patterns, for the better. It is a very powerful medicine and deserves great respect. I t has altered my belief system-it really appears that there are forces at work out there that arenít recognized by western science. Ayahuasca takes on the form of a spirit or entity than it does a drug. It may have permanently rain bowed me out, but I believe for the better. I will never forget these experiences and think I have found a life ling ally in Ayahuasca.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


The drivers support multiple instances, each assigned to a different board. The library therefore needs to support attaching to multiple boards in a system. For example you could have 3 eval boards installed, each with the Thruput demo, and you want to measure system throughput with all 3 running at once. To do this you need to open 3 Thruput demos, and each needs a way to know which board it will control.
There are 3 important pieces of information needed to connect to a specific eval board:
A hardwre device is associated with a specific device driver by declaring the device ID fields a driver will support. The lscpcie2 and lscdma drivers each registers a list of PCI vendor, device and subsystem IDs with the PCI bus sub-system. When the OS enumerates the buses it associates the devices found with the registered drivers. When a Lattice board is discovered the appropriate driver is called by the kernel. The "add device" routine in the driver creates a device entry in the /sys/class/lsc.../ directory. This triggers udev to automatically create a device entry in the /dev/ devices tree. The driver (and respective board) is accessed from user space by opening the device node filename.
The board type is specified by a string, whcihc matches the filename in
the /dev/ devices tree.
Typically a user passes a string constant to the Driver
Interface class, such as PCIe_IF::PCIE_ECP2M_BRD. The constants
are actually string values:
Substituting any legal string is possible for connection to another
future board type (experimenting).
const char *PCIe_IF::PCIE_ECP2M_BRD = "ECP2M";
Multiple boards of the same type might be installed in the same system. There may be two SC eval boards, one with the PCIeBasic demo and one with the Thruput demo. Both demos use the same driver (lscpcie2), so to differentiate which one to connect to, the Demo ID string is specified which identifies the specific Demo IP (the IP has a unique value pre-set in the PCI config registers for each demo type). Again, a user specifies a string constant (or the Driver Interface uses the preset one). The board to open is identified by the filename in the /dev/ devices tree. The Driver Interface agrees with the kernel device driver on the naming conventions for the various boards.
The board instance number is used to further narrow down the selection process. If multiple boards use the same driver and have the same Demo IP, then the Board Instance number is used to specify exactly which one to connect to. An instance of 1 means the first board found. An instance of 2 means the second board found. "Found" is a relative term based on the bus enumeration process of the OS. First may not always refer to the exact same physical slot. It is a relative term, not an absolute location. Some experimentation may be needed to determine exactly which board is "first" and which is "second", but it does provide a method to identify similar boards in the system.
export LSC_PCIE_BOARD="ECP2M"
export LSC_PCIE_IP_ID="Basic"
export LSC_PCIE_INSTANCE=1
The environment variable string values are passed into the Driver Interface
creation to create the correct driver interface object.


The SoftBoundCETS transformation is a memory safety transformation that is a part of the SAFECode compiler, which is a memory safety compiler built using the LLVM Compiler Infrastructure and the Clang compiler driver. A memory safety compiler is a compiler that inserts run-time checks into a program during compilation to catch memory safety errors at run-time. Such errors can include buffer overflows, invalid frees, and dangling pointer dereferences.
This manual will show how to compile programs with SoftBoundCETS and how to read the diagnostic output when a memory safety error occurs.
The easiest way to use SoftBoundCETS is to use the modified version of Clang that comes in the SAFECode distribution. Alternatively, the whole program analysis version of SoftBoundCETS can be downloaded from the SoftBoundCETS website. Transforms are performed transparently by the Clang compiler.
To compile programs with SoftBoundCETS memory safety transformation, add the -fsoftbound command-line option to the Clang command line:
To configure an autoconf-based software package to use SoftBoundCETS in the SAFECode distribution, do the following:
Let's say that we have the following C program:
1 #include "stdio.h" 2 #include "stdlib.h" 3 4 int 5 foo (char * bar) { 6 for (unsigned index = 0; index < 10; ++index) 7 bar[index] = 'a'; 8 return 0; 9 } 10 11 int 12 main (int argc, char ** argv) { 13 char * array[100]; 14 int max = atoi (argv[1]); 15 16 for (int index = max; index >= 0; --index) { 17 array[index] = malloc (index+1); 18 } 19 20 for (int index = max; index >= 0; --index) { 21 foo (array[index]); 22 } 23 24 exit (0); 25 }
Lines 16-18 allocate character arrays of decreasing size, starting with the argument plus one specified by the user down to an array of one character. Lines 20-22 then call the function foo() which accesses elements 0-9 of the array.
If we compile this program with SoftBoundCETS within the SAFECode compiler and execute it:
In Store Dereference Check, base=0x60c050, bound=0x60c052, ptr=0x60c052, size_of_type=1, ptr+size=0x60c053 Softboundcets: Bounds violation detected Backtrace: ./test.out[0x4058fc] ./test.out[0x405e83] ./test.out[0x404f0d] ./test.out[0x40563a] ./test.out[0x405a45] /lib64/libc.so.6(__libc_start_main+0xfd)[0x7fcecaa70bfd] ./test.out[0x404c99] Aborted
The first thing to note is the error type. SoftBoundCETS is reporting a spatial safety violation with a store operation, meaning that some store is trying to access a memory location that it should not. The value of the pointer is 0x60c052. The size of the access is of one byte. The bounds of the object that the pointer points to is [0x60c050, 0x60c52). Debugging the code in gdb reveals that the out-of-bound memory access occurs in function foo.


Home
All Threads
Account
All Threads
Announcements, Community Discussions, Every, single, thread.
Reset All Threads
Create Thread


Jslet - Unit Conversion Demo
Demostate how to chage the unit of a field.
Sales Master List:
Sales Detail List
Enable"amount" field unit conversion ;
Display unit name. Factor:
USD
RMB
EUR
Change factor and check "amount" field in the below table:
Demo Content:
Toggle the options to see the effect;


Coldplay release new album today – decide not to tour over climate change concerns
by Algoa FMColdplay has celebrated the release of their new album Everyday Life on Twitter while at the same time announcing that they will not be touring the new material due to their joint concerns over the environmental damage of staging gigs across the globe.
They performed a sunrise show live from Jordan this morning and streamed it live on YouTube. They will also be showcasing the album at a one-off charity gig at London's National History which will take place on Monday with all monies raised going to the environmental charity ClientEarth.
Coldplay frontman told BBC News that climate change is a big concern for the group and that they want to work out how putting on a tour can "have a positive impact".


Fits semiparametric dynamic frailty models according to the methodology of Putter and van Houwelingen (2015) <doi:10.1093/biostatistics/kxv002>. Intermediate models, where the frailty is piecewise constant on prespecified intervals, are also supported. The frailty process is taken to have a specific auto-correlation structure, and the supported distributions include gamma, inverse Gaussian, power variance family (PVF) and positive stable.
| Version: | 0.5.2 |
| Depends: | R (≥ 3.3.0), survival |
| Imports: | Rcpp (≥ 0.12.8), magrittr, tibble, dplyr, tidyr |
| LinkingTo: | Rcpp, RcppArmadillo |
| Suggests: | frailtyEM, knitr, parfm, ggplot2 |
| Published: | 2017-10-30 |
| Author: | Theodor Adrian Balan |
| Maintainer: | Theodor Adrian Balan <t.a.balan at lumc.nl> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | yes |
| Materials: | README |
| In views: | Survival |
| CRAN checks: | dynfrail results |
| Reference manual: | dynfrail.pdf |
| Vignettes: |
Vignette Title |
| Package source: | dynfrail_0.5.2.tar.gz |
| Windows binaries: | r-devel: dynfrail_0.5.2.zip, r-release: dynfrail_0.5.2.zip, r-oldrel: dynfrail_0.5.2.zip |
| OS X binaries: | r-release: dynfrail_0.5.2.tgz, r-oldrel: dynfrail_0.5.2.tgz |
Please use the canonical form https://CRAN.R-project.org/package=dynfrail to link to this page.


s6-linux-init
Software
skarnet.org
The s6-linux-init-telinit program
s6-linux-init-telinit changes runlevels, i.e. changes the
system state. It is normally invoked as /sbin/telinit or
just init with an argument.
Interface
s6-linux-init-telinit rl
- s6-linux-init-telinit may be called with the same options as
s6-linux-init, but it ignores them all.
- It calls the runleveld
local service with
the rl argument. This local service executes the user-provided
runlevel script, which changes the system state to the state
described by rl.
- As a special case, if rl is 0 or 6,
s6-linux-init-telinit then executes into
s6-linux-init-hpr with the -p
or -r option respectively,
for compatibility with sysvinit's 0 and 6 runlevels
that respectively halt and reboot the machine.
Exit codes
- 100: wrong usage
- 111: system call failed
- Else, s6-linux-init-telinit exits with the same exit code
as the runlevel script called with the rl argument.
- If rl is 0 or 6, in case of success
s6-linux-init-telinit exits 0, but the system shuts down
immediately as it returns.
Notes
- Traditional sysvinit only allows integer runlevels, from 0 to 6.
More advanced service managers, like OpenRC or s6-rc, allow the admin to
define alphanumerical runlevels, or states. s6-linux-init-telinit
does not implement policy; it only makes sure the user-provided runlevel
script is called with the rl argument, under a safe and reproducible
environment. The runlevel script can then change the machine state
as chosen by the user - typically by invoking the service manager.
- The 0 and 6 special case has been added because
some legacy programs may assume that calling init 0 and init 6
respectively halt and reboot the system.
- The s6-linux-init-telinit
binary is not meant to be called directly by administrators. Instead, after a
s6-linux-init-maker invocation,
the bin/ subdirectory of the target will contain a telinit
symlink to s6-linux-init-telinit. The bin/ subdirectory
should be copied by the administrator into /sbin for full
interface compatibility with sysvinit.
- When the system is running inside a container (and the -C
option has been given to
s6-linux-init-maker), the runleveld
service is not running, so s6-linux-init-telinit is not
functional and the runlevel script is never invoked.


info Once you create your study, you can switch between the guided submission and full study view where you see these buttons.
Your study has been assigned the unique identifier {{ newStudy }} Please refer to this identifier in any communication with the MetaboLights team.
Please use {{ newStudy }} when referencing this study in manuscripts etc. together with the URL www.ebi.ac.uk/metabolights/{{ newStudy }} Please also cite the following MetaboLights paper Haug et al. MetaboLights-- an open-access general-purpose repository for metabolomics studies and associated meta-data. Nucl. Acids Res. (2013) doi: 10.1093/nar/gks1004 info The above information will also be sent to you by email.


Creating users can be automatic. (default behaviour)
Or a custom action can be triggered. (such as redirection to this page)
Note that email (or username or ...) might be already used with another account. The django_mojeid plugin doesn't check for these situations and would simply fail during the user creation. If you want to deal with these situations differently you need to trigger a custom action and put our logic inside.
| Username | {{ username.0 }} |
|---|---|
| First name | {{ first_name.0 }} |
| Last name | {{ last_name.0 }} |
| {{ email.0 }} |


{% include "sponsors/components/show-sponsors.html" with show=show %}
Listen
{% include "shows/components/episode_li_bulky.html" with episode=show.episodes.first %}
{% for episode in show.episodes.all|slice:"1:" %}
{% include "shows/components/episode_li_slim.html" with episode=episode %}
{% endfor %}


The Kendo UI Plugins project is a set of plugins for Kendo UI built and supported by the community.
These plugins are offered under the same license as Kendo UI itself and are governed by its license since they use the core features of Kendo.


Note
These do not teach you about Python per se, and you are recommended also to learn about that (Python has many excellent tutorials for programmers and non-programmers alike). In particular, dictionaries, lists and numpy arrays are used a great deal in most PsychoPy experiments.
You can learn to use the scripting interface to PsychoPy in several ways, and you should probably follow a combination of them:
- Basic Concepts: some of the logic of PsychoPy scripting
- PsychoPy Tutorials: walk you through the development of some semi-complete experiments
- demos: in the demos menu of Coder view. Many and varied
- use the Builder to compile a script and see how it works
- check the Reference Manual (API) for further details
- ultimately go into PsychoPy and start examining the source code. It’s just regular python!