Delivering strategic architecture & automation with efficiency to innovative businesses!
Building the right solution for cloud infrastructure needs efficiency, for controlling and managing all the resources, planning for flexibility, cost saving and backup option. Gain efficiency in your organization with efficiency in the solutions by Cloud Life Consulting.
Offering trusted and talented consulting solutions for our clients is at the heart of Cloud Life Consulting! Our experts give the clients solution for organizational cloud architecture and help in reducing the manual work.
We can offer solution to the automation of new or existing services in the cloud as per organizational needs. If a client is already in the cloud and not satisfied with the existing one, we are here to help you in making decisions and make your organization better.


1. Category
2. Text
3. Result
Our proprietary algorithm uses AI to analyze past data that is relevant to your content and score it based on its popularity (likes, tweets, retweets and comments).
Like our product and want to stay up to date about our future versions? Subscribe to our newsletter
Subscribe.


?The
New
York
copyright
reserved
botanical
Garden
Mm
JAMAICAN
PLANTS
SPECIES
EXAMINED
IN
OSMOTIC
PRESSURE
STUDIES
OF
1919
BY
J.
ARTHUR
HARRIS
AND
JOHN
V.
LAWRENCE
d
/S'/S'O
CINCHONA.
BLUE
MOUNTAINS.
LEEWARD
SLOPES
New
York
Botanical
Garden
1622585
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


Is It Christmas Already? Where is Santa? Norwegian Reindeer Pays a Visit
The Aurora Borealis Observatory, located in Norway, is famous for its night sky views and reindeer, which live pretty close to the upscale apartment hotel.
A reindeer has paid a visit to a hotel in Norway, scratching the glass walls with its antlers. The deer apparently wants to enter the house, but fails to do so. Nevertheless, the animal keeps trying. The funny video spread the Christmas mood, sharing Norway's snowy landscape and freezing weather with viewers.


This virtual reality project was made for my Masters thesis at Purdue University. Everything (except the 3D models) was made from scratch. The basic idea was to develop a system that could quickly synthesize a multi-character scenario (which can be extrapolated to crowds), with each character having their own levels of "perceived negative emotion by the player" (a.k.a. affect). This project also demonstrated how to optimize this scenario, so that the algorithm can adjust itself towards a target "overall negative affect" of the scene.
Pictured above is the final setup of the characters - optimized for a target value of negative affect (emotion). The characters walk from these points to the player's position, as the player "walks" the street.
An example of a female character displaying "no-look at" and "look-at" behavior.
Each character came with proxemics logic (that enabled them to have a concept of personal space).
An example of the Markov Chain Monte Carlo method called Simulated Annealing.
Flowchart of the overall experiement.
TOPPLOTS
Unreal Engine | Oculus Quest
A virtual reality game I worked on for the CGT 555 (Game Development II) class, at Purdue University for my Masters. I fulfilled the role as a Creative Director and Level Designer (for 3 out of the 4 levels). This was also the start of Hammerand Studios - the starting point of having my own game development team. Topplots puts you in the shoes of a young child whose sole aim is to take down the towers of blocks in front of them, to get to the unique toys at the top of it. Take charge and gradually advance to locations that will take you on a wild journey fueled by the child's imagination. The images represent the levels I worked on.
Underworld (Level 3) - playspace in the middle is marked with the white and red mat.
Underworld (Level 3)- playspace in the middle is marked with the white and red mat.
Mole World (Level 2) - playspace is in the mesa in the middle.
Mole World (Level 2) - playspace is in the mesa in the middle.
The Mines (Level 1) - playspace is on the blue blueprint map.
The Mines (Level 1) - playspace is on the blue blueprint map.
Cabin in the Woods
Unreal Engine 4
A level design project, that primarily focuses on environment design. Primary goals were to work with foliage (LoD levels) and terrain design tools, as well as lighting scenarions. It also includes a log cabin, as well as smoke and fire particle effects. The First Person Shooter template of Unreal Engine has been used here, to allow the player to roam about, and experience the environment.
Natural vegetation is prevalent in this 4 KM x 4 KM world.
Rock formations were manually placed, and oriented.
The cabin is an Unreal Marketplace asset. The campfire includes particle effects and sound.
The aesthetic was made to mimic classic "lost in the forest" style games, that displayed themes of horror and solitary survivalism.
As you look into the woods, maybe something looks back?
Lost in Space
Unity
This virtual reality demo was created as a part of the edX course I did, entitled “Creating Virtual Reality Applications” (UCSanDiegoX:CSE190x). A major focus was to build a "one-button" system for virtual reality based environments. The application comprises of two parts - creation of game objects in a virtual room and manipulating them (along with existing objects in the scene). The user is able to freely create objects and them relocate, rotate, and scale them, using three different modes of locomotion - teleport, walk, and an automatic hover mode.
Diegetic menu for instantiating items, as well as basic object manipulation and traversal options.
The aesthetic has been designed to mimic a room floating in space. Inspired by the Tardis but more cozy.
All items in the level are rigidbodies, which enables the player to interact with them.
A minimap also exists to display a top down view of the room.
An object highlight feature is also implemented. If the raycast from the player detects a rigidbody with a custom tag, the algorithm applies a red overlay on top of it, to indicate context.
One of my first dives into virtual reality game development (2018). However, this was back when I did not have access to proper equipment, thus having to make this "one-button controller" simulation.
OASIS
Unreal Engine 4 | Quixel Megascans
A level design project created using assets from Quixel Megascans. The idea here was to generate a small settlement, surrounded by rocky mountains, in a desolate area. The main theme of the level design is to create a semi-fantasy based habitation area, and night time was chosen for aesthetic appeal.
A peaceful village called "Oasis" on the edge of an asteroid.
Main focus was to integrate Quixel Megascans assets into the world.
The level design was done by hand. The layout follows closely with a place I am very familiar with.
Landscape foliage was also used in this project.
Terrain manipulation and heightmaps were generated using World Machine.
To make the scene more interesting, a night scene was decided on. Along with that, the lamps are custom blueprints, and the trees have wind animations built in.
INVADER DEFENSE
OpenGL Shading Language
A project I made for my CGT521 course (Advanced Real-Time Graphics Programming). My primary focus was to understand the mechanics behind the design of video games without the help of a game engine, by recreating elements of a classic video game. Some of the fundamental concepts explored were keyboard inputs for gameplay, GLSL Shader coding, Non-Photorealistic Rendering (that function as power-up effects, collisions between elements, and basic fundamental game mechanics. I had fun doing the project and learnt a lot of new skills. It helped me understand the basics behind the OpenGL language, as well as shader programming.
A Brick-Breaker styled game, complete with customizable levels (in the form of characters in text files).
One of the levels consisting of unbreakable blocks and enemies. Each type of enemy when destroyed drops a power-up.
Death Screen.
Win screen.
Power-up 1 activated (Chaos mode - where the screen moves around changing perspective). An interesting by-product of this mode was the changed appearance of the enemies due to changing the shader buffers (which was a happy and unexpected accident).
Power-up 2 activated (Inversion - Turns the game upside down).
POSE RECOGNIZED HAND TRACKING
Unity | Oculus Quest
A project I made to test out developing an application that harnesses the power of hand tracking that is provided by Oculus Quest. A major focus of the application was to implement pose recognition. The user is able to set custom gestures, and spawn in objects, and interact with them. Some of the implemented features are custom pose setup, pose recognition, use gesture to "force call" objects towards player and "force blast" it away, physics interaction with environment elements (springs, rigidbodies, buttons etc.), and it all comes together in a minigame, where the player has to blast the ball towards a randomly generated target on the wall for points.
The room. The main player is an OVRCameraRig (which does not have any locomotion capabilities).
The tracked hands in game. This was done in the early days of the hand tracking SDK being released, thus for its time, it was fine. Occlusion and edge detection were the biggest problems back in the day.
Room view.
The player stood in front of physics accurate buttons, that could be used to record custom poses, and map them to custom functions.
There was also a minigame included where players could make objects float (using one hand sign) and then blast them towards a target to score points (using another hand sign).
Overall, it was really fun, and I think that the Oculus Quest has to be the most promising Virtual Reality device that was released in the past couple of years. I hope the developers (both for Oculus and us independents) keep supporting it with content for years.
Mini Projects
Various
I call this The Tinker Zone - Fun side projects, systems, and mechanics I made for games, during my chill time.
AI Patrol Agents for a game (used for a publication) that move between "n" checkpoints randomly to simulate enemy guard behavior. The agent also comes with a player detection zone (light blue zone using a sphere-overlap), to simulate enemy chase behavior.
Once the player enters the detection zone (light blue), the patrol agent notices the player and starts following it, overriding the checkpoint patrol behavior. The zone also turns black indicating that the player is seen, and the agent will follow with a slightly higher speed, until the player comes out of the detection zone.
Fully procedural seating generator. The user just needs to click on the generate button (and set the starter parameters on the left if they wish to) and everytime, a new form of sittable furniture will be generated.
One feature this algorithm also has is the edge (red blocks) and corner (yellow blocks without the grey pegs) detection abilities of the base, thus making it very versatile, and providing with the ability to generate any form of seats (from ottomans to sofas to barstools).
A pre-processor script that acts as a parser to convert comma-separated-value files into readable Unity inspector properties. No matter how big the dataset, the algorithm efficiently parses the data correctly, and organizes them into custom classes (Element 0, ELement 1 ...) with custom properties (Case no, IUCR, ...). In this case, the Chicago Crime (Homicide) dataset was used.
Using the previous CSV parser, a small game was developed that mapped all the points over approximately correct geographic locations (over a map image). The player could then click on each green "hotspot" and look into the details of the homicide that happened in that area.
Grid visibility detection script. The initial purpose was to use it in a project for a publication, where the level optimized the location of a treasure piece, based on several cost terms (one of which was "initial visibility of the player"). The tiles in red are the ones that detect the yellow treasure. Since it is inside a room (white blocks), the green tiles do not "see" it, thus implementing an effective visibility algorithm.
A slot machine simulator (Procedural Random Number generator) I made, to demonstrate the ill effects of gambling (and also to serve as a fidget satisfying tool). One of the main parameters I was investigating was whether the same levels of intrinsic motivation and enjoyment are achieved, even whene the monetary aspect of it is removed. Turns out, that similar levels are somewhat achieved, although I would need to do further investigation.
Developing a 3D environment of a bedroom for a game where the protagonist is a toy.
Back in the day I used to sketch to relax during my free time.


Issue: DEBUGGER-HOOK-BREAKForum: Editorial
References: BREAK (pp432-433), *DEBUGGER-HOOK* (Conditions, Rev18, p42)
Category: CHANGE
Edit history: 01-Mar-91, Version 1 by Pitman
Status: For X3J13 consideration
Problem Description:
According to v18 of the Conditions Proposal (p42), when INVOKE-DEBUGGER
is executed, ``If the variable *DEBUGGER-HOOK* is not NIL, it will be
funcalled ...''
According to p432-433 of CLtL, when BREAK is called, ``A particular
implementation may choose, according to its own style and needs, when
BREAK is called to go into a debugger different from the one used for
handling errors.''
It isn't clear whether BREAK is affected by *DEBUGGER-HOOK*, or whether
it uses *DEBUGGER-HOOK* to implement any use of an alternate debugger.
Proposal (DEBUGGER-HOOK-BREAK:CLARIFY):
1. Define the debugger implemented by BREAK is not affected by
the value of *DEBUGGER-HOOK* upon entry.
2. Define that BREAK binds the value of *DEBUGGER-HOOK* to NIL.
Test Case:
(BLOCK FOO
(LET ((*DEBUGGER-HOOK* #'(LAMBDA (C D) (RETURN-FROM FOO NIL))))
(BREAK)))
enters a breakpoint rather than just returning NIL.
Rationale:
1. BREAK's primary role is to provide access to Lisp debugging.
Anyone who wants to enter the debugger through *DEBUGGER-HOOK*
can use INVOKE-DEBUGGER.
2. *DEBUGGER-HOOK* provides an application/end-user-oriented
debugging interface, while BREAK provides a Lisp debugging
interface. Since BREAK will generally lead to the typing
of Lisp expressions rather than application-specific commands,
it makes sense for the Lisp debugging environment to be visible
here rather than the application debugging environment.
Current Practice:
Symbolics Genera returns NIL from the test case and would have to change.
Cost to Implementors:
Very small. They just have to make BREAK bind *DEBUGGER-HOOK* to NIL
before doing anything else.
Cost to Users:
Probably none.
Cost of Non-Adoption:
Users would not know what to expect when moving from implementation to
implementation.
Benefits:
Less ambiguity in the spec.
Aesthetics:
Negligible.
Discussion:
Pitman supports this proposal, but would consider any reasonable
alternative which made the expected behavior explicit.


--- # This page name will go in the page
The #1 bestselling book on blockchains and cryptocurrencies.


Viewing as {{ session['CAS_USERNAME'].lower() }}
Jan 1 – 7, 2000
Today
{{ user_name }}
...
{% for i in range(view_days) %}
Monday
Jan 1
0.0 hours
{% endfor %}
{% include 'footer.html' %}


paintgl
[WIP] WebGL wrapper for 2D painting
Install
paintgl depends on paintvec.
npm install --save github:seanchas116/paingvec
npm install --save github:seanchas116/paintgl
Usage
import {Vec2, Rect, Transform} from "paintvec"
import {Color, Context, Texture, RectShape, ColorShader, TextureShader, TextureDrawTarget, CanvasDrawTarget} from "paintgl"
// create context
const context = new Context(document.getElementById("canvas") as HTMLCanvasElement)
// create a texture with size
const texture = new Texture(context, {size: new Vec2(400, 400)})
// create a draw target the draws into the texture
const drawTarget = new TextureDrawTarget(context, texture)
// clear whole texture with color
drawTarget.clear(new Color(0.9, 0.9, 0.9, 1))
// create a shape that is drawn into the draw target
const shape = new RectShape(context)
shape.rect = new Rect(new Vec2(100, 100), new Vec2(200, 300))
// specify shader of the shape
shape.shader = ColorShader
shape.uniforms["color"] = new Color(0.9, 0.1, 0.2, 1)
// apply some transform
drawTarget.transform = Transform.rotate(0.1 * Math.PI)
// draw shape into draw target
drawTarget.draw(shape)
// create a draw target that draws directly into canvas element
const canvasDrawTarget = new CanvasDrawTarget(context)
// create a shape for texture
const textureShape = new RectShape(context)
textureShape.rect = new Rect(new Vec2(0), texture.size)
textureShape.shader = TextureShader
textureShape.uniforms["texture"] = texture
// draw texture into canvas
canvasDrawTarget.draw(textureShape)


This domain is used by the RevenueHits Ad Network for ad serving. If you're a publisher and would like to monetize your inventory, you can sign up as a publisher here.
Otherwise, if you have any questions or interested in more information, please fill out the contact form below and we will get back to you shortly.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/libgmp.20dependency.html ---
I know on macOS you have to install libgmp
before Lean will work. Does anyone know if there is a similar requirement on linux? (There doesn't appear to be on Windows.)
The toolchains installed by elan contain static binaries, which I find a bit surprising, but should mean you don't need libgmp. However all the machines I have lean on also have libgmp installed anyways, so no definitive proof.
Yes, on Linux it's definitely a static binary. I'm not even sure why it's not on macOS
@Sebastian Ullrich, is the libgmp dependency on OS X something that could be fixed? (In elan?) I don't really know about these static/dynamic library issues. Given a pointer to something to look I could try to sort it out.
Helping out students, I see how valuable it would be to get a "no command line necessary" install procedure, and I think libgmp
is one of the last obstacles. (On OS X one currently needs brew install coreutils
to get greadlink
, but there are various ways to get around this: https://stackoverflow.com/questions/1055671/how-can-i-get-the-behavior-of-gnus-readlink-f-on-a-mac)
For reference, the error message my students have been getting (on OS X) is:
dyld: Library not loaded: /usr/local/opt/gmp/lib/libgmp.10.dylib Referenced from: /Users/ZZZ/.elan/toolchains/nightly-2019-01-13/bin/lean Reason: image not found
(this is of course fixable with brew install gmp
, but the point is to avoid this if possible)
I have not taken the time to try to fully understand the build system, nor have I ever used CMake for anything, so I can't point exactly to where the distinction between the operating systems is made given default settings, but I did try a mac build (on your machine scott) forcing the static option on. However, I get a whole bunch of
ld: library not found for -lcrt0.o clang: error: linker command failed with exit code 1
which looked like a solvable problem (the crt0 has to by lying around somewhere!, I thought). But alas, there is this:
https://stackoverflow.com/questions/3801011/ld-library-not-found-for-lcrt0-o-on-osx-10-6-with-gcc-clang-static-flag
Apparently, apple refuses to provide statically linked libSystem.dylib
, so you'd have to build it yourself...
This is all to say that you can't just be lazy and pass -static
and compile with gcc or clang to fix the problem.
On the other hand, I manually patched out the references to the dynamic library libgmp.dylib
in the generated CMakeFiles and compiled, and everything worked fine... Here's a link to the zip for macos that was built:
https://github.com/khoek/klean/releases/download/macos-static/lean-3.4.2-darwin.zip
I'd be really good to know if it works (i.e. doesn't need libgmp.dylib)---I'm pretty sure it doesn't but I don't actually have a mac.
(If this works, it's obviously unsatisfactory, but it's proof the build system could probably be fixed/improved easily by someone who understood it.)
On the other hand, I'm pretty sure the dynamic loader would look in the directory where the executable is for missing shared libraries, so if elan
just popped a copy of libgmp.10.dylib
in the bin
directory of an extracted release I think we'd be okay too?
re: the last point, cp /usr/local/opt/gmp/lib/libgmp.10.dylib /Users/scott/.elan/bin/
doesn't help
and yes, your statically linked binary really works, (when normal lean doesn't, complaining
dyld: Library not loaded: /usr/local/opt/gmp/lib/libgmp.10.dylib Referenced from: /Users/scott/.elan/toolchains/stable/bin/lean Reason: image not found Abort trap: 6
Your last snipped confused me, presumably you hid /usr/local/opt/gmp/lib/libgmp.10.dylib
before test-invoking bin/lean
?
Last updated: Apr 24 2020 at 19:02 UTC


|
| | Widget () |
| | Construct a new Widget object.  More...
|
| |
|
bool | visible () const noexcept |
| |
|
Vec2 | position () const noexcept |
| |
| Window & | master () const |
| | Return The widget's master. More...
|
| |
|
void | set_rect (const Rect &rect) |
| |
|
void | set_rect (int x, int y, int w, int h) |
| |
|
void | set_position (const Vec2 &vec2) |
| |
|
int | x () const noexcept |
| |
|
int | y () const noexcept |
| |
|
int | w () const noexcept |
| |
|
int | h () const noexcept |
| |
|
bool | is_enable () const noexcept |
| |
|
| HasSlots (const HasSlots &)=delete |
| |
|
void | disconnect_all () |
| |
|
|
class | Window |
| |
|
class | Layout |
| |
|
struct | WindowImpl |
| |
|
class | Container |
| |
|
void | PushEvent (Event *, Widget &) |
| |
◆ Widget()
Construct a new Widget object.
- Note
- All data will be inited to 0
◆ handle()
| bool Btk::Widget::handle |
( |
Event & |
ev | ) |
|
|
virtual |
◆ master()
| Window & Btk::Widget::master |
( |
| ) |
const |
Return The widget's master.
- Returns
- Window ref
◆ redraw()
| void Btk::Widget::redraw |
( |
| ) |
|
|
protected |
Send a redraw request to the window.
◆ window()
Get current window.
- Returns
- WindowImpl*
The documentation for this class was generated from the following files:


---
layout: page
---
If you've answered "yes" to any of these questions then fork metrophp/metroproject and start coding smaller.
If you identify with any of these statements then these aren't the droids you're looking for.
11 second overview
Actual Code
{% highlight php %}
getUser();
$item = _makeNew('dataitem', 'blog_post');
$item->andWhere('owner_id', $user->userId);
if (!$item->load( $request->cleanInt('id') ) ) {
$response->addUserMessage('no such blog post');
return;
}
$response->addTo('items', $item);
}
}
{% endhighlight %}
Will I like the Metro PHP framework?
Why might I not like Metro?
If you...


We noticed you have changed your settings. Below, we have ouptut the previous values. It is recommended that you store them in case you want to re-connect using them. Some of the settings (notably username & password) will no longer be available beyond this point.


Summary
Web Messaging (also known as Cross Document Messaging) allows applications running on different domains to communicate in a secure manner. Before the introduction of web messaging the communication of different origins (between iframes, tabs and windows) was restricted by the same origin policy and enforced by the browser, however developers used multiple hacks in order to accomplish these tasks, most of them were mainly insecure.
This restriction within the browser is in place to restrict a malicious website to read confidential data from other iframes, tabs, etc, however there are some legitimate cases where two trusted websites need to exchange data between each other. To meet this need, Cross Document Messaging was introduced within the WHATWG HTML5 draft specification and was implemented in all major browsers. It enables secure communications between multiple origins across iframes, tabs and windows.
The Messaging API introduced the postMessage() method, with which plain-text messages can be sent cross-origin. It consists of two parameters, message and domain.
There are some security concerns when using '*' as the domain that we discuss below. Then, in order to receive messages the receiving website needs to add a new event handler, and has the following attributes:
- data: The content of the incoming message
- origin: The origin of the sender document
- source: source window
An example:
Send message:
iframe1.contentWindow.postMessage(“Hello world”,”http://www.example.com”);
Receive message:
window.addEventListener(“message”, handler, true);
function handler(event) {
if(event.origin === 'chat.example.com') {
/* process message (event.data) */
} else {
/* ignore messages from untrusted domains */
}
}
Origin Security Concept
The origin is made up of a scheme, host name and port and identifies uniquely the domain sending or receiving the message, it does not include the path or the fragment part of the url. For instance, https://example.com/ will be considered different from http://example.com because the schema in the first case is https and in the second http, same applies to web servers running in the same domain but different port.
From a security perspective we should check whether the code is filtering and processing messages from trusted domains only, normally the best way to accomplish this is using a whitelist. Also within the sending domain, we also want to make sure they are explicitly stating the receiving domain and not '*' as the second argument of postMessage() as this practice could introduce security concerns too, and could lead to, in the case of a redirection or if the origin changes by other means, the website sending data to unknown hosts, and therefore, leaking confidential data to malicious servers.
In the case the website fails to add security controls to restrict the domains or origins that are allowed to send messages to a website, it is most likely that a security risk will be introduced. This makes it a very interesting part of the code from a penetration testing point of view. We should scan the code for message event listeners and get the callback function from the addEventListener method to further analyse, as domains must always be verified prior to data manipulation.
event.data Input Validation Input validation is also important, even though the website is accepting messages from trusted domains only, it needs to treat the data as external untrusted data and apply the same level of security controls to it. We should analyze the code and look for insecure methods, in particular if data is being evaluated via
eval()
or inserted into the DOM via the i
nnerHTML
property as that would create a DOM-based XSS vulnerability. How to Test
Black Box testing
Black box testing for vulnerabilities on Web Messaging is not usually performed since access to the source code is always available as it needs to be sent to the client to be executed.
Gray Box testing
Manual testing needs to be conducted and the JavaScript code analyzed looking for how Web Messaging is implemented. In particular we should be interested in how the website is restricting messages from untrusted domain and how the data is handled even for trusted domains. Below are some examples:
Vulnerable code example:
In this example, access is needed for every subdomain (www, chat, forums, ...) within the owasp.org domain. The code is trying to accept any domain ending on .owasp.org:
window.addEventListener(“message”, callback, true);
function callback(e) {
</b>if(e.origin.indexOf(".owasp.org")!=-1) {<b>
/* process message (e.data) */
}
}
The intention is to allow subdomains in this form:
www.owasp.org
chat.owasp.org
forums.owasp.org
...
Insecure code. An attacker can easily bypass the filter as www.owasp.org.attacker.com will match.
Example of lack of origin check, very insecure as will accept input from any domain:
window.addEventListener(“message”, callback, true);
function callback(e) {
/* process message (e.data) */
}
Input validation example: Lack of security controls lead to Cross-Site Scripting (XSS)
window.addEventListener(“message”, callback, true);
function callback(e) {
if(e.origin === "trusted.domain.com") {
element.innerHTML= e.data;
}
}
This code will lead to Cross-Site Scripting (XSS) vulnerabilities as data is not being treated properly, a more secure approach would be to use the property textContent instead of innerHTML.
Tools
ZAP is an easy to use integrated penetration testing tool for finding vulnerabilities in web applications. It is designed to be used by people with a wide range of security experience and as such is ideal for developers and functional testers who are new to penetration testing. ZAP provides automated scanners as well as a set of tools that allow you to find security vulnerabilities manually.
References
OWASP Resources
Whitepapers


---
layout: page
---
{% assign courses = site.courses | where: 'layout', 'course' %}
{% for course in courses %}
{{course.short_description}}
{% include course-instructors.html instructors = course.instructors%}
{% if course.course_goals%}
Course Goals
{% for goal in course.course_goals %}
- {{ goal | capitalize}}
{% endfor %}
{% endif %}
{% endfor %}


T-LDPC widgets can be used to easily upload files to the platform that automatically go through a selected transformation. One T-LDPC widget is connected to one specific transformer. Here you can see the details:


A conversation between two friends about Signed & UnSigned Data Types.
Scott - Heyy...I was solving one question and it stated - "Given an unsigned Int...", and now I am slightly confused. What is unsigned data type and how it's different from basic data type like Int?
Shuri - Okay, In short, Signed Data Types will store both negative and positive values, whereas Unsigned Data Types will store only positive values.
Shuri - To know how they differs in terms of range, lets start with a Bit.
Scott - Okay, great.
Shuri - A bit can store either value 0 or 1. That means 2 possible values.
| Bit1 | Value |
|---|---|
| 0 | 0 |
| 1 | 1 |
2 bits can store 2 values(0 or 1) for each bit, that means we can represent or store 4 possible values with 2 bits.
| Bit1 | Bit2 | Value |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 2 |
| 1 | 1 | 3 |
Scott - Okay, that means with Int2, we can represent 0, 1, 2 & 3. So, then the range for Int2 will be [0, 3], right?
Shuri - Umm...wrong. The range for Unsigned Int2 would be [0, 3], not for a signed Int2.
Shuri - Signed Int will have both negative and positive values.
Scott - Okay..but how do we represent a negative value in bit? You can only represent 0 or 1 in a bit right? You can't put a -ve or +ve sign.
Shuri - Correct, you can't put -ve or +ve sign. But, there are ways to represent a negative value.
One way is to, invert the digits and add 1 to it. The resultant would represent its negative value. Lets take 01 which represents 1.
01 -> invert digits -> 10 -> add 1 -> 11
Now, 11 represents -1.
Btw, the above approach of inverting the digits and adding 1 to it is called 2’s complement.
Scott - So, 11 which we used to represent 3 for unsigned Int2, can now now be used to represent -1 for signed Int2 right?
Shuri - That's correct. And, 1 0 can be used to represent -2, since `2's complement` of 1 0 is 1 0.
Shuri - This way with the same number of bits we can be used to represent both positive and negative values. Signed Int2 will have these values:
| Bit1 | Bit2 | Value |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | -2 |
| 1 | 1 | -1 |
Scott - Got it. Now if we look at signed Int2's range, it's `[-2, 1]`. It does not include 2 and 3 as we have used these to represent negative numbers, -2 & -1 respectively.
Shuri - Exactly!
Scott - Okay...now what if I want to store 3 for a signed Int?
Shuri - For a signed Int, we don't have space to store 3 with just 2 bits, as with 2 bits we can only store values till 1.
With 3 bits, you can store ranging from -4 to 3.
| Bit1 | Bit2 | Bit3 | Value |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 2 |
| 0 | 1 | 1 | 3 |
| 1 | 0 | 0 | -4 |
| 1 | 0 | 1 | -3 |
| 1 | 1 | 0 | -2 |
| 1 | 1 | 1 | -1 |
Shuri - Now if you see, we can actually come up with a formula for both signed and unsigned ranges. For n bits, unsigned range would be [0, 2n - 1], and for signed range it would be [-2n-1, 2n-1 - 1].
Scott - So, is it correct to say that signed data types reduces the range, as with unsigned we can represent more values?
Shuri - I would not say it reduces the range, it actually shifts the range from positive values to negative values.
Scott - Makes sense. Okay, I have one last question, when we declare just Integer (Int) as data type, is that unsigned or signed? And, how many bits it stores, because when we write Int we don't mention number of bits there?
Shuri - Good question!! By default it's signed. To make it unsigned, we have to write UInt. And, how many bits it stores is dependent on the platform. On 32 bit platform, it behaves as Int32. On 64 bit platform, it behaves as Int64.
Infact, this is clearly documented in Swift Documentation for Integer.
Scott - Noiceeee. Thanks Shuri🙂
Shuri - Anytime 🙂 And, don't forget to check other Data Types and their range.
Scott - Already on it...


*Number of housekeepers create the number of boards for rooms to clean. Creates their workload for the day.
Enter room number associated to board {{ currentBoard + 1 }}
{{ dupRoomWarning }}


{% extends 'base.html' %} {% block head %} {% endblock %} {% block body %} {% include 'includes/import_storages.html' %} {% include 'includes/import_files.html' %} {% raw %}
Import them to the task manager to start labeling
{{error.text}}
{{error.text}}
| {{title}} |
|---|
| {{get_short_text(row[key])}} |
Depending on size it may take several minutes
{{error.text}}
{{error.text}}


The LEAN Random Data Generator is located in the LEAN ToolBox and can be accessed by executing the QuantConnect.ToolBox.exe
CLI program.
We recommend cloning LEAN and building from the source code directly from Github. However, if this is not possible for you we have made a snapshot of the build available for your convenience here:
2019-01-19-QuantConnect.ToolBox.Binaries.zip
To run the ToolBox open a command window and execute it from the command line. To execute it you will need C# or Mono installed:
Windows:
.\QuantConnect.ToolBox.exe --app=randomdatagenerator
Linux and Mac:
mono QuantConnect.ToolBox.exe --app=randomdatagenerator
Complete Example:
QuantConnect.ToolBox.exe --app=randomdatagenerator --resolution=Minute --from-date=2018-01-01 --to-date=2019-01-01 --market=usa --data-density=Dense --include-coarse=true --symbol-count=100
The Random Data Generator has many parameters you can configure to generate the various datasets LEAN supports. Please see the next section for documentation on these parameters.


My name is Roman Kaplan. I am a PhD candidate at the faculty of Electrical Engineering at the Technion, under the supervision of Prof. Ran Ginosar.
I finished my MSc in 2016 (also supervised by prof. Ran Ginosar) and my BSc at 2009, both also from EE faculty, Technion.
Before becoming a full-time MSc and then PhD student, I was a software engineer at the IDF.
My research interests are parallel computer architectures, in-data processing, accelerators for big data machine learning, and novel computer architectures for bioinformatics applications.
Roman Kaplan, Leonid Yavits and Ran Ginosar, “RASSA: Resistive Pre-Alignment Accelerator for Approximate DNA Long Read Mapping”
IEEE Micro, 2019 (preprint).
Roman Kaplan, Leonid Yavits and Ran Ginosar, “PRINS: Processing-in-Storage Acceleration of Machine Learning.”
IEEE Transactions on Nanotechnology, vol. 17, no. 5, pp. 889-896, 2018.
Leonid Yavits, Roman Kaplan and Ran Ginosar, "Enabling Full Associativity with Memristive Address Decoder
IEEE Micro Special Issue on Memristor-Based Computing, vol. 38, no. 5, pp. 32-40, 2018.
Roman Kaplan, Leonid Yavits, Ran Ginosar and Uri Weiser, “A Resistive CAM Processing-in-Storage Architecture for DNA Sequence Alignment.”
IEEE Micro Special Issue on Architectures for the Post Moore Era, vol. 37, no. 4, pp. 20-28, 2017.
Roman Kaplan, Leonid Yavits, and Ran Ginosar, "From Processing-in-Memory to Processing-in-Storage."
Journal of Supercomputing Frontiers and Innovations, vol. 4, no. 3, pp. 99-116, 2017.
Roman Kaplan, Leonid Yavits, Amir Morad, and Ran Ginosar, "Deduplication in Resistive Content Addressable Memory Based Solid State Drive."
26th Power and Timing Modeling, Optimization and Simulation, pp. 100-106, 2016.
Roman Kaplan, Leonid Yavits, and Ran Ginosar, "From Processing-in-Memory to Processing-in-Storage."
International Supercomputing Conference for High Performance Computing, Jun 2017, Frankfurt.
Research Poster Award Winner at the ‘Architectures and Networks’ category
Roman Kaplan, Leonid Yavits, and Ran Ginosar, "In-Storage Implementation of K-Means in Resistive CAM."
International Conference on Memristive Materials, Devices & Systems, Apr 2017, Athens.
Roman Kaplan, Leonid Yavits, and Ran Ginosar, "From Processing-in-Memory to Processing-in-Storage."
In PACT, Sep 2016, Haifa.
Winner of PACT ACM Student Research Competition
This is a fullstack project, it has both a client (training node) and a server (training manager). Both sides are written in Javascript (Node.js at the server).
A CNN training code is fetched by accessing the client page (link to client page).
Pressing on "Train" starts the training process.
The server then receives a training request and sends a the client the current CNN model and a batch number to train.
The client downloads the training batch and starts training.
Monitoring the training is possible via an admin page.
The training dataset is CIFAR10. Batch size is 1000 images.
Training client code is based on ConvNetJS, written by Andrej Karpathy.
Link to project's GitHub page
In one sentence, this project generates PowerPoint slides with Python. Accessing the Windows API is possible via pyWin32, a set of extension modules that provides access to many of the Windows API functions.
The project generates a K-means demo slides. The dataset contains 100 samples, divided to 3 clusters.
The script generates 100 random samples, initializes 3 centers (means) then executes the K-means algorithm for several iterations.
Every iteration is then translated to a PowerPoint slide, with an animation for the center and classification updates.
Link to project's GitHub page
The inspiration for project came from a YouTube talk by Anand S. Link to Anand's GitHub page


Paintr
Create a painting with the touch of a button.
A simple and easy way to create and share beautiful photo masterpieces.
-
What can it do?
Need to crop, resize, or add some flair to your photo? We’ve got your back. Adjust the color, brightness, contrast, saturation, or sharpness? Welcome to Paintr.
-
Selective Coloring
Black and white photography can give very powerful meaning to a photo, but sometimes a bit of color makes it truly outstanding. It can turn your plain photo into a real work of art.
-
Bokeh
Add some extra contrast to focus the attention on the subject. The ability to blur the background is an easy skill to learn with Paintr.
-
Photo Effects
A photo without effects is like a unicorn without a rainbow. That’s why Paintr puts tons of effects at your fingertips so you can create photos as unique as you are.
-
Postcard
Turn any photo into an instant message to a friend!